aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kostikov <max@kostikov.co>2020-07-19 14:58:19 +0200
committerMax Kostikov <max@kostikov.co>2020-07-19 14:58:19 +0200
commit5ea7196e78d08550b3ec93d3b708f915b3b0057f (patch)
tree07e5f865b6c83898d7ac508302a227509e8207fd
parentd0c7c99d5e1eb27281431231640c7e8c019b90e1 (diff)
parentfcc47e69e424635fa54b2684329623d4f7694436 (diff)
downloadvolse-hubzilla-5ea7196e78d08550b3ec93d3b708f915b3b0057f.tar.gz
volse-hubzilla-5ea7196e78d08550b3ec93d3b708f915b3b0057f.tar.bz2
volse-hubzilla-5ea7196e78d08550b3ec93d3b708f915b3b0057f.zip
Merge branch 'dev' into 'dev'
Dev sync See merge request kostikov/core!1
-rw-r--r--.homeinstall/README.md13
-rw-r--r--SBOM.md32
-rw-r--r--Zotlabs/Access/PermissionRoles.php4
-rw-r--r--Zotlabs/Lib/Activity.php2
-rw-r--r--Zotlabs/Lib/Apps.php6
-rw-r--r--Zotlabs/Lib/Libzot.php2
-rw-r--r--Zotlabs/Lib/ThreadItem.php6
-rw-r--r--Zotlabs/Module/Apporder.php4
-rw-r--r--Zotlabs/Module/Articles.php2
-rw-r--r--Zotlabs/Module/Cards.php2
-rw-r--r--Zotlabs/Module/Channel.php2
-rw-r--r--Zotlabs/Module/Chanview.php15
-rw-r--r--Zotlabs/Module/Directory.php2
-rw-r--r--Zotlabs/Module/Dirsearch.php2
-rw-r--r--Zotlabs/Module/Item.php28
-rw-r--r--Zotlabs/Module/Like.php39
-rw-r--r--Zotlabs/Module/Moderate.php2
-rw-r--r--Zotlabs/Module/Network.php2
-rw-r--r--Zotlabs/Module/Photos.php4
-rw-r--r--Zotlabs/Module/Pubstream.php2
-rw-r--r--Zotlabs/Module/Register.php2
-rw-r--r--Zotlabs/Module/Search.php2
-rw-r--r--Zotlabs/Module/Settings/Display.php10
-rw-r--r--Zotlabs/Module/Wfinger.php28
-rw-r--r--Zotlabs/Module/Z6trans.php2
-rw-r--r--Zotlabs/Module/Zfinger.php3
-rwxr-xr-xboot.php4
-rw-r--r--composer.lock40
-rw-r--r--include/channel.php4
-rw-r--r--include/help.php2
-rwxr-xr-xinclude/items.php166
-rw-r--r--include/nav.php8
-rw-r--r--include/network.php48
-rw-r--r--include/text.php2
-rw-r--r--library/cropperjs/.eslintrc3
-rw-r--r--library/cropperjs/CHANGELOG.md5
-rw-r--r--library/cropperjs/README.md25
-rw-r--r--library/cropperjs/dist/cropper.common.js70
-rw-r--r--library/cropperjs/dist/cropper.css4
-rw-r--r--library/cropperjs/dist/cropper.esm.js70
-rw-r--r--library/cropperjs/dist/cropper.js74
-rw-r--r--library/cropperjs/dist/cropper.min.css4
-rw-r--r--library/cropperjs/dist/cropper.min.js6
-rw-r--r--library/cropperjs/docs/css/cropper.css4
-rw-r--r--library/cropperjs/docs/examples/cropper-in-modal.html6
-rw-r--r--library/cropperjs/docs/examples/customize-preview.html6
-rw-r--r--library/cropperjs/docs/examples/upload-cropped-image-to-server.html6
-rw-r--r--library/cropperjs/docs/index.html22
-rw-r--r--library/cropperjs/docs/js/cropper.js74
-rw-r--r--library/cropperjs/karma.conf.js (renamed from library/cropperjs/test/karma.conf.js)6
-rw-r--r--library/cropperjs/package-lock.json11258
-rw-r--r--library/cropperjs/package.json84
-rw-r--r--library/cropperjs/src/js/constants.js2
-rw-r--r--library/cropperjs/src/js/cropper.js2
-rw-r--r--library/cropperjs/src/js/handlers.js10
-rw-r--r--library/cropperjs/src/js/utilities.js2
-rw-r--r--library/fullcalendar/CHANGELOG.md1377
-rw-r--r--library/fullcalendar/README.md13
-rw-r--r--library/fullcalendar/demos/json/events.json56
-rw-r--r--library/fullcalendar/examples/background-events.html (renamed from library/fullcalendar/demos/background-events.html)28
-rw-r--r--library/fullcalendar/examples/daygrid-views.html (renamed from library/fullcalendar/demos/daygrid-views.html)32
-rw-r--r--library/fullcalendar/examples/external-dragging-2cals.html (renamed from library/fullcalendar/demos/external-dragging-2cals.html)12
-rw-r--r--library/fullcalendar/examples/external-dragging-builtin.html (renamed from library/fullcalendar/demos/external-dragging-builtin.html)0
-rw-r--r--library/fullcalendar/examples/full-height.html (renamed from library/fullcalendar/demos/full-height.html)32
-rw-r--r--library/fullcalendar/examples/google-calendar.html (renamed from library/fullcalendar/demos/google-calendar.html)0
-rw-r--r--library/fullcalendar/examples/js/theme-chooser.js (renamed from library/fullcalendar/demos/js/theme-chooser.js)0
-rw-r--r--library/fullcalendar/examples/json.html (renamed from library/fullcalendar/demos/json.html)2
-rw-r--r--library/fullcalendar/examples/json/events.json56
-rw-r--r--library/fullcalendar/examples/list-views.html (renamed from library/fullcalendar/demos/list-views.html)32
-rw-r--r--library/fullcalendar/examples/locales.html (renamed from library/fullcalendar/demos/locales.html)32
-rw-r--r--library/fullcalendar/examples/month-view.html (renamed from library/fullcalendar/demos/default.html)32
-rw-r--r--library/fullcalendar/examples/php/get-events.php (renamed from library/fullcalendar/demos/php/get-events.php)6
-rw-r--r--library/fullcalendar/examples/php/get-time-zones.php (renamed from library/fullcalendar/demos/php/get-time-zones.php)0
-rw-r--r--library/fullcalendar/examples/php/utils.php (renamed from library/fullcalendar/demos/php/utils.php)0
-rw-r--r--library/fullcalendar/examples/rrule.html (renamed from library/fullcalendar/demos/rrule.html)6
-rw-r--r--library/fullcalendar/examples/selectable.html (renamed from library/fullcalendar/demos/selectable.html)32
-rw-r--r--library/fullcalendar/examples/theming.html (renamed from library/fullcalendar/demos/themes.html)32
-rw-r--r--library/fullcalendar/examples/time-zones.html (renamed from library/fullcalendar/demos/time-zones.html)2
-rw-r--r--library/fullcalendar/examples/timegrid-views.html (renamed from library/fullcalendar/demos/timegrid-views.html)32
-rw-r--r--library/fullcalendar/examples/week-numbers.html (renamed from library/fullcalendar/demos/week-numbers.html)32
-rw-r--r--library/fullcalendar/packages/bootstrap/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/bootstrap/README.md8
-rw-r--r--library/fullcalendar/packages/bootstrap/main.css29
-rw-r--r--library/fullcalendar/packages/bootstrap/main.d.ts12
-rw-r--r--library/fullcalendar/packages/bootstrap/main.esm.js83
-rw-r--r--library/fullcalendar/packages/bootstrap/main.js23
-rw-r--r--library/fullcalendar/packages/bootstrap/main.min.css6
-rw-r--r--library/fullcalendar/packages/bootstrap/main.min.js18
-rw-r--r--library/fullcalendar/packages/bootstrap/package.json33
-rw-r--r--library/fullcalendar/packages/core/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/core/README.md8
-rw-r--r--library/fullcalendar/packages/core/locales-all.js190
-rw-r--r--library/fullcalendar/packages/core/locales-all.min.js7
-rw-r--r--library/fullcalendar/packages/core/locales/az.js32
-rw-r--r--library/fullcalendar/packages/core/locales/da.js2
-rw-r--r--library/fullcalendar/packages/core/locales/el.js2
-rw-r--r--library/fullcalendar/packages/core/locales/fr.js2
-rw-r--r--library/fullcalendar/packages/core/locales/pt-br.js2
-rw-r--r--library/fullcalendar/packages/core/locales/th.js12
-rw-r--r--library/fullcalendar/packages/core/locales/ug.js20
-rw-r--r--library/fullcalendar/packages/core/locales/uz.js24
-rw-r--r--library/fullcalendar/packages/core/main.css514
-rw-r--r--library/fullcalendar/packages/core/main.d.ts2736
-rw-r--r--library/fullcalendar/packages/core/main.esm.js8582
-rw-r--r--library/fullcalendar/packages/core/main.js1212
-rw-r--r--library/fullcalendar/packages/core/main.min.css6
-rw-r--r--library/fullcalendar/packages/core/main.min.js7
-rw-r--r--library/fullcalendar/packages/core/package.json30
-rw-r--r--library/fullcalendar/packages/daygrid/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/daygrid/README.md8
-rw-r--r--library/fullcalendar/packages/daygrid/main.css47
-rw-r--r--library/fullcalendar/packages/daygrid/main.d.ts316
-rw-r--r--library/fullcalendar/packages/daygrid/main.esm.js1655
-rw-r--r--library/fullcalendar/packages/daygrid/main.js369
-rw-r--r--library/fullcalendar/packages/daygrid/main.min.css6
-rw-r--r--library/fullcalendar/packages/daygrid/main.min.js18
-rw-r--r--library/fullcalendar/packages/daygrid/package.json33
-rw-r--r--library/fullcalendar/packages/google-calendar/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/google-calendar/README.md8
-rw-r--r--library/fullcalendar/packages/google-calendar/main.d.ts21
-rw-r--r--library/fullcalendar/packages/google-calendar/main.esm.js167
-rw-r--r--library/fullcalendar/packages/google-calendar/main.js30
-rw-r--r--library/fullcalendar/packages/google-calendar/main.min.js18
-rw-r--r--library/fullcalendar/packages/google-calendar/package.json33
-rw-r--r--library/fullcalendar/packages/interaction/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/interaction/README.md8
-rw-r--r--library/fullcalendar/packages/interaction/main.d.ts323
-rw-r--r--library/fullcalendar/packages/interaction/main.esm.js2141
-rw-r--r--library/fullcalendar/packages/interaction/main.js153
-rw-r--r--library/fullcalendar/packages/interaction/main.min.js19
-rw-r--r--library/fullcalendar/packages/interaction/package.json33
-rw-r--r--library/fullcalendar/packages/list/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/list/README.md8
-rw-r--r--library/fullcalendar/packages/list/main.css71
-rw-r--r--library/fullcalendar/packages/list/main.d.ts36
-rw-r--r--library/fullcalendar/packages/list/main.esm.js348
-rw-r--r--library/fullcalendar/packages/list/main.js111
-rw-r--r--library/fullcalendar/packages/list/main.min.css6
-rw-r--r--library/fullcalendar/packages/list/main.min.js18
-rw-r--r--library/fullcalendar/packages/list/package.json33
-rw-r--r--library/fullcalendar/packages/luxon/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/luxon/README.md8
-rw-r--r--library/fullcalendar/packages/luxon/main.d.ts14
-rw-r--r--library/fullcalendar/packages/luxon/main.esm.js162
-rw-r--r--library/fullcalendar/packages/luxon/main.js32
-rw-r--r--library/fullcalendar/packages/luxon/main.min.js18
-rw-r--r--library/fullcalendar/packages/luxon/package.json34
-rw-r--r--library/fullcalendar/packages/moment-timezone/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/moment-timezone/README.md8
-rw-r--r--library/fullcalendar/packages/moment-timezone/main.d.ts11
-rw-r--r--library/fullcalendar/packages/moment-timezone/main.esm.js58
-rw-r--r--library/fullcalendar/packages/moment-timezone/main.js28
-rw-r--r--library/fullcalendar/packages/moment-timezone/main.min.js18
-rw-r--r--library/fullcalendar/packages/moment-timezone/package.json35
-rw-r--r--library/fullcalendar/packages/moment/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/moment/README.md8
-rw-r--r--library/fullcalendar/packages/moment/main.d.ts14
-rw-r--r--library/fullcalendar/packages/moment/main.esm.js102
-rw-r--r--library/fullcalendar/packages/moment/main.js19
-rw-r--r--library/fullcalendar/packages/moment/main.min.js4
-rw-r--r--library/fullcalendar/packages/moment/package.json34
-rw-r--r--library/fullcalendar/packages/rrule/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/rrule/README.md8
-rw-r--r--library/fullcalendar/packages/rrule/main.d.ts9
-rw-r--r--library/fullcalendar/packages/rrule/main.esm.js121
-rw-r--r--library/fullcalendar/packages/rrule/main.js23
-rw-r--r--library/fullcalendar/packages/rrule/main.min.js18
-rw-r--r--library/fullcalendar/packages/rrule/package.json34
-rw-r--r--library/fullcalendar/packages/timegrid/LICENSE.txt20
-rw-r--r--library/fullcalendar/packages/timegrid/README.md8
-rw-r--r--library/fullcalendar/packages/timegrid/main.css153
-rw-r--r--library/fullcalendar/packages/timegrid/main.d.ts224
-rw-r--r--library/fullcalendar/packages/timegrid/main.esm.js1391
-rw-r--r--library/fullcalendar/packages/timegrid/main.js372
-rw-r--r--library/fullcalendar/packages/timegrid/main.min.css6
-rw-r--r--library/fullcalendar/packages/timegrid/main.min.js18
-rw-r--r--library/fullcalendar/packages/timegrid/package.json36
-rw-r--r--library/fullcalendar/vendor/rrule.js941
-rw-r--r--library/justifiedGallery/jquery.justifiedGallery.js122
-rw-r--r--library/justifiedGallery/jquery.justifiedGallery.min.js6
-rw-r--r--library/justifiedGallery/justifiedGallery.css20
-rw-r--r--library/justifiedGallery/justifiedGallery.min.css20
-rw-r--r--vendor/blueimp/jquery-file-upload/SECURITY.md60
-rw-r--r--vendor/blueimp/jquery-file-upload/composer.json2
-rw-r--r--vendor/blueimp/jquery-file-upload/cors/postmessage.html4
-rw-r--r--vendor/blueimp/jquery-file-upload/css/jquery.fileupload-ui.css21
-rw-r--r--vendor/blueimp/jquery-file-upload/css/jquery.fileupload.css7
-rw-r--r--vendor/blueimp/jquery-file-upload/index.html28
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js35
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js19
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js6
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js29
-rw-r--r--vendor/blueimp/jquery-file-upload/package-lock.json517
-rw-r--r--vendor/blueimp/jquery-file-upload/package.json8
-rw-r--r--vendor/blueimp/jquery-file-upload/server/php/.dockerignore2
-rw-r--r--vendor/blueimp/jquery-file-upload/server/php/Dockerfile38
-rw-r--r--vendor/blueimp/jquery-file-upload/server/php/files/.htaccess54
-rw-r--r--vendor/blueimp/jquery-file-upload/server/php/php.ini5
-rw-r--r--vendor/commerceguys/intl/.travis.yml1
-rw-r--r--vendor/commerceguys/intl/README.md2
-rw-r--r--vendor/commerceguys/intl/composer.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/agq.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ak.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/am.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/asa.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/bas.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/bez.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/bm.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/br.json488
-rw-r--r--vendor/commerceguys/intl/resources/currency/ccp.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/ceb.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/cgg.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/chr.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/dav.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/dje.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/dsb.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ebu.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ee.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/ewo.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ff.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/fo.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/fur.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/fy.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/guz.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ha.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/hsb.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/jmc.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/jv.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kab.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kam.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kde.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kea.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/khq.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ki.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kln.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/kn.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksb.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksf.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksh.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ky.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/lag.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/lg.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ln.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/lu.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/luo.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/luy.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mas.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mer.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/mfe.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ms.json12
-rw-r--r--vendor/commerceguys/intl/resources/currency/mua.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/mzn.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/naq.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/nd.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/nmg.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/nyn.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/or.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ps.json28
-rw-r--r--vendor/commerceguys/intl/resources/currency/qu.json500
-rw-r--r--vendor/commerceguys/intl/resources/currency/rm.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/rof.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/rwk.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/saq.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/sbp.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/seh.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/ses.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/sg.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/shi-Latn.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/shi.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/sn.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/sv.json2
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw-CD.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/teo.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/twq.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/tzm.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/ug.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/vai-Latn.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/vai.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/vun.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/xog.json497
-rw-r--r--vendor/commerceguys/intl/resources/currency/yo-BJ.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/yo.json498
-rw-r--r--vendor/commerceguys/intl/resources/currency/zgh.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json6
-rw-r--r--vendor/commerceguys/intl/resources/currency/zu.json498
-rw-r--r--vendor/commerceguys/intl/resources/language/af.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/agq.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ak.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/am.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-EG.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-LY.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-SA.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ar.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/as.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/asa.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ast.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/az-Cyrl.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/az.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/bas.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/be.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/bem.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/bez.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/bg.json7
-rw-r--r--vendor/commerceguys/intl/resources/language/bm.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/bn-IN.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/bn.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/br.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/brx.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/bs-Cyrl.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/bs.json7
-rw-r--r--vendor/commerceguys/intl/resources/language/ca.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ccp.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ce.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/cgg.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/chr.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ckb.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/cs.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/cy.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/da.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/dav.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/de-AT.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/de-CH.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/de-LU.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/de.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/dje.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/dsb.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/dyo.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/dz.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ebu.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ee.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/el.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/en-001.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/en-AU.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/en-CA.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/en-IN.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/en-NZ.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/en.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/eo.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/es-419.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-AR.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-BO.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CL.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CO.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CR.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-DO.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-EC.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-GT.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-HN.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-MX.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-NI.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PA.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PE.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PR.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PY.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-SV.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-US.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es-VE.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/es.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/et.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/eu.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ewo.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/fa-AF.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/fa.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ff.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/fi.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/fil.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/fo.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-BE.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-CA.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-CH.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/fr.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/fur.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/fy.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ga.json13
-rw-r--r--vendor/commerceguys/intl/resources/language/gd.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/gl.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/gsw.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/gu.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/guz.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ha-NE.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ha.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/he.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/hi.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/hr.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/hsb.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/hu.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/hy.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/id.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ig.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/is.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/it.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ja.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/jmc.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/jv.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ka.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/kab.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/kam.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/kde.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/kea.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/khq.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ki.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/kk.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/kln.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/km.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/kn.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ko.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/kok.json51
-rw-r--r--vendor/commerceguys/intl/resources/language/ks.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ksb.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ksf.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ksh.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ku.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ky.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/lag.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/lb.json7
-rw-r--r--vendor/commerceguys/intl/resources/language/lg.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/lkt.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ln.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/lo.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/lrc.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/lt.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/lu.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/luo.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/luy.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/lv.json7
-rw-r--r--vendor/commerceguys/intl/resources/language/mas.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/mer.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/mfe.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/mg.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/mgh.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/mk.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ml.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/mn.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/mr.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ms.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/mt.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/mua.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/my.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/mzn.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/naq.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/nb.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/nd.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ne.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/nl.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/nmg.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/nn.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/nus.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/nyn.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/om.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/or.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/os.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/pa.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/pl.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ps-PK.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ps.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-PT.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/pt.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/qu.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/rm.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/rn.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ro-MD.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ro.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/rof.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ru.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/rw.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/rwk.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/sah.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/saq.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/sbp.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/sd.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/se-FI.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/se.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/seh.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ses.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/sg.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/shi-Latn.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/shi.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/si.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sk.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sl.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/smn.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/sn.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/so.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sq.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-BA.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-ME.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-XK.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sr.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sv.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sw-CD.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sw-KE.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/sw.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ta.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/te.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/teo.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/tg.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/th.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ti.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/tk.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/to.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/tr.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/tt.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/twq.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/tzm.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/ug.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/uk.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ur-IN.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/ur.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/uz-Cyrl.json7
-rw-r--r--vendor/commerceguys/intl/resources/language/uz.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/vai-Latn.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/vai.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/vi.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/vun.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/wae.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/wo.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/xog.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/yav.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/yi.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/yo-BJ.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/yo.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/yue-Hans.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/yue.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/zgh.json224
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant-HK.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/zh.json5
-rw-r--r--vendor/commerceguys/intl/resources/language/zu.json224
-rw-r--r--vendor/commerceguys/intl/scripts/generate_base.php91
-rw-r--r--vendor/commerceguys/intl/scripts/generate_currency_data.php80
-rw-r--r--vendor/commerceguys/intl/scripts/generate_language_data.php78
-rw-r--r--vendor/commerceguys/intl/scripts/generate_locale_data.php10
-rw-r--r--vendor/commerceguys/intl/scripts/generate_number_format_data.php51
-rw-r--r--vendor/commerceguys/intl/src/Currency/CurrencyRepository.php31
-rw-r--r--vendor/commerceguys/intl/src/Language/LanguageRepository.php38
-rw-r--r--vendor/commerceguys/intl/src/Locale.php16
-rw-r--r--vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php368
-rw-r--r--vendor/composer/autoload_classmap.php2
-rw-r--r--vendor/composer/autoload_static.php2
-rw-r--r--vendor/composer/installed.json46
-rw-r--r--vendor/twbs/bootstrap/.babelrc.js2
-rw-r--r--vendor/twbs/bootstrap/.bundlewatch.config.json (renamed from vendor/twbs/bootstrap/bundlesize.config.json)12
-rw-r--r--vendor/twbs/bootstrap/.eslintrc.json2
-rw-r--r--vendor/twbs/bootstrap/.gitattributes2
-rw-r--r--vendor/twbs/bootstrap/.github/workflows/codeql.yml25
-rw-r--r--vendor/twbs/bootstrap/.github/workflows/test.yml52
-rw-r--r--vendor/twbs/bootstrap/.gitignore1
-rw-r--r--vendor/twbs/bootstrap/Gemfile6
-rw-r--r--vendor/twbs/bootstrap/LICENSE4
-rw-r--r--vendor/twbs/bootstrap/README.md34
-rw-r--r--vendor/twbs/bootstrap/_config.yml37
-rw-r--r--vendor/twbs/bootstrap/build/.eslintrc.json1
-rw-r--r--vendor/twbs/bootstrap/build/babel-helpers.js13
-rw-r--r--vendor/twbs/bootstrap/build/build-plugins.js58
-rw-r--r--vendor/twbs/bootstrap/build/change-version.js9
-rw-r--r--vendor/twbs/bootstrap/build/generate-sri.js4
-rw-r--r--vendor/twbs/bootstrap/build/rollup.config.js15
-rw-r--r--vendor/twbs/bootstrap/build/ship.sh35
-rw-r--r--vendor/twbs/bootstrap/build/vnu-jar.js6
-rw-r--r--vendor/twbs/bootstrap/build/zip-examples.js63
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap-grid.css11
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap-grid.css.map2
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css8
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css.map2
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css18
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css.map2
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css8
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css.map2
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap.css202
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap.css.map2
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap.min.css8
-rw-r--r--vendor/twbs/bootstrap/dist/css/bootstrap.min.css.map2
-rw-r--r--vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js1131
-rw-r--r--vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js.map2
-rw-r--r--vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js6
-rw-r--r--vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js.map2
-rw-r--r--vendor/twbs/bootstrap/dist/js/bootstrap.js1133
-rw-r--r--vendor/twbs/bootstrap/dist/js/bootstrap.js.map2
-rw-r--r--vendor/twbs/bootstrap/dist/js/bootstrap.min.js6
-rw-r--r--vendor/twbs/bootstrap/dist/js/bootstrap.min.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/alert.js46
-rw-r--r--vendor/twbs/bootstrap/js/dist/alert.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/button.js106
-rw-r--r--vendor/twbs/bootstrap/js/dist/button.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/carousel.js187
-rw-r--r--vendor/twbs/bootstrap/js/dist/carousel.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/collapse.js96
-rw-r--r--vendor/twbs/bootstrap/js/dist/collapse.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/dropdown.js168
-rw-r--r--vendor/twbs/bootstrap/js/dist/dropdown.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/modal.js178
-rw-r--r--vendor/twbs/bootstrap/js/dist/modal.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/popover.js36
-rw-r--r--vendor/twbs/bootstrap/js/dist/popover.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/scrollspy.js92
-rw-r--r--vendor/twbs/bootstrap/js/dist/scrollspy.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/tab.js96
-rw-r--r--vendor/twbs/bootstrap/js/dist/tab.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/toast.js74
-rw-r--r--vendor/twbs/bootstrap/js/dist/toast.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/tooltip.js118
-rw-r--r--vendor/twbs/bootstrap/js/dist/tooltip.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/dist/util.js14
-rw-r--r--vendor/twbs/bootstrap/js/dist/util.js.map2
-rw-r--r--vendor/twbs/bootstrap/js/src/alert.js38
-rw-r--r--vendor/twbs/bootstrap/js/src/button.js98
-rw-r--r--vendor/twbs/bootstrap/js/src/carousel.js182
-rw-r--r--vendor/twbs/bootstrap/js/src/collapse.js99
-rw-r--r--vendor/twbs/bootstrap/js/src/dropdown.js168
-rw-r--r--vendor/twbs/bootstrap/js/src/index.js2
-rw-r--r--vendor/twbs/bootstrap/js/src/modal.js170
-rw-r--r--vendor/twbs/bootstrap/js/src/popover.js22
-rw-r--r--vendor/twbs/bootstrap/js/src/scrollspy.js94
-rw-r--r--vendor/twbs/bootstrap/js/src/tab.js94
-rw-r--r--vendor/twbs/bootstrap/js/src/toast.js66
-rw-r--r--vendor/twbs/bootstrap/js/src/tools/sanitizer.js10
-rw-r--r--vendor/twbs/bootstrap/js/src/tooltip.js106
-rw-r--r--vendor/twbs/bootstrap/js/src/util.js9
-rw-r--r--vendor/twbs/bootstrap/nuget/bootstrap.nuspec19
-rw-r--r--vendor/twbs/bootstrap/nuget/bootstrap.pngbin0 -> 1684 bytes
-rw-r--r--vendor/twbs/bootstrap/nuget/bootstrap.sass.nuspec19
-rw-r--r--vendor/twbs/bootstrap/package-lock.json8736
-rw-r--r--vendor/twbs/bootstrap/package.js2
-rw-r--r--vendor/twbs/bootstrap/package.json115
-rw-r--r--vendor/twbs/bootstrap/scss/_breadcrumb.scss2
-rw-r--r--vendor/twbs/bootstrap/scss/_buttons.scss17
-rw-r--r--vendor/twbs/bootstrap/scss/_card.scss18
-rw-r--r--vendor/twbs/bootstrap/scss/_close.scss1
-rw-r--r--vendor/twbs/bootstrap/scss/_custom-forms.scss3
-rw-r--r--vendor/twbs/bootstrap/scss/_dropdown.scss3
-rw-r--r--vendor/twbs/bootstrap/scss/_forms.scss9
-rw-r--r--vendor/twbs/bootstrap/scss/_functions.scss17
-rw-r--r--vendor/twbs/bootstrap/scss/_grid.scss10
-rw-r--r--vendor/twbs/bootstrap/scss/_input-group.scss3
-rw-r--r--vendor/twbs/bootstrap/scss/_list-group.scss22
-rw-r--r--vendor/twbs/bootstrap/scss/_modal.scss2
-rw-r--r--vendor/twbs/bootstrap/scss/_nav.scss1
-rw-r--r--vendor/twbs/bootstrap/scss/_pagination.scss1
-rw-r--r--vendor/twbs/bootstrap/scss/_progress.scss1
-rw-r--r--vendor/twbs/bootstrap/scss/_reboot.scss22
-rw-r--r--vendor/twbs/bootstrap/scss/_spinners.scss1
-rw-r--r--vendor/twbs/bootstrap/scss/_utilities.scss3
-rw-r--r--vendor/twbs/bootstrap/scss/_variables.scss4
-rw-r--r--vendor/twbs/bootstrap/scss/bootstrap-grid.scss6
-rw-r--r--vendor/twbs/bootstrap/scss/bootstrap-reboot.scss6
-rw-r--r--vendor/twbs/bootstrap/scss/bootstrap.scss6
-rw-r--r--vendor/twbs/bootstrap/scss/mixins/_background-variant.scss3
-rw-r--r--vendor/twbs/bootstrap/scss/mixins/_border-radius.scss39
-rw-r--r--vendor/twbs/bootstrap/scss/mixins/_buttons.scss12
-rw-r--r--vendor/twbs/bootstrap/scss/mixins/_forms.scss4
-rw-r--r--vendor/twbs/bootstrap/scss/mixins/_grid-framework.scss40
-rw-r--r--vendor/twbs/bootstrap/scss/mixins/_transition.scss24
-rw-r--r--vendor/twbs/bootstrap/scss/utilities/_background.scss2
-rw-r--r--vendor/twbs/bootstrap/scss/utilities/_interactions.scss5
-rw-r--r--vendor/twbs/bootstrap/scss/utilities/_text.scss3
-rw-r--r--vendor/twbs/bootstrap/site/_data/browser-features.yml4
-rw-r--r--vendor/twbs/bootstrap/site/_data/core-team.yml3
-rw-r--r--vendor/twbs/bootstrap/site/_data/docs-versions.yml3
-rw-r--r--vendor/twbs/bootstrap/site/_data/nav.yml1
-rw-r--r--vendor/twbs/bootstrap/site/_data/translations.yml5
-rw-r--r--vendor/twbs/bootstrap/site/_includes/docs-navbar.html17
-rw-r--r--vendor/twbs/bootstrap/site/_includes/docs-sidebar.html2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/footer.html2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/header.html2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/circle-square.svg4
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/cloud-fill.svg3
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/code.svg3
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/download.svg1
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/droplet-fill.svg3
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/import.svg1
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/lightning.svg1
-rw-r--r--vendor/twbs/bootstrap/site/_includes/social.html3
-rw-r--r--vendor/twbs/bootstrap/site/_layouts/simple.html5
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/css/docs.min.css8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/css/docs.min.css.map1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/img/bootstrap-themes.pngbin26640 -> 0 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/img/bootstrap-themes@2x.pngbin80588 -> 0 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/js/docs.min.js22
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/bs-custom-file-input.min.js7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/clipboard.min.js7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/jquery.slim.min.js2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_masthead.scss52
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.4/examples/index.html24
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/about/brand.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/about/brand.md)10
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/about/license.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/about/license.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/about/overview.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/about/overview.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/about/team.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/about/team.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/about/translations.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/about/translations.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-outline.svg (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-outline.svg)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-punchout.svg (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-punchout.svg)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-social-logo.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-social-logo.png)bin23959 -> 23959 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-social.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-social.png)bin231733 -> 231733 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-solid.svg (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-solid.svg)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/css/docs.min.css8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/css/docs.min.css.map1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-icons.pngbin0 -> 52397 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-icons@2x.pngbin0 -> 154938 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes-collage.pngbin0 -> 74876 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes-collage@2x.pngbin0 -> 244640 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes.pngbin0 -> 88695 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes@2x.pngbin0 -> 278159 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/album.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/album.png)bin21740 -> 21740 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/album@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/album@2x.png)bin26370 -> 26370 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/blog.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/blog.png)bin32843 -> 32843 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/blog@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/blog@2x.png)bin36944 -> 36944 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/carousel.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/carousel.png)bin21450 -> 21450 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/carousel@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/carousel@2x.png)bin31465 -> 31465 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/checkout.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/checkout.png)bin25151 -> 25151 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/checkout@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/checkout@2x.png)bin28180 -> 28180 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/cover.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/cover.png)bin7240 -> 7240 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/cover@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/cover@2x.png)bin17953 -> 17953 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/dashboard.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/dashboard.png)bin24376 -> 24376 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/dashboard@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/dashboard@2x.png)bin26556 -> 26556 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/floating-labels.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/floating-labels.png)bin10516 -> 10516 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/floating-labels@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/floating-labels@2x.png)bin11053 -> 11053 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/grid.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/grid.png)bin37960 -> 37960 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/grid@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/grid@2x.png)bin34834 -> 34834 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/jumbotron.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/jumbotron.png)bin31403 -> 31403 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/jumbotron@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/jumbotron@2x.png)bin38408 -> 38408 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-bottom.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-bottom.png)bin9774 -> 9774 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-bottom@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-bottom@2x.png)bin11316 -> 11316 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-fixed.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-fixed.png)bin11569 -> 11569 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-fixed@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-fixed@2x.png)bin13616 -> 13616 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-static.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-static.png)bin12523 -> 12523 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-static@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-static@2x.png)bin14893 -> 14893 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbars.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbars.png)bin24748 -> 24748 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbars@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbars@2x.png)bin27187 -> 27187 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/offcanvas.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/offcanvas.png)bin20148 -> 20148 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/offcanvas@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/offcanvas@2x.png)bin23975 -> 23975 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/pricing.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/pricing.png)bin25033 -> 25033 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/pricing@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/pricing@2x.png)bin29128 -> 29128 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/product.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/product.png)bin24977 -> 24977 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/product@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/product@2x.png)bin27953 -> 27953 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sign-in.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sign-in.png)bin5704 -> 5704 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sign-in@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sign-in@2x.png)bin5680 -> 5680 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/starter-template.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/starter-template.png)bin9761 -> 9761 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/starter-template@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/starter-template@2x.png)bin11334 -> 11334 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer-navbar.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer-navbar.png)bin14167 -> 14167 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer-navbar@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer-navbar@2x.png)bin15836 -> 15836 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer.png)bin8170 -> 8170 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer@2x.png)bin9665 -> 9665 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/android-chrome-192x192.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/android-chrome-192x192.png)bin1935 -> 1935 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/android-chrome-512x512.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/android-chrome-512x512.png)bin4269 -> 4269 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/apple-touch-icon.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/apple-touch-icon.png)bin1738 -> 1738 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/browserconfig.xml (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/browserconfig.xml)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/favicon-16x16.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/favicon-16x16.png)bin310 -> 310 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/favicon-32x32.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/favicon-32x32.png)bin491 -> 491 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/manifest.json (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/manifest.json)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-144x144.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-144x144.png)bin1479 -> 1479 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-150x150.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-150x150.png)bin1428 -> 1428 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-310x150.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-310x150.png)bin1746 -> 1746 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-310x310.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-310x310.png)bin3085 -> 3085 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-70x70.png (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-70x70.png)bin1104 -> 1104 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/safari-pinned-tab.svg (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/safari-pinned-tab.svg)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/js/docs.min.js22
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/application.js (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/application.js)6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/ie-emulation-modes-warning.js (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/ie-emulation-modes-warning.js)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/search.js (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/search.js)12
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/anchor.min.js (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/anchor.min.js)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/bs-custom-file-input.min.js7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/clipboard.min.js7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/jquery.slim.min.js2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_ads.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_ads.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_algolia.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_algolia.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_anchor.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_anchor.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_brand.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_brand.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_browser-bugs.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_browser-bugs.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_buttons.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_buttons.scss)7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_callouts.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_callouts.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_clipboard-js.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_clipboard-js.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_colors.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_colors.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_component-examples.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_component-examples.scss)13
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_content.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_content.scss)5
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_footer.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_footer.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_masthead.scss80
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_nav.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_nav.scss)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_placeholder-img.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_placeholder-img.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_sidebar.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_sidebar.scss)1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_skippy.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_skippy.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_syntax.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_syntax.scss)42
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_variables.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_variables.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/assets/scss/docs.scss (renamed from vendor/twbs/bootstrap/site/docs/4.4/assets/scss/docs.scss)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/browser-bugs.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/browser-bugs.md)7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/alerts.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/alerts.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/badge.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/badge.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/breadcrumb.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/breadcrumb.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/button-group.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/button-group.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/buttons.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/buttons.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/card.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/card.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/carousel.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/carousel.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/collapse.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/collapse.md)6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/dropdowns.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/dropdowns.md)12
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/forms.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/forms.md)179
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/input-group.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/input-group.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/jumbotron.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/jumbotron.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/list-group.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/list-group.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/media-object.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/media-object.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/modal.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/modal.md)194
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/navbar.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/navbar.md)6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/navs.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/navs.md)40
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/pagination.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/pagination.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/popovers.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/popovers.md)8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/progress.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/progress.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/scrollspy.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/scrollspy.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/spinners.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/spinners.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/toasts.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/toasts.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/components/tooltips.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/components/tooltips.md)8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/content/code.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/content/code.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/content/figures.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/content/figures.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/content/images.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/content/images.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/content/reboot.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/content/reboot.md)21
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/content/tables.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/content/tables.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/content/typography.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/content/typography.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/.stylelintrc (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/.stylelintrc)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/album/album.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/album/album.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/album/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/album/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/blog/blog.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/blog/blog.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/blog/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/blog/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/carousel/carousel.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/carousel/carousel.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/carousel/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/carousel/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/form-validation.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/form-validation.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/form-validation.js (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/form-validation.js)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/cover/cover.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/cover/cover.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/cover/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/cover/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/dashboard.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/dashboard.css)25
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/dashboard.js (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/dashboard.js)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/index.html)13
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/floating-labels/floating-labels.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/floating-labels/floating-labels.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/floating-labels/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/floating-labels/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/grid/grid.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/grid/grid.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/grid/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/grid/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/index.html44
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/jumbotron/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/jumbotron/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/jumbotron/jumbotron.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/jumbotron/jumbotron.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-bottom/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-bottom/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-fixed/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-fixed/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-fixed/navbar-top-fixed.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-fixed/navbar-top-fixed.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-static/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-static/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-static/navbar-top.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-static/navbar-top.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/navbars/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/navbars/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/navbars/navbar.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/navbars/navbar.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/offcanvas.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/offcanvas.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/offcanvas.js (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/offcanvas.js)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/pricing/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/pricing/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/pricing/pricing.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/pricing/pricing.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/product/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/product/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/product/product.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/product/product.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/sign-in/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/sign-in/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/sign-in/signin.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/sign-in/signin.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/starter-template/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/starter-template/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/starter-template/starter-template.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/starter-template/starter-template.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer-navbar/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer-navbar/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer-navbar/sticky-footer-navbar.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer-navbar/sticky-footer-navbar.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer/index.html)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer/sticky-footer.css (renamed from vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer/sticky-footer.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/accessibility.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/accessibility.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/best-practices.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/best-practices.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/browsers-devices.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/browsers-devices.md)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/build-tools.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/build-tools.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/contents.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/contents.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/download.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/download.md)6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/introduction.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/introduction.md)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/javascript.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/javascript.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/theming.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/theming.md)6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/getting-started/webpack.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/getting-started/webpack.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/layout/grid.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/layout/grid.md)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/layout/overview.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/layout/overview.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/layout/utilities-for-layout.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/layout/utilities-for-layout.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/migration.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/migration.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/borders.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/borders.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/clearfix.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/clearfix.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/close-icon.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/close-icon.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/colors.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/colors.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/display.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/display.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/embed.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/embed.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/flex.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/flex.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/float.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/float.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/image-replacement.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/image-replacement.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/interactions.md19
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/overflow.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/overflow.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/position.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/position.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/screen-readers.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/screen-readers.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/shadows.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/shadows.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/sizing.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/sizing.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/spacing.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/spacing.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/stretched-link.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/stretched-link.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/text.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/text.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/vertical-align.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/vertical-align.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.5/utilities/visibility.md (renamed from vendor/twbs/bootstrap/site/docs/4.4/utilities/visibility.md)0
-rw-r--r--vendor/twbs/bootstrap/site/index.html140
-rw-r--r--view/css/bootstrap-red.css9
-rw-r--r--view/js/jquery.js5
-rw-r--r--view/js/main.js90
-rw-r--r--view/theme/redbasic/css/style.css9
-rw-r--r--view/tpl/app.tpl4
-rw-r--r--view/tpl/cdav_calendar.tpl2
-rw-r--r--view/tpl/notifications_widget.tpl13
-rwxr-xr-xview/tpl/photo_album.tpl2
-rwxr-xr-xview/tpl/photos_recent.tpl2
906 files changed, 37883 insertions, 79470 deletions
diff --git a/.homeinstall/README.md b/.homeinstall/README.md
index 43c5d14b3..df1d14ef8 100644
--- a/.homeinstall/README.md
+++ b/.homeinstall/README.md
@@ -81,20 +81,13 @@ The script is known to work without adjustments with
+ Hardware
- Mini-PC with Debian 10 (stretch), or
- Rapberry 3 with Raspbian, Debian 10
+ - Rapberry 4 with Raspbian, Debian 10
+ DynDNS
- selfHOST.de
- freedns.afraid.org
The script can install both [Hubzilla](https://zotlabs.org/page/hubzilla/hubzilla-project) and [Zap](https://zotlabs.com/zap/). Make sure to use the correct GIT repositories.
-+ Hubzilla
- - core: git clone https://framagit.org/hubzilla/core.git html (in this readme)
- - addons: util/add_addon_repo https://framagit.org/hubzilla/addons.git hzaddons (in hubzilla-setup.sh)
-+ Zap
- - core: git clone https://framagit.org/zot/zap.git html (in this readme)
- - addons: util/add_addon_repo https://framagit.org/zot/zap-addons.git zaddons (in hubzilla-setup.sh)
-
-
# Step-by-Step - some Details
@@ -102,7 +95,7 @@ The script can install both [Hubzilla](https://zotlabs.org/page/hubzilla/hubzill
## Configure your Router
-Your web has to be visible in the internet.
+Your webserver has to be visible in the internet.
Open the ports 80 and 443 on your router for your Debian. Make sure your web server is marked as "exposed host".
@@ -144,5 +137,7 @@ to boot the Rapsi to the client console.
DO NOT FORGET TO CHANGE THE DEFAULT PASSWORD FOR USER PI!
+## Reminder for Different Web Wervers
+For those of you who feel adventurous enough to use a different web server (Nginx, Lighttpd...), don't forget that this script will install Apache and that you can only have one web server listening to ports 80 & 443. Also, don't forget to tweak /var/www/hubzilla-daily.sh accordingly.
diff --git a/SBOM.md b/SBOM.md
new file mode 100644
index 000000000..8a3a74f30
--- /dev/null
+++ b/SBOM.md
@@ -0,0 +1,32 @@
+# Hubzilla Software Bill of Materials - WIP
+
+|Name|Version|License|Source|
+|----|-------|-------|------|
+|blueimp/jquery-file-upload|10.30.1.0|MIT|https://github.com/vkhramtsov/jQuery-File-Upload.git|
+|bshaffer/oauth2-server-php|1.11.1.0|MIT|https://github.com/bshaffer/oauth2-server-php.git|
+|commerceguys/intl|1.0.5.0|MIT|https://github.com/commerceguys/intl.git|
+|desandro/imagesloaded|4.1.4.0|MIT|https://github.com/desandro/imagesloaded.git|
+|ezyang/htmlpurifier|4.12.0.0|LGPL-2.1-or-later|https://github.com/ezyang/htmlpurifier.git|
+|league/html-to-markdown|4.9.1.0|MIT|https://github.com/thephpleague/html-to-markdown.git|
+|lukasreschke/id3parser|0.0.3.0|GPL|https://github.com/LukasReschke/ID3Parser.git|
+|michelf/php-markdown|1.9.0.0|BSD-3-Clause|https://github.com/michelf/php-markdown.git|
+|paragonie/random_compat|9.99.99.0|MIT|https://github.com/paragonie/random_compat.git|
+|pear/text_languagedetect|1.0.0.0|BSD-2-Clause|https://github.com/pear/Text_LanguageDetect.git|
+|psr/log|1.1.3.0|MIT|https://github.com/php-fig/log.git|
+|ramsey/uuid|3.9.3.0|MIT|https://github.com/ramsey/uuid.git|
+|sabre/dav|4.1.0.0|BSD-3-Clause|https://github.com/sabre-io/dav.git|
+|sabre/event|5.1.0.0|BSD-3-Clause|https://github.com/sabre-io/event.git|
+|sabre/http|5.1.0.0|BSD-3-Clause|https://github.com/sabre-io/http.git|
+|sabre/uri|2.2.0.0|BSD-3-Clause|https://github.com/sabre-io/uri.git|
+|sabre/vobject|4.3.0.0|BSD-3-Clause|https://github.com/sabre-io/vobject.git|
+|sabre/xml|2.2.0.0|BSD-3-Clause|https://github.com/sabre-io/xml.git|
+|simplepie/simplepie|1.5.5.0|BSD-3-Clause|https://github.com/simplepie/simplepie.git|
+|smarty/smarty|3.1.36.0|LGPL-3.0|https://github.com/smarty-php/smarty.git|
+|symfony/polyfill-ctype|1.13.1.0|MIT|https://github.com/symfony/polyfill-ctype.git|
+|twbs/bootstrap|4.5.0.0|MIT|https://github.com/twbs/bootstrap.git|
+|fullcalendar/fullcalendar|4.4.2.0|MIT|https://github.com/fullcalendar/fullcalendar.git|
+|miromannino/Justified-Gallery|3.8.1.0|MIT|https://github.com/miromannino/Justified-Gallery.git|
+|fengyuanchen/cropperjs|1.5.7.0|MIT|https://github.com/fengyuanchen/cropperjs.git|
+|ForkAwesome/Fork-Awesome|1.1.7.0|MIT,SIL OFL,CC BY 3.0|https://github.com/ForkAwesome/Fork-Awesome.git|
+|leafo/sticky-kit|1.1.2.0|MIT|https://github.com/leafo/sticky-kit.git|
+|jquery/jquery|3.5.1.0|MIT|https://github.com/jquery/jquery.git|
diff --git a/Zotlabs/Access/PermissionRoles.php b/Zotlabs/Access/PermissionRoles.php
index c8b4953a5..82df0c34b 100644
--- a/Zotlabs/Access/PermissionRoles.php
+++ b/Zotlabs/Access/PermissionRoles.php
@@ -100,6 +100,7 @@ class PermissionRoles {
'post_mail', 'post_like' , 'republish', 'chat'
];
$ret['limits'] = PermissionLimits::Std_Limits();
+ $ret['channel_type'] = 'group';
break;
@@ -113,6 +114,7 @@ class PermissionRoles {
'view_pages', 'view_wiki', 'post_wall', 'post_comments', 'tag_deliver',
'post_mail', 'post_like' , 'chat' ];
$ret['limits'] = PermissionLimits::Std_Limits();
+ $ret['channel_type'] = 'group';
break;
@@ -132,6 +134,7 @@ class PermissionRoles {
$ret['limits']['view_storage'] = PERMS_SPECIFIC;
$ret['limits']['view_pages'] = PERMS_SPECIFIC;
$ret['limits']['view_wiki'] = PERMS_SPECIFIC;
+ $ret['channel_type'] = 'group';
break;
@@ -187,6 +190,7 @@ class PermissionRoles {
'post_mail', 'post_like' , 'republish', 'chat', 'write_wiki'
];
$ret['limits'] = PermissionLimits::Std_Limits();
+ $ret['channel_type'] = 'group';
break;
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php
index 014ff8949..d883eac67 100644
--- a/Zotlabs/Lib/Activity.php
+++ b/Zotlabs/Lib/Activity.php
@@ -3042,7 +3042,7 @@ class Activity {
}
}
- if (array_key_exists('source',$act) && array_key_exists('mediaType',$act['source'])) {
+ if (array_path_exists('source/mediaType',$act) && array_path_exists('source/content',$act)) {
if ($act['source']['mediaType'] === 'text/bbcode') {
$content['bbcode'] = purify_html($act['source']['content']);
}
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index f11bb9628..7b980b8d3 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -564,7 +564,8 @@ class Apps {
'$featured' => ((strpos($papp['categories'], 'nav_featured_app') === false) ? false : true),
'$pinned' => ((strpos($papp['categories'], 'nav_pinned_app') === false) ? false : true),
'$navapps' => (($mode == 'nav') ? true : false),
- '$order' => (($mode == 'nav-order') ? true : false),
+ '$order' => (($mode === 'nav-order' || $mode === 'nav-order-pinned') ? true : false),
+ '$mode' => $mode,
'$add' => t('Add to app-tray'),
'$remove' => t('Remove from app-tray'),
'$add_nav' => t('Pin to navbar'),
@@ -959,9 +960,6 @@ class Apps {
if($list) {
foreach($list as $li) {
$papp = self::app_encode($li);
- if($menu !== 'nav_pinned_app' && strpos($papp['categories'],'nav_pinned_app') !== false)
- continue;
-
$syslist[] = $papp;
}
}
diff --git a/Zotlabs/Lib/Libzot.php b/Zotlabs/Lib/Libzot.php
index 5e212ad70..dda6d5d95 100644
--- a/Zotlabs/Lib/Libzot.php
+++ b/Zotlabs/Lib/Libzot.php
@@ -2908,7 +2908,7 @@ class Libzot {
];
$ret['channel_role'] = get_pconfig($e['channel_id'],'system','permissions_role','custom');
- $ret['protocols'] = [ 'zot', 'zot6' ];
+ $ret['protocols'] = [ 'zot6', 'zot' ];
$ret['searchable'] = $searchable;
$ret['adult_content'] = $adult_channel;
$ret['public_forum'] = $public_forum;
diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php
index 426f88688..fadc38b38 100644
--- a/Zotlabs/Lib/ThreadItem.php
+++ b/Zotlabs/Lib/ThreadItem.php
@@ -150,9 +150,11 @@ class ThreadItem {
$edpost = false;
- if($observer['xchan_hash'] == $this->get_data_value('author_xchan')
+ if($observer && $observer['xchan_hash']
+ && ($observer['xchan_hash'] == $this->get_data_value('author_xchan')
|| $observer['xchan_hash'] == $this->get_data_value('owner_xchan')
- || $this->get_data_value('uid') == local_channel())
+ || $observer['xchan_hash'] == $this->get_data_value('source_xchan')
+ || $this->get_data_value('uid') == local_channel()))
$dropping = true;
diff --git a/Zotlabs/Module/Apporder.php b/Zotlabs/Module/Apporder.php
index eac1abc2d..313c2df50 100644
--- a/Zotlabs/Module/Apporder.php
+++ b/Zotlabs/Module/Apporder.php
@@ -34,9 +34,9 @@ class Apporder extends \Zotlabs\Web\Controller {
foreach($syslist as $app) {
if($l === 'nav_pinned_app') {
- $navbar_apps[] = Zlib\Apps::app_render($app,'nav-order');
+ $navbar_apps[] = Zlib\Apps::app_render($app,'nav-order-pinned');
}
- elseif(strpos($app['categories'],'nav_pinned_app') === false) {
+ else {
$nav_apps[] = Zlib\Apps::app_render($app,'nav-order');
}
}
diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php
index 2c43b4764..3f726ebb9 100644
--- a/Zotlabs/Module/Articles.php
+++ b/Zotlabs/Module/Articles.php
@@ -149,7 +149,7 @@ class Articles extends Controller {
}
$itemspage = get_pconfig(local_channel(),'system','itemspage');
- App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
diff --git a/Zotlabs/Module/Cards.php b/Zotlabs/Module/Cards.php
index 3f0e93de5..c44f7942b 100644
--- a/Zotlabs/Module/Cards.php
+++ b/Zotlabs/Module/Cards.php
@@ -145,7 +145,7 @@ class Cards extends Controller {
$itemspage = get_pconfig(local_channel(),'system','itemspage');
- App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php
index 08de059a8..9c8cddab3 100644
--- a/Zotlabs/Module/Channel.php
+++ b/Zotlabs/Module/Channel.php
@@ -334,7 +334,7 @@ class Channel extends Controller {
$itemspage = get_pconfig(local_channel(),'system','itemspage');
- App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
if($noscript_content || $load) {
diff --git a/Zotlabs/Module/Chanview.php b/Zotlabs/Module/Chanview.php
index 2e653d030..20ac41fbe 100644
--- a/Zotlabs/Module/Chanview.php
+++ b/Zotlabs/Module/Chanview.php
@@ -86,19 +86,8 @@ class Chanview extends \Zotlabs\Web\Controller {
}
if(! \App::$poi) {
-
- // We don't know who this is, and we can't figure it out from the URL
- // On the plus side, there's a good chance we know somebody else at that
- // hub so sending them there with a Zid will probably work anyway.
-
- $url = ($_REQUEST['url']);
- if(! $url) {
- notice( t('Channel not found.') . EOL);
- return;
- }
- if($observer)
- $url = zid($url);
-
+ notice( t('Channel not found.') . EOL);
+ return;
}
$is_zot = false;
diff --git a/Zotlabs/Module/Directory.php b/Zotlabs/Module/Directory.php
index 3eafd9f71..e1bf0f6cf 100644
--- a/Zotlabs/Module/Directory.php
+++ b/Zotlabs/Module/Directory.php
@@ -14,7 +14,7 @@ require_once('include/html2plain.php');
class Directory extends Controller {
function init() {
- App::set_pager_itemspage(60);
+ App::set_pager_itemspage(30);
if(local_channel() && x($_GET,'ignore')) {
q("insert into xign ( uid, xchan ) values ( %d, '%s' ) ",
diff --git a/Zotlabs/Module/Dirsearch.php b/Zotlabs/Module/Dirsearch.php
index 62af75f4c..c15b13a90 100644
--- a/Zotlabs/Module/Dirsearch.php
+++ b/Zotlabs/Module/Dirsearch.php
@@ -11,7 +11,7 @@ require_once('include/dir_fns.php');
class Dirsearch extends Controller {
function init() {
- App::set_pager_itemspage(60);
+ App::set_pager_itemspage(30);
}
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 95359ccad..d8c837522 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -14,6 +14,7 @@ use Zotlabs\Web\HTTPSig;
use Zotlabs\Lib\Libzot;
use Zotlabs\Lib\Libsync;
use Zotlabs\Lib\ThreadListener;
+use Zotlabs\Access\PermissionRoles;
use App;
require_once('include/crypto.php');
@@ -677,6 +678,25 @@ class Item extends Controller {
$str_contact_deny = $gacl['deny_cid'];
$str_group_deny = $gacl['deny_gid'];
+
+ $groupww = false;
+
+ // if this is a wall-to-wall post to a group, turn it into a direct message
+
+ $role = get_pconfig($profile_uid,'system','permissions_role');
+
+ $rolesettings = PermissionRoles::role_perms($role);
+
+ $channel_type = isset($rolesettings['channel_type']) ? $rolesettings['channel_type'] : 'normal';
+
+ $is_group = (($channel_type === 'group') ? true : false);
+
+ if (($is_group) && ($walltowall) && (! $walltowall_comment)) {
+ $groupww = true;
+ $str_contact_allow = $owner_xchan['xchan_hash'];
+ $str_group_allow = '';
+ }
+
$post_tags = [];
if($mimetype === 'text/bbcode') {
@@ -796,8 +816,6 @@ class Item extends Controller {
$i = 0;
foreach($match[2] as $mtch) {
$reshare = new \Zotlabs\Lib\Share($mtch);
- $datarray['obj'] = $reshare->obj();
- $datarray['obj_type'] = $datarray['obj']['type'];
$body = str_replace($match[1][$i],$reshare->bbcode(),$body);
$i++;
}
@@ -1233,7 +1251,11 @@ class Item extends Controller {
$datarray['llink'] = z_root() . '/display/' . gen_link_id($datarray['mid']);
call_hooks('post_local_end', $datarray);
-
+
+ if ($groupww) {
+ $nopush = false;
+ }
+
if(! $nopush)
Master::Summon([ 'Notifier', $notify_type, $post_id ]);
diff --git a/Zotlabs/Module/Like.php b/Zotlabs/Module/Like.php
index 61f73bfd5..edd4cfac8 100644
--- a/Zotlabs/Module/Like.php
+++ b/Zotlabs/Module/Like.php
@@ -210,20 +210,8 @@ class Like extends \Zotlabs\Web\Controller {
if(! $plink)
$plink = '[zrl=' . z_root() . '/profile/' . $ch[0]['channel_address'] . ']' . $post_type . '[/zrl]';
- $links = array();
- $links[] = array('rel' => 'alternate', 'type' => 'text/html',
- 'href' => z_root() . '/profile/' . $ch[0]['channel_address']);
- $links[] = array('rel' => 'photo', 'type' => $ch[0]['xchan_photo_mimetype'],
- 'href' => $ch[0]['xchan_photo_l']);
-
- $object = json_encode(array(
- 'type' => ACTIVITY_OBJ_PROFILE,
- 'title' => $ch[0]['channel_name'],
- 'id' => $ch[0]['xchan_url'] . '/' . $ch[0]['xchan_hash'],
- 'link' => $links
- ));
-
-
+ $object = json_encode(Activity::fetch_profile([ 'id' => channel_url($ch[0]) ]));
+
// second like of the same thing is "undo" for the first like
$z = q("select * from likes where channel_id = %d and liker = '%s' and verb = '%s' and target_type = '%s' and target_id = '%s' limit 1",
@@ -408,27 +396,8 @@ class Like extends \Zotlabs\Web\Controller {
$body = $item['body'];
- $object = json_encode(array(
- 'type' => $objtype,
- 'id' => $item['mid'],
- 'asld' => Activity::fetch_item( [ 'id' => $item['mid'] ] ),
- 'parent' => (($item['thr_parent']) ? $item['thr_parent'] : $item['parent_mid']),
- 'link' => $links,
- 'title' => $item['title'],
- 'content' => $item['body'],
- 'created' => $item['created'],
- 'edited' => $item['edited'],
- 'author' => array(
- 'name' => $item_author['xchan_name'],
- 'address' => $item_author['xchan_addr'],
- 'guid' => $item_author['xchan_guid'],
- 'guid_sig' => $item_author['xchan_guid_sig'],
- 'link' => array(
- array('rel' => 'alternate', 'type' => 'text/html', 'href' => $item_author['xchan_url']),
- array('rel' => 'photo', 'type' => $item_author['xchan_photo_mimetype'], 'href' => $item_author['xchan_photo_m'])),
- ),
- ));
-
+ $object = json_encode(Activity::fetch_item( [ 'id' => $item['mid'] ]));
+
if(! intval($item['item_thread_top']))
$post_type = 'comment';
diff --git a/Zotlabs/Module/Moderate.php b/Zotlabs/Module/Moderate.php
index f1bff3c50..b66b052a6 100644
--- a/Zotlabs/Module/Moderate.php
+++ b/Zotlabs/Module/Moderate.php
@@ -16,7 +16,7 @@ class Moderate extends \Zotlabs\Web\Controller {
return;
}
- \App::set_pager_itemspage(60);
+ \App::set_pager_itemspage(30);
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
//show all items
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index adfdc011b..fe1aa4386 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -452,7 +452,7 @@ class Network extends \Zotlabs\Web\Controller {
}
else {
$itemspage = get_pconfig(local_channel(),'system','itemspage');
- App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
}
diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php
index fae8c17f6..649e753ad 100644
--- a/Zotlabs/Module/Photos.php
+++ b/Zotlabs/Module/Photos.php
@@ -708,7 +708,7 @@ class Photos extends \Zotlabs\Web\Controller {
]);
if($x = photos_album_exists($owner_uid, get_observer_hash(), $datum)) {
- \App::set_pager_itemspage(60);
+ \App::set_pager_itemspage(30);
$album = $x['display_path'];
}
else {
@@ -1289,7 +1289,7 @@ class Photos extends \Zotlabs\Web\Controller {
\App::$page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$cmd) . '" title="oembed" />' . "\r\n";
- \App::set_pager_itemspage(60);
+ \App::set_pager_itemspage(30);
$r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.album, p.imgscale, p.created, p.display_path
FROM photo p
diff --git a/Zotlabs/Module/Pubstream.php b/Zotlabs/Module/Pubstream.php
index 92ef44696..76a3e0d9e 100644
--- a/Zotlabs/Module/Pubstream.php
+++ b/Zotlabs/Module/Pubstream.php
@@ -169,7 +169,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
$pager_sql = '';
}
else {
- \App::set_pager_itemspage(20);
+ \App::set_pager_itemspage(10);
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
}
diff --git a/Zotlabs/Module/Register.php b/Zotlabs/Module/Register.php
index bc813f8e1..278cf15ca 100644
--- a/Zotlabs/Module/Register.php
+++ b/Zotlabs/Module/Register.php
@@ -118,7 +118,7 @@ class Register extends Controller {
$invite_code = ((x($_POST,'invite_code')) ? notags(trim($_POST['invite_code'])) : '');
if($using_invites && $invite_code) {
- q("delete * from register where hash = '%s'", dbesc($invite_code));
+ q("delete from register where hash = '%s'", dbesc($invite_code));
// @FIXME - this also needs to be considered when using 'invites_remaining' in mod/invite.php
set_aconfig($result['account']['account_id'],'system','invites_remaining',$num_invites);
}
diff --git a/Zotlabs/Module/Search.php b/Zotlabs/Module/Search.php
index 686afb2d2..d586ae12f 100644
--- a/Zotlabs/Module/Search.php
+++ b/Zotlabs/Module/Search.php
@@ -159,7 +159,7 @@ class Search extends \Zotlabs\Web\Controller {
if(($update) && ($load)) {
$itemspage = get_pconfig(local_channel(),'system','itemspage');
- \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
// in case somebody turned off public access to sys channel content with permissions
diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php
index f553fc057..01ae8652a 100644
--- a/Zotlabs/Module/Settings/Display.php
+++ b/Zotlabs/Module/Settings/Display.php
@@ -36,9 +36,9 @@ class Display {
if($browser_update < 10000)
$browser_update = 10000;
- $itemspage = ((x($_POST,'itemspage')) ? intval($_POST['itemspage']) : 20);
- if($itemspage > 100)
- $itemspage = 100;
+ $itemspage = ((x($_POST,'itemspage')) ? intval($_POST['itemspage']) : 10);
+ if($itemspage > 30)
+ $itemspage = 30;
set_pconfig(local_channel(),'system','preload_images',$preload_images);
@@ -159,7 +159,7 @@ class Display {
$browser_update = (($browser_update == 0) ? 80 : $browser_update / 1000); // default if not set: 40 seconds
$itemspage = intval(get_pconfig(local_channel(), 'system','itemspage'));
- $itemspage = (($itemspage > 0 && $itemspage < 101) ? $itemspage : 20); // default if not set: 20 items
+ $itemspage = (($itemspage > 0 && $itemspage <= 30) ? $itemspage : 10); // default if not set: 10 items
$nosmile = get_pconfig(local_channel(),'system','no_smilies');
$nosmile = (($nosmile===false)? '0': $nosmile); // default if not set: 0
@@ -197,7 +197,7 @@ class Display {
'$preload_images' => array('preload_images', t("Preload images before rendering the page"), $preload_images, t("The subjective page load time will be longer but the page will be ready when displayed"), $yes_no),
'$user_scalable' => array('user_scalable', t("Enable user zoom on mobile devices"), $user_scalable, '', $yes_no),
'$ajaxint' => array('browser_update', t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds, no maximum')),
- '$itemspage' => array('itemspage', t("Maximum number of conversations to load at any time:"), $itemspage, t('Maximum of 100 items')),
+ '$itemspage' => array('itemspage', t("Maximum number of conversations to load at any time:"), $itemspage, t('Maximum of 30 items')),
'$nosmile' => array('nosmile', t("Show emoticons (smilies) as images"), 1-intval($nosmile), '', $yes_no),
'$channel_menu' => [ 'channel_menu', t('Provide channel menu in navigation bar'), get_pconfig(local_channel(),'system','channel_menu',get_config('system','channel_menu',0)), t('Default: channel menu located in app menu'),$yes_no ],
'$manual_update' => array('manual_update', t('Manual conversation updates'), channel_manual_conv_update(local_channel()), t('Default is on, turning this off may increase screen jumping'), $yes_no),
diff --git a/Zotlabs/Module/Wfinger.php b/Zotlabs/Module/Wfinger.php
index a19bdbedc..d24a31a15 100644
--- a/Zotlabs/Module/Wfinger.php
+++ b/Zotlabs/Module/Wfinger.php
@@ -3,6 +3,7 @@ namespace Zotlabs\Module;
require_once('include/zot.php');
+use Zotlabs\Lib\Libzot;
class Wfinger extends \Zotlabs\Web\Controller {
@@ -128,7 +129,7 @@ class Wfinger extends \Zotlabs\Web\Controller {
'http://webfinger.net/ns/name' => $r[0]['channel_name'],
'http://xmlns.com/foaf/0.1/name' => $r[0]['channel_name'],
'https://w3id.org/security/v1#publicKeyPem' => $r[0]['xchan_pubkey'],
- 'http://purl.org/zot/federation' => 'zot,zot6'
+ 'http://purl.org/zot/federation' => 'zot6,zot'
];
foreach($aliases as $alias)
@@ -142,7 +143,7 @@ class Wfinger extends \Zotlabs\Web\Controller {
[
'rel' => 'http://webfinger.net/rel/avatar',
'type' => $r[0]['xchan_photo_mimetype'],
- 'href' => $r[0]['xchan_photo_l']
+ 'href' => $r[0]['xchan_photo_l']
],
[
@@ -162,13 +163,13 @@ class Wfinger extends \Zotlabs\Web\Controller {
else {
$result['links'] = [
-
+
[
'rel' => 'http://webfinger.net/rel/avatar',
'type' => $r[0]['xchan_photo_mimetype'],
'href' => $r[0]['xchan_photo_l']
],
-
+
[
'rel' => 'http://microformats.org/profile/hcard',
'type' => 'text/html',
@@ -180,12 +181,11 @@ class Wfinger extends \Zotlabs\Web\Controller {
'href' => z_root()
],
-
[
'rel' => 'http://webfinger.net/rel/profile-page',
'href' => z_root() . '/profile/' . $r[0]['channel_address'],
],
-
+
[
'rel' => 'http://schemas.google.com/g/2010#updates-from',
'type' => 'application/atom+xml',
@@ -196,16 +196,11 @@ class Wfinger extends \Zotlabs\Web\Controller {
'rel' => 'http://webfinger.net/rel/blog',
'href' => z_root() . '/channel/' . $r[0]['channel_address'],
],
-
+
[
'rel' => 'http://ostatus.org/schema/1.0/subscribe',
'template' => z_root() . '/follow?f=&url={uri}',
],
-
- [
- 'rel' => 'http://purl.org/zot/protocol',
- 'href' => z_root() . '/.well-known/zot-info' . '?address=' . $r[0]['xchan_addr'],
- ],
[
'rel' => 'http://purl.org/zot/protocol/6.0',
@@ -214,12 +209,16 @@ class Wfinger extends \Zotlabs\Web\Controller {
],
[
+ 'rel' => 'http://purl.org/zot/protocol',
+ 'href' => z_root() . '/.well-known/zot-info' . '?address=' . $r[0]['xchan_addr'],
+ ],
+
+ [
'rel' => 'http://purl.org/openwebauth/v1',
'type' => 'application/x-zot+json',
'href' => z_root() . '/owa',
],
-
[
'rel' => 'magic-public-key',
'href' => 'data:application/magic-public-key,' . salmon_key($r[0]['channel_pubkey']),
@@ -229,7 +228,7 @@ class Wfinger extends \Zotlabs\Web\Controller {
if($zot) {
// get a zotinfo packet and return it with webfinger
- $result['zot'] = zotinfo( [ 'address' => $r[0]['xchan_addr'] ]);
+ $result['zot'] = Libzot::zotinfo( [ 'address' => $r[0]['xchan_addr'] ]);
}
}
@@ -241,7 +240,6 @@ class Wfinger extends \Zotlabs\Web\Controller {
$arr = [ 'channel' => $r[0], 'pchan' => $pchan, 'request' => $_REQUEST, 'result' => $result ];
call_hooks('webfinger',$arr);
-
json_return_and_die($arr['result'],'application/jrd+json');
}
diff --git a/Zotlabs/Module/Z6trans.php b/Zotlabs/Module/Z6trans.php
index 98832ad98..58dc09a51 100644
--- a/Zotlabs/Module/Z6trans.php
+++ b/Zotlabs/Module/Z6trans.php
@@ -119,7 +119,7 @@ class Z6trans extends Controller {
'xconfig' => ['xchan', 'v'],
'xign' => ['xchan'],
'xlink' => ['xlink_xchan', 'xlink_link'],
- 'xprof' => ['xprof_hash'],
+// 'xprof' => ['xprof_hash'],
'xtag' => ['xtag_hash'],
];
diff --git a/Zotlabs/Module/Zfinger.php b/Zotlabs/Module/Zfinger.php
index 3a20144a5..533f0a5db 100644
--- a/Zotlabs/Module/Zfinger.php
+++ b/Zotlabs/Module/Zfinger.php
@@ -2,6 +2,7 @@
namespace Zotlabs\Module;
use Zotlabs\Web\HTTPSig;
+use Zotlabs\Lib\Libzot;
class Zfinger extends \Zotlabs\Web\Controller {
@@ -9,7 +10,7 @@ class Zfinger extends \Zotlabs\Web\Controller {
require_once('include/zot.php');
require_once('include/crypto.php');
-
+
$x = zotinfo($_REQUEST);
if($x && $x['guid'] && $x['guid_sig']) {
diff --git a/boot.php b/boot.php
index 24b19c7b4..96f339ef9 100755
--- a/boot.php
+++ b/boot.php
@@ -50,8 +50,8 @@ require_once('include/attach.php');
require_once('include/bbcode.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '4.7.8' );
-define ( 'ZOT_REVISION', '6.0a' );
+define ( 'STD_VERSION', '4.7.10' );
+define ( 'ZOT_REVISION', '6.0' );
define ( 'DB_UPDATE_VERSION', 1238 );
diff --git a/composer.lock b/composer.lock
index cd4209f1d..a80678be8 100644
--- a/composer.lock
+++ b/composer.lock
@@ -8,16 +8,16 @@
"packages": [
{
"name": "blueimp/jquery-file-upload",
- "version": "v10.21.0",
+ "version": "v10.30.1",
"source": {
"type": "git",
"url": "https://github.com/vkhramtsov/jQuery-File-Upload.git",
- "reference": "74462f4b06e0f3b006d43cb101226f9d0e1219b7"
+ "reference": "fa90144200874f51eefcaeae1e1a05f0611ddf9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/74462f4b06e0f3b006d43cb101226f9d0e1219b7",
- "reference": "74462f4b06e0f3b006d43cb101226f9d0e1219b7",
+ "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/fa90144200874f51eefcaeae1e1a05f0611ddf9e",
+ "reference": "fa90144200874f51eefcaeae1e1a05f0611ddf9e",
"shasum": ""
},
"type": "library",
@@ -65,7 +65,7 @@
"type": "github"
}
],
- "time": "2020-05-06T06:34:07+00:00"
+ "time": "2020-06-10T06:45:27+00:00"
},
{
"name": "bshaffer/oauth2-server-php",
@@ -127,24 +127,24 @@
},
{
"name": "commerceguys/intl",
- "version": "v1.0.5",
+ "version": "v1.0.6",
"source": {
"type": "git",
"url": "https://github.com/commerceguys/intl.git",
- "reference": "6a8c7a8da189d51856b642a61aeb8ae5114fec6c"
+ "reference": "47d5d6d60d0cc25f867e337ce229a228bf6be6f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/commerceguys/intl/zipball/6a8c7a8da189d51856b642a61aeb8ae5114fec6c",
- "reference": "6a8c7a8da189d51856b642a61aeb8ae5114fec6c",
+ "url": "https://api.github.com/repos/commerceguys/intl/zipball/47d5d6d60d0cc25f867e337ce229a228bf6be6f8",
+ "reference": "47d5d6d60d0cc25f867e337ce229a228bf6be6f8",
"shasum": ""
},
"require": {
- "php": ">=5.5.0"
+ "php": ">=7.0.8"
},
"require-dev": {
"mikey179/vfsstream": "1.*",
- "phpunit/phpunit": "~4.0"
+ "phpunit/phpunit": "^6.0"
},
"type": "library",
"extra": {
@@ -167,7 +167,7 @@
}
],
"description": "Internationalization library powered by CLDR data.",
- "time": "2019-10-22T10:40:46+00:00"
+ "time": "2020-05-26T12:19:43+00:00"
},
{
"name": "desandro/imagesloaded",
@@ -1228,16 +1228,16 @@
},
{
"name": "twbs/bootstrap",
- "version": "v4.4.1",
+ "version": "v4.5.0",
"source": {
"type": "git",
"url": "https://github.com/twbs/bootstrap.git",
- "reference": "dca1ab7d877bc4b664b43604657a2b5fbe2b4ecb"
+ "reference": "7a6da5e3e7ad7c749dde806546a35d4d4259d965"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twbs/bootstrap/zipball/dca1ab7d877bc4b664b43604657a2b5fbe2b4ecb",
- "reference": "dca1ab7d877bc4b664b43604657a2b5fbe2b4ecb",
+ "url": "https://api.github.com/repos/twbs/bootstrap/zipball/7a6da5e3e7ad7c749dde806546a35d4d4259d965",
+ "reference": "7a6da5e3e7ad7c749dde806546a35d4d4259d965",
"shasum": ""
},
"replace": {
@@ -1275,7 +1275,13 @@
"sass",
"web"
],
- "time": "2019-11-28T12:59:49+00:00"
+ "funding": [
+ {
+ "url": "https://opencollective.com/bootstrap",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2020-05-12T17:44:42+00:00"
}
],
"packages-dev": [
diff --git a/include/channel.php b/include/channel.php
index 210b6ae91..05f1bd34b 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -129,10 +129,10 @@ function create_sys_channel() {
* @return array|boolean
*/
function get_sys_channel() {
- $r = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_system = 1 limit 1");
+ $r = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_system = 1");
if ($r)
- return $r[0];
+ return Libzot::zot_record_preferred($r, 'xchan_network');
return false;
}
diff --git a/include/help.php b/include/help.php
index e82fa96da..affe64495 100644
--- a/include/help.php
+++ b/include/help.php
@@ -223,7 +223,7 @@ function find_doc_file($s) {
*/
function search_doc_files($s) {
- \App::set_pager_itemspage(60);
+ \App::set_pager_itemspage(30);
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
$regexop = db_getfunc('REGEXP');
diff --git a/include/items.php b/include/items.php
index a566ddfd9..dc76af31b 100755
--- a/include/items.php
+++ b/include/items.php
@@ -12,6 +12,7 @@ use Zotlabs\Lib\IConfig;
use Zotlabs\Lib\Activity;
use Zotlabs\Lib\Libsync;
use Zotlabs\Access\PermissionLimits;
+use Zotlabs\Access\PermissionRoles;
use Zotlabs\Access\AccessList;
use Zotlabs\Daemon\Master;
@@ -290,7 +291,7 @@ function is_item_normal($item) {
*/
function can_comment_on_post($observer_xchan, $item) {
-// logger('Comment_policy: ' . $item['comment_policy'], LOGGER_DEBUG);
+ // logger('Comment_policy: ' . $item['comment_policy'], LOGGER_DEBUG);
$x = [
'observer_hash' => $observer_xchan,
@@ -351,7 +352,8 @@ function can_comment_on_post($observer_xchan, $item) {
return true;
}
break;
- default:
+
+ default:
break;
}
if(strstr($item['comment_policy'],'network:') && strstr($item['comment_policy'],'red')) {
@@ -2628,6 +2630,12 @@ function get_item_contact($item,$contacts) {
*/
function tag_deliver($uid, $item_id) {
+ $role = get_pconfig($uid,'system','permissions_role');
+ $rolesettings = PermissionRoles::role_perms($role);
+ $channel_type = isset($rolesettings['channel_type']) ? $rolesettings['channel_type'] : 'normal';
+
+ $is_group = (($channel_type === 'group') ? true : false);
+
$mention = false;
/*
@@ -2647,18 +2655,43 @@ function tag_deliver($uid, $item_id) {
if(! $i)
return;
+ xchan_query($i,true);
$i = fetch_post_tags($i);
$item = $i[0];
- if(($item['source_xchan']) && intval($item['item_uplink'])
+ if(intval($item['item_uplink']) && $item['source_xchan']
&& intval($item['item_thread_top']) && ($item['edited'] != $item['created'])) {
// this is an update (edit) to a post which was already processed by us and has a second delivery chain
// Just start the second delivery chain to deliver the updated post
// after resetting ownership and permission bits
logger('updating edited tag_deliver post for ' . $u[0]['channel_address']);
- start_delivery_chain($u[0], $item, $item_id, 0, true);
+ start_delivery_chain($u[0], $item, $item_id, 0, false, true);
+ return;
+ }
+
+ if ($is_group && intval($item['item_private']) === 2 && intval($item['item_thread_top'])) {
+ // group delivery via DM
+ if(perm_is_allowed($uid,$item['owner_xchan'],'post_wall') || perm_is_allowed($uid,$item['owner_xchan'],'tag_deliver')) {
+ logger('group DM delivery for ' . $u[0]['channel_address']);
+ start_delivery_chain($u[0], $item, $item_id, 0, true, (($item['edited'] != $item['created']) || $item['item_deleted']));
+ }
+ return;
+ }
+
+
+ if ($is_group && intval($item['item_thread_top']) && intval($item['item_wall']) && $item['author_xchan'] !== $item['owner_xchan']) {
+ if (strpos($item['body'],'[/share]')) {
+ logger('W2W post already shared');
+ return;
+ }
+ // group delivery via W2W
+ logger('rewriting W2W post for ' . $u[0]['channel_address']);
+ start_delivery_chain($u[0], $item, $item_id, 0, true, (($item['edited'] != $item['created']) || $item['item_deleted']));
+ q("update item set item_wall = 0 where id = %d",
+ intval($item_id)
+ );
return;
}
@@ -2965,6 +2998,13 @@ function item_community_tag($channel,$item) {
*/
function tgroup_check($uid, $item) {
+
+ $role = get_pconfig($uid,'system','permissions_role');
+ $rolesettings = PermissionRoles::role_perms($role);
+ $channel_type = isset($rolesettings['channel_type']) ? $rolesettings['channel_type'] : 'normal';
+
+ $is_group = (($channel_type === 'group') ? true : false);
+
$mention = false;
// check that the message originated elsewhere and is a top-level post
@@ -2981,6 +3021,15 @@ function tgroup_check($uid, $item) {
return false;
}
+ // post to group via DM
+
+ if ($is_group) {
+ if (intval($item['item_private']) === 2 && $item['mid'] === $item['parent_mid']) {
+ return true;
+ }
+ }
+
+
// see if we already have this item. Maybe it is being updated.
$r = q("select id from item where mid = '%s' and uid = %d limit 1",
@@ -3089,7 +3138,7 @@ function tgroup_check($uid, $item) {
* @param boolean $edit (optional) default false
* @return void
*/
-function start_delivery_chain($channel, $item, $item_id, $parent, $edit = false) {
+function start_delivery_chain($channel, $item, $item_id, $parent, $group = false, $edit = false) {
$sourced = check_item_source($channel['channel_id'],$item);
@@ -3136,6 +3185,107 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $edit = false)
}
}
+ if ($group && (! $parent)) {
+
+ $arr = [];
+
+ if ($edit) {
+ // process edit or delete action
+ $r = q("select * from item where source_xchan = '%s' and body like '%s' and uid = %d limit 1",
+ dbesc($item['owner_xchan']),
+ dbesc("%message_id='" . $item['mid'] . "'%"),
+ intval($channel['channel_id'])
+ );
+ if ($r) {
+ if (intval($item['item_deleted'])) {
+ drop_item($r[0]['id'],false,DROPITEM_PHASE1);
+ Master::Summon([ 'Notifier','drop',$r[0]['id'] ]);
+ return;
+ }
+ $arr['id'] = intval($r[0]['id']);
+ $arr['parent'] = intval($r[0]['parent']);
+ $arr['uuid'] = $r[0]['uuid'];
+ $arr['mid'] = $r[0]['mid'];
+ $arr['parent_mid'] = $r[0]['parent_mid'];
+ $arr['edited'] = datetime_convert();
+ }
+ else {
+ logger('unable to locate original group post ' . $item['mid']);
+ return;
+ }
+
+ }
+ else {
+ $arr['uuid'] = item_message_id();
+ $arr['mid'] = z_root() . '/activity/' . $arr['uuid'];
+ $arr['parent_mid'] = $arr['mid'];
+ }
+
+ $arr['aid'] = $channel['channel_account_id'];
+ $arr['uid'] = $channel['channel_id'];
+
+ // WARNING: the presence of both source_xchan and non-zero item_uplink here will cause a delivery loop
+
+ $arr['item_uplink'] = 0;
+ $arr['source_xchan'] = $item['owner_xchan'];
+
+ $arr['item_private'] = (($channel['channel_allow_cid'] || $channel['channel_allow_gid']
+ || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 1 : 0);
+
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = 1;
+
+ $arr['item_thread_top'] = 1;
+
+ if (strpos($item['body'], "[/share]") !== false) {
+ $pos = strpos($item['body'], "[share");
+ $bb = substr($item['body'], $pos);
+ } else {
+ $bb = "[share author='" . urlencode($item['author']['xchan_name']).
+ "' profile='" . $item['author']['xchan_url'] .
+ "' portable_id='" . $item['author']['xchan_hash'] .
+ "' avatar='" . $item['author']['xchan_photo_s'] .
+ "' link='" . $item['plink'] .
+ "' auth='" . ((in_array($item['author']['network'], ['zot','zot6'])) ? 'true' : 'false') .
+ "' posted='" . $item['created'] .
+ "' message_id='" . $item['mid'] .
+ "']";
+ if($item['title'])
+ $bb .= '[b]'.$item['title'].'[/b]'."\r\n";
+ $bb .= $item['body'];
+ $bb .= "[/share]";
+ }
+
+ $arr['body'] = $bb;
+
+ $arr['author_xchan'] = $channel['channel_hash'];
+ $arr['owner_xchan'] = $channel['channel_hash'];
+
+ $arr['obj_type'] = $item['obj_type'];
+ $arr['verb'] = ACTIVITY_POST;
+
+ $arr['allow_cid'] = $channel['channel_allow_cid'];
+ $arr['allow_gid'] = $channel['channel_allow_gid'];
+ $arr['deny_cid'] = $channel['channel_deny_cid'];
+ $arr['deny_gid'] = $channel['channel_deny_gid'];
+ $arr['comment_policy'] = map_scope(PermissionLimits::Get($channel['channel_id'],'post_comments'));
+
+ if ($arr['id']) {
+ $post = item_store_update($arr);
+ }
+ else {
+ $post = item_store($arr);
+ }
+
+ $post_id = $post['item_id'];
+
+ if($post_id) {
+ Master::Summon([ 'Notifier','tgroup',$post_id ]);
+ }
+ return;
+ }
+
+
// Change this copy of the post to a forum head message and deliver to all the tgroup members
// also reset all the privacy bits to the forum default permissions
@@ -3225,7 +3375,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $edit = false)
function check_item_source($uid, $item) {
logger('source: uid: ' . $uid, LOGGER_DEBUG);
- $xchan = (($item['source_xchan']) ? $item['source_xchan'] : $item['owner_xchan']);
+ $xchan = (($item['source_xchan'] && intval($item['item_uplink'])) ? $item['source_xchan'] : $item['owner_xchan']);
$r = q("select * from source where src_channel_id = %d and ( src_xchan = '%s' or src_xchan = '*' ) limit 1",
intval($uid),
@@ -4386,8 +4536,8 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
// only setup pagination on initial page view
$pager_sql = '';
} else {
- $itemspage = (($channel) ? get_pconfig($uid,'system','itemspage') : 20);
- App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ $itemspage = (($channel) ? get_pconfig($uid,'system','itemspage') : 10);
+ App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
}
diff --git a/include/nav.php b/include/nav.php
index bd4d000f7..b2a061661 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -296,14 +296,10 @@ function nav($template = 'default') {
$app['active'] = true;
if($is_owner) {
- if(strpos($app['categories'],'nav_pinned_app') === false) {
- $nav_apps[] = Apps::app_render($app,'nav');
- }
+ $nav_apps[] = Apps::app_render($app,'nav');
}
elseif(! $is_owner && strpos($app['requires'], 'local_channel') === false) {
- if(strpos($app['categories'],'nav_pinned_app') === false) {
- $nav_apps[] = Apps::app_render($app,'nav');
- }
+ $nav_apps[] = Apps::app_render($app,'nav');
}
}
}
diff --git a/include/network.php b/include/network.php
index 80d19797b..aada36fba 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1102,29 +1102,6 @@ function discover_by_webbie($webbie, $protocol = '') {
$x = webfinger_rfc7033($webbie, true);
if($x && array_key_exists('links',$x) && $x['links']) {
- foreach($x['links'] as $link) {
- if(array_key_exists('rel',$link)) {
-
- // If we discover zot - don't search further; grab the info and get out of
- // here.
-
- if($link['rel'] === PROTOCOL_ZOT && ((! $protocol) || (strtolower($protocol) === 'zot'))) {
- logger('zot found for ' . $webbie, LOGGER_DEBUG);
- if(array_key_exists('zot',$x) && $x['zot']['success']) {
- $i = import_xchan($x['zot']);
- return true;
- }
- else {
- $z = z_fetch_url($link['href']);
- if($z['success']) {
- $j = json_decode($z['body'],true);
- $i = import_xchan($j);
- return true;
- }
- }
- }
- }
- }
foreach($x['links'] as $link) {
if(array_key_exists('rel',$link)) {
@@ -1150,6 +1127,31 @@ function discover_by_webbie($webbie, $protocol = '') {
}
}
}
+
+ foreach($x['links'] as $link) {
+ if(array_key_exists('rel',$link)) {
+
+ // If we discover zot - don't search further; grab the info and get out of
+ // here.
+
+ if($link['rel'] === PROTOCOL_ZOT && ((! $protocol) || (strtolower($protocol) === 'zot'))) {
+ logger('zot found for ' . $webbie, LOGGER_DEBUG);
+ if(array_key_exists('zot',$x) && $x['zot']['success']) {
+ $i = import_xchan($x['zot']);
+ return true;
+ }
+ else {
+ $z = z_fetch_url($link['href']);
+ if($z['success']) {
+ $j = json_decode($z['body'],true);
+ $i = import_xchan($j);
+ return true;
+ }
+ }
+ }
+ }
+ }
+
}
logger('webfinger: ' . print_r($x,true), LOGGER_DATA, LOG_INFO);
diff --git a/include/text.php b/include/text.php
index 6873cc1c3..92e5807b4 100644
--- a/include/text.php
+++ b/include/text.php
@@ -3751,7 +3751,7 @@ function array_path_exists($str,$arr) {
if($search) {
foreach($search as $s) {
- if(is_array($ptr) && array_key_exists($s,$ptr)) {
+ if ($ptr && is_array($ptr) && array_key_exists($s,$ptr)) {
$ptr = $ptr[$s];
}
else {
diff --git a/library/cropperjs/.eslintrc b/library/cropperjs/.eslintrc
index 7ecbe0dc0..e1ee964d5 100644
--- a/library/cropperjs/.eslintrc
+++ b/library/cropperjs/.eslintrc
@@ -1,10 +1,11 @@
{
+ "root": true,
"extends": "airbnb-base",
"env": {
"browser": true
},
- "root": true,
"rules": {
+ "import/no-extraneous-dependencies": "off",
"no-param-reassign": "off",
"no-restricted-properties": "off",
"valid-jsdoc": ["error", {
diff --git a/library/cropperjs/CHANGELOG.md b/library/cropperjs/CHANGELOG.md
index 5cddd4875..61bba7170 100644
--- a/library/cropperjs/CHANGELOG.md
+++ b/library/cropperjs/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog
+## 1.5.7 (May 23, 2020)
+
+- Improve container resizing (#636).
+- Improve touch device detection (#614).
+
## 1.5.6 (Oct 4, 2019)
- Improve event type determining for iOS 13+ (#571).
diff --git a/library/cropperjs/README.md b/library/cropperjs/README.md
index 6f1227f95..943db0b57 100644
--- a/library/cropperjs/README.md
+++ b/library/cropperjs/README.md
@@ -92,9 +92,12 @@ new Cropper(element[, options])
```
```css
-/* Limit image width to avoid overflow the container */
+/* Ensure the size of the image fit the container perfectly */
img {
- max-width: 100%; /* This rule is very important, please do not ignore this! */
+ display: block;
+
+ /* This rule is very important, please don't ignore this */
+ max-width: 100%;
}
```
@@ -258,7 +261,7 @@ Requires to set both the `rotatable` and `scalable` options to `true` at the sam
**Note:** Don't trust this all the time as some JPG images have incorrect (not standard) Orientation values.
-> Requires [Typed Arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) support ([IE 10+](http://caniuse.com/typedarrays)).
+> Requires [Typed Arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) support ([IE 10+](https://caniuse.com/typedarrays)).
### modal
@@ -619,7 +622,7 @@ cropper.zoomTo(.5, {
Rotate the image with a relative degree.
-> Requires [CSS3 2D Transforms](https://developer.mozilla.org/en-US/docs/Web/CSS/transform) support ([IE 9+](http://caniuse.com/transforms2d)).
+> Requires [CSS3 2D Transforms](https://developer.mozilla.org/en-US/docs/Web/CSS/transform) support ([IE 9+](https://caniuse.com/transforms2d)).
```js
cropper.rotate(90);
@@ -648,7 +651,7 @@ Rotate the image to an absolute degree.
Scale the image.
-> Requires [CSS3 2D Transforms](https://developer.mozilla.org/en-US/docs/Web/CSS/transform) support ([IE 9+](http://caniuse.com/transforms2d)).
+> Requires [CSS3 2D Transforms](https://developer.mozilla.org/en-US/docs/Web/CSS/transform) support ([IE 9+](https://caniuse.com/transforms2d)).
```js
cropper.scale(-1); // Flip both horizontal and vertical
@@ -830,15 +833,15 @@ Change the crop box position and size with new data.
- Uses the Browser's native [canvas.toBlob](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob) API to do the compression work, which means it is **lossy compression**. For better image quality, you can upload the original image and the cropped data to a server and do the crop work on the server.
- Browser support:
- - Basic image: requires [Canvas](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement) support ([IE 9+](http://caniuse.com/canvas)).
- - Rotated image: requires [CSS3 2D Transforms](https://developer.mozilla.org/en-US/docs/Web/CSS/transform) support ([IE 9+](http://caniuse.com/transforms2d)).
- - Cross-origin image: requires HTML5 [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) support ([IE 11+](http://caniuse.com/cors)).
+ - Basic image: requires [Canvas](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement) support ([IE 9+](https://caniuse.com/canvas)).
+ - Rotated image: requires [CSS3 2D Transforms](https://developer.mozilla.org/en-US/docs/Web/CSS/transform) support ([IE 9+](https://caniuse.com/transforms2d)).
+ - Cross-origin image: requires HTML5 [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) support ([IE 11+](https://caniuse.com/cors)).
Get a canvas drawn the cropped image (lossy compression). If it is not cropped, then returns a canvas drawn the whole image.
> After then, you can display the canvas as an image directly, or use [HTMLCanvasElement.toDataURL](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL) to get a Data URL, or use [HTMLCanvasElement.toBlob](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob) to get a blob and upload it to server with [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) if the browser supports these APIs.
-Avoid to get a blank output image, you might need to set the `maxWidth` and `maxHeight` properties to limited numbers, because of [the size limits of a canvas element](https://stackoverflow.com/questions/6081483/maximum-size-of-a-canvas-element).
+Avoid to get a blank (or black) output image, you might need to set the `maxWidth` and `maxHeight` properties to limited numbers, because of [the size limits of a canvas element](https://stackoverflow.com/questions/6081483/maximum-size-of-a-canvas-element). Also, you should limit them maximum zoom ratio (in the `zoom` event) as the same reason.
```js
cropper.getCroppedCanvas();
@@ -865,7 +868,7 @@ cropper.getCroppedCanvas().toBlob((blob) => {
// Use `jQuery.ajax` method for example
$.ajax('/path/to/upload', {
- method: "POST",
+ method: 'POST',
data: formData,
processData: false,
contentType: false,
@@ -1049,7 +1052,7 @@ Maintained under the [Semantic Versioning guidelines](https://semver.org/).
## License
-[MIT](https://opensource.org/licenses/MIT) © [Chen Fengyuan](https://chenfengyuan.com)
+[MIT](https://opensource.org/licenses/MIT) © [Chen Fengyuan](https://chenfengyuan.com/)
## Related projects
diff --git a/library/cropperjs/dist/cropper.common.js b/library/cropperjs/dist/cropper.common.js
index 84cd77cdd..ca35bcf08 100644
--- a/library/cropperjs/dist/cropper.common.js
+++ b/library/cropperjs/dist/cropper.common.js
@@ -1,16 +1,18 @@
/*!
- * Cropper.js v1.5.6
+ * Cropper.js v1.5.7
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
- * Date: 2019-10-04T04:33:48.372Z
+ * Date: 2020-05-23T05:23:00.081Z
*/
'use strict';
function _typeof(obj) {
+ "@babel/helpers - typeof";
+
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function (obj) {
return typeof obj;
@@ -80,13 +82,13 @@ function _objectSpread2(target) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
- ownKeys(source, true).forEach(function (key) {
+ ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
- ownKeys(source).forEach(function (key) {
+ ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
@@ -96,28 +98,41 @@ function _objectSpread2(target) {
}
function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) {
- for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
-
- return arr2;
- }
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
- if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
+}
+
+function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(o);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
+}
+
+function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+
+ return arr2;
}
function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance");
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';
var WINDOW = IS_BROWSER ? window : {};
-var IS_TOUCH_DEVICE = IS_BROWSER ? 'ontouchstart' in WINDOW.document.documentElement : false;
+var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;
var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;
var NAMESPACE = 'cropper'; // Actions
@@ -171,10 +186,6 @@ var REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;
var REGEXP_DATA_URL = /^data:/;
var REGEXP_DATA_URL_JPEG = /^data:image\/jpeg;base64,/;
var REGEXP_TAG_NAME = /^img|canvas$/i; // Misc
-// Inspired by the default width and height of a canvas element.
-
-var MIN_CONTAINER_WIDTH = 200;
-var MIN_CONTAINER_HEIGHT = 100;
var DEFAULTS = {
// Define the view mode of the cropper
@@ -382,7 +393,7 @@ var assign = Object.assign || function assign(target) {
var REGEXP_DECIMALS = /\.\d*(?:0|9){12}\d*$/;
/**
* Normalize decimal number.
- * Check out {@link http://0.30000000000000004.com/}
+ * Check out {@link https://0.30000000000000004.com/}
* @param {number} value - The value to normalize.
* @param {number} [times=100000000000] - The times for normalizing.
* @returns {number} Returns the normalized number.
@@ -1183,8 +1194,6 @@ function parseOrientation(orientation) {
case 8:
rotate = -90;
break;
-
- default:
}
return {
@@ -1789,16 +1798,13 @@ var events = {
var handlers = {
resize: function resize() {
- var options = this.options,
- container = this.container,
- containerData = this.containerData;
- var minContainerWidth = Number(options.minContainerWidth) || MIN_CONTAINER_WIDTH;
- var minContainerHeight = Number(options.minContainerHeight) || MIN_CONTAINER_HEIGHT;
-
- if (this.disabled || containerData.width <= minContainerWidth || containerData.height <= minContainerHeight) {
+ if (this.disabled) {
return;
}
+ var options = this.options,
+ container = this.container,
+ containerData = this.containerData;
var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed
if (ratio !== 1 || container.offsetHeight !== containerData.height) {
@@ -2046,8 +2052,6 @@ var change = {
}
break;
-
- default:
}
};
@@ -2412,8 +2416,6 @@ var change = {
}
break;
-
- default:
}
if (renderable) {
@@ -3195,9 +3197,7 @@ var methods = {
var AnotherCropper = WINDOW.Cropper;
-var Cropper =
-/*#__PURE__*/
-function () {
+var Cropper = /*#__PURE__*/function () {
/**
* Create a new Cropper.
* @param {Element} element - The target element for cropping.
@@ -3246,7 +3246,7 @@ function () {
if (!url) {
return;
- } // e.g.: "http://example.com/img/picture.jpg"
+ } // e.g.: "https://example.com/img/picture.jpg"
url = element.src;
diff --git a/library/cropperjs/dist/cropper.css b/library/cropperjs/dist/cropper.css
index d54319a64..d914b48fd 100644
--- a/library/cropperjs/dist/cropper.css
+++ b/library/cropperjs/dist/cropper.css
@@ -1,11 +1,11 @@
/*!
- * Cropper.js v1.5.6
+ * Cropper.js v1.5.7
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
- * Date: 2019-10-04T04:33:44.164Z
+ * Date: 2020-05-23T05:22:57.283Z
*/
.cropper-container {
diff --git a/library/cropperjs/dist/cropper.esm.js b/library/cropperjs/dist/cropper.esm.js
index 55bb43ec3..90f95c95b 100644
--- a/library/cropperjs/dist/cropper.esm.js
+++ b/library/cropperjs/dist/cropper.esm.js
@@ -1,14 +1,16 @@
/*!
- * Cropper.js v1.5.6
+ * Cropper.js v1.5.7
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
- * Date: 2019-10-04T04:33:48.372Z
+ * Date: 2020-05-23T05:23:00.081Z
*/
function _typeof(obj) {
+ "@babel/helpers - typeof";
+
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function (obj) {
return typeof obj;
@@ -78,13 +80,13 @@ function _objectSpread2(target) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
- ownKeys(source, true).forEach(function (key) {
+ ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
- ownKeys(source).forEach(function (key) {
+ ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
@@ -94,28 +96,41 @@ function _objectSpread2(target) {
}
function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) {
- for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
-
- return arr2;
- }
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
- if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
+}
+
+function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(o);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
+}
+
+function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+
+ return arr2;
}
function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance");
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';
var WINDOW = IS_BROWSER ? window : {};
-var IS_TOUCH_DEVICE = IS_BROWSER ? 'ontouchstart' in WINDOW.document.documentElement : false;
+var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;
var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;
var NAMESPACE = 'cropper'; // Actions
@@ -169,10 +184,6 @@ var REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;
var REGEXP_DATA_URL = /^data:/;
var REGEXP_DATA_URL_JPEG = /^data:image\/jpeg;base64,/;
var REGEXP_TAG_NAME = /^img|canvas$/i; // Misc
-// Inspired by the default width and height of a canvas element.
-
-var MIN_CONTAINER_WIDTH = 200;
-var MIN_CONTAINER_HEIGHT = 100;
var DEFAULTS = {
// Define the view mode of the cropper
@@ -380,7 +391,7 @@ var assign = Object.assign || function assign(target) {
var REGEXP_DECIMALS = /\.\d*(?:0|9){12}\d*$/;
/**
* Normalize decimal number.
- * Check out {@link http://0.30000000000000004.com/}
+ * Check out {@link https://0.30000000000000004.com/}
* @param {number} value - The value to normalize.
* @param {number} [times=100000000000] - The times for normalizing.
* @returns {number} Returns the normalized number.
@@ -1181,8 +1192,6 @@ function parseOrientation(orientation) {
case 8:
rotate = -90;
break;
-
- default:
}
return {
@@ -1787,16 +1796,13 @@ var events = {
var handlers = {
resize: function resize() {
- var options = this.options,
- container = this.container,
- containerData = this.containerData;
- var minContainerWidth = Number(options.minContainerWidth) || MIN_CONTAINER_WIDTH;
- var minContainerHeight = Number(options.minContainerHeight) || MIN_CONTAINER_HEIGHT;
-
- if (this.disabled || containerData.width <= minContainerWidth || containerData.height <= minContainerHeight) {
+ if (this.disabled) {
return;
}
+ var options = this.options,
+ container = this.container,
+ containerData = this.containerData;
var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed
if (ratio !== 1 || container.offsetHeight !== containerData.height) {
@@ -2044,8 +2050,6 @@ var change = {
}
break;
-
- default:
}
};
@@ -2410,8 +2414,6 @@ var change = {
}
break;
-
- default:
}
if (renderable) {
@@ -3193,9 +3195,7 @@ var methods = {
var AnotherCropper = WINDOW.Cropper;
-var Cropper =
-/*#__PURE__*/
-function () {
+var Cropper = /*#__PURE__*/function () {
/**
* Create a new Cropper.
* @param {Element} element - The target element for cropping.
@@ -3244,7 +3244,7 @@ function () {
if (!url) {
return;
- } // e.g.: "http://example.com/img/picture.jpg"
+ } // e.g.: "https://example.com/img/picture.jpg"
url = element.src;
diff --git a/library/cropperjs/dist/cropper.js b/library/cropperjs/dist/cropper.js
index 5c49d7bdf..9bed97a52 100644
--- a/library/cropperjs/dist/cropper.js
+++ b/library/cropperjs/dist/cropper.js
@@ -1,20 +1,22 @@
/*!
- * Cropper.js v1.5.6
+ * Cropper.js v1.5.7
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
- * Date: 2019-10-04T04:33:48.372Z
+ * Date: 2020-05-23T05:23:00.081Z
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.Cropper = factory());
-}(this, function () { 'use strict';
+}(this, (function () { 'use strict';
function _typeof(obj) {
+ "@babel/helpers - typeof";
+
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function (obj) {
return typeof obj;
@@ -84,13 +86,13 @@
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
- ownKeys(source, true).forEach(function (key) {
+ ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
- ownKeys(source).forEach(function (key) {
+ ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
@@ -100,28 +102,41 @@
}
function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) {
- for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
-
- return arr2;
- }
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
- if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
+ }
+
+ function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(o);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
+ }
+
+ function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+
+ return arr2;
}
function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance");
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';
var WINDOW = IS_BROWSER ? window : {};
- var IS_TOUCH_DEVICE = IS_BROWSER ? 'ontouchstart' in WINDOW.document.documentElement : false;
+ var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;
var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;
var NAMESPACE = 'cropper'; // Actions
@@ -175,10 +190,6 @@
var REGEXP_DATA_URL = /^data:/;
var REGEXP_DATA_URL_JPEG = /^data:image\/jpeg;base64,/;
var REGEXP_TAG_NAME = /^img|canvas$/i; // Misc
- // Inspired by the default width and height of a canvas element.
-
- var MIN_CONTAINER_WIDTH = 200;
- var MIN_CONTAINER_HEIGHT = 100;
var DEFAULTS = {
// Define the view mode of the cropper
@@ -386,7 +397,7 @@
var REGEXP_DECIMALS = /\.\d*(?:0|9){12}\d*$/;
/**
* Normalize decimal number.
- * Check out {@link http://0.30000000000000004.com/}
+ * Check out {@link https://0.30000000000000004.com/}
* @param {number} value - The value to normalize.
* @param {number} [times=100000000000] - The times for normalizing.
* @returns {number} Returns the normalized number.
@@ -1187,8 +1198,6 @@
case 8:
rotate = -90;
break;
-
- default:
}
return {
@@ -1793,16 +1802,13 @@
var handlers = {
resize: function resize() {
- var options = this.options,
- container = this.container,
- containerData = this.containerData;
- var minContainerWidth = Number(options.minContainerWidth) || MIN_CONTAINER_WIDTH;
- var minContainerHeight = Number(options.minContainerHeight) || MIN_CONTAINER_HEIGHT;
-
- if (this.disabled || containerData.width <= minContainerWidth || containerData.height <= minContainerHeight) {
+ if (this.disabled) {
return;
}
+ var options = this.options,
+ container = this.container,
+ containerData = this.containerData;
var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed
if (ratio !== 1 || container.offsetHeight !== containerData.height) {
@@ -2050,8 +2056,6 @@
}
break;
-
- default:
}
};
@@ -2416,8 +2420,6 @@
}
break;
-
- default:
}
if (renderable) {
@@ -3199,9 +3201,7 @@
var AnotherCropper = WINDOW.Cropper;
- var Cropper =
- /*#__PURE__*/
- function () {
+ var Cropper = /*#__PURE__*/function () {
/**
* Create a new Cropper.
* @param {Element} element - The target element for cropping.
@@ -3250,7 +3250,7 @@
if (!url) {
return;
- } // e.g.: "http://example.com/img/picture.jpg"
+ } // e.g.: "https://example.com/img/picture.jpg"
url = element.src;
@@ -3613,4 +3613,4 @@
return Cropper;
-}));
+})));
diff --git a/library/cropperjs/dist/cropper.min.css b/library/cropperjs/dist/cropper.min.css
index d870a6740..6bdccb8ad 100644
--- a/library/cropperjs/dist/cropper.min.css
+++ b/library/cropperjs/dist/cropper.min.css
@@ -1,9 +1,9 @@
/*!
- * Cropper.js v1.5.6
+ * Cropper.js v1.5.7
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
- * Date: 2019-10-04T04:33:44.164Z
+ * Date: 2020-05-23T05:22:57.283Z
*/.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:rgba(51,153,255,.75);overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC")}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed} \ No newline at end of file
diff --git a/library/cropperjs/dist/cropper.min.js b/library/cropperjs/dist/cropper.min.js
index 958cc2391..6896c806b 100644
--- a/library/cropperjs/dist/cropper.min.js
+++ b/library/cropperjs/dist/cropper.min.js
@@ -1,10 +1,10 @@
/*!
- * Cropper.js v1.5.6
+ * Cropper.js v1.5.7
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
- * Date: 2019-10-04T04:33:48.372Z
+ * Date: 2020-05-23T05:23:00.081Z
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Cropper=e()}(this,function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function i(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,a)}return i}function C(n){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?i(o,!0).forEach(function(t){var e,i,a;e=n,a=o[i=t],i in e?Object.defineProperty(e,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[i]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):i(o).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(o,t))})}return n}function P(t){return function(t){if(Array.isArray(t)){for(var e=0,i=new Array(t.length);e<t.length;e++)i[e]=t[e];return i}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var n="undefined"!=typeof window&&void 0!==window.document,r=n?window:{},t=n&&"ontouchstart"in r.document.documentElement,o=n&&"PointerEvent"in r,l="cropper",D="all",B="crop",k="move",O="zoom",T="e",E="w",W="s",N="n",H="ne",L="nw",z="se",Y="sw",h="".concat(l,"-crop"),s="".concat(l,"-disabled"),X="".concat(l,"-hidden"),d="".concat(l,"-hide"),p="".concat(l,"-invisible"),c="".concat(l,"-modal"),u="".concat(l,"-move"),m="".concat(l,"Action"),g="".concat(l,"Preview"),f="crop",v="move",w="none",b="crop",x="cropend",y="cropmove",M="cropstart",R="dblclick",S=o?"pointerdown":t?"touchstart":"mousedown",A=o?"pointermove":t?"touchmove":"mousemove",j=o?"pointerup pointercancel":t?"touchend touchcancel":"mouseup",I="ready",U="zoom",q="image/jpeg",$=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,Q=/^data:/,K=/^data:image\/jpeg;base64,/,Z=/^img|canvas$/i,G={viewMode:0,dragMode:f,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},V=Number.isNaN||r.isNaN;function F(t){return"number"==typeof t&&!V(t)}var J=function(t){return 0<t&&t<1/0};function _(t){return void 0===t}function tt(t){return"object"===e(t)&&null!==t}var et=Object.prototype.hasOwnProperty;function it(t){if(!tt(t))return!1;try{var e=t.constructor,i=e.prototype;return e&&i&&et.call(i,"isPrototypeOf")}catch(t){return!1}}function at(t){return"function"==typeof t}var nt=Array.prototype.slice;function ot(t){return Array.from?Array.from(t):nt.call(t)}function rt(i,a){return i&&at(a)&&(Array.isArray(i)||F(i.length)?ot(i).forEach(function(t,e){a.call(i,t,e,i)}):tt(i)&&Object.keys(i).forEach(function(t){a.call(i,i[t],t,i)})),i}var ht=Object.assign||function(i){for(var t=arguments.length,e=new Array(1<t?t-1:0),a=1;a<t;a++)e[a-1]=arguments[a];return tt(i)&&0<e.length&&e.forEach(function(e){tt(e)&&Object.keys(e).forEach(function(t){i[t]=e[t]})}),i},st=/\.\d*(?:0|9){12}\d*$/;function ct(t,e){var i=1<arguments.length&&void 0!==e?e:1e11;return st.test(t)?Math.round(t*i)/i:t}var lt=/^width|height|left|top|marginLeft|marginTop$/;function dt(t,e){var i=t.style;rt(e,function(t,e){lt.test(e)&&F(t)&&(t="".concat(t,"px")),i[e]=t})}function pt(t,e){if(e)if(F(t.length))rt(t,function(t){pt(t,e)});else if(t.classList)t.classList.add(e);else{var i=t.className.trim();i?i.indexOf(e)<0&&(t.className="".concat(i," ").concat(e)):t.className=e}}function ut(t,e){e&&(F(t.length)?rt(t,function(t){ut(t,e)}):t.classList?t.classList.remove(e):0<=t.className.indexOf(e)&&(t.className=t.className.replace(e,"")))}function mt(t,e,i){e&&(F(t.length)?rt(t,function(t){mt(t,e,i)}):i?pt(t,e):ut(t,e))}var gt=/([a-z\d])([A-Z])/g;function ft(t){return t.replace(gt,"$1-$2").toLowerCase()}function vt(t,e){return tt(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(ft(e)))}function wt(t,e,i){tt(i)?t[e]=i:t.dataset?t.dataset[e]=i:t.setAttribute("data-".concat(ft(e)),i)}var bt=/\s\s*/,xt=function(){var t=!1;if(n){var e=!1,i=function(){},a=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});r.addEventListener("test",i,a),r.removeEventListener("test",i,a)}return t}();function yt(i,t,a,e){var n=3<arguments.length&&void 0!==e?e:{},o=a;t.trim().split(bt).forEach(function(t){if(!xt){var e=i.listeners;e&&e[t]&&e[t][a]&&(o=e[t][a],delete e[t][a],0===Object.keys(e[t]).length&&delete e[t],0===Object.keys(e).length&&delete i.listeners)}i.removeEventListener(t,o,n)})}function Mt(o,t,r,e){var h=3<arguments.length&&void 0!==e?e:{},s=r;t.trim().split(bt).forEach(function(a){if(h.once&&!xt){var t=o.listeners,n=void 0===t?{}:t;s=function(){delete n[a][r],o.removeEventListener(a,s,h);for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];r.apply(o,e)},n[a]||(n[a]={}),n[a][r]&&o.removeEventListener(a,n[a][r],h),n[a][r]=s,o.listeners=n}o.addEventListener(a,s,h)})}function Ct(t,e,i){var a;return at(Event)&&at(CustomEvent)?a=new CustomEvent(e,{detail:i,bubbles:!0,cancelable:!0}):(a=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,i),t.dispatchEvent(a)}function Dt(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var Bt=r.location,kt=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Ot(t){var e=t.match(kt);return null!==e&&(e[1]!==Bt.protocol||e[2]!==Bt.hostname||e[3]!==Bt.port)}function Tt(t){var e="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+e}function Et(t){var e=t.rotate,i=t.scaleX,a=t.scaleY,n=t.translateX,o=t.translateY,r=[];F(n)&&0!==n&&r.push("translateX(".concat(n,"px)")),F(o)&&0!==o&&r.push("translateY(".concat(o,"px)")),F(e)&&0!==e&&r.push("rotate(".concat(e,"deg)")),F(i)&&1!==i&&r.push("scaleX(".concat(i,")")),F(a)&&1!==a&&r.push("scaleY(".concat(a,")"));var h=r.length?r.join(" "):"none";return{WebkitTransform:h,msTransform:h,transform:h}}function Wt(t,e){var i=t.pageX,a=t.pageY,n={endX:i,endY:a};return e?n:C({startX:i,startY:a},n)}function Nt(t,e){var i=t.aspectRatio,a=t.height,n=t.width,o=1<arguments.length&&void 0!==e?e:"contain",r=J(n),h=J(a);if(r&&h){var s=a*i;"contain"===o&&n<s||"cover"===o&&s<n?a=n/i:n=a*i}else r?a=n/i:h&&(n=a*i);return{width:n,height:a}}var Ht=String.fromCharCode;var Lt=/^data:.*,/;function zt(t){var e,i=new DataView(t);try{var a,n,o;if(255===i.getUint8(0)&&216===i.getUint8(1))for(var r=i.byteLength,h=2;h+1<r;){if(255===i.getUint8(h)&&225===i.getUint8(h+1)){n=h;break}h+=1}if(n){var s=n+10;if("Exif"===function(t,e,i){var a="";i+=e;for(var n=e;n<i;n+=1)a+=Ht(t.getUint8(n));return a}(i,n+4,4)){var c=i.getUint16(s);if(((a=18761===c)||19789===c)&&42===i.getUint16(s+2,a)){var l=i.getUint32(s+4,a);8<=l&&(o=s+l)}}}if(o){var d,p,u=i.getUint16(o,a);for(p=0;p<u;p+=1)if(d=o+12*p+2,274===i.getUint16(d,a)){d+=8,e=i.getUint16(d,a),i.setUint16(d,1,a);break}}}catch(t){e=1}return e}var Yt={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,i=this.container,a=this.cropper;pt(a,X),ut(t,X);var n={width:Math.max(i.offsetWidth,Number(e.minContainerWidth)||200),height:Math.max(i.offsetHeight,Number(e.minContainerHeight)||100)};dt(a,{width:(this.containerData=n).width,height:n.height}),pt(t,X),ut(a,X)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,a=Math.abs(e.rotate)%180==90,n=a?e.naturalHeight:e.naturalWidth,o=a?e.naturalWidth:e.naturalHeight,r=n/o,h=t.width,s=t.height;t.height*r>t.width?3===i?h=t.height*r:s=t.width/r:3===i?s=t.width/r:h=t.height*r;var c={aspectRatio:r,naturalWidth:n,naturalHeight:o,width:h,height:s};c.left=(t.width-h)/2,c.top=(t.height-s)/2,c.oldLeft=c.left,c.oldTop=c.top,this.canvasData=c,this.limited=1===i||2===i,this.limitCanvas(!0,!0),this.initialImageData=ht({},e),this.initialCanvasData=ht({},c)},limitCanvas:function(t,e){var i=this.options,a=this.containerData,n=this.canvasData,o=this.cropBoxData,r=i.viewMode,h=n.aspectRatio,s=this.cropped&&o;if(t){var c=Number(i.minCanvasWidth)||0,l=Number(i.minCanvasHeight)||0;1<r?(c=Math.max(c,a.width),l=Math.max(l,a.height),3===r&&(c<l*h?c=l*h:l=c/h)):0<r&&(c?c=Math.max(c,s?o.width:0):l?l=Math.max(l,s?o.height:0):s&&((c=o.width)<(l=o.height)*h?c=l*h:l=c/h));var d=Nt({aspectRatio:h,width:c,height:l});c=d.width,l=d.height,n.minWidth=c,n.minHeight=l,n.maxWidth=1/0,n.maxHeight=1/0}if(e)if((s?0:1)<r){var p=a.width-n.width,u=a.height-n.height;n.minLeft=Math.min(0,p),n.minTop=Math.min(0,u),n.maxLeft=Math.max(0,p),n.maxTop=Math.max(0,u),s&&this.limited&&(n.minLeft=Math.min(o.left,o.left+(o.width-n.width)),n.minTop=Math.min(o.top,o.top+(o.height-n.height)),n.maxLeft=o.left,n.maxTop=o.top,2===r&&(n.width>=a.width&&(n.minLeft=Math.min(0,p),n.maxLeft=Math.max(0,p)),n.height>=a.height&&(n.minTop=Math.min(0,u),n.maxTop=Math.max(0,u))))}else n.minLeft=-n.width,n.minTop=-n.height,n.maxLeft=a.width,n.maxTop=a.height},renderCanvas:function(t,e){var i=this.canvasData,a=this.imageData;if(e){var n=function(t){var e=t.width,i=t.height,a=t.degree;if(90===(a=Math.abs(a)%180))return{width:i,height:e};var n=a%90*Math.PI/180,o=Math.sin(n),r=Math.cos(n),h=e*r+i*o,s=e*o+i*r;return 90<a?{width:s,height:h}:{width:h,height:s}}({width:a.naturalWidth*Math.abs(a.scaleX||1),height:a.naturalHeight*Math.abs(a.scaleY||1),degree:a.rotate||0}),o=n.width,r=n.height,h=i.width*(o/i.naturalWidth),s=i.height*(r/i.naturalHeight);i.left-=(h-i.width)/2,i.top-=(s-i.height)/2,i.width=h,i.height=s,i.aspectRatio=o/r,i.naturalWidth=o,i.naturalHeight=r,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCanvas(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,dt(this.canvas,ht({width:i.width,height:i.height},Et({translateX:i.left,translateY:i.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,i=this.imageData,a=i.naturalWidth*(e.width/e.naturalWidth),n=i.naturalHeight*(e.height/e.naturalHeight);ht(i,{width:a,height:n,left:(e.width-a)/2,top:(e.height-n)/2}),dt(this.image,ht({width:i.width,height:i.height},Et(ht({translateX:i.left,translateY:i.top},i)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,i=t.aspectRatio||t.initialAspectRatio,a=Number(t.autoCropArea)||.8,n={width:e.width,height:e.height};i&&(e.height*i>e.width?n.height=n.width/i:n.width=n.height*i),this.cropBoxData=n,this.limitCropBox(!0,!0),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),n.width=Math.max(n.minWidth,n.width*a),n.height=Math.max(n.minHeight,n.height*a),n.left=e.left+(e.width-n.width)/2,n.top=e.top+(e.height-n.height)/2,n.oldLeft=n.left,n.oldTop=n.top,this.initialCropBoxData=ht({},n)},limitCropBox:function(t,e){var i=this.options,a=this.containerData,n=this.canvasData,o=this.cropBoxData,r=this.limited,h=i.aspectRatio;if(t){var s=Number(i.minCropBoxWidth)||0,c=Number(i.minCropBoxHeight)||0,l=r?Math.min(a.width,n.width,n.width+n.left,a.width-n.left):a.width,d=r?Math.min(a.height,n.height,n.height+n.top,a.height-n.top):a.height;s=Math.min(s,a.width),c=Math.min(c,a.height),h&&(s&&c?s<c*h?c=s/h:s=c*h:s?c=s/h:c&&(s=c*h),l<d*h?d=l/h:l=d*h),o.minWidth=Math.min(s,l),o.minHeight=Math.min(c,d),o.maxWidth=l,o.maxHeight=d}e&&(r?(o.minLeft=Math.max(0,n.left),o.minTop=Math.max(0,n.top),o.maxLeft=Math.min(a.width,n.left+n.width)-o.width,o.maxTop=Math.min(a.height,n.top+n.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=a.width-o.width,o.maxTop=a.height-o.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCropBox(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,t.movable&&t.cropBoxMovable&&wt(this.face,m,i.width>=e.width&&i.height>=e.height?k:D),dt(this.cropBox,ht({width:i.width,height:i.height},Et({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Ct(this.element,b,this.getData())}},Xt={initPreview:function(){var t=this.element,i=this.crossOrigin,e=this.options.preview,a=i?this.crossOriginUrl:this.url,n=t.alt||"The image to preview",o=document.createElement("img");if(i&&(o.crossOrigin=i),o.src=a,o.alt=n,this.viewBox.appendChild(o),this.viewBoxImage=o,e){var r=e;"string"==typeof e?r=t.ownerDocument.querySelectorAll(e):e.querySelector&&(r=[e]),rt(this.previews=r,function(t){var e=document.createElement("img");wt(t,g,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),i&&(e.crossOrigin=i),e.src=a,e.alt=n,e.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',t.innerHTML="",t.appendChild(e)})}},resetPreview:function(){rt(this.previews,function(t){var e=vt(t,g);dt(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(e,i){if(tt(e[i]))try{delete e[i]}catch(t){e[i]=void 0}else if(e.dataset)try{delete e.dataset[i]}catch(t){e.dataset[i]=void 0}else e.removeAttribute("data-".concat(ft(i)))}(t,g)})},preview:function(){var h=this.imageData,t=this.canvasData,e=this.cropBoxData,s=e.width,c=e.height,l=h.width,d=h.height,p=e.left-t.left-h.left,u=e.top-t.top-h.top;this.cropped&&!this.disabled&&(dt(this.viewBoxImage,ht({width:l,height:d},Et(ht({translateX:-p,translateY:-u},h)))),rt(this.previews,function(t){var e=vt(t,g),i=e.width,a=e.height,n=i,o=a,r=1;s&&(o=c*(r=i/s)),c&&a<o&&(n=s*(r=a/c),o=a),dt(t,{width:n,height:o}),dt(t.getElementsByTagName("img")[0],ht({width:l*r,height:d*r},Et(ht({translateX:-p*r,translateY:-u*r},h))))}))}},Rt={bind:function(){var t=this.element,e=this.options,i=this.cropper;at(e.cropstart)&&Mt(t,M,e.cropstart),at(e.cropmove)&&Mt(t,y,e.cropmove),at(e.cropend)&&Mt(t,x,e.cropend),at(e.crop)&&Mt(t,b,e.crop),at(e.zoom)&&Mt(t,U,e.zoom),Mt(i,S,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&Mt(i,"wheel",this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Mt(i,R,this.onDblclick=this.dblclick.bind(this)),Mt(t.ownerDocument,A,this.onCropMove=this.cropMove.bind(this)),Mt(t.ownerDocument,j,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&Mt(window,"resize",this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;at(e.cropstart)&&yt(t,M,e.cropstart),at(e.cropmove)&&yt(t,y,e.cropmove),at(e.cropend)&&yt(t,x,e.cropend),at(e.crop)&&yt(t,b,e.crop),at(e.zoom)&&yt(t,U,e.zoom),yt(i,S,this.onCropStart),e.zoomable&&e.zoomOnWheel&&yt(i,"wheel",this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&yt(i,R,this.onDblclick),yt(t.ownerDocument,A,this.onCropMove),yt(t.ownerDocument,j,this.onCropEnd),e.responsive&&yt(window,"resize",this.onResize)}},St={resize:function(){var t=this.options,e=this.container,i=this.containerData,a=Number(t.minContainerWidth)||200,n=Number(t.minContainerHeight)||100;if(!(this.disabled||i.width<=a||i.height<=n)){var o,r,h=e.offsetWidth/i.width;if(1!=h||e.offsetHeight!==i.height)t.restore&&(o=this.getCanvasData(),r=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(rt(o,function(t,e){o[e]=t*h})),this.setCropBoxData(rt(r,function(t,e){r[e]=t*h})))}},dblclick:function(){this.disabled||this.options.dragMode===w||this.setDragMode(function(t,e){return t.classList?t.classList.contains(e):-1<t.className.indexOf(e)}(this.dragBox,h)?v:f)},wheel:function(t){var e=this,i=Number(this.options.wheelZoomRatio)||.1,a=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout(function(){e.wheeling=!1},50),t.deltaY?a=0<t.deltaY?1:-1:t.wheelDelta?a=-t.wheelDelta/120:t.detail&&(a=0<t.detail?1:-1),this.zoom(-a*i,t)))},cropStart:function(t){var e=t.buttons,i=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(F(e)&&1!==e||F(i)&&0!==i||t.ctrlKey))){var a,n=this.options,o=this.pointers;t.changedTouches?rt(t.changedTouches,function(t){o[t.identifier]=Wt(t)}):o[t.pointerId||0]=Wt(t),a=1<Object.keys(o).length&&n.zoomable&&n.zoomOnTouch?O:vt(t.target,m),$.test(a)&&!1!==Ct(this.element,M,{originalEvent:t,action:a})&&(t.preventDefault(),this.action=a,this.cropping=!1,a===B&&(this.cropping=!0,pt(this.dragBox,c)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var i=this.pointers;t.preventDefault(),!1!==Ct(this.element,y,{originalEvent:t,action:e})&&(t.changedTouches?rt(t.changedTouches,function(t){ht(i[t.identifier]||{},Wt(t,!0))}):ht(i[t.pointerId||0]||{},Wt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,i=this.pointers;t.changedTouches?rt(t.changedTouches,function(t){delete i[t.identifier]}):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,mt(this.dragBox,c,this.cropped&&this.options.modal)),Ct(this.element,x,{originalEvent:t,action:e}))}}},At={change:function(t){var e,i=this.options,a=this.canvasData,n=this.containerData,o=this.cropBoxData,r=this.pointers,h=this.action,s=i.aspectRatio,c=o.left,l=o.top,d=o.width,p=o.height,u=c+d,m=l+p,g=0,f=0,v=n.width,w=n.height,b=!0;!s&&t.shiftKey&&(s=d&&p?d/p:1),this.limited&&(g=o.minLeft,f=o.minTop,v=g+Math.min(n.width,a.width,a.left+a.width),w=f+Math.min(n.height,a.height,a.top+a.height));function x(t){switch(t){case T:u+M.x>v&&(M.x=v-u);break;case E:c+M.x<g&&(M.x=g-c);break;case N:l+M.y<f&&(M.y=f-l);break;case W:m+M.y>w&&(M.y=w-m)}}var y=r[Object.keys(r)[0]],M={x:y.endX-y.startX,y:y.endY-y.startY};switch(h){case D:c+=M.x,l+=M.y;break;case T:if(0<=M.x&&(v<=u||s&&(l<=f||w<=m))){b=!1;break}x(T),(d+=M.x)<0&&(h=E,c-=d=-d),s&&(p=d/s,l+=(o.height-p)/2);break;case N:if(M.y<=0&&(l<=f||s&&(c<=g||v<=u))){b=!1;break}x(N),p-=M.y,l+=M.y,p<0&&(h=W,l-=p=-p),s&&(d=p*s,c+=(o.width-d)/2);break;case E:if(M.x<=0&&(c<=g||s&&(l<=f||w<=m))){b=!1;break}x(E),d-=M.x,c+=M.x,d<0&&(h=T,c-=d=-d),s&&(p=d/s,l+=(o.height-p)/2);break;case W:if(0<=M.y&&(w<=m||s&&(c<=g||v<=u))){b=!1;break}x(W),(p+=M.y)<0&&(h=N,l-=p=-p),s&&(d=p*s,c+=(o.width-d)/2);break;case H:if(s){if(M.y<=0&&(l<=f||v<=u)){b=!1;break}x(N),p-=M.y,l+=M.y,d=p*s}else x(N),x(T),0<=M.x?u<v?d+=M.x:M.y<=0&&l<=f&&(b=!1):d+=M.x,M.y<=0?f<l&&(p-=M.y,l+=M.y):(p-=M.y,l+=M.y);d<0&&p<0?(h=Y,l-=p=-p,c-=d=-d):d<0?(h=L,c-=d=-d):p<0&&(h=z,l-=p=-p);break;case L:if(s){if(M.y<=0&&(l<=f||c<=g)){b=!1;break}x(N),p-=M.y,l+=M.y,d=p*s,c+=o.width-d}else x(N),x(E),M.x<=0?g<c?(d-=M.x,c+=M.x):M.y<=0&&l<=f&&(b=!1):(d-=M.x,c+=M.x),M.y<=0?f<l&&(p-=M.y,l+=M.y):(p-=M.y,l+=M.y);d<0&&p<0?(h=z,l-=p=-p,c-=d=-d):d<0?(h=H,c-=d=-d):p<0&&(h=Y,l-=p=-p);break;case Y:if(s){if(M.x<=0&&(c<=g||w<=m)){b=!1;break}x(E),d-=M.x,c+=M.x,p=d/s}else x(W),x(E),M.x<=0?g<c?(d-=M.x,c+=M.x):0<=M.y&&w<=m&&(b=!1):(d-=M.x,c+=M.x),0<=M.y?m<w&&(p+=M.y):p+=M.y;d<0&&p<0?(h=H,l-=p=-p,c-=d=-d):d<0?(h=z,c-=d=-d):p<0&&(h=L,l-=p=-p);break;case z:if(s){if(0<=M.x&&(v<=u||w<=m)){b=!1;break}x(T),p=(d+=M.x)/s}else x(W),x(T),0<=M.x?u<v?d+=M.x:0<=M.y&&w<=m&&(b=!1):d+=M.x,0<=M.y?m<w&&(p+=M.y):p+=M.y;d<0&&p<0?(h=L,l-=p=-p,c-=d=-d):d<0?(h=Y,c-=d=-d):p<0&&(h=H,l-=p=-p);break;case k:this.move(M.x,M.y),b=!1;break;case O:this.zoom(function(t){var e=C({},t),s=[];return rt(t,function(h,t){delete e[t],rt(e,function(t){var e=Math.abs(h.startX-t.startX),i=Math.abs(h.startY-t.startY),a=Math.abs(h.endX-t.endX),n=Math.abs(h.endY-t.endY),o=Math.sqrt(e*e+i*i),r=(Math.sqrt(a*a+n*n)-o)/o;s.push(r)})}),s.sort(function(t,e){return Math.abs(t)<Math.abs(e)}),s[0]}(r),t),b=!1;break;case B:if(!M.x||!M.y){b=!1;break}e=Dt(this.cropper),c=y.startX-e.left,l=y.startY-e.top,d=o.minWidth,p=o.minHeight,0<M.x?h=0<M.y?z:H:M.x<0&&(c-=d,h=0<M.y?Y:L),M.y<0&&(l-=p),this.cropped||(ut(this.cropBox,X),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}b&&(o.width=d,o.height=p,o.left=c,o.top=l,this.action=h,this.renderCropBox()),rt(r,function(t){t.startX=t.endX,t.startY=t.endY})}},jt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&pt(this.dragBox,c),ut(this.cropBox,X),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ht({},this.initialImageData),this.canvasData=ht({},this.initialCanvasData),this.cropBoxData=ht({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ht(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ut(this.dragBox,c),pt(this.cropBox,X)),this},replace:function(e,t){var i=1<arguments.length&&void 0!==t&&t;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),i?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,rt(this.previews,function(t){t.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,ut(this.cropper,s)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,pt(this.cropper,s)),this},destroy:function(){var t=this.element;return t[l]&&(t[l]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate()),this},move:function(t,e){var i=1<arguments.length&&void 0!==e?e:t,a=this.canvasData,n=a.left,o=a.top;return this.moveTo(_(t)?t:n+Number(t),_(i)?i:o+Number(i))},moveTo:function(t,e){var i=1<arguments.length&&void 0!==e?e:t,a=this.canvasData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(F(t)&&(a.left=t,n=!0),F(i)&&(a.top=i,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,e){var i=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(i.width*t/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var a=this.options,n=this.canvasData,o=n.width,r=n.height,h=n.naturalWidth,s=n.naturalHeight;if(0<=(t=Number(t))&&this.ready&&!this.disabled&&a.zoomable){var c=h*t,l=s*t;if(!1===Ct(this.element,U,{ratio:t,oldRatio:o/h,originalEvent:i}))return this;if(i){var d=this.pointers,p=Dt(this.cropper),u=d&&Object.keys(d).length?function(t){var a=0,n=0,o=0;return rt(t,function(t){var e=t.startX,i=t.startY;a+=e,n+=i,o+=1}),{pageX:a/=o,pageY:n/=o}}(d):{pageX:i.pageX,pageY:i.pageY};n.left-=(c-o)*((u.pageX-p.left-n.left)/o),n.top-=(l-r)*((u.pageY-p.top-n.top)/r)}else it(e)&&F(e.x)&&F(e.y)?(n.left-=(c-o)*((e.x-n.left)/o),n.top-=(l-r)*((e.y-n.top)/r)):(n.left-=(c-o)/2,n.top-=(l-r)/2);n.width=c,n.height=l,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return F(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,F(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(F(e)?e:1,t)},scale:function(t,e){var i=1<arguments.length&&void 0!==e?e:t,a=this.imageData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(F(t)&&(a.scaleX=t,n=!0),F(i)&&(a.scaleY=i,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(t){var i,e=0<arguments.length&&void 0!==t&&t,a=this.options,n=this.imageData,o=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){i={x:r.left-o.left,y:r.top-o.top,width:r.width,height:r.height};var h=n.width/n.naturalWidth;if(rt(i,function(t,e){i[e]=t/h}),e){var s=Math.round(i.y+i.height),c=Math.round(i.x+i.width);i.x=Math.round(i.x),i.y=Math.round(i.y),i.width=c-i.x,i.height=s-i.y}}else i={x:0,y:0,width:0,height:0};return a.rotatable&&(i.rotate=n.rotate||0),a.scalable&&(i.scaleX=n.scaleX||1,i.scaleY=n.scaleY||1),i},setData:function(t){var e=this.options,i=this.imageData,a=this.canvasData,n={};if(this.ready&&!this.disabled&&it(t)){var o=!1;e.rotatable&&F(t.rotate)&&t.rotate!==i.rotate&&(i.rotate=t.rotate,o=!0),e.scalable&&(F(t.scaleX)&&t.scaleX!==i.scaleX&&(i.scaleX=t.scaleX,o=!0),F(t.scaleY)&&t.scaleY!==i.scaleY&&(i.scaleY=t.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var r=i.width/i.naturalWidth;F(t.x)&&(n.left=t.x*r+a.left),F(t.y)&&(n.top=t.y*r+a.top),F(t.width)&&(n.width=t.width*r),F(t.height)&&(n.height=t.height*r),this.setCropBoxData(n)}return this},getContainerData:function(){return this.ready?ht({},this.containerData):{}},getImageData:function(){return this.sized?ht({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,i={};return this.ready&&rt(["left","top","width","height","naturalWidth","naturalHeight"],function(t){i[t]=e[t]}),i},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&it(t)&&(F(t.left)&&(e.left=t.left),F(t.top)&&(e.top=t.top),F(t.width)?(e.width=t.width,e.height=t.width/i):F(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,i,a=this.cropBoxData,n=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&it(t)&&(F(t.left)&&(a.left=t.left),F(t.top)&&(a.top=t.top),F(t.width)&&t.width!==a.width&&(e=!0,a.width=t.width),F(t.height)&&t.height!==a.height&&(i=!0,a.height=t.height),n&&(e?a.height=a.width/n:i&&(a.width=a.height*n)),this.renderCropBox()),this},getCroppedCanvas:function(t){var e=0<arguments.length&&void 0!==t?t:{};if(!this.ready||!window.HTMLCanvasElement)return null;var i=this.canvasData,a=function(t,e,i,a){var n=e.aspectRatio,o=e.naturalWidth,r=e.naturalHeight,h=e.rotate,s=void 0===h?0:h,c=e.scaleX,l=void 0===c?1:c,d=e.scaleY,p=void 0===d?1:d,u=i.aspectRatio,m=i.naturalWidth,g=i.naturalHeight,f=a.fillColor,v=void 0===f?"transparent":f,w=a.imageSmoothingEnabled,b=void 0===w||w,x=a.imageSmoothingQuality,y=void 0===x?"low":x,M=a.maxWidth,C=void 0===M?1/0:M,D=a.maxHeight,B=void 0===D?1/0:D,k=a.minWidth,O=void 0===k?0:k,T=a.minHeight,E=void 0===T?0:T,W=document.createElement("canvas"),N=W.getContext("2d"),H=Nt({aspectRatio:u,width:C,height:B}),L=Nt({aspectRatio:u,width:O,height:E},"cover"),z=Math.min(H.width,Math.max(L.width,m)),Y=Math.min(H.height,Math.max(L.height,g)),X=Nt({aspectRatio:n,width:C,height:B}),R=Nt({aspectRatio:n,width:O,height:E},"cover"),S=Math.min(X.width,Math.max(R.width,o)),A=Math.min(X.height,Math.max(R.height,r)),j=[-S/2,-A/2,S,A];return W.width=ct(z),W.height=ct(Y),N.fillStyle=v,N.fillRect(0,0,z,Y),N.save(),N.translate(z/2,Y/2),N.rotate(s*Math.PI/180),N.scale(l,p),N.imageSmoothingEnabled=b,N.imageSmoothingQuality=y,N.drawImage.apply(N,[t].concat(P(j.map(function(t){return Math.floor(ct(t))})))),N.restore(),W}(this.image,this.imageData,i,e);if(!this.cropped)return a;var n=this.getData(),o=n.x,r=n.y,h=n.width,s=n.height,c=a.width/Math.floor(i.naturalWidth);1!=c&&(o*=c,r*=c,h*=c,s*=c);var l=h/s,d=Nt({aspectRatio:l,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),p=Nt({aspectRatio:l,width:e.minWidth||0,height:e.minHeight||0},"cover"),u=Nt({aspectRatio:l,width:e.width||(1!=c?a.width:h),height:e.height||(1!=c?a.height:s)}),m=u.width,g=u.height;m=Math.min(d.width,Math.max(p.width,m)),g=Math.min(d.height,Math.max(p.height,g));var f=document.createElement("canvas"),v=f.getContext("2d");f.width=ct(m),f.height=ct(g),v.fillStyle=e.fillColor||"transparent",v.fillRect(0,0,m,g);var w=e.imageSmoothingEnabled,b=void 0===w||w,x=e.imageSmoothingQuality;v.imageSmoothingEnabled=b,x&&(v.imageSmoothingQuality=x);var y,M,C,D,B,k,O=a.width,T=a.height,E=o,W=r;E<=-h||O<E?B=C=y=E=0:E<=0?(C=-E,E=0,B=y=Math.min(O,h+E)):E<=O&&(C=0,B=y=Math.min(h,O-E)),y<=0||W<=-s||T<W?k=D=M=W=0:W<=0?(D=-W,W=0,k=M=Math.min(T,s+W)):W<=T&&(D=0,k=M=Math.min(s,T-W));var N=[E,W,y,M];if(0<B&&0<k){var H=m/h;N.push(C*H,D*H,B*H,k*H)}return v.drawImage.apply(v,[a].concat(P(N.map(function(t){return Math.floor(ct(t))})))),f},setAspectRatio:function(t){var e=this.options;return this.disabled||_(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,i=this.dragBox,a=this.face;if(this.ready&&!this.disabled){var n=t===f,o=e.movable&&t===v;t=n||o?t:w,e.dragMode=t,wt(i,m,t),mt(i,h,n),mt(i,u,o),e.cropBoxMovable||(wt(a,m,t),mt(a,h,n),mt(a,u,o))}return this}},Pt=r.Cropper,It=function(){function i(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),!t||!Z.test(t.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=t,this.options=ht({},G,it(e)&&e),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return function(t,e,i){e&&a(t.prototype,e),i&&a(t,i)}(i,[{key:"init",value:function(){var t,e=this.element,i=e.tagName.toLowerCase();if(!e[l]){if(e[l]=this,"img"===i){if(this.isImg=!0,t=e.getAttribute("src")||"",!(this.originalUrl=t))return;t=e.src}else"canvas"===i&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e=this;if(t){this.url=t,this.imageData={};var i=this.element,a=this.options;if(a.rotatable||a.scalable||(a.checkOrientation=!1),a.checkOrientation&&window.ArrayBuffer)if(Q.test(t))K.test(t)?this.read(function(t){var e=t.replace(Lt,""),i=atob(e),a=new ArrayBuffer(i.length),n=new Uint8Array(a);return rt(n,function(t,e){n[e]=i.charCodeAt(e)}),a}(t)):this.clone();else{var n=new XMLHttpRequest,o=this.clone.bind(this);this.reloading=!0,(this.xhr=n).onabort=o,n.onerror=o,n.ontimeout=o,n.onprogress=function(){n.getResponseHeader("content-type")!==q&&n.abort()},n.onload=function(){e.read(n.response)},n.onloadend=function(){e.reloading=!1,e.xhr=null},a.checkCrossOrigin&&Ot(t)&&i.crossOrigin&&(t=Tt(t)),n.open("GET",t),n.responseType="arraybuffer",n.withCredentials="use-credentials"===i.crossOrigin,n.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,i=this.imageData,a=zt(t),n=0,o=1,r=1;if(1<a){this.url=function(t,e){for(var i=[],a=new Uint8Array(t);0<a.length;)i.push(Ht.apply(null,ot(a.subarray(0,8192)))),a=a.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(i.join("")))}(t,q);var h=function(t){var e=0,i=1,a=1;switch(t){case 2:i=-1;break;case 3:e=-180;break;case 4:a=-1;break;case 5:e=90,a=-1;break;case 6:e=90;break;case 7:e=90,i=-1;break;case 8:e=-90}return{rotate:e,scaleX:i,scaleY:a}}(a);n=h.rotate,o=h.scaleX,r=h.scaleY}e.rotatable&&(i.rotate=n),e.scalable&&(i.scaleX=o,i.scaleY=r),this.clone()}},{key:"clone",value:function(){var t=this.element,e=this.url,i=t.crossOrigin,a=e;this.options.checkCrossOrigin&&Ot(e)&&(i=i||"anonymous",a=Tt(e)),this.crossOrigin=i,this.crossOriginUrl=a;var n=document.createElement("img");i&&(n.crossOrigin=i),n.src=a||e,n.alt=t.alt||"The image to crop",(this.image=n).onload=this.start.bind(this),n.onerror=this.stop.bind(this),pt(n,d),t.parentNode.insertBefore(n,t.nextSibling)}},{key:"start",value:function(){var i=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;function e(t,e){ht(i.imageData,{naturalWidth:t,naturalHeight:e,aspectRatio:t/e}),i.sizing=!1,i.sized=!0,i.build()}var a=r.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(r.navigator.userAgent);if(!t.naturalWidth||a){var n=document.createElement("img"),o=document.body||document.documentElement;(this.sizingImage=n).onload=function(){e(n.width,n.height),a||o.removeChild(n)},n.src=t.src,a||(n.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",o.appendChild(n))}else e(t.naturalWidth,t.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,i=this.image,a=t.parentNode,n=document.createElement("div");n.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var o=n.querySelector(".".concat(l,"-container")),r=o.querySelector(".".concat(l,"-canvas")),h=o.querySelector(".".concat(l,"-drag-box")),s=o.querySelector(".".concat(l,"-crop-box")),c=s.querySelector(".".concat(l,"-face"));this.container=a,this.cropper=o,this.canvas=r,this.dragBox=h,this.cropBox=s,this.viewBox=o.querySelector(".".concat(l,"-view-box")),this.face=c,r.appendChild(i),pt(t,X),a.insertBefore(o,t.nextSibling),this.isImg||ut(i,d),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,pt(s,X),e.guides||pt(s.getElementsByClassName("".concat(l,"-dashed")),X),e.center||pt(s.getElementsByClassName("".concat(l,"-center")),X),e.background&&pt(o,"".concat(l,"-bg")),e.highlight||pt(c,p),e.cropBoxMovable&&(pt(c,u),wt(c,m,D)),e.cropBoxResizable||(pt(s.getElementsByClassName("".concat(l,"-line")),X),pt(s.getElementsByClassName("".concat(l,"-point")),X)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),at(e.ready)&&Mt(t,I,e.ready,{once:!0}),Ct(t,I)}}},{key:"unbuild",value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),ut(this.element,X))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=Pt,i}},{key:"setDefaults",value:function(t){ht(G,it(t)&&t)}}]),i}();return ht(It.prototype,Yt,Xt,Rt,St,At,jt),It}); \ No newline at end of file
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Cropper=e()}(this,function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function i(e,t){var i,a=Object.keys(e);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(e),t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)),a}function k(n){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?i(Object(o),!0).forEach(function(t){var e,i,a;e=n,a=o[i=t],i in e?Object.defineProperty(e,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[i]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(o,t))})}return n}function yt(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return a(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return a(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i<e;i++)a[i]=t[i];return a}var t="undefined"!=typeof window&&void 0!==window.document,r=t?window:{},o=!(!t||!r.document.documentElement)&&"ontouchstart"in r.document.documentElement,h=t&&"PointerEvent"in r,d="cropper",O="all",T="crop",E="move",W="zoom",N="e",H="w",L="s",z="n",Y="ne",X="nw",R="se",S="sw",s="".concat(d,"-crop"),c="".concat(d,"-disabled"),A="".concat(d,"-hidden"),l="".concat(d,"-hide"),p="".concat(d,"-invisible"),m="".concat(d,"-modal"),u="".concat(d,"-move"),g="".concat(d,"Action"),f="".concat(d,"Preview"),v="crop",w="move",b="none",y="crop",x="cropend",M="cropmove",C="cropstart",D="dblclick",B=h?"pointerdown":o?"touchstart":"mousedown",j=h?"pointermove":o?"touchmove":"mousemove",I=h?"pointerup pointercancel":o?"touchend touchcancel":"mouseup",P="zoom",U="image/jpeg",q=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,$=/^data:/,Q=/^data:image\/jpeg;base64,/,K=/^img|canvas$/i,Z={viewMode:0,dragMode:v,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},G=Number.isNaN||r.isNaN;function V(t){return"number"==typeof t&&!G(t)}var F=function(t){return 0<t&&t<1/0};function J(t){return void 0===t}function _(t){return"object"===e(t)&&null!==t}var tt=Object.prototype.hasOwnProperty;function et(t){if(!_(t))return!1;try{var e=t.constructor,i=e.prototype;return e&&i&&tt.call(i,"isPrototypeOf")}catch(t){return!1}}function it(t){return"function"==typeof t}var at=Array.prototype.slice;function nt(t){return Array.from?Array.from(t):at.call(t)}function ot(i,a){return i&&it(a)&&(Array.isArray(i)||V(i.length)?nt(i).forEach(function(t,e){a.call(i,t,e,i)}):_(i)&&Object.keys(i).forEach(function(t){a.call(i,i[t],t,i)})),i}var rt=Object.assign||function(i){for(var t=arguments.length,e=new Array(1<t?t-1:0),a=1;a<t;a++)e[a-1]=arguments[a];return _(i)&&0<e.length&&e.forEach(function(e){_(e)&&Object.keys(e).forEach(function(t){i[t]=e[t]})}),i},ht=/\.\d*(?:0|9){12}\d*$/;function xt(t,e){var i=1<arguments.length&&void 0!==e?e:1e11;return ht.test(t)?Math.round(t*i)/i:t}var st=/^width|height|left|top|marginLeft|marginTop$/;function ct(t,e){var i=t.style;ot(e,function(t,e){st.test(e)&&V(t)&&(t="".concat(t,"px")),i[e]=t})}function dt(t,e){var i;e&&(V(t.length)?ot(t,function(t){dt(t,e)}):t.classList?t.classList.add(e):(i=t.className.trim())?i.indexOf(e)<0&&(t.className="".concat(i," ").concat(e)):t.className=e)}function lt(t,e){e&&(V(t.length)?ot(t,function(t){lt(t,e)}):t.classList?t.classList.remove(e):0<=t.className.indexOf(e)&&(t.className=t.className.replace(e,"")))}function pt(t,e,i){e&&(V(t.length)?ot(t,function(t){pt(t,e,i)}):(i?dt:lt)(t,e))}var mt=/([a-z\d])([A-Z])/g;function ut(t){return t.replace(mt,"$1-$2").toLowerCase()}function gt(t,e){return _(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(ut(e)))}function ft(t,e,i){_(i)?t[e]=i:t.dataset?t.dataset[e]=i:t.setAttribute("data-".concat(ut(e)),i)}var vt,wt,bt,Mt,Ct=/\s\s*/,Dt=(Mt=!1,t&&(vt=!1,wt=function(){},bt=Object.defineProperty({},"once",{get:function(){return Mt=!0,vt},set:function(t){vt=t}}),r.addEventListener("test",wt,bt),r.removeEventListener("test",wt,bt)),Mt);function Bt(i,t,a,e){var n=3<arguments.length&&void 0!==e?e:{},o=a;t.trim().split(Ct).forEach(function(t){var e;Dt||(e=i.listeners)&&e[t]&&e[t][a]&&(o=e[t][a],delete e[t][a],0===Object.keys(e[t]).length&&delete e[t],0===Object.keys(e).length&&delete i.listeners),i.removeEventListener(t,o,n)})}function kt(o,t,r,e){var h=3<arguments.length&&void 0!==e?e:{},s=r;t.trim().split(Ct).forEach(function(a){var t,n;h.once&&!Dt&&(t=o.listeners,s=function(){delete n[a][r],o.removeEventListener(a,s,h);for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];r.apply(o,e)},(n=void 0===t?{}:t)[a]||(n[a]={}),n[a][r]&&o.removeEventListener(a,n[a][r],h),n[a][r]=s,o.listeners=n),o.addEventListener(a,s,h)})}function Ot(t,e,i){var a;return it(Event)&&it(CustomEvent)?a=new CustomEvent(e,{detail:i,bubbles:!0,cancelable:!0}):(a=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,i),t.dispatchEvent(a)}function Tt(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var Et=r.location,Wt=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Nt(t){var e=t.match(Wt);return null!==e&&(e[1]!==Et.protocol||e[2]!==Et.hostname||e[3]!==Et.port)}function Ht(t){var e="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+e}function Lt(t){var e=t.rotate,i=t.scaleX,a=t.scaleY,n=t.translateX,o=t.translateY,r=[];V(n)&&0!==n&&r.push("translateX(".concat(n,"px)")),V(o)&&0!==o&&r.push("translateY(".concat(o,"px)")),V(e)&&0!==e&&r.push("rotate(".concat(e,"deg)")),V(i)&&1!==i&&r.push("scaleX(".concat(i,")")),V(a)&&1!==a&&r.push("scaleY(".concat(a,")"));var h=r.length?r.join(" "):"none";return{WebkitTransform:h,msTransform:h,transform:h}}function zt(t,e){var i=t.pageX,a=t.pageY,n={endX:i,endY:a};return e?n:k({startX:i,startY:a},n)}function Yt(t,e){var i,a=t.aspectRatio,n=t.height,o=t.width,r=1<arguments.length&&void 0!==e?e:"contain",h=F(o),s=F(n);return h&&s?(i=n*a,"contain"===r&&o<i||"cover"===r&&i<o?n=o/a:o=n*a):h?n=o/a:s&&(o=n*a),{width:o,height:n}}var Xt=String.fromCharCode;var Rt=/^data:.*,/;function St(t){var e,i,a,n,o,r,h,s=new DataView(t);try{if(255===s.getUint8(0)&&216===s.getUint8(1))for(var c=s.byteLength,d=2;d+1<c;){if(255===s.getUint8(d)&&225===s.getUint8(d+1)){i=d;break}d+=1}if(i&&(n=i+10,"Exif"===function(t,e,i){var a="";i+=e;for(var n=e;n<i;n+=1)a+=Xt(t.getUint8(n));return a}(s,i+4,4)&&(!(h=18761===(o=s.getUint16(n)))&&19789!==o||42!==s.getUint16(n+2,h)||8<=(r=s.getUint32(n+4,h))&&(a=n+r))),a)for(var l,p=s.getUint16(a,h),m=0;m<p;m+=1)if(l=a+12*m+2,274===s.getUint16(l,h)){l+=8,e=s.getUint16(l,h),s.setUint16(l,1,h);break}}catch(t){e=1}return e}var At={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,i=this.container,a=this.cropper;dt(a,A),lt(t,A);var n={width:Math.max(i.offsetWidth,Number(e.minContainerWidth)||200),height:Math.max(i.offsetHeight,Number(e.minContainerHeight)||100)};ct(a,{width:(this.containerData=n).width,height:n.height}),dt(t,A),lt(a,A)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,a=Math.abs(e.rotate)%180==90,n=a?e.naturalHeight:e.naturalWidth,o=a?e.naturalWidth:e.naturalHeight,r=n/o,h=t.width,s=t.height;t.height*r>t.width?3===i?h=t.height*r:s=t.width/r:3===i?s=t.width/r:h=t.height*r;var c={aspectRatio:r,naturalWidth:n,naturalHeight:o,width:h,height:s};c.left=(t.width-h)/2,c.top=(t.height-s)/2,c.oldLeft=c.left,c.oldTop=c.top,this.canvasData=c,this.limited=1===i||2===i,this.limitCanvas(!0,!0),this.initialImageData=rt({},e),this.initialCanvasData=rt({},c)},limitCanvas:function(t,e){var i,a,n,o,r,h=this.options,s=this.containerData,c=this.canvasData,d=this.cropBoxData,l=h.viewMode,p=c.aspectRatio,m=this.cropped&&d;t&&(a=Number(h.minCanvasWidth)||0,n=Number(h.minCanvasHeight)||0,1<l?(a=Math.max(a,s.width),n=Math.max(n,s.height),3===l&&(a<n*p?a=n*p:n=a/p)):0<l&&(a?a=Math.max(a,m?d.width:0):n?n=Math.max(n,m?d.height:0):m&&((a=d.width)<(n=d.height)*p?a=n*p:n=a/p)),a=(i=Yt({aspectRatio:p,width:a,height:n})).width,n=i.height,c.minWidth=a,c.minHeight=n,c.maxWidth=1/0,c.maxHeight=1/0),e&&((m?0:1)<l?(o=s.width-c.width,r=s.height-c.height,c.minLeft=Math.min(0,o),c.minTop=Math.min(0,r),c.maxLeft=Math.max(0,o),c.maxTop=Math.max(0,r),m&&this.limited&&(c.minLeft=Math.min(d.left,d.left+(d.width-c.width)),c.minTop=Math.min(d.top,d.top+(d.height-c.height)),c.maxLeft=d.left,c.maxTop=d.top,2===l&&(c.width>=s.width&&(c.minLeft=Math.min(0,o),c.maxLeft=Math.max(0,o)),c.height>=s.height&&(c.minTop=Math.min(0,r),c.maxTop=Math.max(0,r))))):(c.minLeft=-c.width,c.minTop=-c.height,c.maxLeft=s.width,c.maxTop=s.height))},renderCanvas:function(t,e){var i,a,n,o,r,h=this.canvasData,s=this.imageData;e&&(a=(i=function(t){var e=t.width,i=t.height,a=t.degree;if(90===(a=Math.abs(a)%180))return{width:i,height:e};var n=a%90*Math.PI/180,o=Math.sin(n),r=Math.cos(n),h=e*r+i*o,s=e*o+i*r;return 90<a?{width:s,height:h}:{width:h,height:s}}({width:s.naturalWidth*Math.abs(s.scaleX||1),height:s.naturalHeight*Math.abs(s.scaleY||1),degree:s.rotate||0})).width,n=i.height,o=h.width*(a/h.naturalWidth),r=h.height*(n/h.naturalHeight),h.left-=(o-h.width)/2,h.top-=(r-h.height)/2,h.width=o,h.height=r,h.aspectRatio=a/n,h.naturalWidth=a,h.naturalHeight=n,this.limitCanvas(!0,!1)),(h.width>h.maxWidth||h.width<h.minWidth)&&(h.left=h.oldLeft),(h.height>h.maxHeight||h.height<h.minHeight)&&(h.top=h.oldTop),h.width=Math.min(Math.max(h.width,h.minWidth),h.maxWidth),h.height=Math.min(Math.max(h.height,h.minHeight),h.maxHeight),this.limitCanvas(!1,!0),h.left=Math.min(Math.max(h.left,h.minLeft),h.maxLeft),h.top=Math.min(Math.max(h.top,h.minTop),h.maxTop),h.oldLeft=h.left,h.oldTop=h.top,ct(this.canvas,rt({width:h.width,height:h.height},Lt({translateX:h.left,translateY:h.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,i=this.imageData,a=i.naturalWidth*(e.width/e.naturalWidth),n=i.naturalHeight*(e.height/e.naturalHeight);rt(i,{width:a,height:n,left:(e.width-a)/2,top:(e.height-n)/2}),ct(this.image,rt({width:i.width,height:i.height},Lt(rt({translateX:i.left,translateY:i.top},i)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,i=t.aspectRatio||t.initialAspectRatio,a=Number(t.autoCropArea)||.8,n={width:e.width,height:e.height};i&&(e.height*i>e.width?n.height=n.width/i:n.width=n.height*i),this.cropBoxData=n,this.limitCropBox(!0,!0),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),n.width=Math.max(n.minWidth,n.width*a),n.height=Math.max(n.minHeight,n.height*a),n.left=e.left+(e.width-n.width)/2,n.top=e.top+(e.height-n.height)/2,n.oldLeft=n.left,n.oldTop=n.top,this.initialCropBoxData=rt({},n)},limitCropBox:function(t,e){var i,a,n,o,r=this.options,h=this.containerData,s=this.canvasData,c=this.cropBoxData,d=this.limited,l=r.aspectRatio;t&&(n=Number(r.minCropBoxWidth)||0,o=Number(r.minCropBoxHeight)||0,i=d?Math.min(h.width,s.width,s.width+s.left,h.width-s.left):h.width,a=d?Math.min(h.height,s.height,s.height+s.top,h.height-s.top):h.height,n=Math.min(n,h.width),o=Math.min(o,h.height),l&&(n&&o?n<o*l?o=n/l:n=o*l:n?o=n/l:o&&(n=o*l),i<a*l?a=i/l:i=a*l),c.minWidth=Math.min(n,i),c.minHeight=Math.min(o,a),c.maxWidth=i,c.maxHeight=a),e&&(d?(c.minLeft=Math.max(0,s.left),c.minTop=Math.max(0,s.top),c.maxLeft=Math.min(h.width,s.left+s.width)-c.width,c.maxTop=Math.min(h.height,s.top+s.height)-c.height):(c.minLeft=0,c.minTop=0,c.maxLeft=h.width-c.width,c.maxTop=h.height-c.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCropBox(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,t.movable&&t.cropBoxMovable&&ft(this.face,g,i.width>=e.width&&i.height>=e.height?E:O),ct(this.cropBox,rt({width:i.width,height:i.height},Lt({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Ot(this.element,y,this.getData())}},jt={initPreview:function(){var t,e=this.element,i=this.crossOrigin,a=this.options.preview,n=i?this.crossOriginUrl:this.url,o=e.alt||"The image to preview",r=document.createElement("img");i&&(r.crossOrigin=i),r.src=n,r.alt=o,this.viewBox.appendChild(r),this.viewBoxImage=r,a&&("string"==typeof(t=a)?t=e.ownerDocument.querySelectorAll(a):a.querySelector&&(t=[a]),ot(this.previews=t,function(t){var e=document.createElement("img");ft(t,f,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),i&&(e.crossOrigin=i),e.src=n,e.alt=o,e.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',t.innerHTML="",t.appendChild(e)}))},resetPreview:function(){ot(this.previews,function(t){var e=gt(t,f);ct(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(e,i){if(_(e[i]))try{delete e[i]}catch(t){e[i]=void 0}else if(e.dataset)try{delete e.dataset[i]}catch(t){e.dataset[i]=void 0}else e.removeAttribute("data-".concat(ut(i)))}(t,f)})},preview:function(){var h=this.imageData,t=this.canvasData,e=this.cropBoxData,s=e.width,c=e.height,d=h.width,l=h.height,p=e.left-t.left-h.left,m=e.top-t.top-h.top;this.cropped&&!this.disabled&&(ct(this.viewBoxImage,rt({width:d,height:l},Lt(rt({translateX:-p,translateY:-m},h)))),ot(this.previews,function(t){var e=gt(t,f),i=e.width,a=e.height,n=i,o=a,r=1;s&&(o=c*(r=i/s)),c&&a<o&&(n=s*(r=a/c),o=a),ct(t,{width:n,height:o}),ct(t.getElementsByTagName("img")[0],rt({width:d*r,height:l*r},Lt(rt({translateX:-p*r,translateY:-m*r},h))))}))}},It={bind:function(){var t=this.element,e=this.options,i=this.cropper;it(e.cropstart)&&kt(t,C,e.cropstart),it(e.cropmove)&&kt(t,M,e.cropmove),it(e.cropend)&&kt(t,x,e.cropend),it(e.crop)&&kt(t,y,e.crop),it(e.zoom)&&kt(t,P,e.zoom),kt(i,B,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&kt(i,"wheel",this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&kt(i,D,this.onDblclick=this.dblclick.bind(this)),kt(t.ownerDocument,j,this.onCropMove=this.cropMove.bind(this)),kt(t.ownerDocument,I,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&kt(window,"resize",this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;it(e.cropstart)&&Bt(t,C,e.cropstart),it(e.cropmove)&&Bt(t,M,e.cropmove),it(e.cropend)&&Bt(t,x,e.cropend),it(e.crop)&&Bt(t,y,e.crop),it(e.zoom)&&Bt(t,P,e.zoom),Bt(i,B,this.onCropStart),e.zoomable&&e.zoomOnWheel&&Bt(i,"wheel",this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Bt(i,D,this.onDblclick),Bt(t.ownerDocument,j,this.onCropMove),Bt(t.ownerDocument,I,this.onCropEnd),e.responsive&&Bt(window,"resize",this.onResize)}},Pt={resize:function(){var t,e,i,a,n,o;this.disabled||(t=this.options,e=this.container,i=this.containerData,1==(a=e.offsetWidth/i.width)&&e.offsetHeight===i.height||(t.restore&&(n=this.getCanvasData(),o=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(ot(n,function(t,e){n[e]=t*a})),this.setCropBoxData(ot(o,function(t,e){o[e]=t*a})))))},dblclick:function(){var t,e;this.disabled||this.options.dragMode===b||this.setDragMode((t=this.dragBox,e=s,(t.classList?t.classList.contains(e):-1<t.className.indexOf(e))?w:v))},wheel:function(t){var e=this,i=Number(this.options.wheelZoomRatio)||.1,a=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout(function(){e.wheeling=!1},50),t.deltaY?a=0<t.deltaY?1:-1:t.wheelDelta?a=-t.wheelDelta/120:t.detail&&(a=0<t.detail?1:-1),this.zoom(-a*i,t)))},cropStart:function(t){var e,i,a,n=t.buttons,o=t.button;this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(V(n)&&1!==n||V(o)&&0!==o||t.ctrlKey)||(e=this.options,i=this.pointers,t.changedTouches?ot(t.changedTouches,function(t){i[t.identifier]=zt(t)}):i[t.pointerId||0]=zt(t),a=1<Object.keys(i).length&&e.zoomable&&e.zoomOnTouch?W:gt(t.target,g),q.test(a)&&!1!==Ot(this.element,C,{originalEvent:t,action:a})&&(t.preventDefault(),this.action=a,this.cropping=!1,a===T&&(this.cropping=!0,dt(this.dragBox,m))))},cropMove:function(t){var e,i=this.action;!this.disabled&&i&&(e=this.pointers,t.preventDefault(),!1!==Ot(this.element,M,{originalEvent:t,action:i})&&(t.changedTouches?ot(t.changedTouches,function(t){rt(e[t.identifier]||{},zt(t,!0))}):rt(e[t.pointerId||0]||{},zt(t,!0)),this.change(t)))},cropEnd:function(t){var e,i;this.disabled||(e=this.action,i=this.pointers,t.changedTouches?ot(t.changedTouches,function(t){delete i[t.identifier]}):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,pt(this.dragBox,m,this.cropped&&this.options.modal)),Ot(this.element,x,{originalEvent:t,action:e})))}},Ut={change:function(t){var e,i=this.options,a=this.canvasData,n=this.containerData,o=this.cropBoxData,r=this.pointers,h=this.action,s=i.aspectRatio,c=o.left,d=o.top,l=o.width,p=o.height,m=c+l,u=d+p,g=0,f=0,v=n.width,w=n.height,b=!0;!s&&t.shiftKey&&(s=l&&p?l/p:1),this.limited&&(g=o.minLeft,f=o.minTop,v=g+Math.min(n.width,a.width,a.left+a.width),w=f+Math.min(n.height,a.height,a.top+a.height));function y(t){switch(t){case N:m+B.x>v&&(B.x=v-m);break;case H:c+B.x<g&&(B.x=g-c);break;case z:d+B.y<f&&(B.y=f-d);break;case L:u+B.y>w&&(B.y=w-u)}}var x,M,C,D=r[Object.keys(r)[0]],B={x:D.endX-D.startX,y:D.endY-D.startY};switch(h){case O:c+=B.x,d+=B.y;break;case N:if(0<=B.x&&(v<=m||s&&(d<=f||w<=u))){b=!1;break}y(N),(l+=B.x)<0&&(h=H,c-=l=-l),s&&(p=l/s,d+=(o.height-p)/2);break;case z:if(B.y<=0&&(d<=f||s&&(c<=g||v<=m))){b=!1;break}y(z),p-=B.y,d+=B.y,p<0&&(h=L,d-=p=-p),s&&(l=p*s,c+=(o.width-l)/2);break;case H:if(B.x<=0&&(c<=g||s&&(d<=f||w<=u))){b=!1;break}y(H),l-=B.x,c+=B.x,l<0&&(h=N,c-=l=-l),s&&(p=l/s,d+=(o.height-p)/2);break;case L:if(0<=B.y&&(w<=u||s&&(c<=g||v<=m))){b=!1;break}y(L),(p+=B.y)<0&&(h=z,d-=p=-p),s&&(l=p*s,c+=(o.width-l)/2);break;case Y:if(s){if(B.y<=0&&(d<=f||v<=m)){b=!1;break}y(z),p-=B.y,d+=B.y,l=p*s}else y(z),y(N),!(0<=B.x)||m<v?l+=B.x:B.y<=0&&d<=f&&(b=!1),B.y<=0&&!(f<d)||(p-=B.y,d+=B.y);l<0&&p<0?(h=S,d-=p=-p,c-=l=-l):l<0?(h=X,c-=l=-l):p<0&&(h=R,d-=p=-p);break;case X:if(s){if(B.y<=0&&(d<=f||c<=g)){b=!1;break}y(z),p-=B.y,d+=B.y,l=p*s,c+=o.width-l}else y(z),y(H),!(B.x<=0)||g<c?(l-=B.x,c+=B.x):B.y<=0&&d<=f&&(b=!1),B.y<=0&&!(f<d)||(p-=B.y,d+=B.y);l<0&&p<0?(h=R,d-=p=-p,c-=l=-l):l<0?(h=Y,c-=l=-l):p<0&&(h=S,d-=p=-p);break;case S:if(s){if(B.x<=0&&(c<=g||w<=u)){b=!1;break}y(H),l-=B.x,c+=B.x,p=l/s}else y(L),y(H),!(B.x<=0)||g<c?(l-=B.x,c+=B.x):0<=B.y&&w<=u&&(b=!1),0<=B.y&&!(u<w)||(p+=B.y);l<0&&p<0?(h=Y,d-=p=-p,c-=l=-l):l<0?(h=R,c-=l=-l):p<0&&(h=X,d-=p=-p);break;case R:if(s){if(0<=B.x&&(v<=m||w<=u)){b=!1;break}y(N),p=(l+=B.x)/s}else y(L),y(N),!(0<=B.x)||m<v?l+=B.x:0<=B.y&&w<=u&&(b=!1),0<=B.y&&!(u<w)||(p+=B.y);l<0&&p<0?(h=X,d-=p=-p,c-=l=-l):l<0?(h=S,c-=l=-l):p<0&&(h=Y,d-=p=-p);break;case E:this.move(B.x,B.y),b=!1;break;case W:this.zoom((M=k({},x=r),C=[],ot(x,function(h,t){delete M[t],ot(M,function(t){var e=Math.abs(h.startX-t.startX),i=Math.abs(h.startY-t.startY),a=Math.abs(h.endX-t.endX),n=Math.abs(h.endY-t.endY),o=Math.sqrt(e*e+i*i),r=(Math.sqrt(a*a+n*n)-o)/o;C.push(r)})}),C.sort(function(t,e){return Math.abs(t)<Math.abs(e)}),C[0]),t),b=!1;break;case T:if(!B.x||!B.y){b=!1;break}e=Tt(this.cropper),c=D.startX-e.left,d=D.startY-e.top,l=o.minWidth,p=o.minHeight,0<B.x?h=0<B.y?R:Y:B.x<0&&(c-=l,h=0<B.y?S:X),B.y<0&&(d-=p),this.cropped||(lt(this.cropBox,A),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}b&&(o.width=l,o.height=p,o.left=c,o.top=d,this.action=h,this.renderCropBox()),ot(r,function(t){t.startX=t.endX,t.startY=t.endY})}},qt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&dt(this.dragBox,m),lt(this.cropBox,A),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=rt({},this.initialImageData),this.canvasData=rt({},this.initialCanvasData),this.cropBoxData=rt({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(rt(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),lt(this.dragBox,m),dt(this.cropBox,A)),this},replace:function(e,t){var i=1<arguments.length&&void 0!==t&&t;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),i?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,ot(this.previews,function(t){t.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,lt(this.cropper,c)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,dt(this.cropper,c)),this},destroy:function(){var t=this.element;return t[d]&&(t[d]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate()),this},move:function(t,e){var i=1<arguments.length&&void 0!==e?e:t,a=this.canvasData,n=a.left,o=a.top;return this.moveTo(J(t)?t:n+Number(t),J(i)?i:o+Number(i))},moveTo:function(t,e){var i=1<arguments.length&&void 0!==e?e:t,a=this.canvasData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(V(t)&&(a.left=t,n=!0),V(i)&&(a.top=i,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,e){var i=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(i.width*t/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var a,n,o,r=this.options,h=this.canvasData,s=h.width,c=h.height,d=h.naturalWidth,l=h.naturalHeight;if(0<=(t=Number(t))&&this.ready&&!this.disabled&&r.zoomable){var p,m,u,g=d*t,f=l*t;if(!1===Ot(this.element,P,{ratio:t,oldRatio:s/d,originalEvent:i}))return this;i?(p=this.pointers,m=Tt(this.cropper),u=p&&Object.keys(p).length?(o=n=a=0,ot(p,function(t){var e=t.startX,i=t.startY;a+=e,n+=i,o+=1}),{pageX:a/=o,pageY:n/=o}):{pageX:i.pageX,pageY:i.pageY},h.left-=(g-s)*((u.pageX-m.left-h.left)/s),h.top-=(f-c)*((u.pageY-m.top-h.top)/c)):et(e)&&V(e.x)&&V(e.y)?(h.left-=(g-s)*((e.x-h.left)/s),h.top-=(f-c)*((e.y-h.top)/c)):(h.left-=(g-s)/2,h.top-=(f-c)/2),h.width=g,h.height=f,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return V(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,V(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(V(e)?e:1,t)},scale:function(t,e){var i=1<arguments.length&&void 0!==e?e:t,a=this.imageData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(V(t)&&(a.scaleX=t,n=!0),V(i)&&(a.scaleY=i,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(t){var i,a,e,n,o=0<arguments.length&&void 0!==t&&t,r=this.options,h=this.imageData,s=this.canvasData,c=this.cropBoxData;return this.ready&&this.cropped?(i={x:c.left-s.left,y:c.top-s.top,width:c.width,height:c.height},a=h.width/h.naturalWidth,ot(i,function(t,e){i[e]=t/a}),o&&(e=Math.round(i.y+i.height),n=Math.round(i.x+i.width),i.x=Math.round(i.x),i.y=Math.round(i.y),i.width=n-i.x,i.height=e-i.y)):i={x:0,y:0,width:0,height:0},r.rotatable&&(i.rotate=h.rotate||0),r.scalable&&(i.scaleX=h.scaleX||1,i.scaleY=h.scaleY||1),i},setData:function(t){var e,i,a=this.options,n=this.imageData,o=this.canvasData,r={};return this.ready&&!this.disabled&&et(t)&&(e=!1,a.rotatable&&V(t.rotate)&&t.rotate!==n.rotate&&(n.rotate=t.rotate,e=!0),a.scalable&&(V(t.scaleX)&&t.scaleX!==n.scaleX&&(n.scaleX=t.scaleX,e=!0),V(t.scaleY)&&t.scaleY!==n.scaleY&&(n.scaleY=t.scaleY,e=!0)),e&&this.renderCanvas(!0,!0),i=n.width/n.naturalWidth,V(t.x)&&(r.left=t.x*i+o.left),V(t.y)&&(r.top=t.y*i+o.top),V(t.width)&&(r.width=t.width*i),V(t.height)&&(r.height=t.height*i),this.setCropBoxData(r)),this},getContainerData:function(){return this.ready?rt({},this.containerData):{}},getImageData:function(){return this.sized?rt({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,i={};return this.ready&&ot(["left","top","width","height","naturalWidth","naturalHeight"],function(t){i[t]=e[t]}),i},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&et(t)&&(V(t.left)&&(e.left=t.left),V(t.top)&&(e.top=t.top),V(t.width)?(e.width=t.width,e.height=t.width/i):V(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,i,a=this.cropBoxData,n=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&et(t)&&(V(t.left)&&(a.left=t.left),V(t.top)&&(a.top=t.top),V(t.width)&&t.width!==a.width&&(e=!0,a.width=t.width),V(t.height)&&t.height!==a.height&&(i=!0,a.height=t.height),n&&(e?a.height=a.width/n:i&&(a.width=a.height*n)),this.renderCropBox()),this},getCroppedCanvas:function(t){var e=0<arguments.length&&void 0!==t?t:{};if(!this.ready||!window.HTMLCanvasElement)return null;var i,a,n,o,r,h,s,c,d,l,p,m,u,g,f,v,w,b,y,x,M,C,D,B,k,O,T,E,W,N,H,L,z,Y,X,R,S,A,j,I,P,U=this.canvasData,q=(i=this.image,a=this.imageData,n=U,o=e,r=a.aspectRatio,h=a.naturalWidth,s=a.naturalHeight,c=a.rotate,d=void 0===c?0:c,l=a.scaleX,p=void 0===l?1:l,m=a.scaleY,u=void 0===m?1:m,g=n.aspectRatio,f=n.naturalWidth,v=n.naturalHeight,w=o.fillColor,b=void 0===w?"transparent":w,y=o.imageSmoothingEnabled,x=void 0===y||y,M=o.imageSmoothingQuality,C=void 0===M?"low":M,D=o.maxWidth,B=void 0===D?1/0:D,k=o.maxHeight,O=void 0===k?1/0:k,T=o.minWidth,E=void 0===T?0:T,W=o.minHeight,N=void 0===W?0:W,H=document.createElement("canvas"),L=H.getContext("2d"),z=Yt({aspectRatio:g,width:B,height:O}),Y=Yt({aspectRatio:g,width:E,height:N},"cover"),X=Math.min(z.width,Math.max(Y.width,f)),R=Math.min(z.height,Math.max(Y.height,v)),S=Yt({aspectRatio:r,width:B,height:O}),A=Yt({aspectRatio:r,width:E,height:N},"cover"),j=Math.min(S.width,Math.max(A.width,h)),I=Math.min(S.height,Math.max(A.height,s)),P=[-j/2,-I/2,j,I],H.width=xt(X),H.height=xt(R),L.fillStyle=b,L.fillRect(0,0,X,R),L.save(),L.translate(X/2,R/2),L.rotate(d*Math.PI/180),L.scale(p,u),L.imageSmoothingEnabled=x,L.imageSmoothingQuality=C,L.drawImage.apply(L,[i].concat(yt(P.map(function(t){return Math.floor(xt(t))})))),L.restore(),H);if(!this.cropped)return q;var $=this.getData(),Q=$.x,K=$.y,Z=$.width,G=$.height,V=q.width/Math.floor(U.naturalWidth);1!=V&&(Q*=V,K*=V,Z*=V,G*=V);var F=Z/G,J=Yt({aspectRatio:F,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),_=Yt({aspectRatio:F,width:e.minWidth||0,height:e.minHeight||0},"cover"),tt=Yt({aspectRatio:F,width:e.width||(1!=V?q.width:Z),height:e.height||(1!=V?q.height:G)}),et=tt.width,it=tt.height,et=Math.min(J.width,Math.max(_.width,et)),it=Math.min(J.height,Math.max(_.height,it)),at=document.createElement("canvas"),nt=at.getContext("2d");at.width=xt(et),at.height=xt(it),nt.fillStyle=e.fillColor||"transparent",nt.fillRect(0,0,et,it);var ot=e.imageSmoothingEnabled,rt=void 0===ot||ot,ht=e.imageSmoothingQuality;nt.imageSmoothingEnabled=rt,ht&&(nt.imageSmoothingQuality=ht);var st,ct,dt,lt,pt,mt,ut=q.width,gt=q.height,ft=Q,vt=K;ft<=-Z||ut<ft?pt=dt=st=ft=0:ft<=0?(dt=-ft,ft=0,pt=st=Math.min(ut,Z+ft)):ft<=ut&&(dt=0,pt=st=Math.min(Z,ut-ft)),st<=0||vt<=-G||gt<vt?mt=lt=ct=vt=0:vt<=0?(lt=-vt,vt=0,mt=ct=Math.min(gt,G+vt)):vt<=gt&&(lt=0,mt=ct=Math.min(G,gt-vt));var wt,bt=[ft,vt,st,ct];return 0<pt&&0<mt&&(wt=et/Z,bt.push(dt*wt,lt*wt,pt*wt,mt*wt)),nt.drawImage.apply(nt,[q].concat(yt(bt.map(function(t){return Math.floor(xt(t))})))),at},setAspectRatio:function(t){var e=this.options;return this.disabled||J(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e,i,a=this.options,n=this.dragBox,o=this.face;return this.ready&&!this.disabled&&(e=t===v,i=a.movable&&t===w,t=e||i?t:b,a.dragMode=t,ft(n,g,t),pt(n,s,e),pt(n,u,i),a.cropBoxMovable||(ft(o,g,t),pt(o,s,e),pt(o,u,i))),this}},$t=r.Cropper,Qt=function(){function i(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),!t||!K.test(t.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=t,this.options=rt({},Z,et(e)&&e),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}var t,e,a;return t=i,a=[{key:"noConflict",value:function(){return window.Cropper=$t,i}},{key:"setDefaults",value:function(t){rt(Z,et(t)&&t)}}],(e=[{key:"init",value:function(){var t,e=this.element,i=e.tagName.toLowerCase();if(!e[d]){if(e[d]=this,"img"===i){if(this.isImg=!0,t=e.getAttribute("src")||"",!(this.originalUrl=t))return;t=e.src}else"canvas"===i&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e,i,a,n,o,r,h,s,c=this;t&&(this.url=t,this.imageData={},e=this.element,(i=this.options).rotatable||i.scalable||(i.checkOrientation=!1),i.checkOrientation&&window.ArrayBuffer?$.test(t)?Q.test(t)?this.read((a=t.replace(Rt,""),n=atob(a),o=new ArrayBuffer(n.length),ot(r=new Uint8Array(o),function(t,e){r[e]=n.charCodeAt(e)}),o)):this.clone():(h=new XMLHttpRequest,s=this.clone.bind(this),this.reloading=!0,(this.xhr=h).onabort=s,h.onerror=s,h.ontimeout=s,h.onprogress=function(){h.getResponseHeader("content-type")!==U&&h.abort()},h.onload=function(){c.read(h.response)},h.onloadend=function(){c.reloading=!1,c.xhr=null},i.checkCrossOrigin&&Nt(t)&&e.crossOrigin&&(t=Ht(t)),h.open("GET",t),h.responseType="arraybuffer",h.withCredentials="use-credentials"===e.crossOrigin,h.send()):this.clone())}},{key:"read",value:function(t){var e,i=this.options,a=this.imageData,n=St(t),o=0,r=1,h=1;1<n&&(this.url=function(t,e){for(var i=[],a=new Uint8Array(t);0<a.length;)i.push(Xt.apply(null,nt(a.subarray(0,8192)))),a=a.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(i.join("")))}(t,U),o=(e=function(t){var e=0,i=1,a=1;switch(t){case 2:i=-1;break;case 3:e=-180;break;case 4:a=-1;break;case 5:e=90,a=-1;break;case 6:e=90;break;case 7:e=90,i=-1;break;case 8:e=-90}return{rotate:e,scaleX:i,scaleY:a}}(n)).rotate,r=e.scaleX,h=e.scaleY),i.rotatable&&(a.rotate=o),i.scalable&&(a.scaleX=r,a.scaleY=h),this.clone()}},{key:"clone",value:function(){var t=this.element,e=this.url,i=t.crossOrigin,a=e;this.options.checkCrossOrigin&&Nt(e)&&(i=i||"anonymous",a=Ht(e)),this.crossOrigin=i,this.crossOriginUrl=a;var n=document.createElement("img");i&&(n.crossOrigin=i),n.src=a||e,n.alt=t.alt||"The image to crop",(this.image=n).onload=this.start.bind(this),n.onerror=this.stop.bind(this),dt(n,l),t.parentNode.insertBefore(n,t.nextSibling)}},{key:"start",value:function(){var i=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;function e(t,e){rt(i.imageData,{naturalWidth:t,naturalHeight:e,aspectRatio:t/e}),i.sizing=!1,i.sized=!0,i.build()}var a,n,o=r.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(r.navigator.userAgent);!t.naturalWidth||o?(a=document.createElement("img"),n=document.body||document.documentElement,(this.sizingImage=a).onload=function(){e(a.width,a.height),o||n.removeChild(a)},a.src=t.src,o||(a.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",n.appendChild(a))):e(t.naturalWidth,t.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){var t,e,i,a,n,o,r,h,s,c;this.sized&&!this.ready&&(t=this.element,e=this.options,i=this.image,a=t.parentNode,(n=document.createElement("div")).innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>',r=(o=n.querySelector(".".concat(d,"-container"))).querySelector(".".concat(d,"-canvas")),h=o.querySelector(".".concat(d,"-drag-box")),c=(s=o.querySelector(".".concat(d,"-crop-box"))).querySelector(".".concat(d,"-face")),this.container=a,this.cropper=o,this.canvas=r,this.dragBox=h,this.cropBox=s,this.viewBox=o.querySelector(".".concat(d,"-view-box")),this.face=c,r.appendChild(i),dt(t,A),a.insertBefore(o,t.nextSibling),this.isImg||lt(i,l),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,dt(s,A),e.guides||dt(s.getElementsByClassName("".concat(d,"-dashed")),A),e.center||dt(s.getElementsByClassName("".concat(d,"-center")),A),e.background&&dt(o,"".concat(d,"-bg")),e.highlight||dt(c,p),e.cropBoxMovable&&(dt(c,u),ft(c,g,O)),e.cropBoxResizable||(dt(s.getElementsByClassName("".concat(d,"-line")),A),dt(s.getElementsByClassName("".concat(d,"-point")),A)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),it(e.ready)&&kt(t,"ready",e.ready,{once:!0}),Ot(t,"ready"))}},{key:"unbuild",value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),lt(this.element,A))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&n(t.prototype,e),a&&n(t,a),i}();return rt(Qt.prototype,At,jt,It,Pt,Ut,qt),Qt}); \ No newline at end of file
diff --git a/library/cropperjs/docs/css/cropper.css b/library/cropperjs/docs/css/cropper.css
index d54319a64..d914b48fd 100644
--- a/library/cropperjs/docs/css/cropper.css
+++ b/library/cropperjs/docs/css/cropper.css
@@ -1,11 +1,11 @@
/*!
- * Cropper.js v1.5.6
+ * Cropper.js v1.5.7
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
- * Date: 2019-10-04T04:33:44.164Z
+ * Date: 2020-05-23T05:22:57.283Z
*/
.cropper-container {
diff --git a/library/cropperjs/docs/examples/cropper-in-modal.html b/library/cropperjs/docs/examples/cropper-in-modal.html
index f36ff4e4e..343924ef8 100644
--- a/library/cropperjs/docs/examples/cropper-in-modal.html
+++ b/library/cropperjs/docs/examples/cropper-in-modal.html
@@ -5,7 +5,7 @@
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Cropper.js</title>
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="../css/cropper.css">
<style>
.img-container img {
@@ -45,8 +45,8 @@
</div>
</div>
- <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>
+ <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" crossorigin="anonymous"></script>
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="../js/cropper.js"></script>
<script>
window.addEventListener('DOMContentLoaded', function () {
diff --git a/library/cropperjs/docs/examples/customize-preview.html b/library/cropperjs/docs/examples/customize-preview.html
index 72a108f8a..51d1e1b42 100644
--- a/library/cropperjs/docs/examples/customize-preview.html
+++ b/library/cropperjs/docs/examples/customize-preview.html
@@ -77,6 +77,7 @@
window.addEventListener('DOMContentLoaded', function () {
var image = document.querySelector('#image');
var previews = document.querySelectorAll('.preview');
+ var previewReady = false;
var cropper = new Cropper(image, {
ready: function () {
var clone = this.cloneNode();
@@ -94,9 +95,14 @@
each(previews, function (elem) {
elem.appendChild(clone.cloneNode());
});
+ previewReady = true;
},
crop: function (event) {
+ if (!previewReady) {
+ return;
+ }
+
var data = event.detail;
var cropper = this.cropper;
var imageData = cropper.getImageData();
diff --git a/library/cropperjs/docs/examples/upload-cropped-image-to-server.html b/library/cropperjs/docs/examples/upload-cropped-image-to-server.html
index aef0ee58b..adb5c15ce 100644
--- a/library/cropperjs/docs/examples/upload-cropped-image-to-server.html
+++ b/library/cropperjs/docs/examples/upload-cropped-image-to-server.html
@@ -5,7 +5,7 @@
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Cropper.js</title>
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css">
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="../css/cropper.css">
<style>
.label {
@@ -59,8 +59,8 @@
</div>
</div>
</div>
- <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.bundle.min.js"></script>
+ <script src="https://code.jquery.com/jquery-3.4.1.min.js" crossorigin="anonymous"></script>
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="../js/cropper.js"></script>
<script>
window.addEventListener('DOMContentLoaded', function () {
diff --git a/library/cropperjs/docs/index.html b/library/cropperjs/docs/index.html
index fa8aaf6dd..7643c9c44 100644
--- a/library/cropperjs/docs/index.html
+++ b/library/cropperjs/docs/index.html
@@ -7,15 +7,15 @@
<meta name="description" content="JavaScript image cropper.">
<meta name="author" content="Chen Fengyuan">
<title>Cropper.js</title>
- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.11.2/css/all.css">
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css" crossorigin="anonymous">
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="css/cropper.css">
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<!--[if lt IE 9]>
<div class="alert alert-warning alert-dismissible fade show m-0 rounded-0" role="alert">
- You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.
+ You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience.
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@@ -62,17 +62,17 @@
<a class="nav-link" href="https://github.com/fengyuanchen/cropperjs" data-toggle="tooltip" title="View the GitHub project">GitHub</a>
</li>
<li class="nav-item">
- <a class="nav-link" href="https://fengyuanchen.github.io" data-toggle="tooltip" title="Explore more projects">Explore</a>
+ <a class="nav-link" href="https://fengyuanchen.github.io/" data-toggle="tooltip" title="Explore more projects">Explore</a>
</li>
<li class="nav-item">
- <a class="nav-link" href="https://chenfengyuan.com" data-toggle="tooltip" title="About the author">About</a>
+ <a class="nav-link" href="https://chenfengyuan.com/" data-toggle="tooltip" title="About the author">About</a>
</li>
<li class="nav-item">
<a class="nav-link text-warning" href="https://fengyuanchen.github.io/cropper.js/" data-toggle="tooltip" title="View the next version">v2.0 (Alpha)</a>
</li>
</ul>
</div>
- </nav>
+ </div>
</header>
<!-- Jumbotron -->
@@ -80,7 +80,7 @@
<div class="container">
<div class="row">
<div class="col-md">
- <h1>Cropper.js <small class="h6">v1.5.6</small></h1>
+ <h1>Cropper.js <small class="h6">v1.5.7</small></h1>
<p class="lead">JavaScript image cropper.</p>
</div>
<div class="col-md">
@@ -595,15 +595,15 @@
<a class="nav-link" href="https://github.com/fengyuanchen/cropperjs">GitHub</a>
<a class="nav-link" href="https://github.com/fengyuanchen/cropperjs/releases">Releases</a>
<a class="nav-link" href="https://github.com/fengyuanchen/cropperjs/blob/master/LICENSE">License</a>
- <a class="nav-link" href="https://chenfengyuan.com">About</a>
+ <a class="nav-link" href="https://chenfengyuan.com/">About</a>
</nav>
</div>
</footer>
<!-- Scripts -->
- <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>
- <script src="https://fengyuanchen.github.io/shared/google-analytics.js"></script>
+ <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" crossorigin="anonymous"></script>
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
+ <script src="https://fengyuanchen.github.io/shared/google-analytics.js" crossorigin="anonymous"></script>
<script src="js/cropper.js"></script>
<script src="js/main.js"></script>
</body>
diff --git a/library/cropperjs/docs/js/cropper.js b/library/cropperjs/docs/js/cropper.js
index 5c49d7bdf..9bed97a52 100644
--- a/library/cropperjs/docs/js/cropper.js
+++ b/library/cropperjs/docs/js/cropper.js
@@ -1,20 +1,22 @@
/*!
- * Cropper.js v1.5.6
+ * Cropper.js v1.5.7
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
- * Date: 2019-10-04T04:33:48.372Z
+ * Date: 2020-05-23T05:23:00.081Z
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.Cropper = factory());
-}(this, function () { 'use strict';
+}(this, (function () { 'use strict';
function _typeof(obj) {
+ "@babel/helpers - typeof";
+
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function (obj) {
return typeof obj;
@@ -84,13 +86,13 @@
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
- ownKeys(source, true).forEach(function (key) {
+ ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
- ownKeys(source).forEach(function (key) {
+ ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
@@ -100,28 +102,41 @@
}
function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) {
- for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
-
- return arr2;
- }
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
- if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
+ }
+
+ function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(o);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
+ }
+
+ function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+
+ return arr2;
}
function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance");
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';
var WINDOW = IS_BROWSER ? window : {};
- var IS_TOUCH_DEVICE = IS_BROWSER ? 'ontouchstart' in WINDOW.document.documentElement : false;
+ var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;
var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;
var NAMESPACE = 'cropper'; // Actions
@@ -175,10 +190,6 @@
var REGEXP_DATA_URL = /^data:/;
var REGEXP_DATA_URL_JPEG = /^data:image\/jpeg;base64,/;
var REGEXP_TAG_NAME = /^img|canvas$/i; // Misc
- // Inspired by the default width and height of a canvas element.
-
- var MIN_CONTAINER_WIDTH = 200;
- var MIN_CONTAINER_HEIGHT = 100;
var DEFAULTS = {
// Define the view mode of the cropper
@@ -386,7 +397,7 @@
var REGEXP_DECIMALS = /\.\d*(?:0|9){12}\d*$/;
/**
* Normalize decimal number.
- * Check out {@link http://0.30000000000000004.com/}
+ * Check out {@link https://0.30000000000000004.com/}
* @param {number} value - The value to normalize.
* @param {number} [times=100000000000] - The times for normalizing.
* @returns {number} Returns the normalized number.
@@ -1187,8 +1198,6 @@
case 8:
rotate = -90;
break;
-
- default:
}
return {
@@ -1793,16 +1802,13 @@
var handlers = {
resize: function resize() {
- var options = this.options,
- container = this.container,
- containerData = this.containerData;
- var minContainerWidth = Number(options.minContainerWidth) || MIN_CONTAINER_WIDTH;
- var minContainerHeight = Number(options.minContainerHeight) || MIN_CONTAINER_HEIGHT;
-
- if (this.disabled || containerData.width <= minContainerWidth || containerData.height <= minContainerHeight) {
+ if (this.disabled) {
return;
}
+ var options = this.options,
+ container = this.container,
+ containerData = this.containerData;
var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed
if (ratio !== 1 || container.offsetHeight !== containerData.height) {
@@ -2050,8 +2056,6 @@
}
break;
-
- default:
}
};
@@ -2416,8 +2420,6 @@
}
break;
-
- default:
}
if (renderable) {
@@ -3199,9 +3201,7 @@
var AnotherCropper = WINDOW.Cropper;
- var Cropper =
- /*#__PURE__*/
- function () {
+ var Cropper = /*#__PURE__*/function () {
/**
* Create a new Cropper.
* @param {Element} element - The target element for cropping.
@@ -3250,7 +3250,7 @@
if (!url) {
return;
- } // e.g.: "http://example.com/img/picture.jpg"
+ } // e.g.: "https://example.com/img/picture.jpg"
url = element.src;
@@ -3613,4 +3613,4 @@
return Cropper;
-}));
+})));
diff --git a/library/cropperjs/test/karma.conf.js b/library/cropperjs/karma.conf.js
index 1ccf4d6d7..e96d4056c 100644
--- a/library/cropperjs/test/karma.conf.js
+++ b/library/cropperjs/karma.conf.js
@@ -1,12 +1,12 @@
const puppeteer = require('puppeteer');
-const rollupConfig = require('../rollup.config');
+const rollupConfig = require('./rollup.config');
process.env.CHROME_BIN = puppeteer.executablePath();
+process.env.NODE_ENV = 'test';
module.exports = (config) => {
config.set({
autoWatch: false,
- basePath: '..',
browsers: ['ChromeHeadless'],
client: {
mocha: {
@@ -37,7 +37,7 @@ module.exports = (config) => {
plugins: rollupConfig.plugins,
output: {
format: 'iife',
- name: rollupConfig.output[0].name,
+ name: 'Cropper',
sourcemap: 'inline',
},
},
diff --git a/library/cropperjs/package-lock.json b/library/cropperjs/package-lock.json
index d19eef9b4..928d55b2c 100644
--- a/library/cropperjs/package-lock.json
+++ b/library/cropperjs/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "cropperjs",
- "version": "1.5.6",
+ "version": "1.5.7",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -13,329 +13,332 @@
"@babel/highlight": "^7.0.0"
}
},
- "@babel/core": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.2.tgz",
- "integrity": "sha512-l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.6.2",
- "@babel/helpers": "^7.6.2",
- "@babel/parser": "^7.6.2",
- "@babel/template": "^7.6.0",
- "@babel/traverse": "^7.6.2",
- "@babel/types": "^7.6.0",
- "convert-source-map": "^1.1.0",
- "debug": "^4.1.0",
- "json5": "^2.1.0",
- "lodash": "^4.17.13",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
+ "@babel/compat-data": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz",
+ "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.11.1",
+ "invariant": "^2.2.4",
+ "semver": "^5.5.0"
},
"dependencies": {
- "@babel/code-frame": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
- "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.0.0"
- }
- },
- "@babel/generator": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz",
- "integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==",
+ "browserslist": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"dev": true,
"requires": {
- "@babel/types": "^7.6.0",
- "jsesc": "^2.5.1",
- "lodash": "^4.17.13",
- "source-map": "^0.5.0"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
},
- "@babel/parser": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz",
- "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==",
+ "caniuse-lite": {
+ "version": "1.0.30001062",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001062.tgz",
+ "integrity": "sha512-ei9ZqeOnN7edDrb24QfJ0OZicpEbsWxv7WusOiQGz/f2SfvBgHHbOEwBJ8HKGVSyx8Z6ndPjxzR6m0NQq+0bfw==",
"dev": true
},
- "@babel/template": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
- "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.6.0",
- "@babel/types": "^7.6.0"
- }
+ "electron-to-chromium": {
+ "version": "1.3.451",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz",
+ "integrity": "sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A==",
+ "dev": true
},
- "@babel/traverse": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz",
- "integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==",
+ "node-releases": {
+ "version": "1.1.56",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.56.tgz",
+ "integrity": "sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.6.2",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.4.4",
- "@babel/parser": "^7.6.2",
- "@babel/types": "^7.6.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.13"
+ "@babel/highlight": "^7.8.3"
}
},
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
"dev": true,
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
}
}
},
"@babel/generator": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz",
- "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.5.5",
+ "@babel/types": "^7.9.6",
"jsesc": "^2.5.1",
"lodash": "^4.17.13",
- "source-map": "^0.5.0",
- "trim-right": "^1.0.1"
- },
- "dependencies": {
- "@babel/types": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz",
- "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
- }
- },
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
- "dev": true
- }
+ "source-map": "^0.5.0"
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
- "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+ "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
- "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
+ "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
"dev": true,
"requires": {
- "@babel/helper-explode-assignable-expression": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/helper-explode-assignable-expression": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
- "@babel/helper-call-delegate": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
- "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
+ "@babel/helper-compilation-targets": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz",
+ "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.4.4",
- "@babel/traverse": "^7.4.4",
- "@babel/types": "^7.4.4"
+ "@babel/compat-data": "^7.9.6",
+ "browserslist": "^4.11.1",
+ "invariant": "^2.2.4",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
},
"dependencies": {
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
+ "browserslist": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"dev": true,
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001062",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001062.tgz",
+ "integrity": "sha512-ei9ZqeOnN7edDrb24QfJ0OZicpEbsWxv7WusOiQGz/f2SfvBgHHbOEwBJ8HKGVSyx8Z6ndPjxzR6m0NQq+0bfw==",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.451",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz",
+ "integrity": "sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A==",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "1.1.56",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.56.tgz",
+ "integrity": "sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw==",
+ "dev": true
}
}
},
+ "@babel/helper-create-regexp-features-plugin": {
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
+ "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3",
+ "regexpu-core": "^4.7.0"
+ }
+ },
"@babel/helper-define-map": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
- "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
+ "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/types": "^7.5.5",
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/types": "^7.8.3",
"lodash": "^4.17.13"
},
"dependencies": {
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
- "dev": true,
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
}
}
},
"@babel/helper-explode-assignable-expression": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
- "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
+ "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ }
}
},
"@babel/helper-function-name": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
- "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.0.0",
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
}
},
"@babel/helper-get-function-arity": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
- "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
- "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
+ "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
"dev": true,
"requires": {
- "@babel/types": "^7.4.4"
- },
- "dependencies": {
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
- }
- }
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
- "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
"dev": true,
"requires": {
- "@babel/types": "^7.5.5"
- },
- "dependencies": {
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
- }
- }
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-module-imports": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
- "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-module-transforms": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
- "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-simple-access": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.4.4",
- "@babel/template": "^7.4.4",
- "@babel/types": "^7.5.5",
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
"lodash": "^4.17.13"
},
"dependencies": {
- "@babel/parser": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz",
- "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==",
- "dev": true
- },
- "@babel/template": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
- "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
- "dev": true,
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.6.0",
- "@babel/types": "^7.6.0"
+ "@babel/highlight": "^7.8.3"
}
},
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
- "dev": true,
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
}
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
- "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-plugin-utils": {
@@ -345,179 +348,182 @@
"dev": true
},
"@babel/helper-regex": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
- "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+ "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
"dev": true,
"requires": {
"lodash": "^4.17.13"
}
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
- "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
+ "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-wrap-function": "^7.1.0",
- "@babel/template": "^7.1.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-wrap-function": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ }
}
},
"@babel/helper-replace-supers": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
- "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.5.5",
- "@babel/helper-optimise-call-expression": "^7.0.0",
- "@babel/traverse": "^7.5.5",
- "@babel/types": "^7.5.5"
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
},
"dependencies": {
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
- "dev": true,
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
}
}
},
"@babel/helper-simple-access": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
- "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
"dev": true,
"requires": {
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
- "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.4.4"
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
},
"dependencies": {
- "@babel/types": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz",
- "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==",
- "dev": true,
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
+ "@babel/highlight": "^7.8.3"
}
},
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
- "dev": true
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
}
}
},
- "@babel/helper-wrap-function": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
- "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+ "@babel/helper-split-export-declaration": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/template": "^7.1.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.2.0"
+ "@babel/types": "^7.8.3"
}
},
- "@babel/helpers": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz",
- "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==",
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g=="
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
+ "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
"dev": true,
"requires": {
- "@babel/template": "^7.6.0",
- "@babel/traverse": "^7.6.2",
- "@babel/types": "^7.6.0"
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
},
"dependencies": {
- "@babel/generator": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz",
- "integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==",
- "dev": true,
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"requires": {
- "@babel/types": "^7.6.0",
- "jsesc": "^2.5.1",
- "lodash": "^4.17.13",
- "source-map": "^0.5.0"
+ "@babel/highlight": "^7.8.3"
}
},
- "@babel/parser": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz",
- "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==",
- "dev": true
- },
- "@babel/template": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
- "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
- "dev": true,
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
"requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.6.0",
- "@babel/types": "^7.6.0"
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
- },
- "@babel/traverse": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz",
- "integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==",
- "dev": true,
+ }
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.6.2",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.4.4",
- "@babel/parser": "^7.6.2",
- "@babel/types": "^7.6.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.13"
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
- "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.0.0"
- }
- }
+ "@babel/highlight": "^7.8.3"
}
},
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
- "dev": true,
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
}
}
@@ -534,832 +540,1266 @@
}
},
"@babel/parser": {
- "version": "7.3.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz",
- "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
"dev": true
},
"@babel/plugin-proposal-async-generator-functions": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
- "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
+ "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.1.0",
- "@babel/plugin-syntax-async-generators": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-remap-async-to-generator": "^7.8.3",
+ "@babel/plugin-syntax-async-generators": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-proposal-dynamic-import": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
- "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-dynamic-import": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-proposal-json-strings": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
- "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
+ "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-json-strings": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-proposal-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-proposal-object-rest-spread": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz",
- "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz",
+ "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-transform-parameters": "^7.9.5"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
- "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz",
+ "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz",
- "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==",
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
+ "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.6.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.8",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-syntax-async-generators": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
- "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-syntax-dynamic-import": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz",
- "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-syntax-json-strings": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
- "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-syntax-object-rest-spread": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
- "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
- "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-syntax-top-level-await": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
+ "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-arrow-functions": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
- "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
+ "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-async-to-generator": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
- "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
+ "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.1.0"
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-remap-async-to-generator": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
- "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
+ "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz",
- "integrity": "sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
+ "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
"lodash": "^4.17.13"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-classes": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
- "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-define-map": "^7.5.5",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-optimise-call-expression": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.5.5",
- "@babel/helper-split-export-declaration": "^7.4.4",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz",
+ "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-define-map": "^7.8.3",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-split-export-declaration": "^7.8.3",
"globals": "^11.1.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ }
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
- "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
+ "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz",
- "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz",
+ "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz",
- "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
+ "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.6.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
- "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
+ "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
- "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
+ "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
"dev": true,
"requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
- "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz",
+ "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
- "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
+ "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ }
}
},
"@babel/plugin-transform-literals": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
- "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
+ "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
- "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
+ "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
- "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz",
+ "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz",
- "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz",
+ "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.4.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-simple-access": "^7.1.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-simple-access": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
- "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz",
+ "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.4.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-hoist-variables": "^7.8.3",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
- "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz",
+ "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz",
- "integrity": "sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
+ "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
"dev": true,
"requires": {
- "regexpu-core": "^4.6.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
- "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
+ "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
- "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
+ "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.5.5"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
- "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz",
+ "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==",
"dev": true,
"requires": {
- "@babel/helper-call-delegate": "^7.4.4",
- "@babel/helper-get-function-arity": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
- "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
+ "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.4.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
- "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
+ "version": "7.8.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
+ "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
"dev": true,
"requires": {
- "regenerator-transform": "^0.14.0"
+ "regenerator-transform": "^0.14.2"
}
},
"@babel/plugin-transform-reserved-words": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
- "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
+ "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
- "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
+ "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-spread": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz",
- "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
+ "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
- "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
+ "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
- "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
+ "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
- "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
+ "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz",
- "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
+ "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.6.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ }
}
},
"@babel/preset-env": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.2.tgz",
- "integrity": "sha512-Ru7+mfzy9M1/YTEtlDS8CD45jd22ngb9tXnn64DvQK3ooyqSw9K4K9DUWmYknTTVk4TqygL9dqCrZgm1HMea/Q==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
- "@babel/plugin-proposal-dynamic-import": "^7.5.0",
- "@babel/plugin-proposal-json-strings": "^7.2.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.6.2",
- "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.6.2",
- "@babel/plugin-syntax-async-generators": "^7.2.0",
- "@babel/plugin-syntax-dynamic-import": "^7.2.0",
- "@babel/plugin-syntax-json-strings": "^7.2.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
- "@babel/plugin-transform-arrow-functions": "^7.2.0",
- "@babel/plugin-transform-async-to-generator": "^7.5.0",
- "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
- "@babel/plugin-transform-block-scoping": "^7.6.2",
- "@babel/plugin-transform-classes": "^7.5.5",
- "@babel/plugin-transform-computed-properties": "^7.2.0",
- "@babel/plugin-transform-destructuring": "^7.6.0",
- "@babel/plugin-transform-dotall-regex": "^7.6.2",
- "@babel/plugin-transform-duplicate-keys": "^7.5.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
- "@babel/plugin-transform-for-of": "^7.4.4",
- "@babel/plugin-transform-function-name": "^7.4.4",
- "@babel/plugin-transform-literals": "^7.2.0",
- "@babel/plugin-transform-member-expression-literals": "^7.2.0",
- "@babel/plugin-transform-modules-amd": "^7.5.0",
- "@babel/plugin-transform-modules-commonjs": "^7.6.0",
- "@babel/plugin-transform-modules-systemjs": "^7.5.0",
- "@babel/plugin-transform-modules-umd": "^7.2.0",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.2",
- "@babel/plugin-transform-new-target": "^7.4.4",
- "@babel/plugin-transform-object-super": "^7.5.5",
- "@babel/plugin-transform-parameters": "^7.4.4",
- "@babel/plugin-transform-property-literals": "^7.2.0",
- "@babel/plugin-transform-regenerator": "^7.4.5",
- "@babel/plugin-transform-reserved-words": "^7.2.0",
- "@babel/plugin-transform-shorthand-properties": "^7.2.0",
- "@babel/plugin-transform-spread": "^7.6.2",
- "@babel/plugin-transform-sticky-regex": "^7.2.0",
- "@babel/plugin-transform-template-literals": "^7.4.4",
- "@babel/plugin-transform-typeof-symbol": "^7.2.0",
- "@babel/plugin-transform-unicode-regex": "^7.6.2",
- "@babel/types": "^7.6.0",
- "browserslist": "^4.6.0",
- "core-js-compat": "^3.1.1",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz",
+ "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.9.6",
+ "@babel/helper-compilation-targets": "^7.9.6",
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
+ "@babel/plugin-proposal-dynamic-import": "^7.8.3",
+ "@babel/plugin-proposal-json-strings": "^7.8.3",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-proposal-numeric-separator": "^7.8.3",
+ "@babel/plugin-proposal-object-rest-spread": "^7.9.6",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-proposal-optional-chaining": "^7.9.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.8.3",
+ "@babel/plugin-transform-async-to-generator": "^7.8.3",
+ "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
+ "@babel/plugin-transform-block-scoping": "^7.8.3",
+ "@babel/plugin-transform-classes": "^7.9.5",
+ "@babel/plugin-transform-computed-properties": "^7.8.3",
+ "@babel/plugin-transform-destructuring": "^7.9.5",
+ "@babel/plugin-transform-dotall-regex": "^7.8.3",
+ "@babel/plugin-transform-duplicate-keys": "^7.8.3",
+ "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
+ "@babel/plugin-transform-for-of": "^7.9.0",
+ "@babel/plugin-transform-function-name": "^7.8.3",
+ "@babel/plugin-transform-literals": "^7.8.3",
+ "@babel/plugin-transform-member-expression-literals": "^7.8.3",
+ "@babel/plugin-transform-modules-amd": "^7.9.6",
+ "@babel/plugin-transform-modules-commonjs": "^7.9.6",
+ "@babel/plugin-transform-modules-systemjs": "^7.9.6",
+ "@babel/plugin-transform-modules-umd": "^7.9.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
+ "@babel/plugin-transform-new-target": "^7.8.3",
+ "@babel/plugin-transform-object-super": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.9.5",
+ "@babel/plugin-transform-property-literals": "^7.8.3",
+ "@babel/plugin-transform-regenerator": "^7.8.7",
+ "@babel/plugin-transform-reserved-words": "^7.8.3",
+ "@babel/plugin-transform-shorthand-properties": "^7.8.3",
+ "@babel/plugin-transform-spread": "^7.8.3",
+ "@babel/plugin-transform-sticky-regex": "^7.8.3",
+ "@babel/plugin-transform-template-literals": "^7.8.3",
+ "@babel/plugin-transform-typeof-symbol": "^7.8.4",
+ "@babel/plugin-transform-unicode-regex": "^7.8.3",
+ "@babel/preset-modules": "^0.1.3",
+ "@babel/types": "^7.9.6",
+ "browserslist": "^4.11.1",
+ "core-js-compat": "^3.6.2",
"invariant": "^2.2.2",
- "js-levenshtein": "^1.1.3",
+ "levenary": "^1.1.1",
"semver": "^5.5.0"
},
"dependencies": {
- "@babel/types": {
- "version": "7.6.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
- "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
- }
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
},
"browserslist": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz",
- "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==",
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30000989",
- "electron-to-chromium": "^1.3.247",
- "node-releases": "^1.1.29"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
},
"caniuse-lite": {
- "version": "1.0.30000998",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000998.tgz",
- "integrity": "sha512-8Tj5sPZR9kMHeDD9SZXIVr5m9ofufLLCG2Y4QwQrH18GIwG+kCc+zYdlR036ZRkuKjVVetyxeAgGA1xF7XdmzQ==",
+ "version": "1.0.30001062",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001062.tgz",
+ "integrity": "sha512-ei9ZqeOnN7edDrb24QfJ0OZicpEbsWxv7WusOiQGz/f2SfvBgHHbOEwBJ8HKGVSyx8Z6ndPjxzR6m0NQq+0bfw==",
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.273",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.273.tgz",
- "integrity": "sha512-0kUppiHQvHEENHh+nTtvTt4eXMwcPyWmMaj73GPrSEm3ldKhmmHuOH6IjrmuW6YmyS/fpXcLvMQLNVpqRhpNWw==",
+ "version": "1.3.451",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz",
+ "integrity": "sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A==",
"dev": true
},
"node-releases": {
- "version": "1.1.34",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.34.tgz",
- "integrity": "sha512-fNn12JTEfniTuCqo0r9jXgl44+KxRH/huV7zM/KAGOKxDKrHr6EbT7SSs4B+DNxyBE2mks28AD+Jw6PkfY5uwA==",
+ "version": "1.1.56",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.56.tgz",
+ "integrity": "sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/preset-modules": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
+ "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ }
+ },
+ "@babel/register": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.9.0.tgz",
+ "integrity": "sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q==",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "^2.0.0",
+ "lodash": "^4.17.13",
+ "make-dir": "^2.1.0",
+ "pirates": "^4.0.0",
+ "source-map-support": "^0.5.16"
+ },
+ "dependencies": {
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"dev": true,
"requires": {
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
}
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
}
}
},
"@babel/runtime": {
- "version": "7.4.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz",
- "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
"dev": true,
"requires": {
- "regenerator-runtime": "^0.13.2"
+ "regenerator-runtime": "^0.13.4"
},
"dependencies": {
"regenerator-runtime": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz",
- "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==",
+ "version": "0.13.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
+ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
"dev": true
}
}
},
"@babel/template": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz",
- "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==",
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.2.2",
- "@babel/types": "^7.2.2"
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
}
},
"@babel/traverse": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz",
- "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.5.5",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.4.4",
- "@babel/parser": "^7.5.5",
- "@babel/types": "^7.5.5",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.13"
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
- "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.0.0"
- }
- },
- "@babel/parser": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
- "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==",
- "dev": true
- },
- "@babel/types": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz",
- "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
- }
- },
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
- "dev": true
- }
}
},
"@babel/types": {
- "version": "7.3.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz",
- "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
"dev": true,
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.11",
+ "@babel/helper-validator-identifier": "^7.9.5",
+ "lodash": "^4.17.13",
"to-fast-properties": "^2.0.0"
}
},
"@commitlint/cli": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-8.2.0.tgz",
- "integrity": "sha512-8fJ5pmytc38yw2QWbTTJmXLfSiWPwMkHH4govo9zJ/+ERPBF2jvlxD/dQvk24ezcizjKc6LFka2edYC4OQ+Dgw==",
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-8.3.5.tgz",
+ "integrity": "sha512-6+L0vbw55UEdht71pgWOE55SRgb+8OHcEwGDB234VlIBFGK9P2QOBU7MHiYJ5cjdjCQ0rReNrGjOHmJ99jwf0w==",
"dev": true,
"requires": {
- "@commitlint/format": "^8.2.0",
- "@commitlint/lint": "^8.2.0",
- "@commitlint/load": "^8.2.0",
- "@commitlint/read": "^8.2.0",
+ "@commitlint/format": "^8.3.4",
+ "@commitlint/lint": "^8.3.5",
+ "@commitlint/load": "^8.3.5",
+ "@commitlint/read": "^8.3.4",
"babel-polyfill": "6.26.0",
"chalk": "2.4.2",
"get-stdin": "7.0.0",
- "lodash": "4.17.14",
+ "lodash": "4.17.15",
"meow": "5.0.0",
"resolve-from": "5.0.0",
"resolve-global": "1.0.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
- "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
- "dev": true
- }
}
},
"@commitlint/config-conventional": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-8.2.0.tgz",
- "integrity": "sha512-HuwlHQ3DyVhpK9GHgTMhJXD8Zp8PGIQVpQGYh/iTrEU6TVxdRC61BxIDZvfWatCaiG617Z/U8maRAFrqFM4TqA==",
- "dev": true
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-8.3.4.tgz",
+ "integrity": "sha512-w0Yc5+aVAjZgjYqx29igBOnVCj8O22gy3Vo6Fyp7PwoS7+AYS1x3sN7IBq6i7Ae15Mv5P+rEx1pkxXo5zOMe4g==",
+ "dev": true,
+ "requires": {
+ "conventional-changelog-conventionalcommits": "4.2.1"
+ }
},
"@commitlint/ensure": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-8.2.0.tgz",
- "integrity": "sha512-XZZih/kcRrqK7lEORbSYCfqQw6byfsFbLygRGVdJMlCPGu9E2MjpwCtoj5z7y/lKfUB3MJaBhzn2muJqS1gC6A==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-8.3.4.tgz",
+ "integrity": "sha512-8NW77VxviLhD16O3EUd02lApMFnrHexq10YS4F4NftNoErKbKaJ0YYedktk2boKrtNRf/gQHY/Qf65edPx4ipw==",
"dev": true,
"requires": {
- "lodash": "4.17.14"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
- "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
- "dev": true
- }
+ "lodash": "4.17.15"
}
},
"@commitlint/execute-rule": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-8.2.0.tgz",
- "integrity": "sha512-9MBRthHaulbWTa8ReG2Oii2qc117NuvzhZdnkuKuYLhker7sUXGFcVhLanuWUKGyfyI2o9zVr/NHsNbCCsTzAA==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-8.3.4.tgz",
+ "integrity": "sha512-f4HigYjeIBn9f7OuNv5zh2y5vWaAhNFrfeul8CRJDy82l3Y+09lxOTGxfF3uMXKrZq4LmuK6qvvRCZ8mUrVvzQ==",
"dev": true
},
"@commitlint/format": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-8.2.0.tgz",
- "integrity": "sha512-sA77agkDEMsEMrlGhrLtAg8vRexkOofEEv/CZX+4xlANyAz2kNwJvMg33lcL65CBhqKEnRRJRxfZ1ZqcujdKcQ==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-8.3.4.tgz",
+ "integrity": "sha512-809wlQ/ND6CLZON+w2Rb3YM2TLNDfU2xyyqpZeqzf2reJNpySMSUAeaO/fNDJSOKIsOsR3bI01rGu6hv28k+Nw==",
"dev": true,
"requires": {
"chalk": "^2.0.1"
}
},
"@commitlint/is-ignored": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-8.2.0.tgz",
- "integrity": "sha512-ADaGnKfbfV6KD1pETp0Qf7XAyc75xTy3WJlbvPbwZ4oPdBMsXF0oXEEGMis6qABfU2IXan5/KAJgAFX3vdd0jA==",
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-8.3.5.tgz",
+ "integrity": "sha512-Zo+8a6gJLFDTqyNRx53wQi/XTiz8mncvmWf/4oRG+6WRcBfjSSHY7KPVj5Y6UaLy2EgZ0WQ2Tt6RdTDeQiQplA==",
"dev": true,
"requires": {
- "@types/semver": "^6.0.1",
- "semver": "6.2.0"
+ "semver": "6.3.0"
},
"dependencies": {
"semver": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz",
- "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
},
"@commitlint/lint": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-8.2.0.tgz",
- "integrity": "sha512-ch9JN8aR37ufdjoWv50jLfvFz9rWMgLW5HEkMGLsM/51gjekmQYS5NJg8S2+6F5+jmralAO7VkUMI6FukXKX0A==",
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-8.3.5.tgz",
+ "integrity": "sha512-02AkI0a6PU6rzqUvuDkSi6rDQ2hUgkq9GpmdJqfai5bDbxx2939mK4ZO+7apbIh4H6Pae7EpYi7ffxuJgm+3hQ==",
"dev": true,
"requires": {
- "@commitlint/is-ignored": "^8.2.0",
- "@commitlint/parse": "^8.2.0",
- "@commitlint/rules": "^8.2.0",
+ "@commitlint/is-ignored": "^8.3.5",
+ "@commitlint/parse": "^8.3.4",
+ "@commitlint/rules": "^8.3.4",
"babel-runtime": "^6.23.0",
- "lodash": "4.17.14"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
- "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
- "dev": true
- }
+ "lodash": "4.17.15"
}
},
"@commitlint/load": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-8.2.0.tgz",
- "integrity": "sha512-EV6PfAY/p83QynNd1llHxJiNxKmp43g8+7dZbyfHFbsGOdokrCnoelAVZ+WGgktXwLN/uXyfkcIAxwac015UYw==",
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-8.3.5.tgz",
+ "integrity": "sha512-poF7R1CtQvIXRmVIe63FjSQmN9KDqjRtU5A6hxqXBga87yB2VUJzic85TV6PcQc+wStk52cjrMI+g0zFx+Zxrw==",
"dev": true,
"requires": {
- "@commitlint/execute-rule": "^8.2.0",
- "@commitlint/resolve-extends": "^8.2.0",
+ "@commitlint/execute-rule": "^8.3.4",
+ "@commitlint/resolve-extends": "^8.3.5",
"babel-runtime": "^6.23.0",
"chalk": "2.4.2",
"cosmiconfig": "^5.2.0",
- "lodash": "4.17.14",
+ "lodash": "4.17.15",
"resolve-from": "^5.0.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
- "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
- "dev": true
- }
}
},
"@commitlint/message": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-8.2.0.tgz",
- "integrity": "sha512-LNsSwDLIFgE3nb/Sb1PIluYNy4Q8igdf4tpJCdv5JJDf7CZCZt3ZTglj0YutZZorpRRuHJsVIB2+dI4bVH3bFw==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-8.3.4.tgz",
+ "integrity": "sha512-nEj5tknoOKXqBsaQtCtgPcsAaf5VCg3+fWhss4Vmtq40633xLq0irkdDdMEsYIx8rGR0XPBTukqzln9kAWCkcA==",
"dev": true
},
"@commitlint/parse": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-8.2.0.tgz",
- "integrity": "sha512-vzouqroTXG6QXApkrps0gbeSYW6w5drpUk7QAeZIcaCSPsQXDM8eqqt98ZzlzLJHo5oPNXPX1AAVSTrssvHemA==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-8.3.4.tgz",
+ "integrity": "sha512-b3uQvpUQWC20EBfKSfMRnyx5Wc4Cn778bVeVOFErF/cXQK725L1bYFvPnEjQO/GT8yGVzq2wtLaoEqjm1NJ/Bw==",
"dev": true,
"requires": {
"conventional-changelog-angular": "^1.3.3",
- "conventional-commits-parser": "^2.1.0",
+ "conventional-commits-parser": "^3.0.0",
"lodash": "^4.17.11"
}
},
"@commitlint/read": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-8.2.0.tgz",
- "integrity": "sha512-1tBai1VuSQmsOTsvJr3Fi/GZqX3zdxRqYe/yN4i3cLA5S2Y4QGJ5I3l6nGZlKgm/sSelTCVKHltrfWU8s5H7SA==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-8.3.4.tgz",
+ "integrity": "sha512-FKv1kHPrvcAG5j+OSbd41IWexsbLhfIXpxVC/YwQZO+FR0EHmygxQNYs66r+GnhD1EfYJYM4WQIqd5bJRx6OIw==",
"dev": true,
"requires": {
- "@commitlint/top-level": "^8.2.0",
+ "@commitlint/top-level": "^8.3.4",
"@marionebl/sander": "^0.6.0",
"babel-runtime": "^6.23.0",
- "git-raw-commits": "^1.3.0"
+ "git-raw-commits": "^2.0.0"
}
},
"@commitlint/resolve-extends": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-8.2.0.tgz",
- "integrity": "sha512-cwi0HUsDcD502HBP8huXfTkVuWmeo1Fiz3GKxNwMBBsJV4+bKa7QrtxbNpXhVuarX7QjWfNTvmW6KmFS7YK9uw==",
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-8.3.5.tgz",
+ "integrity": "sha512-nHhFAK29qiXNe6oH6uG5wqBnCR+BQnxlBW/q5fjtxIaQALgfoNLHwLS9exzbIRFqwJckpR6yMCfgMbmbAOtklQ==",
"dev": true,
"requires": {
- "@types/node": "^12.0.2",
"import-fresh": "^3.0.0",
- "lodash": "4.17.14",
+ "lodash": "4.17.15",
"resolve-from": "^5.0.0",
"resolve-global": "^1.0.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "12.7.11",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.11.tgz",
- "integrity": "sha512-Otxmr2rrZLKRYIybtdG/sgeO+tHY20GxeDjcGmUnmmlCWyEnv2a2x1ZXBo3BTec4OiTXMQCiazB8NMBf0iRlFw==",
- "dev": true
- },
- "lodash": {
- "version": "4.17.14",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
- "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
- "dev": true
- }
}
},
"@commitlint/rules": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-8.2.0.tgz",
- "integrity": "sha512-FlqSBBP2Gxt5Ibw+bxdYpzqYR6HI8NIBpaTBhAjSEAduQtdWFMOhF0zsgkwH7lHN7opaLcnY2fXxAhbzTmJQQA==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-8.3.4.tgz",
+ "integrity": "sha512-xuC9dlqD5xgAoDFgnbs578cJySvwOSkMLQyZADb1xD5n7BNcUJfP8WjT9W1Aw8K3Wf8+Ym/ysr9FZHXInLeaRg==",
"dev": true,
"requires": {
- "@commitlint/ensure": "^8.2.0",
- "@commitlint/message": "^8.2.0",
- "@commitlint/to-lines": "^8.2.0",
+ "@commitlint/ensure": "^8.3.4",
+ "@commitlint/message": "^8.3.4",
+ "@commitlint/to-lines": "^8.3.4",
"babel-runtime": "^6.23.0"
}
},
"@commitlint/to-lines": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-8.2.0.tgz",
- "integrity": "sha512-LXTYG3sMenlN5qwyTZ6czOULVcx46uMy+MEVqpvCgptqr/MZcV/C2J+S2o1DGwj1gOEFMpqrZaE3/1R2Q+N8ng==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-8.3.4.tgz",
+ "integrity": "sha512-5AvcdwRsMIVq0lrzXTwpbbG5fKRTWcHkhn/hCXJJ9pm1JidsnidS1y0RGkb3O50TEHGewhXwNoavxW9VToscUA==",
"dev": true
},
"@commitlint/top-level": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-8.2.0.tgz",
- "integrity": "sha512-Yaw4KmYNy31/HhRUuZ+fupFcDalnfpdu4JGBgGAqS9aBHdMSSWdWqtAaDaxdtWjTZeN3O0sA2gOhXwvKwiDwvw==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-8.3.4.tgz",
+ "integrity": "sha512-nOaeLBbAqSZNpKgEtO6NAxmui1G8ZvLG+0wb4rvv6mWhPDzK1GNZkCd8FUZPahCoJ1iHDoatw7F8BbJLg4nDjg==",
"dev": true,
"requires": {
"find-up": "^4.0.0"
@@ -1385,9 +1825,9 @@
}
},
"p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "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"
@@ -1422,6 +1862,82 @@
"integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==",
"dev": true
},
+ "@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.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
+ },
+ "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"
+ }
+ },
+ "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-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": "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"
+ }
+ },
+ "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
+ },
+ "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
+ }
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+ "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+ "dev": true
+ },
"@marionebl/sander": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@marionebl/sander/-/sander-0.6.1.tgz",
@@ -1444,19 +1960,19 @@
}
},
"@nodelib/fs.scandir": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz",
- "integrity": "sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
"dev": true,
"requires": {
- "@nodelib/fs.stat": "2.0.2",
+ "@nodelib/fs.stat": "2.0.3",
"run-parallel": "^1.1.9"
},
"dependencies": {
"@nodelib/fs.stat": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz",
- "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
"dev": true
}
}
@@ -1468,12 +1984,12 @@
"dev": true
},
"@nodelib/fs.walk": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz",
- "integrity": "sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
"dev": true,
"requires": {
- "@nodelib/fs.scandir": "2.1.2",
+ "@nodelib/fs.scandir": "2.1.3",
"fastq": "^1.6.0"
}
},
@@ -1486,10 +2002,35 @@
"any-observable": "^0.3.0"
}
},
- "@types/estree": {
- "version": "0.0.39",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
- "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "@stylelint/postcss-css-in-js": {
+ "version": "0.37.1",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.1.tgz",
+ "integrity": "sha512-UMf2Rni3JGKi3ZwYRGMYJ5ipOA5ENJSKMtYA/pE1ZLURwdh7B5+z2r73RmWvub+N0UuH1Lo+TGfCgYwPvqpXNw==",
+ "dev": true,
+ "requires": {
+ "@babel/core": ">=7.9.0"
+ }
+ },
+ "@stylelint/postcss-markdown": {
+ "version": "0.36.1",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz",
+ "integrity": "sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw==",
+ "dev": true,
+ "requires": {
+ "remark": "^12.0.0",
+ "unist-util-find-all-after": "^3.0.1"
+ }
+ },
+ "@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true
},
"@types/events": {
@@ -1515,6 +2056,12 @@
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
"dev": true
},
+ "@types/minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=",
+ "dev": true
+ },
"@types/node": {
"version": "11.11.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.0.tgz",
@@ -1527,16 +2074,16 @@
"integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
"dev": true
},
- "@types/q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz",
- "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==",
+ "@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
"dev": true
},
- "@types/semver": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.2.tgz",
- "integrity": "sha512-G1Ggy7/9Nsa1Jt2yiBR2riEuyK2DFNnqow6R7cromXPMNynackRY1vqFTLz/gwnef1LHokbXThcPhqMRjUbkpQ==",
+ "@types/q": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
+ "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
"dev": true
},
"@types/unist": {
@@ -1545,25 +2092,14 @@
"integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
"dev": true
},
- "@types/vfile": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz",
- "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/unist": "*",
- "@types/vfile-message": "*"
- }
- },
- "@types/vfile-message": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz",
- "integrity": "sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==",
+ "@types/yauzl": {
+ "version": "2.9.1",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
+ "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==",
"dev": true,
+ "optional": true,
"requires": {
- "@types/node": "*",
- "@types/unist": "*"
+ "@types/node": "*"
}
},
"JSONStream": {
@@ -1587,15 +2123,15 @@
}
},
"acorn": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
- "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
"dev": true
},
"acorn-jsx": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
- "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
+ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
"dev": true
},
"after": {
@@ -1605,31 +2141,39 @@
"dev": true
},
"agent-base": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
- "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz",
+ "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==",
"dev": true,
"requires": {
- "es6-promisify": "^5.0.0"
+ "debug": "4"
}
},
"aggregate-error": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.0.tgz",
- "integrity": "sha512-yKD9kEoJIR+2IFqhMwayIBgheLYbB3PS2OBhWae1L/ODTd/JF/30cW0bc9TqzRL3k4U41Dieu3BF4I29p8xesA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
+ "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==",
"dev": true,
"requires": {
"clean-stack": "^2.0.0",
- "indent-string": "^3.2.0"
+ "indent-string": "^4.0.0"
+ },
+ "dependencies": {
+ "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
+ }
}
},
"ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
@@ -1642,16 +2186,27 @@
"dev": true
},
"ansi-colors": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
- "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
+ "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
"dev": true
},
"ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
- "dev": true
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
+ "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+ "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "dev": true
+ }
+ }
},
"ansi-regex": {
"version": "3.0.0",
@@ -1663,7 +2218,6 @@
"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"
}
@@ -1675,33 +2229,13 @@
"dev": true
},
"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"
- }
- }
- }
- },
- "append-transform": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
- "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
"dev": true,
"requires": {
- "default-require-extensions": "^2.0.0"
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
}
},
"argparse": {
@@ -1756,13 +2290,73 @@
"dev": true
},
"array-includes": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
- "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
+ "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0",
+ "is-string": "^1.0.5"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "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
+ }
}
},
"array-map": {
@@ -1798,6 +2392,75 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
+ "array.prototype.flat": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
+ "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "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
+ }
+ }
+ },
"arraybuffer.slice": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
@@ -1828,27 +2491,18 @@
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true
},
- "async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
- "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.11"
- }
- },
- "async-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
- "dev": true
- },
"async-limiter": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
"dev": true
},
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true
+ },
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@@ -1936,228 +2590,26 @@
}
}
},
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- },
- "dependencies": {
- "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
- },
- "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"
- }
- },
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
- "dev": true
- },
- "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"
- }
- },
- "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
- }
- }
- },
- "babel-core": {
- "version": "6.26.3",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
- "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
- "dev": true,
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-generator": "^6.26.0",
- "babel-helpers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-register": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "convert-source-map": "^1.5.1",
- "debug": "^2.6.9",
- "json5": "^0.5.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.4",
- "path-is-absolute": "^1.0.1",
- "private": "^0.1.8",
- "slash": "^1.0.0",
- "source-map": "^0.5.7"
- },
- "dependencies": {
- "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"
- }
- },
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
- "dev": true
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
- "dev": true
- }
- }
- },
- "babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
- "dev": true,
- "requires": {
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "detect-indent": "^4.0.0",
- "jsesc": "^1.3.0",
- "lodash": "^4.17.4",
- "source-map": "^0.5.7",
- "trim-right": "^1.0.1"
- },
- "dependencies": {
- "jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
- "dev": true
- }
- }
- },
- "babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
"babel-plugin-dynamic-import-node": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
- "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
"dev": true,
"requires": {
"object.assign": "^4.1.0"
}
},
"babel-plugin-istanbul": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
- "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+ "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
- "find-up": "^3.0.0",
- "istanbul-lib-instrument": "^3.3.0",
- "test-exclude": "^5.2.3"
- },
- "dependencies": {
- "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"
- }
- },
- "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"
- }
- },
- "p-limit": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
- "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
- "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-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
- }
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
}
},
"babel-polyfill": {
@@ -2179,21 +2631,6 @@
}
}
},
- "babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
- "dev": true,
- "requires": {
- "babel-core": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "home-or-tmp": "^2.0.0",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "source-map-support": "^0.4.15"
- }
- },
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -2204,85 +2641,6 @@
"regenerator-runtime": "^0.11.0"
}
},
- "babel-template": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-traverse": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "dev": true,
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "debug": "^2.6.8",
- "globals": "^9.18.0",
- "invariant": "^2.2.2",
- "lodash": "^4.17.4"
- },
- "dependencies": {
- "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"
- }
- },
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
- "dev": true
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "esutils": "^2.0.2",
- "lodash": "^4.17.4",
- "to-fast-properties": "^1.0.3"
- },
- "dependencies": {
- "to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
- "dev": true
- }
- }
- },
- "babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
- "dev": true
- },
"backo2": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
@@ -2290,9 +2648,9 @@
"dev": true
},
"bail": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz",
- "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
+ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
"dev": true
},
"balanced-match": {
@@ -2362,10 +2720,16 @@
"integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
"dev": true
},
+ "base64-js": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
+ "dev": true
+ },
"base64id": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
- "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
"dev": true
},
"better-assert": {
@@ -2378,23 +2742,47 @@
}
},
"binary-extensions": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
- "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
"dev": true
},
+ "bl": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz",
+ "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==",
+ "dev": true,
+ "requires": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
"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
},
- "bluebird": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz",
- "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==",
- "dev": true
- },
"body-parser": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -2492,26 +2880,20 @@
"node-releases": "^1.1.8"
}
},
- "buffer-alloc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
- "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+ "buffer": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz",
+ "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==",
"dev": true,
"requires": {
- "buffer-alloc-unsafe": "^1.1.0",
- "buffer-fill": "^1.0.0"
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4"
}
},
- "buffer-alloc-unsafe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
- "dev": true
- },
- "buffer-fill": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
"dev": true
},
"buffer-from": {
@@ -2553,7 +2935,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
"integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
- "dev": true,
"requires": {
"callsites": "^2.0.0"
},
@@ -2561,8 +2942,7 @@
"callsites": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
- "dev": true
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA="
}
}
},
@@ -2570,7 +2950,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
"integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
- "dev": true,
"requires": {
"caller-callsite": "^2.0.0"
}
@@ -2588,13 +2967,13 @@
"dev": true
},
"camel-case": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
- "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz",
+ "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==",
"dev": true,
"requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.1"
+ "pascal-case": "^3.1.1",
+ "tslib": "^1.10.0"
}
},
"camelcase": {
@@ -2632,10 +3011,21 @@
"integrity": "sha512-nJMjU4UaesbOHTcmz6VS+qaog++Fdepg4KAya5DL/AZrL/aaAZDGOOQ0AECtsJa09r4cJBdHZMive5mw8lnQ5A==",
"dev": true
},
+ "capital-case": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.3.tgz",
+ "integrity": "sha512-OlUSJpUr7SY0uZFOxcwnDOU7/MpHlKTZx2mqnDYQFrDudXLFm0JJ9wr/l4csB+rh2Ug0OPuoSO53PqiZBqno9A==",
+ "dev": true,
+ "requires": {
+ "no-case": "^3.0.3",
+ "tslib": "^1.10.0",
+ "upper-case-first": "^2.0.1"
+ }
+ },
"ccount": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz",
- "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz",
+ "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==",
"dev": true
},
"chai": {
@@ -2656,7 +3046,6 @@
"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",
@@ -2664,53 +3053,47 @@
}
},
"change-case": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.1.0.tgz",
- "integrity": "sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.1.tgz",
+ "integrity": "sha512-qRlUWn/hXnX1R1LBDF/RelJLiqNjKjUqlmuBVSEIyye8kq49CXqkZWKmi8XeUAdDXWFOcGLUMZ+aHn3Q5lzUXw==",
"dev": true,
"requires": {
- "camel-case": "^3.0.0",
- "constant-case": "^2.0.0",
- "dot-case": "^2.1.0",
- "header-case": "^1.0.0",
- "is-lower-case": "^1.1.0",
- "is-upper-case": "^1.1.0",
- "lower-case": "^1.1.1",
- "lower-case-first": "^1.0.0",
- "no-case": "^2.3.2",
- "param-case": "^2.1.0",
- "pascal-case": "^2.0.0",
- "path-case": "^2.1.0",
- "sentence-case": "^2.1.0",
- "snake-case": "^2.1.0",
- "swap-case": "^1.1.0",
- "title-case": "^2.1.0",
- "upper-case": "^1.1.1",
- "upper-case-first": "^1.1.0"
+ "camel-case": "^4.1.1",
+ "capital-case": "^1.0.3",
+ "constant-case": "^3.0.3",
+ "dot-case": "^3.0.3",
+ "header-case": "^2.0.3",
+ "no-case": "^3.0.3",
+ "param-case": "^3.0.3",
+ "pascal-case": "^3.1.1",
+ "path-case": "^3.0.3",
+ "sentence-case": "^3.0.3",
+ "snake-case": "^3.0.3",
+ "tslib": "^1.10.0"
}
},
"character-entities": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz",
- "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
"dev": true
},
"character-entities-html4": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz",
- "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz",
+ "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==",
"dev": true
},
"character-entities-legacy": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz",
- "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
"dev": true
},
"character-reference-invalid": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz",
- "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
"dev": true
},
"chardet": {
@@ -2726,25 +3109,71 @@
"dev": true
},
"chokidar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz",
- "integrity": "sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
+ "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
"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.0"
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.4.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "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
+ },
+ "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"
+ }
+ }
}
},
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "dev": true
+ },
"ci-info": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
@@ -2781,133 +3210,108 @@
"dev": true
},
"cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
"requires": {
- "restore-cursor": "^2.0.0"
+ "restore-cursor": "^3.1.0"
}
},
"cli-truncate": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz",
- "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
+ "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
"dev": true,
"requires": {
- "slice-ansi": "0.0.4",
- "string-width": "^1.0.1"
+ "slice-ansi": "^3.0.0",
+ "string-width": "^4.2.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "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=",
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"dev": true,
"requires": {
- "number-is-nan": "^1.0.0"
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
}
},
- "slice-ansi": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
- "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "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": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
+ "color-name": "~1.1.4"
}
},
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
+ "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
}
}
}
},
"cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
"dev": true
},
"cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dev": true,
"requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
},
"dependencies": {
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "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": "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"
- }
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "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": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "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"
- }
- }
+ "ansi-regex": "^5.0.0"
}
}
}
},
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ },
"clone-regexp": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
@@ -2936,29 +3340,23 @@
"q": "^1.1.2"
}
},
- "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
- },
"codecov": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.6.1.tgz",
- "integrity": "sha512-IUJB6WG47nWK7o50etF8jBadxdMw7DmoQg05yIljstXFBGB6clOZsIj6iD4P82T2YaIU3qq+FFu8K9pxgkCJDQ==",
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.7.0.tgz",
+ "integrity": "sha512-uIixKofG099NbUDyzRk1HdGtaG8O+PBUAg3wfmjwXw2+ek+PZp+puRvbTohqrVfuudaezivJHFgTtSC3M8MXww==",
"dev": true,
"requires": {
- "argv": "^0.0.2",
- "ignore-walk": "^3.0.1",
- "js-yaml": "^3.13.1",
- "teeny-request": "^3.11.3",
- "urlgrey": "^0.4.4"
+ "argv": "0.0.2",
+ "ignore-walk": "3.0.3",
+ "js-yaml": "3.13.1",
+ "teeny-request": "6.0.1",
+ "urlgrey": "0.4.4"
}
},
"collapse-white-space": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz",
- "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
+ "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==",
"dev": true
},
"collection-visit": {
@@ -2985,7 +3383,6 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
"requires": {
"color-name": "1.1.3"
}
@@ -2993,8 +3390,7 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"color-string": {
"version": "1.5.3",
@@ -3013,15 +3409,21 @@
"dev": true
},
"commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
+ "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
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"compare-func": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
- "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.4.tgz",
+ "integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==",
"dev": true,
"requires": {
"array-ify": "^1.0.0",
@@ -3029,9 +3431,9 @@
}
},
"compare-versions": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz",
- "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
+ "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==",
"dev": true
},
"component-bind": {
@@ -3041,9 +3443,9 @@
"dev": true
},
"component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "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": {
@@ -3058,18 +3460,6 @@
"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"
- }
- },
"confusing-browser-globals": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz",
@@ -3106,13 +3496,14 @@
}
},
"constant-case": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz",
- "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.3.tgz",
+ "integrity": "sha512-FXtsSnnrFYpzDmvwDGQW+l8XK3GV1coLyBN0eBz16ZUzGaZcT2ANVCJmLeuw2GQgxKHQIe9e0w2dzkSfaRlUmA==",
"dev": true,
"requires": {
- "snake-case": "^2.1.0",
- "upper-case": "^1.1.1"
+ "no-case": "^3.0.3",
+ "tslib": "^1.10.0",
+ "upper-case": "^2.0.1"
}
},
"contains-path": {
@@ -3137,44 +3528,270 @@
"q": "^1.5.1"
}
},
+ "conventional-changelog-conventionalcommits": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.1.tgz",
+ "integrity": "sha512-vC02KucnkNNap+foDKFm7BVUSDAXktXrUJqGszUuYnt6T0J2azsbYz/w9TDc3VsrW2v6JOtiQWVcgZnporHr4Q==",
+ "dev": true,
+ "requires": {
+ "compare-func": "^1.3.1",
+ "lodash": "^4.2.1",
+ "q": "^1.5.1"
+ }
+ },
"conventional-commits-parser": {
- "version": "2.1.7",
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz",
- "integrity": "sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz",
+ "integrity": "sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA==",
"dev": true,
"requires": {
"JSONStream": "^1.0.4",
- "is-text-path": "^1.0.0",
- "lodash": "^4.2.1",
- "meow": "^4.0.0",
+ "is-text-path": "^1.0.1",
+ "lodash": "^4.17.15",
+ "meow": "^7.0.0",
"split2": "^2.0.0",
- "through2": "^2.0.0",
+ "through2": "^3.0.0",
"trim-off-newlines": "^1.0.0"
},
"dependencies": {
+ "arrify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
+ "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "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"
+ }
+ },
+ "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
+ },
+ "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"
+ }
+ },
+ "map-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
+ "dev": true
+ },
"meow": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
+ "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "arrify": "^2.0.1",
+ "camelcase": "^6.0.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "^4.0.2",
+ "normalize-package-data": "^2.5.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.13.1",
+ "yargs-parser": "^18.1.3"
+ }
+ },
+ "minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "dependencies": {
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ }
+ }
+ },
+ "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": "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"
+ }
+ },
+ "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-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "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
+ },
+ "quick-lru": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz",
- "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ }
+ }
+ },
+ "redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
+ "requires": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ }
+ },
+ "strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
"dev": true,
"requires": {
- "camelcase-keys": "^4.0.0",
- "decamelize-keys": "^1.0.0",
- "loud-rejection": "^1.0.0",
- "minimist": "^1.1.3",
- "minimist-options": "^3.0.1",
- "normalize-package-data": "^2.3.4",
- "read-pkg-up": "^3.0.0",
- "redent": "^2.0.0",
- "trim-newlines": "^2.0.0"
+ "min-indent": "^1.0.0"
+ }
+ },
+ "trim-newlines": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
+ "dev": true
+ },
+ "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
+ }
}
}
}
},
"convert-source-map": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
- "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "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"
@@ -3199,51 +3816,49 @@
"dev": true
},
"core-js-compat": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz",
- "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==",
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
+ "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
"dev": true,
"requires": {
- "browserslist": "^4.6.6",
- "semver": "^6.3.0"
+ "browserslist": "^4.8.5",
+ "semver": "7.0.0"
},
"dependencies": {
"browserslist": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz",
- "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==",
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30000989",
- "electron-to-chromium": "^1.3.247",
- "node-releases": "^1.1.29"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
},
"caniuse-lite": {
- "version": "1.0.30000998",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000998.tgz",
- "integrity": "sha512-8Tj5sPZR9kMHeDD9SZXIVr5m9ofufLLCG2Y4QwQrH18GIwG+kCc+zYdlR036ZRkuKjVVetyxeAgGA1xF7XdmzQ==",
+ "version": "1.0.30001062",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001062.tgz",
+ "integrity": "sha512-ei9ZqeOnN7edDrb24QfJ0OZicpEbsWxv7WusOiQGz/f2SfvBgHHbOEwBJ8HKGVSyx8Z6ndPjxzR6m0NQq+0bfw==",
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.273",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.273.tgz",
- "integrity": "sha512-0kUppiHQvHEENHh+nTtvTt4eXMwcPyWmMaj73GPrSEm3ldKhmmHuOH6IjrmuW6YmyS/fpXcLvMQLNVpqRhpNWw==",
+ "version": "1.3.451",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz",
+ "integrity": "sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A==",
"dev": true
},
"node-releases": {
- "version": "1.1.34",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.34.tgz",
- "integrity": "sha512-fNn12JTEfniTuCqo0r9jXgl44+KxRH/huV7zM/KAGOKxDKrHr6EbT7SSs4B+DNxyBE2mks28AD+Jw6PkfY5uwA==",
- "dev": true,
- "requires": {
- "semver": "^6.3.0"
- }
+ "version": "1.1.56",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.56.tgz",
+ "integrity": "sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw==",
+ "dev": true
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
"dev": true
}
}
@@ -3285,46 +3900,252 @@
}
},
"cp-file": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.1.0.tgz",
- "integrity": "sha512-an34I0lJwKncRKjxe3uGWUuiIIVYsHHjBGKld3OQB56hfoPCYom31VysvfuysKqHLbz6drnqP5YrCfLw17I2kw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-7.0.0.tgz",
+ "integrity": "sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
- "make-dir": "^2.0.0",
+ "make-dir": "^3.0.0",
"nested-error-stacks": "^2.0.0",
- "pify": "^4.0.1",
- "safe-buffer": "^5.0.1"
- },
- "dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- }
+ "p-event": "^4.1.0"
}
},
"cpy": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/cpy/-/cpy-7.1.0.tgz",
- "integrity": "sha512-HT6xnKeHwACUObD3LEFAsjeQ9IUVhC1Pn6Qbk0q6CEWy0WG061khT3ZxQU6IuMXPEEyb+vvluyUOyTdl+9EPWQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/cpy/-/cpy-8.1.0.tgz",
+ "integrity": "sha512-XwlImkjPxMr01qXqC564VD4rfcDQ2eKtYmFlCy0ixsLRJ1cwYVUBh+v47jsQTO1IrmvdjqO813VpDQ0JiTuOdA==",
"dev": true,
"requires": {
- "arrify": "^1.0.1",
- "cp-file": "^6.1.0",
- "globby": "^9.1.0",
- "nested-error-stacks": "^2.0.0"
+ "arrify": "^2.0.1",
+ "cp-file": "^7.0.0",
+ "globby": "^9.2.0",
+ "has-glob": "^1.0.0",
+ "junk": "^3.1.0",
+ "nested-error-stacks": "^2.1.0",
+ "p-all": "^2.1.0",
+ "p-filter": "^2.1.0",
+ "p-map": "^3.0.0"
+ },
+ "dependencies": {
+ "arrify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "dev": true
+ }
}
},
"cpy-cli": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/cpy-cli/-/cpy-cli-2.0.0.tgz",
- "integrity": "sha512-LzrtY3lBWvFZcw4lXgkEbbDUd7y78juC3C5l7gj3UyezMEZF0Be9fjCVLN1HoZAzdMDeC3KHehWpHBJvgVAPkw==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/cpy-cli/-/cpy-cli-3.1.1.tgz",
+ "integrity": "sha512-HCpNdBkQy3rw+uARLuIf0YurqsMXYzBa9ihhSAuxYJcNIrqrSq3BstPfr0cQN38AdMrQiO9Dp4hYy7GtGJsLPg==",
"dev": true,
"requires": {
- "cpy": "^7.0.0",
- "meow": "^5.0.0"
+ "cpy": "^8.0.0",
+ "meow": "^6.1.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ }
+ },
+ "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"
+ }
+ },
+ "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
+ },
+ "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"
+ }
+ },
+ "map-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
+ "dev": true
+ },
+ "meow": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz",
+ "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "^4.0.2",
+ "normalize-package-data": "^2.5.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.13.1",
+ "yargs-parser": "^18.1.3"
+ }
+ },
+ "minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ }
+ },
+ "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": "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"
+ }
+ },
+ "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-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "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
+ },
+ "quick-lru": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ }
+ }
+ },
+ "redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
+ "requires": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ }
+ },
+ "strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
+ "requires": {
+ "min-indent": "^1.0.0"
+ }
+ },
+ "trim-newlines": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
+ "dev": true
+ },
+ "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"
+ }
+ }
}
},
"create-banner": {
@@ -3339,6 +4160,61 @@
"read-pkg-up": "^3.0.0"
},
"dependencies": {
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "change-case": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.1.0.tgz",
+ "integrity": "sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==",
+ "dev": true,
+ "requires": {
+ "camel-case": "^3.0.0",
+ "constant-case": "^2.0.0",
+ "dot-case": "^2.1.0",
+ "header-case": "^1.0.0",
+ "is-lower-case": "^1.1.0",
+ "is-upper-case": "^1.1.0",
+ "lower-case": "^1.1.1",
+ "lower-case-first": "^1.0.0",
+ "no-case": "^2.3.2",
+ "param-case": "^2.1.0",
+ "pascal-case": "^2.0.0",
+ "path-case": "^2.1.0",
+ "sentence-case": "^2.1.0",
+ "snake-case": "^2.1.0",
+ "swap-case": "^1.1.0",
+ "title-case": "^2.1.0",
+ "upper-case": "^1.1.1",
+ "upper-case-first": "^1.1.0"
+ }
+ },
+ "constant-case": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz",
+ "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=",
+ "dev": true,
+ "requires": {
+ "snake-case": "^2.1.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "dot-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz",
+ "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
"dot-prop": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
@@ -3347,34 +4223,93 @@
"requires": {
"is-obj": "^1.0.0"
}
- }
- }
- },
- "cross-env": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz",
- "integrity": "sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.0.tgz",
- "integrity": "sha512-6U/8SMK2FBNnB21oQ4+6Nsodxanw1gTkntYA2zBdkFYFu3ZDx65P2ONEXGSvob/QS6REjVHQ9zxzdOafwFdstw==",
+ },
+ "header-case": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz",
+ "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=",
"dev": true,
"requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.3"
}
},
- "path-key": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz",
- "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==",
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "dev": true,
+ "requires": {
+ "lower-case": "^1.1.1"
+ }
+ },
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "pascal-case": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz",
+ "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=",
+ "dev": true,
+ "requires": {
+ "camel-case": "^3.0.0",
+ "upper-case-first": "^1.1.0"
+ }
+ },
+ "path-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz",
+ "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "sentence-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz",
+ "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case-first": "^1.1.2"
+ }
+ },
+ "snake-case": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz",
+ "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
"dev": true
+ },
+ "upper-case-first": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz",
+ "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=",
+ "dev": true,
+ "requires": {
+ "upper-case": "^1.1.1"
+ }
}
}
},
@@ -3436,13 +4371,13 @@
}
},
"css-select": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
- "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
+ "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
"dev": true,
"requires": {
"boolbase": "^1.0.0",
- "css-what": "^2.1.2",
+ "css-what": "^3.2.1",
"domutils": "^1.7.0",
"nth-check": "^1.0.2"
}
@@ -3454,13 +4389,21 @@
"dev": true
},
"css-tree": {
- "version": "1.0.0-alpha.28",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz",
- "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==",
+ "version": "1.0.0-alpha.37",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
+ "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
"dev": true,
"requires": {
- "mdn-data": "~1.1.0",
- "source-map": "^0.5.3"
+ "mdn-data": "2.0.4",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"css-unit-converter": {
@@ -3469,16 +4412,10 @@
"integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=",
"dev": true
},
- "css-url-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz",
- "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=",
- "dev": true
- },
"css-what": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
- "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz",
+ "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==",
"dev": true
},
"cssdb": {
@@ -3505,24 +4442,10 @@
"postcss": "^7.0.0"
},
"dependencies": {
- "cosmiconfig": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz",
- "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==",
- "dev": true,
- "requires": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.9.0",
- "lodash.get": "^4.4.2",
- "parse-json": "^4.0.0"
- }
- },
"import-fresh": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
"integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
- "dev": true,
"requires": {
"caller-path": "^2.0.0",
"resolve-from": "^3.0.0"
@@ -3531,8 +4454,7 @@
"resolve-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
- "dev": true
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
}
}
},
@@ -3602,23 +4524,35 @@
"dev": true
},
"csso": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
- "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
+ "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
"dev": true,
"requires": {
- "css-tree": "1.0.0-alpha.29"
+ "css-tree": "1.0.0-alpha.39"
},
"dependencies": {
"css-tree": {
- "version": "1.0.0-alpha.29",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
- "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
+ "version": "1.0.0-alpha.39",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
+ "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
"dev": true,
"requires": {
- "mdn-data": "~1.1.0",
- "source-map": "^0.5.3"
+ "mdn-data": "2.0.6",
+ "source-map": "^0.6.1"
}
+ },
+ "mdn-data": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
+ "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
+ "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
}
}
},
@@ -3644,24 +4578,15 @@
"dev": true
},
"dargs": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
- "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "date-fns": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
- "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz",
+ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==",
"dev": true
},
"date-format": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
- "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
+ "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==",
"dev": true
},
"debounce": {
@@ -3730,13 +4655,13 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "default-require-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
- "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
"requires": {
- "strip-bom": "^3.0.0"
+ "clone": "^1.0.2"
}
},
"define-properties": {
@@ -3790,56 +4715,25 @@
}
},
"del": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
- "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
- "dev": true,
- "requires": {
- "globby": "^6.1.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "p-map": "^1.1.1",
- "pify": "^3.0.0",
- "rimraf": "^2.2.8"
- },
- "dependencies": {
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
- }
- }
- }
- },
- "del-cli": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-3.0.0.tgz",
- "integrity": "sha512-J4HDC2mpcN5aopya4VdkyiFXZaqAoo7ua9VpKbciX3DDUSbtJbPMc3ivggJsAAgS6EqonmbenIiMhBGtJPW9FA==",
- "dev": true,
- "requires": {
- "del": "^5.1.0",
- "meow": "^5.0.0"
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz",
+ "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==",
+ "dev": true,
+ "requires": {
+ "globby": "^10.0.1",
+ "graceful-fs": "^4.2.2",
+ "is-glob": "^4.0.1",
+ "is-path-cwd": "^2.2.0",
+ "is-path-inside": "^3.0.1",
+ "p-map": "^3.0.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0"
},
"dependencies": {
"@nodelib/fs.stat": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz",
- "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
"dev": true
},
"array-union": {
@@ -3857,22 +4751,6 @@
"fill-range": "^7.0.1"
}
},
- "del": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz",
- "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==",
- "dev": true,
- "requires": {
- "globby": "^10.0.1",
- "graceful-fs": "^4.2.2",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.1",
- "p-map": "^3.0.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0"
- }
- },
"dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -3883,17 +4761,25 @@
}
},
"fast-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz",
- "integrity": "sha512-wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
+ "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
"dev": true,
"requires": {
- "@nodelib/fs.stat": "^2.0.1",
- "@nodelib/fs.walk": "^1.2.1",
- "glob-parent": "^5.0.0",
- "is-glob": "^4.0.1",
- "merge2": "^1.2.3",
- "micromatch": "^4.0.2"
+ "@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"
+ },
+ "dependencies": {
+ "merge2": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
+ "dev": true
+ }
}
},
"fill-range": {
@@ -3906,18 +4792,18 @@
}
},
"glob-parent": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
- "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
}
},
"globby": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz",
- "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==",
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
+ "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
"dev": true,
"requires": {
"@types/glob": "^7.1.1",
@@ -3931,44 +4817,23 @@
}
},
"graceful-fs": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
- "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
"dev": true
},
"ignore": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
- "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.6.tgz",
+ "integrity": "sha512-cgXgkypZBcCnOgSihyeqbo6gjIaIyDqPQB7Ra4vhE9m6kigdGoQDMHjviFhRZo3IMlRy6yElosoviMs5YxZXUA==",
"dev": true
},
- "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-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-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.2",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
- "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
- "dev": true
- },
"micromatch": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
@@ -3979,25 +4844,22 @@
"picomatch": "^2.0.5"
}
},
- "p-map": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
- "dev": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
"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
},
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
"rimraf": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
- "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
+ "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"
@@ -4020,6 +4882,218 @@
}
}
},
+ "del-cli": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-3.0.1.tgz",
+ "integrity": "sha512-BLHItGr82rUbHhjMu41d+vw9Md49i81jmZSV00HdTq4t+RTHywmEht/23mNFpUl2YeLYJZJyGz4rdlMAyOxNeg==",
+ "dev": true,
+ "requires": {
+ "del": "^5.1.0",
+ "meow": "^6.1.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ }
+ },
+ "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"
+ }
+ },
+ "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
+ },
+ "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"
+ }
+ },
+ "map-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
+ "dev": true
+ },
+ "meow": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz",
+ "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "^4.0.2",
+ "normalize-package-data": "^2.5.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.13.1",
+ "yargs-parser": "^18.1.3"
+ }
+ },
+ "minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ }
+ },
+ "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": "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"
+ }
+ },
+ "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-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "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
+ },
+ "quick-lru": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ }
+ }
+ },
+ "redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
+ "requires": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ }
+ },
+ "strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
+ "requires": {
+ "min-indent": "^1.0.0"
+ }
+ },
+ "trim-newlines": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
+ "dev": true
+ },
+ "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"
+ }
+ }
+ }
+ },
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
@@ -4027,20 +5101,11 @@
"dev": true
},
"dependency-graph": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.8.0.tgz",
- "integrity": "sha512-DCvzSq2UiMsuLnj/9AL484ummEgLtZIcRS7YvtO38QnpX3vqh9nJ8P+zhu8Ja+SmLrBHO2iDbva20jq38qvBkQ==",
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz",
+ "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==",
"dev": true
},
- "detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "dev": true,
- "requires": {
- "repeating": "^2.0.0"
- }
- },
"di": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
@@ -4119,12 +5184,13 @@
}
},
"dot-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz",
- "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.3.tgz",
+ "integrity": "sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA==",
"dev": true,
"requires": {
- "no-case": "^2.2.0"
+ "no-case": "^3.0.3",
+ "tslib": "^1.10.0"
}
},
"dot-prop": {
@@ -4149,15 +5215,15 @@
"dev": true
},
"elegant-spinner": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz",
- "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-2.0.0.tgz",
+ "integrity": "sha512-5YRYHhvhYzV/FC4AiMdeSIg3jAYGq9xFvbhZMpPlJoBsfYgrw2DSCYeXfat6tYBu45PWiyRr3+flaCPPmviPaA==",
"dev": true
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "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": {
@@ -4167,85 +5233,62 @@
"dev": true
},
"end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "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.2.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
- "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.1.tgz",
+ "integrity": "sha512-8MfIfF1/IIfxuc2gv5K+XlFZczw/BpTvqBdl0E2fBLkYQp4miv4LuDTVtYt4yMyaIFLEr4vtaSgV4mjvll8Crw==",
"dev": true,
"requires": {
"accepts": "~1.3.4",
- "base64id": "1.0.0",
+ "base64id": "2.0.0",
"cookie": "0.3.1",
- "debug": "~3.1.0",
- "engine.io-parser": "~2.1.0",
- "ws": "~3.3.1"
- },
- "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"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
+ "debug": "~4.1.0",
+ "engine.io-parser": "~2.2.0",
+ "ws": "^7.1.2"
}
},
"engine.io-client": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
- "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.2.tgz",
+ "integrity": "sha512-AWjc1Xg06a6UPFOBAzJf48W1UR/qKYmv/ubgSCumo9GXgvL/xGIvo05dXoBL+2NTLMipDI7in8xK61C17L25xg==",
"dev": true,
"requires": {
- "component-emitter": "1.2.1",
+ "component-emitter": "~1.3.0",
"component-inherit": "0.0.3",
- "debug": "~3.1.0",
- "engine.io-parser": "~2.1.1",
+ "debug": "~4.1.0",
+ "engine.io-parser": "~2.2.0",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
- "ws": "~3.3.1",
+ "ws": "~6.1.0",
"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==",
+ "ws": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz",
+ "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "async-limiter": "~1.0.0"
}
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
}
}
},
"engine.io-parser": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
- "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz",
+ "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==",
"dev": true,
"requires": {
"after": "0.8.2",
@@ -4255,6 +5298,15 @@
"has-binary2": "~1.0.2"
}
},
+ "enquirer": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz",
+ "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^3.2.1"
+ }
+ },
"ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
@@ -4301,21 +5353,6 @@
"is-symbol": "^1.0.2"
}
},
- "es6-promise": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
- "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
- "dev": true
- },
- "es6-promisify": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
- "dev": true,
- "requires": {
- "es6-promise": "^4.0.3"
- }
- },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -4325,116 +5362,209 @@
"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
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"eslint": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz",
- "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.1.0.tgz",
+ "integrity": "sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
"ajv": "^6.10.0",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
"debug": "^4.0.1",
"doctrine": "^3.0.0",
"eslint-scope": "^5.0.0",
- "eslint-utils": "^1.4.2",
+ "eslint-utils": "^2.0.0",
"eslint-visitor-keys": "^1.1.0",
- "espree": "^6.1.1",
- "esquery": "^1.0.1",
+ "espree": "^7.0.0",
+ "esquery": "^1.2.0",
"esutils": "^2.0.2",
"file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^5.0.0",
- "globals": "^11.7.0",
+ "globals": "^12.1.0",
"ignore": "^4.0.6",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
- "inquirer": "^6.4.1",
+ "inquirer": "^7.0.0",
"is-glob": "^4.0.0",
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
+ "levn": "^0.4.1",
"lodash": "^4.17.14",
"minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
+ "optionator": "^0.9.1",
"progress": "^2.0.0",
- "regexpp": "^2.0.1",
- "semver": "^6.1.2",
- "strip-ansi": "^5.2.0",
- "strip-json-comments": "^3.0.1",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
"table": "^5.2.3",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
"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==",
+ "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.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "cross-spawn": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
+ "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
"glob-parent": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
- "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
- },
- "dependencies": {
- "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"
- }
- }
}
},
+ "globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
"strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "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": "^4.1.0"
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
}
}
}
},
"eslint-config-airbnb-base": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz",
- "integrity": "sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA==",
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.1.0.tgz",
+ "integrity": "sha512-+XCcfGyCnbzOnktDVhwsCAx+9DmrzEmuwxyHUJpw+kqBVT744OUBrB09khgFKlK1lshVww6qXGsYPZpavoNjJw==",
"dev": true,
"requires": {
- "confusing-browser-globals": "^1.0.7",
+ "confusing-browser-globals": "^1.0.9",
"object.assign": "^4.1.0",
- "object.entries": "^1.1.0"
+ "object.entries": "^1.1.1"
}
},
"eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz",
+ "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==",
"dev": true,
"requires": {
"debug": "^2.6.9",
- "resolve": "^1.5.0"
+ "resolve": "^1.13.1"
},
"dependencies": {
"debug": {
@@ -4451,16 +5581,25 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
+ },
+ "resolve": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
}
}
},
"eslint-module-utils": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
- "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
+ "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
"dev": true,
"requires": {
- "debug": "^2.6.8",
+ "debug": "^2.6.9",
"pkg-dir": "^2.0.0"
},
"dependencies": {
@@ -4482,22 +5621,23 @@
}
},
"eslint-plugin-import": {
- "version": "2.18.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz",
- "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==",
+ "version": "2.20.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz",
+ "integrity": "sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==",
"dev": true,
"requires": {
"array-includes": "^3.0.3",
+ "array.prototype.flat": "^1.2.1",
"contains-path": "^0.1.0",
"debug": "^2.6.9",
"doctrine": "1.5.0",
"eslint-import-resolver-node": "^0.3.2",
- "eslint-module-utils": "^2.4.0",
+ "eslint-module-utils": "^2.4.1",
"has": "^1.0.3",
"minimatch": "^3.0.4",
"object.values": "^1.1.0",
"read-pkg-up": "^2.0.0",
- "resolve": "^1.11.0"
+ "resolve": "^1.12.0"
},
"dependencies": {
"debug": {
@@ -4583,9 +5723,9 @@
}
},
"resolve": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz",
- "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==",
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
"dev": true,
"requires": {
"path-parse": "^1.0.6"
@@ -4604,12 +5744,12 @@
}
},
"eslint-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
- "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
+ "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
"dev": true,
"requires": {
- "eslint-visitor-keys": "^1.0.0"
+ "eslint-visitor-keys": "^1.1.0"
}
},
"eslint-visitor-keys": {
@@ -4619,13 +5759,13 @@
"dev": true
},
"espree": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz",
- "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.0.0.tgz",
+ "integrity": "sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==",
"dev": true,
"requires": {
- "acorn": "^7.0.0",
- "acorn-jsx": "^5.0.2",
+ "acorn": "^7.1.1",
+ "acorn-jsx": "^5.2.0",
"eslint-visitor-keys": "^1.1.0"
}
},
@@ -4636,12 +5776,20 @@
"dev": true
},
"esquery": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
- "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
"dev": true,
"requires": {
- "estraverse": "^4.0.0"
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
+ "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
+ "dev": true
+ }
}
},
"esrecurse": {
@@ -4660,9 +5808,9 @@
"dev": true
},
"estree-walker": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.0.tgz",
- "integrity": "sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
"dev": true
},
"esutils": {
@@ -4672,24 +5820,69 @@
"dev": true
},
"eventemitter3": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
- "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
+ "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
"dev": true
},
"execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz",
+ "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==",
"dev": true,
"requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
+ "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"execall": {
@@ -4751,57 +5944,6 @@
}
}
},
- "expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
- "dev": true,
- "requires": {
- "fill-range": "^2.1.0"
- },
- "dependencies": {
- "fill-range": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
- "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
- "dev": true,
- "requires": {
- "is-number": "^2.1.0",
- "isobject": "^2.0.0",
- "randomatic": "^3.0.0",
- "repeat-element": "^1.1.2",
- "repeat-string": "^1.5.2"
- }
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "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"
- }
- },
- "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"
- }
- }
- }
- },
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -4906,44 +6048,27 @@
}
},
"extract-zip": {
- "version": "1.6.7",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
- "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz",
+ "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==",
"dev": true,
"requires": {
- "concat-stream": "1.6.2",
- "debug": "2.6.9",
- "mkdirp": "0.5.1",
- "yauzl": "2.4.1"
- },
- "dependencies": {
- "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"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
+ "@types/yauzl": "^2.9.1",
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
+ "yauzl": "^2.10.0"
}
},
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
"dev": true
},
"fast-glob": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz",
- "integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==",
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
+ "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
"dev": true,
"requires": {
"@mrmlnc/readdir-enhanced": "^2.2.1",
@@ -4955,9 +6080,9 @@
}
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "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": {
@@ -4967,27 +6092,27 @@
"dev": true
},
"fastq": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz",
- "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
+ "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==",
"dev": true,
"requires": {
- "reusify": "^1.0.0"
+ "reusify": "^1.0.4"
}
},
"fd-slicer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
- "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
"dev": true,
"requires": {
"pend": "~1.2.0"
}
},
"figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
"dev": true,
"requires": {
"escape-string-regexp": "^1.0.5"
@@ -5002,22 +6127,6 @@
"flat-cache": "^2.0.1"
}
},
- "filename-regex": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
- "dev": true
- },
- "fileset": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
- "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
- "dev": true,
- "requires": {
- "glob": "^7.0.3",
- "minimatch": "^3.0.3"
- }
- },
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -5073,6 +6182,87 @@
}
}
},
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.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-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
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ }
+ }
+ },
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
@@ -5082,6 +6272,15 @@
"locate-path": "^2.0.0"
}
},
+ "find-versions": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
+ "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
+ "dev": true,
+ "requires": {
+ "semver-regex": "^2.0.0"
+ }
+ },
"flat": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz",
@@ -5111,9 +6310,9 @@
}
},
"flatted": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
- "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
+ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
"flatten": {
@@ -5122,16 +6321,10 @@
"integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
"dev": true
},
- "fn-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz",
- "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=",
- "dev": true
- },
"follow-redirects": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz",
- "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz",
+ "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==",
"dev": true,
"requires": {
"debug": "^3.0.0"
@@ -5154,15 +6347,6 @@
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "dev": true,
- "requires": {
- "for-in": "^1.0.1"
- }
- },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -5172,15 +6356,29 @@
"map-cache": "^0.2.2"
}
},
+ "fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true
+ },
"fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
+ "graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+ "dev": true
+ }
}
},
"fs.realpath": {
@@ -5190,643 +6388,318 @@
"dev": true
},
"fsevents": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
- "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true
+ },
+ "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-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
+ "dev": true
+ },
+ "get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
+ "dev": true
+ },
+ "get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+ "dev": true
+ },
+ "get-stdin": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
+ "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "git-raw-commits": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.7.tgz",
+ "integrity": "sha512-SkwrTqrDxw8y0G1uGJ9Zw13F7qu3LF8V4BifyDeiJCxSnjRGZD9SaoMiMqUvvXMXh6S3sOQ1DsBN7L2fMUZW/g==",
"dev": true,
- "optional": true,
"requires": {
- "nan": "^2.9.2",
- "node-pre-gyp": "^0.10.0"
+ "dargs": "^7.0.0",
+ "lodash.template": "^4.0.2",
+ "meow": "^7.0.0",
+ "split2": "^2.0.0",
+ "through2": "^3.0.0"
},
"dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "debug": {
- "version": "2.6.9",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "dev": true,
- "optional": 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"
- }
- },
- "glob": {
- "version": "7.1.3",
- "bundled": true,
- "dev": true,
- "optional": 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"
- }
- },
- "has-unicode": {
+ "arrify": {
"version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "dev": true
},
- "iconv-lite": {
- "version": "0.4.24",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
+ "camelcase": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
+ "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
+ "dev": true
},
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
+ "camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
"dev": true,
- "optional": true,
"requires": {
- "minimatch": "^3.0.4"
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ }
}
},
- "inflight": {
- "version": "1.0.6",
- "bundled": 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,
- "optional": true,
"requires": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
}
},
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "dev": true,
- "optional": 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
},
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": 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,
- "optional": true,
"requires": {
- "number-is-nan": "^1.0.0"
+ "p-locate": "^4.1.0"
}
},
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
+ "map-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
+ "dev": true
},
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
+ "meow": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
+ "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
"dev": true,
- "optional": true,
"requires": {
- "brace-expansion": "^1.1.7"
+ "@types/minimist": "^1.2.0",
+ "arrify": "^2.0.1",
+ "camelcase": "^6.0.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "^4.0.2",
+ "normalize-package-data": "^2.5.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.13.1",
+ "yargs-parser": "^18.1.3"
}
},
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minipass": {
- "version": "2.3.5",
- "bundled": true,
+ "minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
"dev": true,
- "optional": true,
"requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "dependencies": {
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ }
}
},
- "minizlib": {
- "version": "1.2.1",
- "bundled": true,
+ "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,
- "optional": true,
"requires": {
- "minipass": "^2.2.1"
+ "p-try": "^2.0.0"
}
},
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
+ "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,
- "optional": true,
"requires": {
- "minimist": "0.0.8"
+ "p-limit": "^2.2.0"
}
},
- "ms": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
+ "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
},
- "needle": {
- "version": "2.2.4",
- "bundled": true,
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
"dev": true,
- "optional": true,
"requires": {
- "debug": "^2.1.2",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
}
},
- "node-pre-gyp": {
- "version": "0.10.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- }
+ "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
},
- "nopt": {
+ "quick-lru": {
"version": "4.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "npm-bundled": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true
},
- "rc": {
- "version": "1.2.8",
- "bundled": true,
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
- "optional": true,
"requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
},
"dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
}
}
},
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "optional": 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"
- }
- },
- "rimraf": {
- "version": "2.6.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "semver": {
- "version": "5.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
"dev": true,
- "optional": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ }
}
},
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.8",
- "bundled": true,
+ "redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
"dev": true,
- "optional": true,
"requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.3.4",
- "minizlib": "^1.1.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
}
},
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.3",
- "bundled": true,
+ "strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
"dev": true,
- "optional": true,
"requires": {
- "string-width": "^1.0.2 || 2"
+ "min-indent": "^1.0.0"
}
},
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
+ "trim-newlines": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
+ "dev": true
},
- "yallist": {
- "version": "3.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "g-status": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/g-status/-/g-status-2.0.2.tgz",
- "integrity": "sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA==",
- "dev": true,
- "requires": {
- "arrify": "^1.0.1",
- "matcher": "^1.0.0",
- "simple-git": "^1.85.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
- },
- "get-func-name": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
- "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
- "dev": true
- },
- "get-own-enumerable-property-symbols": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz",
- "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==",
- "dev": true
- },
- "get-stdin": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
- "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
- "dev": true
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
- },
- "git-raw-commits": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz",
- "integrity": "sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==",
- "dev": true,
- "requires": {
- "dargs": "^4.0.1",
- "lodash.template": "^4.0.2",
- "meow": "^4.0.0",
- "split2": "^2.0.0",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "meow": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz",
- "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==",
+ "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-keys": "^4.0.0",
- "decamelize-keys": "^1.0.0",
- "loud-rejection": "^1.0.0",
- "minimist": "^1.1.3",
- "minimist-options": "^3.0.1",
- "normalize-package-data": "^2.3.4",
- "read-pkg-up": "^3.0.0",
- "redent": "^2.0.0",
- "trim-newlines": "^2.0.0"
+ "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
+ }
}
}
}
@@ -5845,42 +6718,6 @@
"path-is-absolute": "^1.0.0"
}
},
- "glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "dev": true,
- "requires": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true,
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
"glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
@@ -5944,14 +6781,14 @@
"dev": true
},
"globby": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-9.1.0.tgz",
- "integrity": "sha512-VtYjhHr7ncls724Of5W6Kaahz0ag7dB4G62/2HsN+xEKG6SrPzM1AJMerGxQTwJGnN9reeyxdvXbuZYpfssCvg==",
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
+ "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
"dev": true,
"requires": {
"@types/glob": "^7.1.1",
"array-union": "^1.0.2",
- "dir-glob": "^2.2.1",
+ "dir-glob": "^2.2.2",
"fast-glob": "^2.2.6",
"glob": "^7.1.3",
"ignore": "^4.0.3",
@@ -5974,20 +6811,12 @@
"dev": true
},
"gonzales-pe": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.4.tgz",
- "integrity": "sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
+ "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
"dev": true,
"requires": {
- "minimist": "1.1.x"
- },
- "dependencies": {
- "minimist": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
- "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
- "dev": true
- }
+ "minimist": "^1.2.5"
}
},
"graceful-fs": {
@@ -6002,25 +6831,11 @@
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
"dev": true
},
- "handlebars": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz",
- "integrity": "sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==",
- "dev": true,
- "requires": {
- "neo-async": "^2.6.0",
- "optimist": "^0.6.1",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
+ "hard-rejection": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+ "dev": true
},
"has": {
"version": "1.0.3",
@@ -6031,23 +6846,6 @@
"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"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- }
- }
- },
"has-binary2": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
@@ -6074,8 +6872,27 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "has-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz",
+ "integrity": "sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.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"
+ }
+ }
+ }
},
"has-symbols": {
"version": "1.0.0",
@@ -6122,13 +6939,13 @@
"dev": true
},
"header-case": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz",
- "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.3.tgz",
+ "integrity": "sha512-LChe/V32mnUQnTwTxd3aAlNMk8ia9tjCDb/LjYtoMrdAPApxLB+azejUk5ERZIZdIqvinwv6BAUuFXH/tQPdZA==",
"dev": true,
"requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.3"
+ "capital-case": "^1.0.3",
+ "tslib": "^1.10.0"
}
},
"hex-color-regex": {
@@ -6137,16 +6954,6 @@
"integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
"dev": true
},
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.1"
- }
- },
"hosted-git-info": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
@@ -6171,6 +6978,12 @@
"integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
"dev": true
},
+ "html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true
+ },
"html-tags": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
@@ -6192,9 +7005,9 @@
},
"dependencies": {
"readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -6218,9 +7031,9 @@
}
},
"http-proxy": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz",
- "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==",
+ "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",
@@ -6228,46 +7041,107 @@
"requires-port": "^1.0.0"
}
},
+ "http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dev": true,
+ "requires": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
"https-proxy-agent": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz",
- "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
+ "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
"dev": true,
"requires": {
- "agent-base": "^4.3.0",
- "debug": "^3.1.0"
+ "agent-base": "5",
+ "debug": "4"
},
"dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
+ "agent-base": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
+ "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
+ "dev": true
}
}
},
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ },
"husky": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/husky/-/husky-3.0.8.tgz",
- "integrity": "sha512-HFOsgcyrX3qe/rBuqyTt+P4Gxn5P0seJmr215LAZ/vnwK3jWB3r0ck7swbzGRUbufCf9w/lgHPVbF/YXQALgfQ==",
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz",
+ "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==",
"dev": true,
"requires": {
- "chalk": "^2.4.2",
- "cosmiconfig": "^5.2.1",
- "execa": "^1.0.0",
- "get-stdin": "^7.0.0",
- "is-ci": "^2.0.0",
+ "chalk": "^4.0.0",
+ "ci-info": "^2.0.0",
+ "compare-versions": "^3.6.0",
+ "cosmiconfig": "^6.0.0",
+ "find-versions": "^3.2.0",
"opencollective-postinstall": "^2.0.2",
"pkg-dir": "^4.2.0",
"please-upgrade-node": "^3.2.0",
- "read-pkg": "^5.1.1",
- "run-node": "^1.0.0",
- "slash": "^3.0.0"
+ "slash": "^3.0.0",
+ "which-pm-runs": "^1.0.0"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ }
+ },
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -6278,6 +7152,12 @@
"path-exists": "^4.0.0"
}
},
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -6288,9 +7168,9 @@
}
},
"p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "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"
@@ -6329,6 +7209,12 @@
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"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
+ },
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -6338,32 +7224,20 @@
"find-up": "^4.0.0"
}
},
- "please-upgrade-node": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
- "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
- "dev": true,
- "requires": {
- "semver-compare": "^1.0.0"
- }
- },
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "dev": true,
- "requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- }
- },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
}
}
},
@@ -6376,6 +7250,12 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
+ "ieee754": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
+ "dev": true
+ },
"ignore": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
@@ -6383,9 +7263,9 @@
"dev": true
},
"ignore-walk": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.2.tgz",
- "integrity": "sha512-EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
+ "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
"dev": true,
"requires": {
"minimatch": "^3.0.4"
@@ -6401,9 +7281,9 @@
}
},
"import-fresh": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
- "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -6488,39 +7368,89 @@
"dev": true
},
"inquirer": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
- "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
+ "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
"dev": true,
"requires": {
- "ansi-escapes": "^3.2.0",
- "chalk": "^2.4.2",
- "cli-cursor": "^2.1.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "cli-cursor": "^3.1.0",
"cli-width": "^2.0.0",
"external-editor": "^3.0.3",
- "figures": "^2.0.0",
- "lodash": "^4.17.12",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rxjs": "^6.4.0",
- "string-width": "^2.1.0",
- "strip-ansi": "^5.1.0",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.15",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.4.0",
+ "rxjs": "^6.5.3",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
"through": "^2.3.6"
},
"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==",
+ "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.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "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": "^4.1.0"
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
}
}
}
@@ -6534,12 +7464,6 @@
"loose-envify": "^1.0.0"
}
},
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true
- },
"is-absolute-url": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
@@ -6567,9 +7491,9 @@
}
},
"is-alphabetical": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz",
- "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
"dev": true
},
"is-alphanumeric": {
@@ -6579,9 +7503,9 @@
"dev": true
},
"is-alphanumerical": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz",
- "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
"dev": true,
"requires": {
"is-alphabetical": "^1.0.0",
@@ -6595,12 +7519,12 @@
"dev": true
},
"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=",
+ "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": "^1.0.0"
+ "binary-extensions": "^2.0.0"
}
},
"is-buffer": {
@@ -6615,15 +7539,6 @@
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"dev": true
},
- "is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
- "dev": true,
- "requires": {
- "ci-info": "^2.0.0"
- }
- },
"is-color-stop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
@@ -6665,9 +7580,9 @@
"dev": true
},
"is-decimal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz",
- "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
"dev": true
},
"is-descriptor": {
@@ -6695,21 +7610,6 @@
"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
"dev": true
},
- "is-dotfile": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
- "dev": true
- },
- "is-equal-shallow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "dev": true,
- "requires": {
- "is-primitive": "^2.0.0"
- }
- },
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
@@ -6719,37 +7619,26 @@
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
},
"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=",
+ "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
},
"is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
- "dev": true,
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-hexadecimal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz",
- "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
"dev": true
},
"is-lower-case": {
@@ -6759,6 +7648,14 @@
"dev": true,
"requires": {
"lower-case": "^1.1.0"
+ },
+ "dependencies": {
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ }
}
},
"is-number": {
@@ -6787,38 +7684,17 @@
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"dev": true
},
- "is-observable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz",
- "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==",
- "dev": true,
- "requires": {
- "symbol-observable": "^1.1.0"
- }
- },
"is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+ "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-in-cwd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
- "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "^1.0.0"
- }
- },
"is-path-inside": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
- "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
- "dev": true,
- "requires": {
- "path-is-inside": "^1.0.1"
- }
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
+ "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
+ "dev": true
},
"is-plain-obj": {
"version": "1.1.0",
@@ -6835,24 +7711,6 @@
"isobject": "^3.0.1"
}
},
- "is-posix-bracket": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
- "dev": true
- },
- "is-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
- "dev": true
- },
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
- "dev": true
- },
"is-regex": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
@@ -6875,9 +7733,15 @@
"dev": true
},
"is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true
+ },
+ "is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
"dev": true
},
"is-svg": {
@@ -6907,6 +7771,12 @@
"text-extensions": "^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-upper-case": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz",
@@ -6914,12 +7784,20 @@
"dev": true,
"requires": {
"upper-case": "^1.1.0"
+ },
+ "dependencies": {
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+ "dev": true
+ }
}
},
"is-whitespace-character": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz",
- "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
+ "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==",
"dev": true
},
"is-windows": {
@@ -6929,9 +7807,9 @@
"dev": true
},
"is-word-character": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz",
- "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
+ "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==",
"dev": true
},
"isarray": {
@@ -6941,13 +7819,10 @@
"dev": true
},
"isbinaryfile": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
- "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
- "dev": true,
- "requires": {
- "buffer-alloc": "^1.2.0"
- }
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
+ "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==",
+ "dev": true
},
"isexe": {
"version": "2.0.0",
@@ -6961,85 +7836,24 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
- "istanbul-api": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.6.tgz",
- "integrity": "sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA==",
- "dev": true,
- "requires": {
- "async": "^2.6.2",
- "compare-versions": "^3.4.0",
- "fileset": "^2.0.3",
- "istanbul-lib-coverage": "^2.0.5",
- "istanbul-lib-hook": "^2.0.7",
- "istanbul-lib-instrument": "^3.3.0",
- "istanbul-lib-report": "^2.0.8",
- "istanbul-lib-source-maps": "^3.0.6",
- "istanbul-reports": "^2.2.4",
- "js-yaml": "^3.13.1",
- "make-dir": "^2.1.0",
- "minimatch": "^3.0.4",
- "once": "^1.4.0"
- }
- },
"istanbul-lib-coverage": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
- "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
+ "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
"dev": true
},
- "istanbul-lib-hook": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz",
- "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==",
- "dev": true,
- "requires": {
- "append-transform": "^1.0.0"
- }
- },
"istanbul-lib-instrument": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
- "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
"dev": true,
"requires": {
- "@babel/generator": "^7.4.0",
- "@babel/parser": "^7.4.3",
- "@babel/template": "^7.4.0",
- "@babel/traverse": "^7.4.3",
- "@babel/types": "^7.4.0",
- "istanbul-lib-coverage": "^2.0.5",
- "semver": "^6.0.0"
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
},
"dependencies": {
- "@babel/parser": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
- "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==",
- "dev": true
- },
- "@babel/template": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
- "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.4.4",
- "@babel/types": "^7.4.4"
- }
- },
- "@babel/types": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz",
- "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
- }
- },
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -7049,23 +7863,29 @@
}
},
"istanbul-lib-report": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
- "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
"dev": true,
"requires": {
- "istanbul-lib-coverage": "^2.0.5",
- "make-dir": "^2.1.0",
- "supports-color": "^6.1.0"
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
},
"dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
"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==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
}
}
}
@@ -7083,6 +7903,28 @@
"source-map": "^0.6.1"
},
"dependencies": {
+ "istanbul-lib-coverage": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ }
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -7092,25 +7934,19 @@
}
},
"istanbul-reports": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
- "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
+ "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
"dev": true,
"requires": {
- "handlebars": "^4.1.2"
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
}
},
- "js-levenshtein": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
- "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
- "dev": true
- },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"js-yaml": {
"version": "3.13.1",
@@ -7147,12 +7983,12 @@
"dev": true
},
"json5": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
- "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
"dev": true,
"requires": {
- "minimist": "^1.2.0"
+ "minimist": "^1.2.5"
}
},
"jsonfile": {
@@ -7176,57 +8012,44 @@
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
"dev": true
},
+ "junk": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
+ "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
+ "dev": true
+ },
"karma": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/karma/-/karma-4.3.0.tgz",
- "integrity": "sha512-NSPViHOt+RW38oJklvYxQC4BSQsv737oQlr/r06pCM+slDOr4myuI1ivkRmp+3dVpJDfZt2DmaPJ2wkx+ZZuMQ==",
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.9.tgz",
+ "integrity": "sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg==",
"dev": true,
"requires": {
- "bluebird": "^3.3.0",
- "body-parser": "^1.16.1",
+ "body-parser": "^1.19.0",
"braces": "^3.0.2",
"chokidar": "^3.0.0",
- "colors": "^1.1.0",
- "connect": "^3.6.0",
- "core-js": "^3.1.3",
+ "colors": "^1.4.0",
+ "connect": "^3.7.0",
"di": "^0.0.1",
- "dom-serialize": "^2.2.0",
- "flatted": "^2.0.0",
- "glob": "^7.1.1",
- "graceful-fs": "^4.1.2",
- "http-proxy": "^1.13.0",
- "isbinaryfile": "^3.0.0",
- "lodash": "^4.17.14",
- "log4js": "^4.0.0",
- "mime": "^2.3.1",
- "minimatch": "^3.0.2",
- "optimist": "^0.6.1",
- "qjobs": "^1.1.4",
- "range-parser": "^1.2.0",
- "rimraf": "^2.6.0",
- "safe-buffer": "^5.0.1",
- "socket.io": "2.1.1",
+ "dom-serialize": "^2.2.1",
+ "flatted": "^2.0.2",
+ "glob": "^7.1.6",
+ "graceful-fs": "^4.2.4",
+ "http-proxy": "^1.18.1",
+ "isbinaryfile": "^4.0.6",
+ "lodash": "^4.17.15",
+ "log4js": "^6.2.1",
+ "mime": "^2.4.5",
+ "minimatch": "^3.0.4",
+ "qjobs": "^1.2.0",
+ "range-parser": "^1.2.1",
+ "rimraf": "^3.0.2",
+ "socket.io": "^2.3.0",
"source-map": "^0.6.1",
- "tmp": "0.0.33",
- "useragent": "2.3.0"
+ "tmp": "0.2.1",
+ "ua-parser-js": "0.7.21",
+ "yargs": "^15.3.1"
},
"dependencies": {
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "binary-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
- "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
- "dev": true
- },
"braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
@@ -7236,28 +8059,6 @@
"fill-range": "^7.0.1"
}
},
- "chokidar": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz",
- "integrity": "sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.0",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.1.3"
- }
- },
- "core-js": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz",
- "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==",
- "dev": true
- },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -7267,39 +8068,25 @@
"to-regex-range": "^5.0.1"
}
},
- "fsevents": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.0.tgz",
- "integrity": "sha512-+iXhW3LuDQsno8dOIrCIT/CBjeBWuP7PXe8w9shnj9Lebny/Gx1ZjVBYwexLz36Ri2jKuXMNpV6CYNh8lHHgrQ==",
- "dev": true,
- "optional": true
- },
- "glob-parent": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
- "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "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==",
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"dev": true,
"requires": {
- "binary-extensions": "^2.0.0"
+ "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"
}
},
- "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"
- }
+ "graceful-fs": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+ "dev": true
},
"is-number": {
"version": "7.0.0",
@@ -7307,13 +8094,19 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
- "readdirp": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz",
- "integrity": "sha512-ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==",
+ "mime": {
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz",
+ "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==",
+ "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": {
- "picomatch": "^2.0.4"
+ "glob": "^7.1.3"
}
},
"source-map": {
@@ -7322,6 +8115,15 @@
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
+ "tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ }
+ },
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -7349,22 +8151,25 @@
}
},
"karma-coverage-istanbul-reporter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.0.tgz",
- "integrity": "sha512-UH0mXPJFJyK5uiK7EkwGtQ8f30lCBAfqRResnZ4pzLJ04SOp4SPlYkmwbbZ6iVJ6sQFVzlDUXlntBEsLRdgZpg==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.2.tgz",
+ "integrity": "sha512-pg23tKKF867UIJUIZF252cNbiBnuMIPOMkeiULzjysr9K267Js2O/SoQBL1PCPctJVzvhOkE47yQPUKrWtyl6w==",
"dev": true,
"requires": {
- "istanbul-api": "^2.1.6",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^3.0.6",
+ "istanbul-reports": "^3.0.2",
"minimatch": "^3.0.4"
}
},
"karma-mocha": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz",
- "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz",
+ "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==",
"dev": true,
"requires": {
- "minimist": "1.2.0"
+ "minimist": "^1.2.3"
}
},
"karma-mocha-reporter": {
@@ -7379,119 +8184,48 @@
}
},
"karma-rollup-preprocessor": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/karma-rollup-preprocessor/-/karma-rollup-preprocessor-7.0.2.tgz",
- "integrity": "sha512-A+kr5FoiMr/S8dIPij/nuzB9PLhkrh3umFowjumAOKBDVQRhPYs3kKmQ82hP3+2MB6CICqeB4MmiIE4iTwUmDQ==",
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/karma-rollup-preprocessor/-/karma-rollup-preprocessor-7.0.5.tgz",
+ "integrity": "sha512-VhZI81l8LZBvBrSf4xaojsbur7bcycsSlxXkYaTOjV6DQwx1gtAM0CQVdue7LuIbXB1AohYIg0S5at+dqDtMxQ==",
"dev": true,
"requires": {
- "chokidar": "^3.0.2",
+ "chokidar": "^3.3.1",
"debounce": "^1.2.0"
},
"dependencies": {
- "anymatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.0.3.tgz",
- "integrity": "sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "binary-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
- "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
- "dev": true
- },
"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"
}
},
- "chokidar": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz",
- "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==",
- "dev": true,
- "requires": {
- "anymatch": "^3.0.1",
- "braces": "^3.0.2",
- "fsevents": "^2.0.6",
- "glob-parent": "^5.0.0",
- "is-binary-path": "^2.1.0",
- "is-glob": "^4.0.1",
- "normalize-path": "^3.0.0",
- "readdirp": "^3.1.1"
- }
- },
"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"
}
},
- "fsevents": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz",
- "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==",
- "dev": true,
- "optional": true
- },
"glob-parent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz",
- "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==",
- "dev": true,
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"requires": {
"is-glob": "^4.0.1"
}
},
- "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-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-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "readdirp": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.1.tgz",
- "integrity": "sha512-XXdSXZrQuvqoETj50+JAitxz1UPdt5dupjT6T5nVB+WvjMv2XKYj+s7hPeAVCXvmJrL36O4YYyWlIC3an2ePiQ==",
- "dev": true,
- "requires": {
- "picomatch": "^2.0.4"
- }
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
},
"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"
}
@@ -7499,40 +8233,40 @@
}
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "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
},
"known-css-properties": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.15.0.tgz",
- "integrity": "sha512-TS0RCcQfHYsA+59uIHhnsA71NBkpILbqi0W+hde4R5FtESdzur0tCJFoko/1Pbhx+8rmdUc0R1VE4ixnnD+9xw==",
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.19.0.tgz",
+ "integrity": "sha512-eYboRV94Vco725nKMlpkn3nV2+96p9c3gKXRsYqAJSswSENvBhN7n5L+uDhY58xQa0UukWsDMTGELzmD8Q+wTA==",
"dev": true
},
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
- "dev": true,
- "requires": {
- "invert-kv": "^2.0.0"
- }
- },
"leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"dev": true
},
+ "levenary": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
+ "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
+ "dev": true,
+ "requires": {
+ "leven": "^3.1.0"
+ }
+ },
"levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
}
},
"lines-and-columns": {
@@ -7542,230 +8276,263 @@
"dev": true
},
"lint-staged": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-8.2.1.tgz",
- "integrity": "sha512-n0tDGR/rTCgQNwXnUf/eWIpPNddGWxC32ANTNYsj2k02iZb7Cz5ox2tytwBu+2r0zDXMEMKw7Y9OD/qsav561A==",
+ "version": "10.2.6",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.6.tgz",
+ "integrity": "sha512-2oEBWyPZHkdyjKcIv2U6ay80Q52ZMlZZrUnfsV0WTVcgzPlt3o2t5UFy2v8ETUTsIDZ0xSJVnffWCgD3LF6xTQ==",
"dev": true,
"requires": {
- "chalk": "^2.3.1",
- "commander": "^2.14.1",
- "cosmiconfig": "^5.2.0",
- "debug": "^3.1.0",
+ "chalk": "^4.0.0",
+ "cli-truncate": "2.1.0",
+ "commander": "^5.1.0",
+ "cosmiconfig": "^6.0.0",
+ "debug": "^4.1.1",
"dedent": "^0.7.0",
- "del": "^3.0.0",
- "execa": "^1.0.0",
- "g-status": "^2.0.2",
- "is-glob": "^4.0.0",
- "is-windows": "^1.0.2",
- "listr": "^0.14.2",
- "listr-update-renderer": "^0.5.0",
- "lodash": "^4.17.11",
- "log-symbols": "^2.2.0",
- "micromatch": "^3.1.8",
- "npm-which": "^3.0.1",
- "p-map": "^1.1.1",
- "path-is-inside": "^1.0.2",
- "pify": "^3.0.0",
- "please-upgrade-node": "^3.0.2",
- "staged-git-files": "1.1.2",
- "string-argv": "^0.0.2",
- "stringify-object": "^3.2.2",
- "yup": "^0.27.0"
+ "execa": "^4.0.1",
+ "listr2": "^2.0.2",
+ "log-symbols": "^4.0.0",
+ "micromatch": "^4.0.2",
+ "normalize-path": "^3.0.0",
+ "please-upgrade-node": "^3.2.0",
+ "string-argv": "0.3.1",
+ "stringify-object": "^3.3.0"
},
"dependencies": {
- "cosmiconfig": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"dev": true,
"requires": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.13.1",
- "parse-json": "^4.0.0"
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
}
},
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "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": {
- "ms": "^2.1.1"
+ "fill-range": "^7.0.1"
}
},
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
"dev": true,
"requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "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": {
- "pump": "^3.0.0"
+ "color-name": "~1.1.4"
}
},
- "import-fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
"dev": true,
"requires": {
- "caller-path": "^2.0.0",
- "resolve-from": "^3.0.0"
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
}
},
- "js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "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": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "to-regex-range": "^5.0.1"
}
},
- "resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
- }
- }
- },
- "listr": {
- "version": "0.14.3",
- "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz",
- "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==",
- "dev": true,
- "requires": {
- "@samverschueren/stream-to-observable": "^0.3.0",
- "is-observable": "^1.1.0",
- "is-promise": "^2.1.0",
- "is-stream": "^1.1.0",
- "listr-silent-renderer": "^1.1.1",
- "listr-update-renderer": "^0.5.0",
- "listr-verbose-renderer": "^0.5.0",
- "p-map": "^2.0.0",
- "rxjs": "^6.3.3"
- },
- "dependencies": {
- "p-map": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
- "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ },
+ "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
+ },
+ "log-symbols": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
+ "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "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
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.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"
+ }
}
}
},
- "listr-silent-renderer": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz",
- "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=",
- "dev": true
- },
- "listr-update-renderer": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz",
- "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==",
+ "listr2": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.0.4.tgz",
+ "integrity": "sha512-oJaAcplPsa72rKW0eg4P4LbEJjhH+UO2I8uqR/I2wzHrVg16ohSfUy0SlcHS21zfYXxtsUpL8YXGHjyfWMR0cg==",
"dev": true,
"requires": {
- "chalk": "^1.1.3",
- "cli-truncate": "^0.2.1",
- "elegant-spinner": "^1.0.1",
- "figures": "^1.7.0",
- "indent-string": "^3.0.0",
- "log-symbols": "^1.0.2",
- "log-update": "^2.3.0",
- "strip-ansi": "^3.0.1"
+ "@samverschueren/stream-to-observable": "^0.3.0",
+ "chalk": "^4.0.0",
+ "cli-cursor": "^3.1.0",
+ "cli-truncate": "^2.1.0",
+ "elegant-spinner": "^2.0.0",
+ "enquirer": "^2.3.5",
+ "figures": "^3.2.0",
+ "indent-string": "^4.0.0",
+ "log-update": "^4.0.0",
+ "p-map": "^4.0.0",
+ "pad": "^3.2.0",
+ "rxjs": "^6.5.5",
+ "through": "^2.3.8",
+ "uuid": "^7.0.2"
},
"dependencies": {
- "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
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
},
"chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
"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"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "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": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
+ "color-name": "~1.1.4"
}
},
- "log-symbols": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
- "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "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
+ },
+ "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": {
- "chalk": "^1.0.0"
+ "aggregate-error": "^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=",
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "has-flag": "^4.0.0"
}
},
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "uuid": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
+ "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==",
"dev": true
}
}
},
- "listr-verbose-renderer": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz",
- "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "cli-cursor": "^2.1.0",
- "date-fns": "^1.27.2",
- "figures": "^2.0.0"
- }
- },
"load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
@@ -7800,12 +8567,6 @@
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
"dev": true
},
- "lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
- "dev": true
- },
"lodash.memoize": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
@@ -7813,12 +8574,12 @@
"dev": true
},
"lodash.template": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz",
- "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=",
+ "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._reinterpolate": "^3.0.0",
"lodash.templatesettings": "^4.0.0"
}
},
@@ -7847,33 +8608,78 @@
}
},
"log-update": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz",
- "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
+ "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
"dev": true,
"requires": {
- "ansi-escapes": "^3.0.0",
- "cli-cursor": "^2.0.0",
- "wrap-ansi": "^3.0.1"
+ "ansi-escapes": "^4.3.0",
+ "cli-cursor": "^3.1.0",
+ "slice-ansi": "^4.0.0",
+ "wrap-ansi": "^6.2.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ }
+ }
}
},
"log4js": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz",
- "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.2.1.tgz",
+ "integrity": "sha512-7n+Oqxxz7VcQJhIlqhcYZBTpbcQ7XsR0MUIfJkx/n3VUjkAS4iUr+4UJlhxf28RvP9PMGQXbgTUhLApnu0XXgA==",
"dev": true,
"requires": {
- "date-format": "^2.0.0",
+ "date-format": "^3.0.0",
"debug": "^4.1.1",
- "flatted": "^2.0.0",
+ "flatted": "^2.0.1",
"rfdc": "^1.1.4",
- "streamroller": "^1.0.6"
+ "streamroller": "^2.2.4"
}
},
"longest-streak": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz",
- "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
+ "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
"dev": true
},
"loose-envify": {
@@ -7896,10 +8702,13 @@
}
},
"lower-case": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
- "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
- "dev": true
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz",
+ "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.10.0"
+ }
},
"lower-case-first": {
"version": "1.0.2",
@@ -7908,45 +8717,33 @@
"dev": true,
"requires": {
"lower-case": "^1.1.2"
- }
- },
- "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"
+ },
+ "dependencies": {
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ }
}
},
"make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"requires": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
+ "semver": "^6.0.0"
},
"dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
},
- "map-age-cleaner": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
- "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
- "dev": true,
- "requires": {
- "p-defer": "^1.0.0"
- }
- },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -7969,51 +8766,39 @@
}
},
"markdown-escapes": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz",
- "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
+ "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==",
"dev": true
},
"markdown-table": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
- "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==",
- "dev": true
- },
- "matcher": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz",
- "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
+ "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
"dev": true,
"requires": {
- "escape-string-regexp": "^1.0.4"
+ "repeat-string": "^1.0.0"
}
},
- "math-random": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
- "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
- "dev": true
- },
"mathml-tag-names": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz",
- "integrity": "sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
+ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
"dev": true
},
"mdast-util-compact": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz",
- "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz",
+ "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==",
"dev": true,
"requires": {
- "unist-util-visit": "^1.1.0"
+ "unist-util-visit": "^2.0.0"
}
},
"mdn-data": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
- "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
+ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
"dev": true
},
"media-typer": {
@@ -8022,17 +8807,6 @@
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
- "mem": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz",
- "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==",
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^1.0.0",
- "p-is-promise": "^2.0.0"
- }
- },
"memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
@@ -8056,6 +8830,12 @@
"yargs-parser": "^10.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.2.3",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz",
@@ -8090,24 +8870,30 @@
"dev": true
},
"mime-db": {
- "version": "1.40.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
- "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
"dev": true
},
"mime-types": {
- "version": "2.1.24",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
- "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"dev": true,
"requires": {
- "mime-db": "1.40.0"
+ "mime-db": "1.44.0"
}
},
"mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "min-indent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz",
+ "integrity": "sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=",
"dev": true
},
"minimatch": {
@@ -8120,9 +8906,9 @@
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
},
"minimist-options": {
@@ -8157,30 +8943,29 @@
}
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "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": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- }
+ "minimist": "^1.2.5"
}
},
+ "mkdirp-classic": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+ "dev": true
+ },
"mocha": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.1.tgz",
- "integrity": "sha512-VCcWkLHwk79NYQc8cxhkmI8IigTIhsCwZ6RTxQsqK6go4UvEhzJkYuHm8B2YtlSxcYq2fY+ucr4JBwoD6ci80A==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz",
+ "integrity": "sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==",
"dev": true,
"requires": {
"ansi-colors": "3.2.3",
"browser-stdout": "1.3.1",
+ "chokidar": "3.3.0",
"debug": "3.2.6",
"diff": "3.5.0",
"escape-string-regexp": "1.0.5",
@@ -8189,33 +8974,64 @@
"growl": "1.10.5",
"he": "1.2.0",
"js-yaml": "3.13.1",
- "log-symbols": "2.2.0",
+ "log-symbols": "3.0.0",
"minimatch": "3.0.4",
- "mkdirp": "0.5.1",
+ "mkdirp": "0.5.5",
"ms": "2.1.1",
- "node-environment-flags": "1.0.5",
+ "node-environment-flags": "1.0.6",
"object.assign": "4.1.0",
"strip-json-comments": "2.0.1",
"supports-color": "6.0.0",
"which": "1.3.1",
"wide-align": "1.1.3",
- "yargs": "13.3.0",
- "yargs-parser": "13.1.1",
+ "yargs": "13.3.2",
+ "yargs-parser": "13.1.2",
"yargs-unparser": "1.6.0"
},
"dependencies": {
+ "ansi-colors": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
+ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
+ "dev": true
+ },
"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
},
+ "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"
+ }
+ },
"camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
},
+ "chokidar": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz",
+ "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.1",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.2.0"
+ }
+ },
"cliui": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
@@ -8236,6 +9052,21 @@
"ms": "^2.1.1"
}
},
+ "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
+ },
+ "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"
+ }
+ },
"find-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
@@ -8245,10 +9076,25 @@
"locate-path": "^3.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==",
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "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
+ },
+ "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
},
"locate-path": {
@@ -8261,10 +9107,19 @@
"path-exists": "^3.0.0"
}
},
+ "log-symbols": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+ "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2"
+ }
+ },
"p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "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"
@@ -8285,11 +9140,14 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"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
+ "readdirp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz",
+ "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.0.4"
+ }
},
"string-width": {
"version": "3.1.0",
@@ -8326,6 +9184,15 @@
"has-flag": "^3.0.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"
+ }
+ },
"wrap-ansi": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
@@ -8338,9 +9205,9 @@
}
},
"yargs": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
- "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
+ "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",
@@ -8352,13 +9219,13 @@
"string-width": "^3.0.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
- "yargs-parser": "^13.1.1"
+ "yargs-parser": "^13.1.2"
}
},
"yargs-parser": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
- "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
+ "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",
@@ -8374,18 +9241,11 @@
"dev": true
},
"mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
"dev": true
},
- "nan": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
- "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
- "dev": true,
- "optional": true
- },
"nanomatch": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -8417,12 +9277,6 @@
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
"dev": true
},
- "neo-async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
- "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
- "dev": true
- },
"nested-error-stacks": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz",
@@ -8436,18 +9290,19 @@
"dev": true
},
"no-case": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
- "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz",
+ "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==",
"dev": true,
"requires": {
- "lower-case": "^1.1.1"
+ "lower-case": "^2.0.1",
+ "tslib": "^1.10.0"
}
},
"node-environment-flags": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz",
- "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
+ "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==",
"dev": true,
"requires": {
"object.getownpropertydescriptors": "^2.0.3",
@@ -8468,6 +9323,12 @@
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
"dev": true
},
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+ "dev": true
+ },
"node-releases": {
"version": "1.1.10",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.10.tgz",
@@ -8513,15 +9374,6 @@
"integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
"dev": true
},
- "npm-path": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz",
- "integrity": "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==",
- "dev": true,
- "requires": {
- "which": "^1.2.10"
- }
- },
"npm-run-all": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
@@ -8540,23 +9392,20 @@
}
},
"npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "requires": {
- "path-key": "^2.0.0"
- }
- },
- "npm-which": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz",
- "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
"requires": {
- "commander": "^2.9.0",
- "npm-path": "^2.0.2",
- "which": "^1.2.10"
+ "path-key": "^3.0.0"
+ },
+ "dependencies": {
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ }
}
},
"nth-check": {
@@ -8574,18 +9423,6 @@
"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
- },
- "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-component": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
@@ -8623,6 +9460,12 @@
}
}
},
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
"object-keys": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz",
@@ -8651,15 +9494,73 @@
}
},
"object.entries": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
- "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz",
+ "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "es-abstract": "^1.12.0",
- "function-bind": "^1.1.1",
+ "es-abstract": "^1.17.5",
"has": "^1.0.3"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "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.getownpropertydescriptors": {
@@ -8672,16 +9573,6 @@
"es-abstract": "^1.5.1"
}
},
- "object.omit": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
- "dev": true,
- "requires": {
- "for-own": "^0.1.4",
- "is-extendable": "^0.1.1"
- }
- },
"object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
@@ -8722,12 +9613,12 @@
}
},
"onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
"dev": true,
"requires": {
- "mimic-fn": "^1.0.0"
+ "mimic-fn": "^2.1.0"
}
},
"opencollective-postinstall": {
@@ -8736,111 +9627,75 @@
"integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==",
"dev": true
},
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "requires": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ }
+ },
+ "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
+ },
+ "p-all": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-all/-/p-all-2.1.0.tgz",
+ "integrity": "sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==",
"dev": true,
"requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
+ "p-map": "^2.0.0"
},
"dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- },
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
"dev": true
}
}
},
- "optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "p-event": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.1.0.tgz",
+ "integrity": "sha512-4vAd06GCsgflX4wHN1JqrMzBh/8QZ4j+rzp0cd2scXRwuBEv+QR3wrVA5aLhWDLw4y2WgDKvzWF3CCLmVM1UgA==",
"dev": true,
"requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
+ "p-timeout": "^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": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "p-filter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz",
+ "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==",
"dev": true,
"requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
+ "p-map": "^2.0.0"
},
"dependencies": {
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
+ "p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ "dev": true
}
}
},
- "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
- },
- "p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
- "dev": true
- },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
},
- "p-is-promise": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz",
- "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==",
- "dev": true
- },
"p-limit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
@@ -8860,10 +9715,22 @@
}
},
"p-map": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
- "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
- "dev": true
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
+ "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+ "dev": true,
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "p-timeout": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
+ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
},
"p-try": {
"version": "1.0.0",
@@ -8871,13 +9738,23 @@
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
"dev": true
},
+ "pad": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/pad/-/pad-3.2.0.tgz",
+ "integrity": "sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg==",
+ "dev": true,
+ "requires": {
+ "wcwidth": "^1.0.1"
+ }
+ },
"param-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
- "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.3.tgz",
+ "integrity": "sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA==",
"dev": true,
"requires": {
- "no-case": "^2.2.0"
+ "dot-case": "^3.0.3",
+ "tslib": "^1.10.0"
}
},
"parent-module": {
@@ -8890,9 +9767,9 @@
}
},
"parse-entities": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz",
- "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true,
"requires": {
"character-entities": "^1.0.0",
@@ -8903,35 +9780,6 @@
"is-hexadecimal": "^1.0.0"
}
},
- "parse-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
- "dev": true,
- "requires": {
- "glob-base": "^0.3.0",
- "is-dotfile": "^1.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.0"
- },
- "dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
"parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
@@ -8967,13 +9815,13 @@
"dev": true
},
"pascal-case": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz",
- "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.1.tgz",
+ "integrity": "sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==",
"dev": true,
"requires": {
- "camel-case": "^3.0.0",
- "upper-case-first": "^1.1.0"
+ "no-case": "^3.0.3",
+ "tslib": "^1.10.0"
}
},
"pascalcase": {
@@ -8983,12 +9831,13 @@
"dev": true
},
"path-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz",
- "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.3.tgz",
+ "integrity": "sha512-UMFU6UETFpCNWbIWNczshPrnK/7JAXBP2NYw80ojElbQ2+JYxdqWDBkvvqM93u4u6oLmuJ/tPOf2tM8KtXv4eg==",
"dev": true,
"requires": {
- "no-case": "^2.2.0"
+ "dot-case": "^3.0.3",
+ "tslib": "^1.10.0"
}
},
"path-dirname": {
@@ -9009,12 +9858,6 @@
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@@ -9066,19 +9909,13 @@
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"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=",
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
"dev": true,
"requires": {
- "pinkie": "^2.0.0"
+ "node-modules-regexp": "^1.0.0"
}
},
"pkg-dir": {
@@ -9090,10 +9927,19 @@
"find-up": "^2.1.0"
}
},
+ "pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
+ "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ },
"please-upgrade-node": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz",
- "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
+ "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
"dev": true,
"requires": {
"semver-compare": "^1.0.0"
@@ -9156,29 +10002,238 @@
}
},
"postcss-cli": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-6.1.3.tgz",
- "integrity": "sha512-eieqJU+OR1OFc/lQqMsDmROTJpoMZFvoAQ+82utBQ8/8qGMTfH9bBSPsTdsagYA8uvNzxHw2I2cNSSJkLAGhvw==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-7.1.1.tgz",
+ "integrity": "sha512-bYQy5ydAQJKCMSpvaMg0ThPBeGYqhQXumjbFOmWnL4u65CYXQ16RfS6afGQpit0dGv/fNzxbdDtx8dkqOhhIbg==",
"dev": true,
"requires": {
- "chalk": "^2.1.0",
- "chokidar": "^2.0.0",
- "dependency-graph": "^0.8.0",
- "fs-extra": "^7.0.0",
- "get-stdin": "^6.0.0",
- "globby": "^9.0.0",
+ "chalk": "^4.0.0",
+ "chokidar": "^3.3.0",
+ "dependency-graph": "^0.9.0",
+ "fs-extra": "^9.0.0",
+ "get-stdin": "^7.0.0",
+ "globby": "^11.0.0",
"postcss": "^7.0.0",
"postcss-load-config": "^2.0.0",
"postcss-reporter": "^6.0.0",
"pretty-hrtime": "^1.0.3",
"read-cache": "^1.0.0",
- "yargs": "^12.0.1"
+ "yargs": "^15.0.2"
},
"dependencies": {
- "get-stdin": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
- "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "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
+ },
+ "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"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "fast-glob": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
+ "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "fs-extra": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz",
+ "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==",
+ "dev": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "globby": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz",
+ "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==",
+ "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"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "ignore": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.6.tgz",
+ "integrity": "sha512-cgXgkypZBcCnOgSihyeqbo6gjIaIyDqPQB7Ra4vhE9m6kigdGoQDMHjviFhRZo3IMlRy6yElosoviMs5YxZXUA==",
+ "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
+ },
+ "jsonfile": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+ "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^1.0.0"
+ }
+ },
+ "merge2": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.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"
+ }
+ },
+ "universalify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+ "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
"dev": true
}
}
@@ -9418,32 +10473,13 @@
}
},
"postcss-header": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/postcss-header/-/postcss-header-1.0.0.tgz",
- "integrity": "sha512-YUcU2oHQNsNVUDPdQg6/TXBWvI7dBGf2bsLQdVlLiLM5kiGLGCcszYDlVTaicmXpKANdS1T7bxpJtCacrMButw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-header/-/postcss-header-2.0.0.tgz",
+ "integrity": "sha512-h/2vrxf9YoLXji6qnbO79OH+UyTEc8BtqpYOrJn4E/rmPlLlt9ciAbHvQDPuhbBUtaFClcXBMWVejbwdpHYUpA==",
"dev": true,
"requires": {
- "babel-register": "^6.26.0",
- "postcss": "^6.0.13"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "@babel/core": "^7.8.4",
+ "@babel/register": "^7.8.3"
}
},
"postcss-html": {
@@ -9487,15 +10523,6 @@
"postcss": "^7.0.2"
}
},
- "postcss-jsx": {
- "version": "0.36.3",
- "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.3.tgz",
- "integrity": "sha512-yV8Ndo6KzU8eho5mCn7LoLUGPkXrRXRjhMpX4AaYJ9wLJPv099xbtpbRQ8FrPnzVxb/cuMebbPR7LweSt+hTfA==",
- "dev": true,
- "requires": {
- "@babel/core": ">=7.2.2"
- }
- },
"postcss-lab-function": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz",
@@ -9535,16 +10562,6 @@
"postcss": "^7.0.2"
}
},
- "postcss-markdown": {
- "version": "0.36.0",
- "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz",
- "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==",
- "dev": true,
- "requires": {
- "remark": "^10.0.1",
- "unist-util-find-all-after": "^1.0.2"
- }
- },
"postcss-media-minmax": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz",
@@ -9992,31 +11009,87 @@
"dev": true
},
"postcss-safe-parser": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz",
- "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
+ "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^7.0.26"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.30",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "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-sass": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.1.tgz",
- "integrity": "sha512-YDdykeDHylqiD2CdXuP7K1aDz7hCflGVB6H6lqabWVab5mVOWhguUuWZYpFU22/E12AEGiMlOfZnLqr343zhVA==",
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz",
+ "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==",
"dev": true,
"requires": {
- "gonzales-pe": "^4.2.4",
- "postcss": "^7.0.14"
+ "gonzales-pe": "^4.3.0",
+ "postcss": "^7.0.21"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.30",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "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-scss": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz",
- "integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz",
+ "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^7.0.6"
}
},
"postcss-selector-matches": {
@@ -10061,9 +11134,9 @@
},
"dependencies": {
"postcss": {
- "version": "7.0.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz",
- "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==",
+ "version": "7.0.30",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -10148,15 +11221,9 @@
}
},
"prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "preserve": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
"pretty-hrtime": {
@@ -10183,22 +11250,10 @@
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true
},
- "property-expr": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-1.5.1.tgz",
- "integrity": "sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==",
- "dev": true
- },
"proxy-from-env": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
- "dev": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"dev": true
},
"pump": {
@@ -10218,28 +11273,30 @@
"dev": true
},
"puppeteer": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz",
- "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-3.1.0.tgz",
+ "integrity": "sha512-jLa9sqdVx0tPnr2FcwAq+8DSjGhSM4YpkwOf3JE22Ycyqm71SW7B5uGfTyMGFoLCmbCozbLZclCjasPb0flTRw==",
"dev": true,
"requires": {
"debug": "^4.1.0",
- "extract-zip": "^1.6.6",
- "https-proxy-agent": "^2.2.1",
+ "extract-zip": "^2.0.0",
+ "https-proxy-agent": "^4.0.0",
"mime": "^2.0.3",
"progress": "^2.0.1",
"proxy-from-env": "^1.0.0",
- "rimraf": "^2.6.1",
- "ws": "^6.1.0"
+ "rimraf": "^3.0.2",
+ "tar-fs": "^2.0.0",
+ "unbzip2-stream": "^1.3.3",
+ "ws": "^7.2.3"
},
"dependencies": {
- "ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "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": {
- "async-limiter": "~1.0.0"
+ "glob": "^7.1.3"
}
}
}
@@ -10268,25 +11325,6 @@
"integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
"dev": true
},
- "randomatic": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
- "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
- "dev": true,
- "requires": {
- "is-number": "^4.0.0",
- "kind-of": "^6.0.0",
- "math-random": "^1.0.1"
- },
- "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
- }
- }
- },
"range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -10359,14 +11397,20 @@
}
},
"readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
+ "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
+ "picomatch": "^2.2.1"
+ },
+ "dependencies": {
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ }
}
},
"redent": {
@@ -10386,9 +11430,9 @@
"dev": true
},
"regenerate-unicode-properties": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
- "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
+ "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
"dev": true,
"requires": {
"regenerate": "^1.4.0"
@@ -10401,21 +11445,13 @@
"dev": true
},
"regenerator-transform": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
- "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
- "dev": true,
- "requires": {
- "private": "^0.1.6"
- }
- },
- "regex-cache": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "version": "0.14.4",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
+ "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
"dev": true,
"requires": {
- "is-equal-shallow": "^0.1.3"
+ "@babel/runtime": "^7.8.4",
+ "private": "^0.1.8"
}
},
"regex-not": {
@@ -10429,35 +11465,35 @@
}
},
"regexpp": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
- "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
"regexpu-core": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
- "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+ "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
"dev": true,
"requires": {
"regenerate": "^1.4.0",
- "regenerate-unicode-properties": "^8.1.0",
- "regjsgen": "^0.5.0",
- "regjsparser": "^0.6.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
"unicode-match-property-ecmascript": "^1.0.4",
- "unicode-match-property-value-ecmascript": "^1.1.0"
+ "unicode-match-property-value-ecmascript": "^1.2.0"
}
},
"regjsgen": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
- "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
"dev": true
},
"regjsparser": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
- "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+ "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
"dev": true,
"requires": {
"jsesc": "~0.5.0"
@@ -10472,43 +11508,44 @@
}
},
"remark": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
- "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.0.tgz",
+ "integrity": "sha512-oX4lMIS0csgk8AEbzY0h2jdR0ngiCHOpwwpxjmRa5TqAkeknY+tkhjRJGZqnCmvyuWh55/0SW5WY3R3nn3PH9A==",
"dev": true,
"requires": {
- "remark-parse": "^6.0.0",
- "remark-stringify": "^6.0.0",
- "unified": "^7.0.0"
+ "remark-parse": "^8.0.0",
+ "remark-stringify": "^8.0.0",
+ "unified": "^9.0.0"
}
},
"remark-parse": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
- "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.2.tgz",
+ "integrity": "sha512-eMI6kMRjsAGpMXXBAywJwiwAse+KNpmt+BK55Oofy4KvBZEqUDj6mWbGLJZrujoPIPPxDXzn3T9baRlpsm2jnQ==",
"dev": true,
"requires": {
+ "ccount": "^1.0.0",
"collapse-white-space": "^1.0.2",
"is-alphabetical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-whitespace-character": "^1.0.0",
"is-word-character": "^1.0.0",
"markdown-escapes": "^1.0.0",
- "parse-entities": "^1.1.0",
+ "parse-entities": "^2.0.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
"trim": "0.0.1",
"trim-trailing-lines": "^1.0.0",
"unherit": "^1.0.4",
- "unist-util-remove-position": "^1.0.0",
- "vfile-location": "^2.0.0",
+ "unist-util-remove-position": "^2.0.0",
+ "vfile-location": "^3.0.0",
"xtend": "^4.0.1"
}
},
"remark-stringify": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
- "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.0.0.tgz",
+ "integrity": "sha512-cABVYVloFH+2ZI5bdqzoOmemcz/ZuhQSH6W6ZNYnLojAUUn3xtX7u+6BpnYp35qHoGr2NFBsERV14t4vCIeW8w==",
"dev": true,
"requires": {
"ccount": "^1.0.0",
@@ -10517,22 +11554,16 @@
"is-whitespace-character": "^1.0.0",
"longest-streak": "^2.0.1",
"markdown-escapes": "^1.0.0",
- "markdown-table": "^1.1.0",
- "mdast-util-compact": "^1.0.0",
- "parse-entities": "^1.0.2",
+ "markdown-table": "^2.0.0",
+ "mdast-util-compact": "^2.0.0",
+ "parse-entities": "^2.0.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
- "stringify-entities": "^1.0.1",
+ "stringify-entities": "^3.0.0",
"unherit": "^1.0.4",
"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.3",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
@@ -10545,15 +11576,6 @@
"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.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
@@ -10567,15 +11589,9 @@
"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
- },
- "require-relative": {
- "version": "0.8.7",
- "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
- "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=",
+ "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": {
@@ -10615,12 +11631,12 @@
"dev": true
},
"restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
"requires": {
- "onetime": "^2.0.0",
+ "onetime": "^5.1.0",
"signal-exit": "^3.0.2"
}
},
@@ -10664,221 +11680,37 @@
}
},
"rollup": {
- "version": "1.23.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.23.0.tgz",
- "integrity": "sha512-/p72Z3NbHWV+Vi1p2X+BmPA3WqlZxpUqCy6E8U4crMohZnI+j9Ob8ZAfFyNfddT0LxgnJM0olO4mg+noH4SFbg==",
+ "version": "2.10.7",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.10.7.tgz",
+ "integrity": "sha512-rofUSH2i4GymWhQq6bfRaSiVbz4LEB4h/7+AhuXCaeOSwQqClD0hINjs59j8SyfQwcqe83NcVJAY2kjp0h33bQ==",
"dev": true,
"requires": {
- "@types/estree": "*",
- "@types/node": "^12.7.10",
- "acorn": "^7.1.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "12.7.11",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.11.tgz",
- "integrity": "sha512-Otxmr2rrZLKRYIybtdG/sgeO+tHY20GxeDjcGmUnmmlCWyEnv2a2x1ZXBo3BTec4OiTXMQCiazB8NMBf0iRlFw==",
- "dev": true
- }
+ "fsevents": "~2.1.2"
}
},
"rollup-plugin-babel": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz",
- "integrity": "sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz",
+ "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.0.0",
"rollup-pluginutils": "^2.8.1"
- },
- "dependencies": {
- "estree-walker": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
- "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
- "dev": true
- },
- "rollup-pluginutils": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz",
- "integrity": "sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==",
- "dev": true,
- "requires": {
- "estree-walker": "^0.6.1"
- }
- }
}
},
"rollup-pluginutils": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.4.1.tgz",
- "integrity": "sha512-wesMQ9/172IJDIW/lYWm0vW0LiKe5Ekjws481R7z9WTRtmO59cqyM/2uUlxvf6yzm/fElFmHUobeQOYz46dZJw==",
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
+ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
"dev": true,
"requires": {
- "estree-walker": "^0.6.0",
- "micromatch": "^3.1.10"
- }
- },
- "rollup-watch": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/rollup-watch/-/rollup-watch-4.3.1.tgz",
- "integrity": "sha512-6yjnIwfjpSrqA8IafyIu7fsEyeImNR4aDjA1bQ7KWeVuiA+Clfsx8+PGQkyABWIQzmauQ//tIJ5wAxLXsXs8qQ==",
- "dev": true,
- "requires": {
- "chokidar": "^1.7.0",
- "require-relative": "0.8.7",
- "rollup-pluginutils": "^2.0.1"
- },
- "dependencies": {
- "anymatch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
- "dev": true,
- "requires": {
- "micromatch": "^2.1.5",
- "normalize-path": "^2.0.0"
- }
- },
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "chokidar": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
- "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
- "dev": true,
- "requires": {
- "anymatch": "^1.3.0",
- "async-each": "^1.0.0",
- "fsevents": "^1.0.0",
- "glob-parent": "^2.0.0",
- "inherits": "^2.0.1",
- "is-binary-path": "^1.0.0",
- "is-glob": "^2.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.0.0"
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true,
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true,
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true,
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- }
- },
- "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"
- }
- }
+ "estree-walker": "^0.6.1"
}
},
"run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "^2.1.0"
- }
- },
- "run-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz",
- "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
"dev": true
},
"run-parallel": {
@@ -10888,9 +11720,9 @@
"dev": true
},
"rxjs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz",
- "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+ "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
@@ -10935,14 +11767,21 @@
"integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
"dev": true
},
+ "semver-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
+ "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
+ "dev": true
+ },
"sentence-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz",
- "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.3.tgz",
+ "integrity": "sha512-ZPr4dgTcNkEfcGOMFQyDdJrTU9uQO1nb1cjf+nuzb6FxgMDgKddZOM29qEsB7jvsZSMruLRcL2KfM4ypKpa0LA==",
"dev": true,
"requires": {
- "no-case": "^2.2.0",
- "upper-case-first": "^1.1.2"
+ "no-case": "^3.0.3",
+ "tslib": "^1.10.0",
+ "upper-case-first": "^2.0.1"
}
},
"set-blocking": {
@@ -11013,15 +11852,6 @@
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
- "simple-git": {
- "version": "1.116.0",
- "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.116.0.tgz",
- "integrity": "sha512-Pbo3tceqMYy0j3U7jzMKabOWcx5+67GdgQUjpK83XUxGhA+1BX93UPvlWNzbCRoFwd7EJTyDSCC2XCoT4NTLYQ==",
- "dev": true,
- "requires": {
- "debug": "^4.0.1"
- }
- },
"simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -11054,15 +11884,24 @@
"ansi-styles": "^3.2.0",
"astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ }
}
},
"snake-case": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz",
- "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.3.tgz",
+ "integrity": "sha512-WM1sIXEO+rsAHBKjGf/6R1HBBcgbncKS08d2Aqec/mrDSpU80SiOU41hO7ny6DToHSyrlwTYzQBIK1FPSx4Y3Q==",
"dev": true,
"requires": {
- "no-case": "^2.2.0"
+ "dot-case": "^3.0.3",
+ "tslib": "^1.10.0"
}
},
"snapdragon": {
@@ -11188,112 +12027,111 @@
}
},
"socket.io": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
- "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz",
+ "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==",
"dev": true,
"requires": {
- "debug": "~3.1.0",
- "engine.io": "~3.2.0",
+ "debug": "~4.1.0",
+ "engine.io": "~3.4.0",
"has-binary2": "~1.0.2",
"socket.io-adapter": "~1.1.0",
- "socket.io-client": "2.1.1",
- "socket.io-parser": "~3.2.0"
- },
- "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"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
+ "socket.io-client": "2.3.0",
+ "socket.io-parser": "~3.4.0"
}
},
"socket.io-adapter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
- "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
+ "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.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
- "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz",
+ "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==",
"dev": true,
"requires": {
"backo2": "1.0.2",
"base64-arraybuffer": "0.1.5",
"component-bind": "1.0.0",
"component-emitter": "1.2.1",
- "debug": "~3.1.0",
- "engine.io-client": "~3.2.0",
+ "debug": "~4.1.0",
+ "engine.io-client": "~3.4.0",
"has-binary2": "~1.0.2",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"object-component": "0.0.3",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
- "socket.io-parser": "~3.2.0",
+ "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"
- }
+ "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
+ },
+ "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.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
+ },
+ "socket.io-parser": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz",
+ "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==",
+ "dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "debug": "~3.1.0",
+ "isarray": "2.0.1"
+ },
+ "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"
+ }
+ }
+ }
}
}
},
"socket.io-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
- "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
+ "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": "~3.1.0",
+ "debug": "~4.1.0",
"isarray": "2.0.1"
},
"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"
- }
+ "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
},
"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.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
}
}
},
@@ -11304,12 +12142,12 @@
"dev": true
},
"source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "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.1",
+ "atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
@@ -11317,12 +12155,21 @@
}
},
"source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
"dev": true,
"requires": {
- "source-map": "^0.5.6"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"source-map-url": {
@@ -11385,6 +12232,18 @@
"dev": true,
"requires": {
"through2": "^2.0.2"
+ },
+ "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"
+ }
+ }
}
},
"sprintf-js": {
@@ -11399,16 +12258,10 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
"dev": true
},
- "staged-git-files": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-1.1.2.tgz",
- "integrity": "sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA==",
- "dev": true
- },
"state-toggle": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz",
- "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
+ "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==",
"dev": true
},
"static-extend": {
@@ -11438,44 +12291,66 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
+ "stream-events": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
+ "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==",
+ "dev": true,
+ "requires": {
+ "stubs": "^3.0.0"
+ }
+ },
"streamroller": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz",
- "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==",
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
+ "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==",
"dev": true,
"requires": {
- "async": "^2.6.2",
- "date-format": "^2.0.0",
- "debug": "^3.2.6",
- "fs-extra": "^7.0.1",
- "lodash": "^4.17.14"
+ "date-format": "^2.1.0",
+ "debug": "^4.1.1",
+ "fs-extra": "^8.1.0"
},
"dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
+ "date-format": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
+ "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
+ "dev": true
}
}
},
"string-argv": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz",
- "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
+ "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==",
"dev": true
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.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
+ },
+ "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"
+ }
+ }
}
},
"string.prototype.padend": {
@@ -11489,6 +12364,284 @@
"function-bind": "^1.0.2"
}
},
+ "string.prototype.trimend": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
+ "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
+ "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "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
+ }
+ }
+ },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -11499,14 +12652,15 @@
}
},
"stringify-entities": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
- "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.0.1.tgz",
+ "integrity": "sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ==",
"dev": true,
"requires": {
"character-entities-html4": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.2",
"is-hexadecimal": "^1.0.0"
}
},
@@ -11536,10 +12690,10 @@
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true
},
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true
},
"strip-indent": {
@@ -11549,9 +12703,15 @@
"dev": true
},
"strip-json-comments": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
- "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
+ "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
+ "dev": true
+ },
+ "stubs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
+ "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=",
"dev": true
},
"style-search": {
@@ -11594,67 +12754,113 @@
}
},
"stylelint": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-11.0.0.tgz",
- "integrity": "sha512-esKkG7CUXI5yr4jgCNuwjiiV6NJ4BpodB0e47oFvUBaHgpiXXHRPOajpb0IXL7Ucpk+X3dcrlPxVHpmJ5XUDwg==",
+ "version": "13.5.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.5.0.tgz",
+ "integrity": "sha512-+Jy7ieKAWKTf2tmcAE7jgScxH39Urb87i0bjK/enScFaGWWaFn4kAPwepGOSk2b7CLUDVt/O6kwA0x0p/V7moQ==",
"dev": true,
"requires": {
- "autoprefixer": "^9.5.1",
+ "@stylelint/postcss-css-in-js": "^0.37.1",
+ "@stylelint/postcss-markdown": "^0.36.1",
+ "autoprefixer": "^9.7.6",
"balanced-match": "^1.0.0",
- "chalk": "^2.4.2",
- "cosmiconfig": "^5.2.0",
+ "chalk": "^4.0.0",
+ "cosmiconfig": "^6.0.0",
"debug": "^4.1.1",
"execall": "^2.0.0",
"file-entry-cache": "^5.0.1",
- "get-stdin": "^7.0.0",
+ "get-stdin": "^8.0.0",
"global-modules": "^2.0.0",
- "globby": "^9.2.0",
+ "globby": "^11.0.0",
"globjoin": "^0.1.4",
- "html-tags": "^3.0.0",
- "ignore": "^5.0.6",
+ "html-tags": "^3.1.0",
+ "ignore": "^5.1.4",
"import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4",
- "known-css-properties": "^0.15.0",
+ "known-css-properties": "^0.19.0",
"leven": "^3.1.0",
- "lodash": "^4.17.14",
- "log-symbols": "^3.0.0",
- "mathml-tag-names": "^2.1.0",
- "meow": "^5.0.0",
- "micromatch": "^4.0.0",
+ "lodash": "^4.17.15",
+ "log-symbols": "^4.0.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^7.0.1",
+ "micromatch": "^4.0.2",
"normalize-selector": "^0.2.0",
- "postcss": "^7.0.14",
+ "postcss": "^7.0.30",
"postcss-html": "^0.36.0",
- "postcss-jsx": "^0.36.3",
"postcss-less": "^3.1.4",
- "postcss-markdown": "^0.36.0",
"postcss-media-query-parser": "^0.2.3",
"postcss-reporter": "^6.0.1",
"postcss-resolve-nested-selector": "^0.1.1",
- "postcss-safe-parser": "^4.0.1",
- "postcss-sass": "^0.4.1",
+ "postcss-safe-parser": "^4.0.2",
+ "postcss-sass": "^0.4.4",
"postcss-scss": "^2.0.0",
- "postcss-selector-parser": "^3.1.0",
+ "postcss-selector-parser": "^6.0.2",
"postcss-syntax": "^0.36.2",
- "postcss-value-parser": "^4.0.2",
+ "postcss-value-parser": "^4.1.0",
"resolve-from": "^5.0.0",
- "signal-exit": "^3.0.2",
"slash": "^3.0.0",
"specificity": "^0.4.1",
- "string-width": "^4.1.0",
- "strip-ansi": "^5.2.0",
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
"style-search": "^0.1.0",
"sugarss": "^2.0.0",
"svg-tags": "^1.0.0",
- "table": "^5.2.3",
- "v8-compile-cache": "^2.1.0"
+ "table": "^5.4.6",
+ "v8-compile-cache": "^2.1.0",
+ "write-file-atomic": "^3.0.3"
},
"dependencies": {
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true
+ },
"ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"dev": true
},
+ "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
+ },
+ "arrify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "9.8.0",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz",
+ "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.12.0",
+ "caniuse-lite": "^1.0.30001061",
+ "chalk": "^2.4.2",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^7.0.30",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
+ }
+ },
"braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
@@ -11664,21 +12870,149 @@
"fill-range": "^7.0.1"
}
},
- "dot-prop": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
- "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "browserslist": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"dev": true,
"requires": {
- "is-obj": "^1.0.0"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
},
- "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==",
+ "camelcase": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
+ "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
"dev": true
},
+ "camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ }
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001062",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001062.tgz",
+ "integrity": "sha512-ei9ZqeOnN7edDrb24QfJ0OZicpEbsWxv7WusOiQGz/f2SfvBgHHbOEwBJ8HKGVSyx8Z6ndPjxzR6m0NQq+0bfw==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.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"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ }
+ },
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "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"
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.3.451",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz",
+ "integrity": "sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A==",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
+ "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
+ "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"
+ }
+ },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -11688,46 +13022,55 @@
"to-regex-range": "^5.0.1"
}
},
+ "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"
+ }
+ },
+ "get-stdin": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
+ "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
+ "dev": true
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
"globby": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
- "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz",
+ "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==",
"dev": true,
"requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^1.0.2",
- "dir-glob": "^2.2.2",
- "fast-glob": "^2.2.6",
- "glob": "^7.1.3",
- "ignore": "^4.0.3",
- "pify": "^4.0.1",
- "slash": "^2.0.0"
- },
- "dependencies": {
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true
- },
- "slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
- "dev": true
- }
+ "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"
}
},
"ignore": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
- "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.6.tgz",
+ "integrity": "sha512-cgXgkypZBcCnOgSihyeqbo6gjIaIyDqPQB7Ra4vhE9m6kigdGoQDMHjviFhRZo3IMlRy6yElosoviMs5YxZXUA==",
"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==",
+ "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
},
"is-number": {
@@ -11736,15 +13079,57 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"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"
+ }
+ },
"log-symbols": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
- "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
+ "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
"dev": true,
"requires": {
- "chalk": "^2.4.2"
+ "chalk": "^4.0.0"
+ }
+ },
+ "map-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
+ "dev": true
+ },
+ "meow": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
+ "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "arrify": "^2.0.1",
+ "camelcase": "^6.0.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "^4.0.2",
+ "normalize-package-data": "^2.5.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.13.1",
+ "yargs-parser": "^18.1.3"
}
},
+ "merge2": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
+ "dev": true
+ },
"micromatch": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
@@ -11755,53 +13140,229 @@
"picomatch": "^2.0.5"
}
},
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "dependencies": {
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ }
+ }
+ },
+ "node-releases": {
+ "version": "1.1.56",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.56.tgz",
+ "integrity": "sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw==",
+ "dev": true
+ },
+ "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": "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"
+ }
+ },
+ "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-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "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
},
+ "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
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
+ "postcss": {
+ "version": "7.0.30",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "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-selector-parser": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
- "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
+ "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
"dev": true,
"requires": {
- "dot-prop": "^4.1.1",
+ "cssesc": "^3.0.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
},
"postcss-value-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
- "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==",
+ "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
+ },
+ "quick-lru": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
"dev": true
},
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ }
+ }
+ },
+ "redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
+ "requires": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ }
+ },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
- "string-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
- "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
+ "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
+ },
+ "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": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^5.2.0"
+ "ansi-regex": "^5.0.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==",
+ "strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
"dev": true,
"requires": {
- "ansi-regex": "^4.1.0"
+ "min-indent": "^1.0.0"
}
},
"to-regex-range": {
@@ -11812,6 +13373,30 @@
"requires": {
"is-number": "^7.0.0"
}
+ },
+ "trim-newlines": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
+ "dev": true
+ },
+ "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
+ }
+ }
}
}
},
@@ -11822,29 +13407,29 @@
"dev": true
},
"stylelint-config-standard": {
- "version": "19.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-19.0.0.tgz",
- "integrity": "sha512-VvcODsL1PryzpYteWZo2YaA5vU/pWfjqBpOvmeA8iB2MteZ/ZhI1O4hnrWMidsS4vmEJpKtjdhLdfGJmmZm6Cg==",
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz",
+ "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==",
"dev": true,
"requires": {
"stylelint-config-recommended": "^3.0.0"
}
},
"stylelint-order": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-3.1.1.tgz",
- "integrity": "sha512-4gP/r8j/6JGZ/LL41b2sYtQqfwZl4VSqTp7WeIwI67v/OXNQ08dnn64BGXNwAUSgb2+YIvIOxQaMzqMyQMzoyQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-4.0.0.tgz",
+ "integrity": "sha512-bXV0v+jfB0+JKsqIn3mLglg1Dj2QCYkFHNfL1c+rVMEmruZmW5LUqT/ARBERfBm8SFtCuXpEdatidw/3IkcoiA==",
"dev": true,
"requires": {
"lodash": "^4.17.15",
- "postcss": "^7.0.17",
+ "postcss": "^7.0.26",
"postcss-sorting": "^5.0.1"
},
"dependencies": {
"postcss": {
- "version": "7.0.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz",
- "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==",
+ "version": "7.0.30",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -11882,7 +13467,6 @@
"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"
}
@@ -11894,19 +13478,18 @@
"dev": true
},
"svgo": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.0.tgz",
- "integrity": "sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
+ "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
"dev": true,
"requires": {
"chalk": "^2.4.1",
"coa": "^2.0.2",
"css-select": "^2.0.0",
"css-select-base-adapter": "^0.1.1",
- "css-tree": "1.0.0-alpha.28",
- "css-url-regex": "^1.1.0",
- "csso": "^3.5.1",
- "js-yaml": "^3.12.0",
+ "css-tree": "1.0.0-alpha.37",
+ "csso": "^4.0.2",
+ "js-yaml": "^3.13.1",
"mkdirp": "~0.5.1",
"object.values": "^1.1.0",
"sax": "~1.2.4",
@@ -11923,20 +13506,22 @@
"requires": {
"lower-case": "^1.1.1",
"upper-case": "^1.1.1"
+ },
+ "dependencies": {
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+ "dev": true
+ }
}
},
- "symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
- "dev": true
- },
- "synchronous-promise": {
- "version": "2.0.9",
- "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.9.tgz",
- "integrity": "sha512-LO95GIW16x69LuND1nuuwM4pjgFGupg7pZ/4lU86AmchPKrhk0o2tpMU2unXRrqo81iAFe1YJ0nAGEVwsrZAgg==",
- "dev": true
- },
"table": {
"version": "5.4.6",
"resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
@@ -11955,6 +13540,18 @@
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
+ "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
+ },
+ "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",
@@ -11977,87 +13574,81 @@
}
}
},
+ "tar-fs": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.0.tgz",
+ "integrity": "sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg==",
+ "dev": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.0.0"
+ }
+ },
+ "tar-stream": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz",
+ "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==",
+ "dev": true,
+ "requires": {
+ "bl": "^4.0.1",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
"teeny-request": {
- "version": "3.11.3",
- "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-3.11.3.tgz",
- "integrity": "sha512-CKncqSF7sH6p4rzCgkb/z/Pcos5efl0DmolzvlqRQUNcpRIruOhY9+T1FsIlyEbfWd7MsFpodROOwHYh2BaXzw==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz",
+ "integrity": "sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==",
"dev": true,
"requires": {
- "https-proxy-agent": "^2.2.1",
+ "http-proxy-agent": "^4.0.0",
+ "https-proxy-agent": "^4.0.0",
"node-fetch": "^2.2.0",
+ "stream-events": "^1.0.5",
"uuid": "^3.3.2"
}
},
"test-exclude": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
- "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
"dev": true,
"requires": {
- "glob": "^7.1.3",
- "minimatch": "^3.0.4",
- "read-pkg-up": "^4.0.0",
- "require-main-filename": "^2.0.0"
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
},
"dependencies": {
- "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"
- }
- },
- "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"
- }
- },
- "p-limit": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
- "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
- "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-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
- },
- "read-pkg-up": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
- "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"dev": true,
"requires": {
- "find-up": "^3.0.0",
- "read-pkg": "^3.0.0"
+ "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"
}
- },
- "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
}
}
},
@@ -12080,13 +13671,12 @@
"dev": true
},
"through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "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.6",
- "xtend": "~4.0.1"
+ "readable-stream": "2 || 3"
}
},
"timsort": {
@@ -12103,6 +13693,29 @@
"requires": {
"no-case": "^2.2.0",
"upper-case": "^1.0.3"
+ },
+ "dependencies": {
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "dev": true,
+ "requires": {
+ "lower-case": "^1.1.1"
+ }
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+ "dev": true
+ }
}
},
"tmp": {
@@ -12174,12 +13787,6 @@
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
"dev": true
},
- "toposort": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
- "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=",
- "dev": true
- },
"trim": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
@@ -12198,37 +13805,31 @@
"integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
"dev": true
},
- "trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
- "dev": true
- },
"trim-trailing-lines": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz",
- "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz",
+ "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==",
"dev": true
},
"trough": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz",
- "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
+ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
"dev": true
},
"tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+ "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true
},
"type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2"
+ "prelude-ls": "^1.2.1"
}
},
"type-detect": {
@@ -12238,9 +13839,9 @@
"dev": true
},
"type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
+ "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
"dev": true
},
"type-is": {
@@ -12253,44 +13854,48 @@
"mime-types": "~2.1.24"
}
},
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "ua-parser-js": {
+ "version": "0.7.21",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
+ "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
"dev": true
},
"uglify-js": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
- "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
+ "version": "3.9.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.3.tgz",
+ "integrity": "sha512-r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA==",
"dev": true,
"requires": {
- "commander": "~2.20.0",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "commander": "~2.20.3"
}
},
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
- "dev": true
+ "unbzip2-stream": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.2.tgz",
+ "integrity": "sha512-pZMVAofMrrHX6Ik39hCk470kulCbmZ2SWfQLPmTWqfJV/oUm0gn1CblvHdUu4+54Je6Jq34x8kY6XjTy6dMkOg==",
+ "dev": true,
+ "requires": {
+ "buffer": "^5.2.1",
+ "through": "^2.3.8"
+ }
},
"unherit": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz",
- "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
+ "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
"dev": true,
"requires": {
- "inherits": "^2.0.1",
- "xtend": "^4.0.1"
+ "inherits": "^2.0.0",
+ "xtend": "^4.0.0"
}
},
"unicode-canonical-property-names-ecmascript": {
@@ -12310,31 +13915,43 @@
}
},
"unicode-match-property-value-ecmascript": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
- "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+ "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
"dev": true
},
"unicode-property-aliases-ecmascript": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
- "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
"dev": true
},
"unified": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
- "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-9.0.0.tgz",
+ "integrity": "sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ==",
"dev": true,
"requires": {
- "@types/unist": "^2.0.0",
- "@types/vfile": "^3.0.0",
"bail": "^1.0.0",
"extend": "^3.0.0",
- "is-plain-obj": "^1.1.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^2.0.0",
"trough": "^1.0.0",
- "vfile": "^3.0.0",
- "x-is-string": "^0.1.0"
+ "vfile": "^4.0.0"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "dev": true
+ }
}
},
"union-value": {
@@ -12362,51 +13979,57 @@
"dev": true
},
"unist-util-find-all-after": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.4.tgz",
- "integrity": "sha512-CaxvMjTd+yF93BKLJvZnEfqdM7fgEACsIpQqz8vIj9CJnUb9VpyymFS3tg6TCtgrF7vfCJBF5jbT2Ox9CBRYRQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz",
+ "integrity": "sha512-0GICgc++sRJesLwEYDjFVJPJttBpVQaTNgc6Jw0Jhzvfs+jtKePEMu+uD+PqkRUrAvGQqwhpDwLGWo1PK8PDEw==",
"dev": true,
"requires": {
- "unist-util-is": "^3.0.0"
+ "unist-util-is": "^4.0.0"
}
},
"unist-util-is": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
- "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
+ "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
"dev": true
},
"unist-util-remove-position": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz",
- "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
+ "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
"dev": true,
"requires": {
- "unist-util-visit": "^1.1.0"
+ "unist-util-visit": "^2.0.0"
}
},
"unist-util-stringify-position": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
- "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==",
- "dev": true
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
+ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.2"
+ }
},
"unist-util-visit": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
- "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz",
+ "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==",
"dev": true,
"requires": {
- "unist-util-visit-parents": "^2.0.0"
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
}
},
"unist-util-visit-parents": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
- "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz",
+ "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==",
"dev": true,
"requires": {
- "unist-util-is": "^3.0.0"
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
}
},
"universalify": {
@@ -12467,25 +14090,22 @@
}
}
},
- "upath": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.1.tgz",
- "integrity": "sha512-D0yetkpIOKiZQquxjM2Syvy48Y1DbZ0SWxgsZiwd9GCWRpc75vN8ytzem14WDSg+oiX6+Qt31FpiS/ExODCrLg==",
- "dev": true
- },
"upper-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
- "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
- "dev": true
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.1.tgz",
+ "integrity": "sha512-laAsbea9SY5osxrv7S99vH9xAaJKrw5Qpdh4ENRLcaxipjKsiaBwiAsxfa8X5mObKNTQPsupSq0J/VIxsSJe3A==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.10.0"
+ }
},
"upper-case-first": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz",
- "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.1.tgz",
+ "integrity": "sha512-105J8XqQ+9RxW3l9gHZtgve5oaiR9TIwvmZAMAIZWRHe00T21cdvewKORTlOJf/zXW6VukuTshM+HXZNWz7N5w==",
"dev": true,
"requires": {
- "upper-case": "^1.1.1"
+ "tslib": "^1.10.0"
}
},
"uri-js": {
@@ -12515,16 +14135,6 @@
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
"dev": true
},
- "useragent": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
- "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
- "dev": true,
- "requires": {
- "lru-cache": "4.1.x",
- "tmp": "0.0.x"
- }
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -12532,13 +14142,84 @@
"dev": true
},
"util.promisify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
- "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
+ "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "object.getownpropertydescriptors": "^2.0.3"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.2",
+ "has-symbols": "^1.0.1",
+ "object.getownpropertydescriptors": "^2.1.0"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "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.getownpropertydescriptors": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
+ "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
+ }
+ }
}
},
"utils-merge": {
@@ -12548,9 +14229,9 @@
"dev": true
},
"uuid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
- "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"dev": true
},
"v8-compile-cache": {
@@ -12576,15 +14257,16 @@
"dev": true
},
"vfile": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz",
- "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.1.tgz",
+ "integrity": "sha512-lRjkpyDGjVlBA7cDQhQ+gNcvB1BGaTHYuSOcY3S7OhDmBtnzX95FhtZZDecSTDm6aajFymyve6S5DN4ZHGezdQ==",
"dev": true,
"requires": {
+ "@types/unist": "^2.0.0",
"is-buffer": "^2.0.0",
"replace-ext": "1.0.0",
- "unist-util-stringify-position": "^1.0.0",
- "vfile-message": "^1.0.0"
+ "unist-util-stringify-position": "^2.0.0",
+ "vfile-message": "^2.0.0"
},
"dependencies": {
"is-buffer": {
@@ -12596,18 +14278,19 @@
}
},
"vfile-location": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz",
- "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz",
+ "integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==",
"dev": true
},
"vfile-message": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
- "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
+ "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
"dev": true,
"requires": {
- "unist-util-stringify-position": "^1.1.1"
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0"
}
},
"void-elements": {
@@ -12616,6 +14299,15 @@
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "dev": true,
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -12631,6 +14323,12 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
+ "which-pm-runs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
+ "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
+ "dev": true
+ },
"wide-align": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
@@ -12638,22 +14336,83 @@
"dev": true,
"requires": {
"string-width": "^1.0.2 || 2"
+ },
+ "dependencies": {
+ "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": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ }
}
},
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"dev": true
},
"wrap-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz",
- "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=",
+ "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": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0"
+ "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.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "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"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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": {
@@ -12671,21 +14430,22 @@
"mkdirp": "^0.5.1"
}
},
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
"dev": true,
"requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
}
},
- "x-is-string": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
- "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
+ "ws": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+ "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
"dev": true
},
"xmlhttprequest-ssl": {
@@ -12715,85 +14475,90 @@
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"dev": true
},
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "yaml": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
+ "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==",
"dev": true
},
"yargs": {
- "version": "12.0.5",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
- "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
"dev": true,
"requires": {
- "cliui": "^4.0.0",
+ "cliui": "^6.0.0",
"decamelize": "^1.2.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
+ "require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
+ "string-width": "^4.2.0",
"which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.1"
},
"dependencies": {
"camelcase": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz",
- "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"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==",
+ "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": "^3.0.0"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
}
},
"locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "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": "^3.0.0",
- "path-exists": "^3.0.0"
+ "p-locate": "^4.1.0"
}
},
"p-limit": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
- "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "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==",
+ "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.0.0"
+ "p-limit": "^2.2.0"
}
},
"p-try": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
- "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+ "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
+ },
+ "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
},
"yargs-parser": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
- "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "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",
@@ -12845,6 +14610,12 @@
"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",
@@ -12854,10 +14625,10 @@
"locate-path": "^3.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==",
+ "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
},
"locate-path": {
@@ -12871,9 +14642,9 @@
}
},
"p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "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"
@@ -12894,12 +14665,6 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"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
- },
"string-width": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
@@ -12932,9 +14697,9 @@
}
},
"yargs": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
- "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
+ "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",
@@ -12946,13 +14711,13 @@
"string-width": "^3.0.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
- "yargs-parser": "^13.1.1"
+ "yargs-parser": "^13.1.2"
}
},
"yargs-parser": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
- "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
+ "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",
@@ -12962,12 +14727,13 @@
}
},
"yauzl": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
- "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
"dev": true,
"requires": {
- "fd-slicer": "~1.0.1"
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
}
},
"yeast": {
@@ -12975,20 +14741,6 @@
"resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
"integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
"dev": true
- },
- "yup": {
- "version": "0.27.0",
- "resolved": "https://registry.npmjs.org/yup/-/yup-0.27.0.tgz",
- "integrity": "sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.0.0",
- "fn-name": "~2.0.1",
- "lodash": "^4.17.11",
- "property-expr": "^1.5.0",
- "synchronous-promise": "^2.0.6",
- "toposort": "^2.0.2"
- }
}
}
}
diff --git a/library/cropperjs/package.json b/library/cropperjs/package.json
index 81647a36b..f30522185 100644
--- a/library/cropperjs/package.json
+++ b/library/cropperjs/package.json
@@ -1,7 +1,7 @@
{
"name": "cropperjs",
"description": "JavaScript image cropper.",
- "version": "1.5.6",
+ "version": "1.5.7",
"main": "dist/cropper.common.js",
"module": "dist/cropper.esm.js",
"browser": "dist/cropper.js",
@@ -27,7 +27,7 @@
"lint:js": "eslint src test *.js --fix",
"release": "npm run clear && npm run lint && npm run build && npm run compress && npm run copy && npm test",
"start": "npm-run-all --parallel watch:*",
- "test": "cross-env NODE_ENV=test karma start test/karma.conf.js",
+ "test": "karma start",
"watch:css": "postcss src/index.css -o docs/css/cropper.css -m -w",
"watch:js": "rollup -c -m -w"
},
@@ -54,7 +54,7 @@
],
"author": {
"name": "Chen Fengyuan",
- "url": "https://chenfengyuan.com"
+ "url": "https://chenfengyuan.com/"
},
"license": "MIT",
"bugs": {
@@ -62,46 +62,44 @@
},
"homepage": "https://fengyuanchen.github.io/cropperjs",
"devDependencies": {
- "@babel/core": "^7.6.2",
- "@babel/preset-env": "^7.6.2",
- "@commitlint/cli": "^8.2.0",
- "@commitlint/config-conventional": "^8.2.0",
- "babel-plugin-istanbul": "^5.2.0",
+ "@babel/core": "^7.9.6",
+ "@babel/preset-env": "^7.9.6",
+ "@commitlint/cli": "^8.3.5",
+ "@commitlint/config-conventional": "^8.3.4",
+ "babel-plugin-istanbul": "^6.0.0",
"chai": "^4.2.0",
- "change-case": "^3.1.0",
- "codecov": "^3.6.1",
- "cpy-cli": "^2.0.0",
+ "change-case": "^4.1.1",
+ "codecov": "^3.7.0",
+ "cpy-cli": "^3.1.1",
"create-banner": "^1.0.0",
- "cross-env": "^6.0.3",
"cssnano": "^4.1.10",
- "del-cli": "^3.0.0",
- "eslint": "^6.5.1",
- "eslint-config-airbnb-base": "^14.0.0",
- "eslint-plugin-import": "^2.18.2",
- "husky": "^3.0.8",
- "karma": "^4.3.0",
+ "del-cli": "^3.0.1",
+ "eslint": "^7.1.0",
+ "eslint-config-airbnb-base": "^14.1.0",
+ "eslint-plugin-import": "^2.20.2",
+ "husky": "^4.2.5",
+ "karma": "^5.0.9",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.1.0",
- "karma-coverage-istanbul-reporter": "^2.1.0",
- "karma-mocha": "^1.3.0",
+ "karma-coverage-istanbul-reporter": "^3.0.2",
+ "karma-mocha": "^2.0.1",
"karma-mocha-reporter": "^2.2.5",
- "karma-rollup-preprocessor": "^7.0.2",
- "lint-staged": "^8.2.1",
- "mocha": "^6.2.1",
+ "karma-rollup-preprocessor": "^7.0.5",
+ "lint-staged": "^10.2.6",
+ "mocha": "^7.1.2",
"npm-run-all": "^4.1.5",
- "postcss-cli": "^6.1.3",
- "postcss-header": "^1.0.0",
+ "postcss-cli": "^7.1.1",
+ "postcss-header": "^2.0.0",
"postcss-import": "^12.0.1",
"postcss-preset-env": "^6.7.0",
"postcss-url": "^8.0.0",
- "puppeteer": "^1.20.0",
- "rollup": "^1.23.0",
- "rollup-plugin-babel": "^4.3.3",
- "rollup-watch": "^4.3.1",
- "stylelint": "^11.0.0",
- "stylelint-config-standard": "^19.0.0",
- "stylelint-order": "^3.1.1",
- "uglify-js": "^3.6.0"
+ "puppeteer": "^3.1.0",
+ "rollup": "^2.10.7",
+ "rollup-plugin-babel": "^4.4.0",
+ "stylelint": "^13.5.0",
+ "stylelint-config-standard": "^20.0.0",
+ "stylelint-order": "^4.0.0",
+ "uglify-js": "^3.9.3"
},
"browserslist": [
"last 2 versions",
@@ -120,19 +118,13 @@
}
},
"lint-staged": {
- "linters": {
- "*.js": [
- "eslint --fix",
- "git add"
- ],
- "*.{css,scss,html}": [
- "stylelint --fix",
- "git add"
- ]
- },
- "ignore": [
- "{dist,docs}/**/*.js",
- "*.min.*"
+ "{src,test}/**/*.js|*.conf*.js": [
+ "eslint --fix",
+ "git add"
+ ],
+ "{src,docs}/**/*.{css,scss,html}": [
+ "stylelint --fix",
+ "git add"
]
}
}
diff --git a/library/cropperjs/src/js/constants.js b/library/cropperjs/src/js/constants.js
index 015fcbcdd..4f85d60d9 100644
--- a/library/cropperjs/src/js/constants.js
+++ b/library/cropperjs/src/js/constants.js
@@ -1,6 +1,6 @@
export const IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';
export const WINDOW = IS_BROWSER ? window : {};
-export const IS_TOUCH_DEVICE = IS_BROWSER ? 'ontouchstart' in WINDOW.document.documentElement : false;
+export const IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;
export const HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;
export const NAMESPACE = 'cropper';
diff --git a/library/cropperjs/src/js/cropper.js b/library/cropperjs/src/js/cropper.js
index 24bf81426..a0cb85f3f 100644
--- a/library/cropperjs/src/js/cropper.js
+++ b/library/cropperjs/src/js/cropper.js
@@ -87,7 +87,7 @@ class Cropper {
return;
}
- // e.g.: "http://example.com/img/picture.jpg"
+ // e.g.: "https://example.com/img/picture.jpg"
url = element.src;
} else if (tagName === 'canvas' && window.HTMLCanvasElement) {
url = element.toDataURL();
diff --git a/library/cropperjs/src/js/handlers.js b/library/cropperjs/src/js/handlers.js
index 43f999767..63d18f90e 100644
--- a/library/cropperjs/src/js/handlers.js
+++ b/library/cropperjs/src/js/handlers.js
@@ -10,8 +10,6 @@ import {
EVENT_CROP_END,
EVENT_CROP_MOVE,
EVENT_CROP_START,
- MIN_CONTAINER_WIDTH,
- MIN_CONTAINER_HEIGHT,
REGEXP_ACTIONS,
} from './constants';
import {
@@ -28,15 +26,11 @@ import {
export default {
resize() {
- const { options, container, containerData } = this;
- const minContainerWidth = Number(options.minContainerWidth) || MIN_CONTAINER_WIDTH;
- const minContainerHeight = Number(options.minContainerHeight) || MIN_CONTAINER_HEIGHT;
-
- if (this.disabled || containerData.width <= minContainerWidth
- || containerData.height <= minContainerHeight) {
+ if (this.disabled) {
return;
}
+ const { options, container, containerData } = this;
const ratio = container.offsetWidth / containerData.width;
// Resize when width changed or height changed
diff --git a/library/cropperjs/src/js/utilities.js b/library/cropperjs/src/js/utilities.js
index bb5c7c24c..076b9c3bd 100644
--- a/library/cropperjs/src/js/utilities.js
+++ b/library/cropperjs/src/js/utilities.js
@@ -127,7 +127,7 @@ const REGEXP_DECIMALS = /\.\d*(?:0|9){12}\d*$/;
/**
* Normalize decimal number.
- * Check out {@link http://0.30000000000000004.com/}
+ * Check out {@link https://0.30000000000000004.com/}
* @param {number} value - The value to normalize.
* @param {number} [times=100000000000] - The times for normalizing.
* @returns {number} Returns the normalized number.
diff --git a/library/fullcalendar/CHANGELOG.md b/library/fullcalendar/CHANGELOG.md
deleted file mode 100644
index 2687cd8e7..000000000
--- a/library/fullcalendar/CHANGELOG.md
+++ /dev/null
@@ -1,1377 +0,0 @@
-
-v4.0.2 (2019-04-03)
--------------------
-
-Bugfixes:
-- eventAllow and constraints not respected when dragging event between calendars
-- viewSkeletonRender now in typedefs (#4589)
-- invalid draggedEvent properties in eventAllow for external dnd (#4575)
-- forceEventDuration not working with external dnd (#4597)
-- rrule displaying time when allDay is true (#4576)
-- rrule events not displaying at interval start (#4596)
-- prev button not initially working when starting on 31st of a month (#4595)
-- clicking X in popover generating a dayClick (#4584)
-- locale file used as single script tag not affecting calendar locale (#4581)
-- header "today" button not translated for pt and pt-br (#4591)
-- fa locale typo (#4582)
-
-
-v4.0.1 (2019-03-18)
--------------------
-
-Read about all the changes in v4:
-https://fullcalendar.io/docs/upgrading-from-v3
-
-Obscure breaking changes from v3->v4 not mentioned elsewhere:
-- `touchMouseIgnoreWait` moved to `(packageRoot).config.touchMouseIgnoreWait`
-- `dataAttrPrefix` moved to `(packageRoot).config.dataAttrPrefix`
-
-Advancements since latest prerelease:
-- New styling for buttons and icons in header. New styling for events.
-- Bugfixes: #4539, #4503, #4534, #4505, #4477, #4467, #4454, #4458, #4483,
- #4517, #4506, #4435, #4498, #4497, #4446, #4432, #4530
-
-NOTE: version "4.0.0" was skipped because of an NPM publishing error
-
-
-v3.10.0 (2019-01-10)
---------------------
-
-POTENTIALLY BREAKING CHANGE:
-The jquery and moment packages have been moved to peerDependencies. If you are using
-NPM to install fullcalendar, you'll need to explicitly add jquery and moment as
-dependencies of your project. NPM will not install them automatically. (#4136, #4233)
-
-New Features:
-- events from a Google Calendar event source will receive extended props (#4123)
-- export more classes and util functions (#4124)
-- new locales: zh-hk (#4266), be (#4274)
-
-Bugfixes:
-- not accepting dayClicks/selects because of overflow-x:hidden on html/body (#3615)
-- event end time not displayed when duration is one slot, in agenda view (#3049)
-- switching views before event fetch resolves, JS error (#3689)
-- single-day allDay event not showing when time is specified (#3854)
-- prev button doesn't work when previous days are hidden by hiddenDays and dayCount
- is greater than dateIncrement (#4202)
-- calendar locale not used in all moments objects (#4174)
-- background event background color does not completely fill cells in Chrome (#4145)
-- provide a delta for eventResize when resizing from start (#4135)
-- IE11 memory leak from not removing handler correctly (#4311)
-- make touchstart handlers passive (#4087)
-- fixed typescript definition for: eventAllow (#4243), selectAllow (#4319)
-- fixed locales: de (#4197, #4371), hu (#4203), tr (#4312), ja (#4329)
-
-
-v3.9.0 (2018-03-04)
--------------------
-
-- Bootstrap 4 support (#4032, #4065, thx @GeekJosh)
-- add OptionsInput to the fullcalendar.d.ts exports (#4040, #4006)
-- columnHeaderFormat/columnHeaderHtml/columnHeaderText in .d.ts file (#4061, #4085)
-- list-view auto-height not working (#3346, #4071, thx @WhatTheBuild)
-- bump momentjs minimum version to 2.20.1, for locale fixes (#4014)
-- swedish week header translation fix (#4082)
-- dutch year translation (#4069)
-
-
-v3.8.2 (2018-01-30)
--------------------
-
-Bugfixes:
-- Fix TypeScript definitions file with strictNullChecks (#4035)
-
-
-v3.8.1 (2018-01-28)
--------------------
-
-Bugfixes:
-- TypeScript definition file not compatible with noImplicitAny (#4017)
-- ES6 classes are not supported for grid class (#3437)
-- day numbers in month view should be localized (#3339)
-- select helper is resizable, causes js error (#3764)
-- selecting over existing select helper causes js error (#4031)
-- eventOrder doesn't work on custom fields (#3950)
-- aria label on button icons (#4023)
-- dynamic option changes to select/overlap/allow doesn't cause rerender
-
-Locales:
-- added Georgian (#3994)
-- added Bosnian (#4029)
-
-
-v3.8.0 (2017-12-18)
--------------------
-
-- new settings for month/agenda/basic views (#3078):
- - `columnHeaderFormat` (renamed from `columnFormat`)
- - `columnHeaderText`
- - `columnHeaderHtml`
-- TypeScript definition file (fullcalendar.d.ts) included in npm package (#3889)
-- codebase using SASS, though not taking advantage of it yet (#3463)
-- codebase fully ported to TypeScript / Webpack
-- Afrikaans locale fix (#3862)
-
-
-v3.7.0 (2017-11-13)
--------------------
-
-Bugfixes:
-- `render` method does not re-adjust calendar dimension (#3893)
-- when custom view navigates completely into hidden weekends, JS error ([scheduler-375])
-
-Other:
-- in themes.html demo, fixed broken Bootswatch themes (#3917)
-- moved JavaScript codebase over to TypeScript
- (same external API; embedded typedefs coming soon)
-
-[scheduler-375]: https://github.com/fullcalendar/fullcalendar-scheduler/issues/375
-
-
-v3.6.2 (2017-10-23)
--------------------
-
-Bugfixes:
-- Google Calendar event sources not calling `loading` callback (#3884)
-- `eventDataTransform` w/ eventConstraint shouldn't be called during event resizing (#3859)
-- `navLinks` would go to the previously navigated date (#3869)
-- `nowIndicator` arrow would repeatedly render (#3872)
-- fc-content-skeleton DOM element would repeatedly render on navigation in agenda view
-
-
-v3.6.1 (2017-10-11)
--------------------
-
-Bugfixes:
-- JSON feed event sources always requesting current page (#3865)
-- multi-day events appearing multiple times in more+ popover (#3856)
-
-
-v3.6.0 (2017-10-10)
--------------------
-
-Features:
-- `agendaEventMinHeight` for guaranteeing height (#961, #3788) thx @Stafie
-- `columnHeader` can be set to `false` to hide headings (#3438, #3787) thx @caseyjhol
-- export all View classes (#2851, #3831)
-- `updateEvent`, update complex attributes (#2864)
-- Albanian locale (#3847) thx @alensaqe
-
-Bugfixes:
-- objects used as non-standard Event properties ignored by `updateEvent` (#3839)
-- listDay error if event goes over period (#3843)
-- `validDays` with `hiddenDays`, js error when no days active (#3846)
-- json feed Event Source object no longer has `url` property (#3845)
-- `updateEvent`, allDay to timed, when no end, wrong end date (#3144)
-- `removeEvents` by `_id` stopped working (#3828)
-- correct `this` context in FuncEventSource (#3848) thx @declspec
-- js event not received in unselect callback when selecting another cell (#3832)
-
-Incompatibilities:
-- The `viewRender` callback might now be fired AFTER events have been rendered
- to the DOM. However, the eventRender/eventAfterRender/eventAfterAllRender callbacks
- will always be fired after `viewRender`, just as before.
-- The internal `Grid` class (accessed via `$.fullCalendar.Grid`) has been removed.
- For monkeypatching, use DayGrid/TimeGrid directly.
-
-
-v3.5.1 (2017-09-06)
--------------------
-
-- fixed loading trigger not firing (#3810)
-- fixed overaggressively fetching events, on option changes (#3820)
-- fixed event object `date` property being discarded (tho still parsed) (#3819)
-- fixed event object `_id` property being discarded (#3811)
-
-
-v3.5.0 (2017-08-30)
--------------------
-
-Features:
-- Bootstrap 3 theme support (#2334, #3566)
- - via `themeSystem: 'bootstrap3'` (the `theme` option is deprecated)
- - new `bootstrapGlyphicons` option
- - jQuery UI "Cupertino" theme no longer included in zip archive
- - improved theme switcher on demo page (#1436)
- (big thanks to @joankaradimov)
-- 25% event rendering performance improvement across the board (#2524)
-- console message for unknown method/calendar (#3253)
-- Serbian cyrilic/latin (#3656)
-- available via Packagist (#2999, #3617)
-
-Bugfixes:
-- slot time label invisible when minTime starts out of alignment (#2786)
-- bug with inverse-background event rendering when out of range (#3652)
-- wrongly disabled prev/next when current date outside of validRange (#3686, #3651)
-- updateEvent, error when changing allDay from false to true (#3518)
-- updateEvent doesn't support ID changes (#2928)
-- Promise then method doesn't forward result (#3744)
-- Korean typo (#3693)
-- fixed switching from any view to listview, eventAfterRender isn't called (#3751)
-
-Incompatibilities:
-- Event Objects obtained from clientEvents or various callbacks are no longer
- references to internally used objects. Rather, they are static object copies.
-- `clientEvents` method no longer returns events in same order as received.
- Do not depend on order.
-
-
-v3.4.0 (2017-04-27)
--------------------
-
-- composer.json for Composer (PHP package manager) (#3617)
-- fix toISOString for locales with non-trivial postformatting (#3619)
-- fix for nested inverse-background events (#3609)
-- Estonian locale (#3600)
-- fixed Latvian localization (#3525)
-- internal refactor of async systems
-
-
-v3.3.1 (2017-04-01)
--------------------
-
-Bugfixes:
-- stale calendar title when navigate away from then back to the a view (#3604)
-- js error when gotoDate immediately after calendar initialization (#3598)
-- agenda view scrollbars causes misalignment in jquery 3.2.1 (#3612)
-- navigation bug when trying to navigate to a day of another week (#3610)
-- dateIncrement not working when duration and dateIncrement have different units
-
-
-v3.3.0 (2017-03-23)
--------------------
-
-Features:
-- `visibleRange` - complete control over view's date range (#2847, #3105, #3245)
-- `validRange` - restrict date range (#429)
-- `changeView` - pass in a date or visibleRange as second param (#3366)
-- `dateIncrement` - customize prev/next jump (#2710)
-- `dateAlignment` - custom view alignment, like start-of-week (#3113)
-- `dayCount` - force a fixed number-of-days, even with hiddenDays (#2753)
-- `showNonCurrentDates` - option to hide day cells for prev/next months (#437)
-- can define a defaultView with a duration/visibleRange/dayCount with needing
- to create a custom view in the `views` object. Known as a "Generic View".
-
-Behavior Changes:
-- when custom view is specified with duration `{days:7}`,
- it will no longer align with the start of the week. (#2847)
-- when `gotoDate` is called on a custom view with a duration of multiple days,
- the view will always shift to begin with the given date. (#3515)
-
-Bugfixes:
-- event rendering when excessive `minTime`/`maxTime` (#2530)
-- event dragging not shown when excessive `minTime`/`maxTime` (#3055)
-- excessive `minTime`/`maxTime` not reflected in event fetching (#3514)
- - when minTime is negative, or maxTime beyond 24 hours, when event data is requested
- via a function or a feed, the given data params will have time parts.
-- external event dragging via touchpunch broken (#3544)
-- can't make an immediate new selection after existing selection, with mouse.
- introduced in v3.2.0 (#3558)
-
-
-v3.2.0 (2017-02-14)
--------------------
-
-Features:
-- `selectMinDistance`, threshold before a mouse selection begins (#2428)
-
-Bugfixes:
-- iOS 10, unwanted scrolling while dragging events/selection (#3403)
-- dayClick triggered when swiping on touch devices (#3332)
-- dayClick not functioning on Firefix mobile (#3450)
-- title computed incorrectly for views with no weekends (#2884)
-- unwanted scrollbars in month-view when non-integer width (#3453, #3444)
-- incorrect date formatting for locales with non-standlone month/day names (#3478)
-- date formatting, incorrect omission of trailing period for certain locales (#2504, #3486)
-- formatRange should collapse same week numbers (#3467)
-- Taiwanese locale updated (#3426)
-- Finnish noEventsMessage updated (#3476)
-- Croatian (hr) buttonText is blank (#3270)
-- JSON feed PHP example, date range math bug (#3485)
-
-
-v3.1.0 (2016-12-05)
--------------------
-
-- experimental support for implicitly batched ("debounced") event rendering (#2938)
- - `eventRenderWait` (off by default)
-- new `footer` option, similar to header toolbar (#654, #3299)
-- event rendering batch methods (#3351):
- - `renderEvents`
- - `updateEvents`
-- more granular touch settings (#3377):
- - `eventLongPressDelay`
- - `selectLongPressDelay`
-- eventDestroy not called when removing the popover (#3416, #3419)
-- print stylesheet and gcal extension now offered as minified (#3415)
-- fc-today in agenda header cells (#3361, #3365)
-- height-related options in tandem with other options (#3327, #3384)
-- Kazakh locale (#3394)
-- Afrikaans locale (#3390)
-- internal refactor related to timing of rendering and firing handlers.
- calls to rerender the current date-range and events from within handlers
- might not execute immediately. instead, will execute after handler finishes.
-
-
-v3.0.1 (2016-09-26)
--------------------
-
-Bugfixes:
-- list view rendering event times incorrectly (#3334)
-- list view rendering events/days out of order (#3347)
-- events with no title rendering as "undefined"
-- add .fc scope to table print styles (#3343)
-- "display no events" text fix for German (#3354)
-
-
-v3.0.0 (2016-09-04)
--------------------
-
-Features:
-- List View (#560)
- - new views: `listDay`, `listWeek`, `listMonth`, `listYear`, and simply `list`
- - `listDayFormat`
- - `listDayAltFormat`
- - `noEventsMessage`
-- Clickable day/week numbers for easier navigation (#424)
- - `navLinks`
- - `navLinkDayClick`
- - `navLinkWeekClick`
-- Programmatically allow/disallow user interactions:
- - `eventAllow` (#2740)
- - `selectAllow` (#2511)
-- Option to display week numbers in cells (#3024)
- - `weekNumbersWithinDays` (set to `true` to activate)
-- When week calc is ISO, default first day-of-week to Monday (#3255)
-- Macedonian locale (#2739)
-- Malay locale
-
-Breaking Changes:
-- IE8 support dropped
-- jQuery: minimum support raised to v2.0.0
-- MomentJS: minimum support raised to v2.9.0
-- `lang` option renamed to `locale`
-- dist files have been renamed to be more consistent with MomentJS:
- - `lang/` -> `locale/`
- - `lang-all.js` -> `locale-all.js`
-- behavior of moment methods no longer affected by ambiguousness:
- - `isSame`
- - `isBefore`
- - `isAfter`
-- View-Option-Hashes no longer supported (deprecated in 2.2.4)
-- removed `weekMode` setting
-- removed `axisFormat` setting
-- DOM structure of month/basic-view day cell numbers changed
-
-Bugfixes:
-- `$.fullCalendar.version` incorrect (#3292)
-
-Build System:
-- using gulp instead of grunt (faster)
-- using npm internally for dependencies instead of bower
-- changed repo directory structure
-
-
-v2.9.1 (2016-07-31)
--------------------
-
-- multiple definitions for businessHours (#2686)
-- businessHours for single day doesn't display weekends (#2944)
-- height/contentHeight can accept a function or 'parent' for dynamic value (#3271)
-- fix +more popover clipped by overflow (#3232)
-- fix +more popover positioned incorrectly when scrolled (#3137)
-- Norwegian Nynorsk translation (#3246)
-- fix isAnimating JS error (#3285)
-
-
-v2.9.0 (2016-07-10)
--------------------
-
-- Setters for (almost) all options (#564).
- See [docs](http://fullcalendar.io/docs/utilities/dynamic_options/) for more info.
-- Travis CI improvements (#3266)
-
-
-v2.8.0 (2016-06-19)
--------------------
-
-- getEventSources method (#3103, #2433)
-- getEventSourceById method (#3223)
-- refetchEventSources method (#3103, #1328, #254)
-- removeEventSources method (#3165, #948)
-- prevent flicker when refetchEvents is called (#3123, #2558)
-- fix for removing event sources that share same URL (#3209)
-- jQuery 3 support (#3197, #3124)
-- Travis CI integration (#3218)
-- EditorConfig for promoting consistent code style (#141)
-- use en dash when formatting ranges (#3077)
-- height:auto always shows scrollbars in month view on FF (#3202)
-- new languages:
- - Basque (#2992)
- - Galician (#194)
- - Luxembourgish (#2979)
-
-
-v2.7.3 (2016-06-02)
--------------------
-
-internal enhancements that plugins can benefit from:
-- EventEmitter not correctly working with stopListeningTo
-- normalizeEvent hook for manipulating event data
-
-
-v2.7.2 (2016-05-20)
--------------------
-
-- fixed desktops/laptops with touch support not accepting mouse events for
- dayClick/dragging/resizing (#3154, #3149)
-- fixed dayClick incorrectly triggered on touch scroll (#3152)
-- fixed touch event dragging wrongfully beginning upon scrolling document (#3160)
-- fixed minified JS still contained comments
-- UI change: mouse users must hover over an event to reveal its resizers
-
-
-v2.7.1 (2016-05-01)
--------------------
-
-- dayClick not firing on touch devices (#3138)
-- icons for prev/next not working in MS Edge (#2852)
-- fix bad languages troubles with firewalls (#3133, #3132)
-- update all dev dependencies (#3145, #3010, #2901, #251)
-- git-ignore npm debug logs (#3011)
-- misc automated test updates (#3139, #3147)
-- Google Calendar htmlLink not always defined (#2844)
-
-
-v2.7.0 (2016-04-23)
--------------------
-
-touch device support (#994):
- - smoother scrolling
- - interactions initiated via "long press":
- - event drag-n-drop
- - event resize
- - time-range selecting
- - `longPressDelay`
-
-
-v2.6.1 (2016-02-17)
--------------------
-
-- make `nowIndicator` positioning refresh on window resize
-
-
-v2.6.0 (2016-01-07)
--------------------
-
-- current time indicator (#414)
-- bundled with most recent version of moment (2.11.0)
-- UMD wrapper around lang files now handles commonjs (#2918)
-- fix bug where external event dragging would not respect eventOverlap
-- fix bug where external event dropping would not render the whole-day highlight
-
-
-v2.5.0 (2015-11-30)
--------------------
-
-- internal timezone refactor. fixes #2396, #2900, #2945, #2711
-- internal "grid" system refactor. improved API for plugins.
-
-
-v2.4.0 (2015-08-16)
--------------------
-
-- add new buttons to the header via `customButtons` ([225])
-- control stacking order of events via `eventOrder` ([364])
-- control frequency of slot text via `slotLabelInterval` ([946])
-- `displayEventTime` ([1904])
-- `on` and `off` methods ([1910])
-- renamed `axisFormat` to `slotLabelFormat`
-
-[225]: https://code.google.com/p/fullcalendar/issues/detail?id=225
-[364]: https://code.google.com/p/fullcalendar/issues/detail?id=364
-[946]: https://code.google.com/p/fullcalendar/issues/detail?id=946
-[1904]: https://code.google.com/p/fullcalendar/issues/detail?id=1904
-[1910]: https://code.google.com/p/fullcalendar/issues/detail?id=1910
-
-
-v2.3.2 (2015-06-14)
--------------------
-
-- minor code adjustment in preparation for plugins
-
-
-v2.3.1 (2015-03-08)
--------------------
-
-- Fix week view column title for en-gb ([PR220])
-- Publish to NPM ([2447])
-- Detangle bower from npm package ([PR179])
-
-[PR220]: https://github.com/arshaw/fullcalendar/pull/220
-[2447]: https://code.google.com/p/fullcalendar/issues/detail?id=2447
-[PR179]: https://github.com/arshaw/fullcalendar/pull/179
-
-
-v2.3.0 (2015-02-21)
--------------------
-
-- internal refactoring in preparation for other views
-- businessHours now renders on whole-days in addition to timed areas
-- events in "more" popover not sorted by time ([2385])
-- avoid using moment's deprecated zone method ([2443])
-- destroying the calendar sometimes causes all window resize handlers to be unbound ([2432])
-- multiple calendars on one page, can't accept external elements after navigating ([2433])
-- accept external events from jqui sortable ([1698])
-- external jqui drop processed before reverting ([1661])
-- IE8 fix: month view renders incorrectly ([2428])
-- IE8 fix: eventLimit:true wouldn't activate "more" link ([2330])
-- IE8 fix: dragging an event with an href
-- IE8 fix: invisible element while dragging agenda view events
-- IE8 fix: erratic external element dragging
-
-[2385]: https://code.google.com/p/fullcalendar/issues/detail?id=2385
-[2443]: https://code.google.com/p/fullcalendar/issues/detail?id=2443
-[2432]: https://code.google.com/p/fullcalendar/issues/detail?id=2432
-[2433]: https://code.google.com/p/fullcalendar/issues/detail?id=2433
-[1698]: https://code.google.com/p/fullcalendar/issues/detail?id=1698
-[1661]: https://code.google.com/p/fullcalendar/issues/detail?id=1661
-[2428]: https://code.google.com/p/fullcalendar/issues/detail?id=2428
-[2330]: https://code.google.com/p/fullcalendar/issues/detail?id=2330
-
-
-v2.2.7 (2015-02-10)
--------------------
-
-- view.title wasn't defined in viewRender callback ([2407])
-- FullCalendar versions >= 2.2.5 brokenness with Moment versions <= 2.8.3 ([2417])
-- Support Bokmal Norwegian language specifically ([2427])
-
-[2407]: https://code.google.com/p/fullcalendar/issues/detail?id=2407
-[2417]: https://code.google.com/p/fullcalendar/issues/detail?id=2417
-[2427]: https://code.google.com/p/fullcalendar/issues/detail?id=2427
-
-
-v2.2.6 (2015-01-11)
--------------------
-
-- Compatibility with Moment v2.9. Was breaking GCal plugin ([2408])
-- View object's `title` property mistakenly omitted ([2407])
-- Single-day views with hiddens days could cause prev/next misbehavior ([2406])
-- Don't let the current date ever be a hidden day (solves [2395])
-- Hebrew locale ([2157])
-
-[2408]: https://code.google.com/p/fullcalendar/issues/detail?id=2408
-[2407]: https://code.google.com/p/fullcalendar/issues/detail?id=2407
-[2406]: https://code.google.com/p/fullcalendar/issues/detail?id=2406
-[2395]: https://code.google.com/p/fullcalendar/issues/detail?id=2395
-[2157]: https://code.google.com/p/fullcalendar/issues/detail?id=2157
-
-
-v2.2.5 (2014-12-30)
--------------------
-
-- `buttonText` specified for custom views via the `views` option
- - bugfix: wrong default value, couldn't override default
- - feature: default value taken from locale
-
-
-v2.2.4 (2014-12-29)
--------------------
-
-- Arbitrary durations for basic/agenda views with the `views` option ([692])
-- Specify view-specific options using the `views` option. fixes [2283]
-- Deprecate view-option-hashes
-- Formalize and expose View API ([1055])
-- updateEvent method, more intuitive behavior. fixes [2194]
-
-[692]: https://code.google.com/p/fullcalendar/issues/detail?id=692
-[2283]: https://code.google.com/p/fullcalendar/issues/detail?id=2283
-[1055]: https://code.google.com/p/fullcalendar/issues/detail?id=1055
-[2194]: https://code.google.com/p/fullcalendar/issues/detail?id=2194
-
-
-v2.2.3 (2014-11-26)
--------------------
-
-- removeEventSource with Google Calendar object source, would not remove ([2368])
-- Events with invalid end dates are still accepted and rendered ([2350], [2237], [2296])
-- Bug when rendering business hours and navigating away from original view ([2365])
-- Links to Google Calendar events will use current timezone ([2122])
-- Google Calendar plugin works with timezone names that have spaces
-- Google Calendar plugin accepts person email addresses as calendar IDs
-- Internally use numeric sort instead of alphanumeric sort ([2370])
-
-[2368]: https://code.google.com/p/fullcalendar/issues/detail?id=2368
-[2350]: https://code.google.com/p/fullcalendar/issues/detail?id=2350
-[2237]: https://code.google.com/p/fullcalendar/issues/detail?id=2237
-[2296]: https://code.google.com/p/fullcalendar/issues/detail?id=2296
-[2365]: https://code.google.com/p/fullcalendar/issues/detail?id=2365
-[2122]: https://code.google.com/p/fullcalendar/issues/detail?id=2122
-[2370]: https://code.google.com/p/fullcalendar/issues/detail?id=2370
-
-
-v2.2.2 (2014-11-19)
--------------------
-
-- Fixes to Google Calendar API V3 code
- - wouldn't recognize a lone-string Google Calendar ID if periods before the @ symbol
- - removeEventSource wouldn't work when given a Google Calendar ID
-
-
-v2.2.1 (2014-11-19)
--------------------
-
-- Migrate Google Calendar plugin to use V3 of the API ([1526])
-
-[1526]: https://code.google.com/p/fullcalendar/issues/detail?id=1526
-
-
-v2.2.0 (2014-11-14)
--------------------
-
-- Background events. Event object's `rendering` property ([144], [1286])
-- `businessHours` option ([144])
-- Controlling where events can be dragged/resized and selections can go ([396], [1286], [2253])
- - `eventOverlap`, `selectOverlap`, and similar
- - `eventConstraint`, `selectConstraint`, and similar
-- Improvements to dragging and dropping external events ([2004])
- - Associating with real event data. used with `eventReceive`
- - Associating a `duration`
-- Performance boost for moment creation
- - Be aware, FullCalendar-specific methods now attached directly to global moment.fn
- - Helps with [issue 2259][2259]
-- Reintroduced forgotten `dropAccept` option ([2312])
-
-[144]: https://code.google.com/p/fullcalendar/issues/detail?id=144
-[396]: https://code.google.com/p/fullcalendar/issues/detail?id=396
-[1286]: https://code.google.com/p/fullcalendar/issues/detail?id=1286
-[2004]: https://code.google.com/p/fullcalendar/issues/detail?id=2004
-[2253]: https://code.google.com/p/fullcalendar/issues/detail?id=2253
-[2259]: https://code.google.com/p/fullcalendar/issues/detail?id=2259
-[2312]: https://code.google.com/p/fullcalendar/issues/detail?id=2312
-
-
-v2.1.1 (2014-08-29)
--------------------
-
-- removeEventSource not working with array ([2203])
-- mouseout not triggered after mouseover+updateEvent ([829])
-- agenda event's render with no <a> href, not clickable ([2263])
-
-[2203]: https://code.google.com/p/fullcalendar/issues/detail?id=2203
-[829]: https://code.google.com/p/fullcalendar/issues/detail?id=829
-[2263]: https://code.google.com/p/fullcalendar/issues/detail?id=2263
-
-
-v2.1.0 (2014-08-25)
--------------------
-
-Large code refactor with better OOP, better code reuse, and more comments.
-**No more reliance on jQuery UI** for event dragging, resizing, or anything else.
-
-Significant changes to HTML/CSS skeleton:
-- Leverages tables for liquid rendering of days and events. No costly manual repositioning ([809])
-- **Backwards-incompatibilities**:
- - **Many classNames have changed. Custom CSS will likely need to be adjusted.**
- - IE7 definitely not supported anymore
- - In `eventRender` callback, `element` will not be attached to DOM yet
- - Events are styled to be one line by default ([1992]). Can be undone through custom CSS,
- but not recommended (might get gaps [like this][111] in certain situations).
-
-A "more..." link when there are too many events on a day ([304]). Works with month and basic views
-as well as the all-day section of the agenda views. New options:
-- `eventLimit`. a number or `true`
-- `eventLimitClick`. the `"popover`" value will reveal all events in a raised panel (the default)
-- `eventLimitText`
-- `dayPopoverFormat`
-
-Changes related to height and scrollbars:
-- `aspectRatio`/`height`/`contentHeight` values will be honored *no matter what*
- - If too many events causing too much vertical space, scrollbars will be used ([728]).
- This is default behavior for month view (**backwards-incompatibility**)
- - If too few slots in agenda view, view will stretch to be the correct height ([2196])
-- `'auto'` value for `height`/`contentHeight` options. If content is too tall, the view will
- vertically stretch to accomodate and no scrollbars will be used ([521]).
-- Tall weeks in month view will borrow height from other weeks ([243])
-- Automatically scroll the view then dragging/resizing an event ([1025], [2078])
-- New `fixedWeekCount` option to determines the number of weeks in month view
- - Supersedes `weekMode` (**deprecated**). Instead, use a combination of `fixedWeekCount` and
- one of the height options, possibly with an `'auto'` value
-
-Much nicer, glitch-free rendering of calendar *for printers* ([35]). Things you might not expect:
-- Buttons will become hidden
-- Agenda views display a flat list of events where the time slots would be
-
-Other issues resolved along the way:
-- Space on right side of agenda events configurable through CSS ([204])
-- Problem with window resize ([259])
-- Events sorting stays consistent across weeks ([510])
-- Agenda's columns misaligned on wide screens ([511])
-- Run `selectHelper` through `eventRender` callbacks ([629])
-- Keyboard access, tabbing ([637])
-- Run resizing events through `eventRender` ([714])
-- Resize an event to a different day in agenda views ([736])
-- Allow selection across days in agenda views ([778])
-- Mouseenter delegated event not working on event elements ([936])
-- Agenda event dragging, snapping to different columns is erratic ([1101])
-- Android browser cuts off Day view at 8 PM with no scroll bar ([1203])
-- Don't fire `eventMouseover`/`eventMouseout` while dragging/resizing ([1297])
-- Customize the resize handle text ("=") ([1326])
-- If agenda event is too short, don't overwrite `.fc-event-time` ([1700])
-- Zooming calendar causes events to misalign ([1996])
-- Event destroy callback on event removal ([2017])
-- Agenda views, when RTL, should have axis on right ([2132])
-- Make header buttons more accessibile ([2151])
-- daySelectionMousedown should interpret OSX ctrl+click as a right mouse click ([2169])
-- Best way to display time text on multi-day events *with times* ([2172])
-- Eliminate table use for header layout ([2186])
-- Event delegation used for event-related callbacks (like `eventClick`). Speedier.
-
-[35]: https://code.google.com/p/fullcalendar/issues/detail?id=35
-[204]: https://code.google.com/p/fullcalendar/issues/detail?id=204
-[243]: https://code.google.com/p/fullcalendar/issues/detail?id=243
-[259]: https://code.google.com/p/fullcalendar/issues/detail?id=259
-[304]: https://code.google.com/p/fullcalendar/issues/detail?id=304
-[510]: https://code.google.com/p/fullcalendar/issues/detail?id=510
-[511]: https://code.google.com/p/fullcalendar/issues/detail?id=511
-[521]: https://code.google.com/p/fullcalendar/issues/detail?id=521
-[629]: https://code.google.com/p/fullcalendar/issues/detail?id=629
-[637]: https://code.google.com/p/fullcalendar/issues/detail?id=637
-[714]: https://code.google.com/p/fullcalendar/issues/detail?id=714
-[728]: https://code.google.com/p/fullcalendar/issues/detail?id=728
-[736]: https://code.google.com/p/fullcalendar/issues/detail?id=736
-[778]: https://code.google.com/p/fullcalendar/issues/detail?id=778
-[809]: https://code.google.com/p/fullcalendar/issues/detail?id=809
-[936]: https://code.google.com/p/fullcalendar/issues/detail?id=936
-[1025]: https://code.google.com/p/fullcalendar/issues/detail?id=1025
-[1101]: https://code.google.com/p/fullcalendar/issues/detail?id=1101
-[1203]: https://code.google.com/p/fullcalendar/issues/detail?id=1203
-[1297]: https://code.google.com/p/fullcalendar/issues/detail?id=1297
-[1326]: https://code.google.com/p/fullcalendar/issues/detail?id=1326
-[1700]: https://code.google.com/p/fullcalendar/issues/detail?id=1700
-[1992]: https://code.google.com/p/fullcalendar/issues/detail?id=1992
-[1996]: https://code.google.com/p/fullcalendar/issues/detail?id=1996
-[2017]: https://code.google.com/p/fullcalendar/issues/detail?id=2017
-[2078]: https://code.google.com/p/fullcalendar/issues/detail?id=2078
-[2132]: https://code.google.com/p/fullcalendar/issues/detail?id=2132
-[2151]: https://code.google.com/p/fullcalendar/issues/detail?id=2151
-[2169]: https://code.google.com/p/fullcalendar/issues/detail?id=2169
-[2172]: https://code.google.com/p/fullcalendar/issues/detail?id=2172
-[2186]: https://code.google.com/p/fullcalendar/issues/detail?id=2186
-[2196]: https://code.google.com/p/fullcalendar/issues/detail?id=2196
-[111]: https://code.google.com/p/fullcalendar/issues/detail?id=111
-
-
-v2.0.3 (2014-08-15)
--------------------
-
-- moment-2.8.1 compatibility ([2221])
-- relative path in bower.json ([PR 117])
-- upgraded jquery-ui and misc dev dependencies
-
-[2221]: https://code.google.com/p/fullcalendar/issues/detail?id=2221
-[PR 117]: https://github.com/arshaw/fullcalendar/pull/177
-
-
-v2.0.2 (2014-06-24)
--------------------
-
-- bug with persisting addEventSource calls ([2191])
-- bug with persisting removeEvents calls with an array source ([2187])
-- bug with removeEvents method when called with 0 removes all events ([2082])
-
-[2191]: https://code.google.com/p/fullcalendar/issues/detail?id=2191
-[2187]: https://code.google.com/p/fullcalendar/issues/detail?id=2187
-[2082]: https://code.google.com/p/fullcalendar/issues/detail?id=2082
-
-
-v2.0.1 (2014-06-15)
--------------------
-
-- `delta` parameters reintroduced in `eventDrop` and `eventResize` handlers ([2156])
- - **Note**: this changes the argument order for `revertFunc`
-- wrongfully triggering a windowResize when resizing an agenda view event ([1116])
-- `this` values in event drag-n-drop/resize handlers consistently the DOM node ([1177])
-- `displayEventEnd` - v2 workaround to force display of an end time ([2090])
-- don't modify passed-in eventSource items ([954])
-- destroy method now removes fc-ltr class ([2033])
-- weeks of last/next month still visible when weekends are hidden ([2095])
-- fixed memory leak when destroying calendar with selectable/droppable ([2137])
-- Icelandic language ([2180])
-- Bahasa Indonesia language ([PR 172])
-
-[1116]: https://code.google.com/p/fullcalendar/issues/detail?id=1116
-[1177]: https://code.google.com/p/fullcalendar/issues/detail?id=1177
-[2090]: https://code.google.com/p/fullcalendar/issues/detail?id=2090
-[954]: https://code.google.com/p/fullcalendar/issues/detail?id=954
-[2033]: https://code.google.com/p/fullcalendar/issues/detail?id=2033
-[2095]: https://code.google.com/p/fullcalendar/issues/detail?id=2095
-[2137]: https://code.google.com/p/fullcalendar/issues/detail?id=2137
-[2156]: https://code.google.com/p/fullcalendar/issues/detail?id=2156
-[2180]: https://code.google.com/p/fullcalendar/issues/detail?id=2180
-[PR 172]: https://github.com/arshaw/fullcalendar/pull/172
-
-
-v2.0.0 (2014-06-01)
--------------------
-
-Internationalization support, timezone support, and [MomentJS] integration. Extensive changes, many
-of which are backwards incompatible.
-
-[Full list of changes][Upgrading-to-v2] | [Affected Issues][Date-Milestone]
-
-An automated testing framework has been set up ([Karma] + [Jasmine]) and tests have been written
-which cover about half of FullCalendar's functionality. Special thanks to @incre-d, @vidbina, and
-@sirrocco for the help.
-
-In addition, the main development repo has been repurposed to also include the built distributable
-JS/CSS for the project and will serve as the new [Bower] endpoint.
-
-[MomentJS]: http://momentjs.com/
-[Upgrading-to-v2]: http://arshaw.com/fullcalendar/wiki/Upgrading-to-v2/
-[Date-Milestone]: https://code.google.com/p/fullcalendar/issues/list?can=1&q=milestone%3Ddate
-[Karma]: http://karma-runner.github.io/
-[Jasmine]: http://jasmine.github.io/
-[Bower]: http://bower.io/
-
-
-v1.6.4 (2013-09-01)
--------------------
-
-- better algorithm for positioning timed agenda events ([1115])
-- `slotEventOverlap` option to tweak timed agenda event overlapping ([218])
-- selection bug when slot height is customized ([1035])
-- supply view argument in `loading` callback ([1018])
-- fixed week number not displaying in agenda views ([1951])
-- fixed fullCalendar not initializing with no options ([1356])
-- NPM's `package.json`, no more warnings or errors ([1762])
-- building the bower component should output `bower.json` instead of `component.json` ([PR 125])
-- use bower internally for fetching new versions of jQuery and jQuery UI
-
-[1115]: https://code.google.com/p/fullcalendar/issues/detail?id=1115
-[218]: https://code.google.com/p/fullcalendar/issues/detail?id=218
-[1035]: https://code.google.com/p/fullcalendar/issues/detail?id=1035
-[1018]: https://code.google.com/p/fullcalendar/issues/detail?id=1018
-[1951]: https://code.google.com/p/fullcalendar/issues/detail?id=1951
-[1356]: https://code.google.com/p/fullcalendar/issues/detail?id=1356
-[1762]: https://code.google.com/p/fullcalendar/issues/detail?id=1762
-[PR 125]: https://github.com/arshaw/fullcalendar/pull/125
-
-
-v1.6.3 (2013-08-10)
--------------------
-
-- `viewRender` callback ([PR 15])
-- `viewDestroy` callback ([PR 15])
-- `eventDestroy` callback ([PR 111])
-- `handleWindowResize` option ([PR 54])
-- `eventStartEditable`/`startEditable` options ([PR 49])
-- `eventDurationEditable`/`durationEditable` options ([PR 49])
-- specify function for `$.ajax` `data` parameter for JSON event sources ([PR 59])
-- fixed bug with agenda event dropping in wrong column ([PR 55])
-- easier event element z-index customization ([PR 58])
-- classNames on past/future days ([PR 88])
-- allow `null`/`undefined` event titles ([PR 84])
-- small optimize for agenda event rendering ([PR 56])
-- deprecated:
- - `viewDisplay`
- - `disableDragging`
- - `disableResizing`
-- bundled with latest jQuery (1.10.2) and jQuery UI (1.10.3)
-
-[PR 15]: https://github.com/arshaw/fullcalendar/pull/15
-[PR 111]: https://github.com/arshaw/fullcalendar/pull/111
-[PR 54]: https://github.com/arshaw/fullcalendar/pull/54
-[PR 49]: https://github.com/arshaw/fullcalendar/pull/49
-[PR 59]: https://github.com/arshaw/fullcalendar/pull/59
-[PR 55]: https://github.com/arshaw/fullcalendar/pull/55
-[PR 58]: https://github.com/arshaw/fullcalendar/pull/58
-[PR 88]: https://github.com/arshaw/fullcalendar/pull/88
-[PR 84]: https://github.com/arshaw/fullcalendar/pull/84
-[PR 56]: https://github.com/arshaw/fullcalendar/pull/56
-
-
-v1.6.2 (2013-07-18)
--------------------
-
-- `hiddenDays` option ([686])
-- bugfix: when `eventRender` returns `false`, incorrect stacking of events ([762])
-- bugfix: couldn't change `event.backgroundImage` when calling `updateEvent` (thx @stephenharris)
-
-[686]: https://code.google.com/p/fullcalendar/issues/detail?id=686
-[762]: https://code.google.com/p/fullcalendar/issues/detail?id=762
-
-
-v1.6.1 (2013-04-14)
--------------------
-
-- fixed event inner content overflow bug ([1783])
-- fixed table header className bug [1772]
-- removed text-shadow on events (better for general use, thx @tkrotoff)
-
-[1783]: https://code.google.com/p/fullcalendar/issues/detail?id=1783
-[1772]: https://code.google.com/p/fullcalendar/issues/detail?id=1772
-
-
-v1.6.0 (2013-03-18)
--------------------
-
-- visual facelift, with bootstrap-inspired buttons and colors
-- simplified HTML/CSS for events and buttons
-- `dayRender`, for modifying a day cell ([191], thx @althaus)
-- week numbers on side of calendar ([295])
- - `weekNumber`
- - `weekNumberCalculation`
- - `weekNumberTitle`
- - `W` formatting variable
-- finer snapping granularity for agenda view events ([495], thx @ms-doodle-com)
-- `eventAfterAllRender` ([753], thx @pdrakeweb)
-- `eventDataTransform` (thx @joeyspo)
-- `data-date` attributes on cells (thx @Jae)
-- expose `$.fullCalendar.dateFormatters`
-- when clicking fast on buttons, prevent text selection
-- bundled with latest jQuery (1.9.1) and jQuery UI (1.10.2)
-- Grunt/Lumbar build system for internal development
-- build for Bower package manager
-- build for jQuery plugin site
-
-[191]: https://code.google.com/p/fullcalendar/issues/detail?id=191
-[295]: https://code.google.com/p/fullcalendar/issues/detail?id=295
-[495]: https://code.google.com/p/fullcalendar/issues/detail?id=495
-[753]: https://code.google.com/p/fullcalendar/issues/detail?id=753
-
-
-v1.5.4 (2012-09-05)
--------------------
-
-- made compatible with jQuery 1.8.* (thx @archaeron)
-- bundled with jQuery 1.8.1 and jQuery UI 1.8.23
-
-
-v1.5.3 (2012-02-06)
--------------------
-
-- fixed dragging issue with jQuery UI 1.8.16 ([1168])
-- bundled with jQuery 1.7.1 and jQuery UI 1.8.17
-
-[1168]: https://code.google.com/p/fullcalendar/issues/detail?id=1168
-
-
-v1.5.2 (2011-08-21)
--------------------
-
-- correctly process UTC "Z" ISO8601 date strings ([750])
-
-[750]: https://code.google.com/p/fullcalendar/issues/detail?id=750
-
-
-v1.5.1 (2011-04-09)
--------------------
-
-- more flexible ISO8601 date parsing ([814])
-- more flexible parsing of UNIX timestamps ([826])
-- FullCalendar now buildable from source on a Mac ([795])
-- FullCalendar QA'd in FF4 ([883])
-- upgraded to jQuery 1.5.2 (which supports IE9) and jQuery UI 1.8.11
-
-[814]: https://code.google.com/p/fullcalendar/issues/detail?id=814
-[826]: https://code.google.com/p/fullcalendar/issues/detail?id=826
-[795]: https://code.google.com/p/fullcalendar/issues/detail?id=795
-[883]: https://code.google.com/p/fullcalendar/issues/detail?id=883
-
-
-v1.5 (2011-03-19)
------------------
-
-- slicker default styling for buttons
-- reworked a lot of the calendar's HTML and accompanying CSS (solves [327] and [395])
-- more printer-friendly (fullcalendar-print.css)
-- fullcalendar now inherits styles from jquery-ui themes differently.
- styles for buttons are distinct from styles for calendar cells.
- (solves [299])
-- can now color events through FullCalendar options and Event-Object properties ([117])
- THIS IS NOW THE PREFERRED METHOD OF COLORING EVENTS (as opposed to using className and CSS)
- - FullCalendar options:
- - eventColor (changes both background and border)
- - eventBackgroundColor
- - eventBorderColor
- - eventTextColor
- - Event-Object options:
- - color (changes both background and border)
- - backgroundColor
- - borderColor
- - textColor
-- can now specify an event source as an *object* with a `url` property (json feed) or
- an `events` property (function or array) with additional properties that will
- be applied to the entire event source:
- - color (changes both background and border)
- - backgroudColor
- - borderColor
- - textColor
- - className
- - editable
- - allDayDefault
- - ignoreTimezone
- - startParam (for a feed)
- - endParam (for a feed)
- - ANY OF THE JQUERY $.ajax OPTIONS
- allows for easily changing from GET to POST and sending additional parameters ([386])
- allows for easily attaching ajax handlers such as `error` ([754])
- allows for turning caching on ([355])
-- Google Calendar feeds are now specified differently:
- - specify a simple string of your feed's URL
- - specify an *object* with a `url` property of your feed's URL.
- you can include any of the new Event-Source options in this object.
- - the old `$.fullCalendar.gcalFeed` method still works
-- no more IE7 SSL popup ([504])
-- remove `cacheParam` - use json event source `cache` option instead
-- latest jquery/jquery-ui
-
-[327]: https://code.google.com/p/fullcalendar/issues/detail?id=327
-[395]: https://code.google.com/p/fullcalendar/issues/detail?id=395
-[299]: https://code.google.com/p/fullcalendar/issues/detail?id=299
-[117]: https://code.google.com/p/fullcalendar/issues/detail?id=117
-[386]: https://code.google.com/p/fullcalendar/issues/detail?id=386
-[754]: https://code.google.com/p/fullcalendar/issues/detail?id=754
-[355]: https://code.google.com/p/fullcalendar/issues/detail?id=355
-[504]: https://code.google.com/p/fullcalendar/issues/detail?id=504
-
-
-v1.4.11 (2011-02-22)
---------------------
-
-- fixed rerenderEvents bug ([790])
-- fixed bug with faulty dragging of events from all-day slot in agenda views
-- bundled with jquery 1.5 and jquery-ui 1.8.9
-
-[790]: https://code.google.com/p/fullcalendar/issues/detail?id=790
-
-
-v1.4.10 (2011-01-02)
---------------------
-
-- fixed bug with resizing event to different week in 5-day month view ([740])
-- fixed bug with events not sticking after a removeEvents call ([757])
-- fixed bug with underlying parseTime method, and other uses of parseInt ([688])
-
-[740]: https://code.google.com/p/fullcalendar/issues/detail?id=740
-[757]: https://code.google.com/p/fullcalendar/issues/detail?id=757
-[688]: https://code.google.com/p/fullcalendar/issues/detail?id=688
-
-
-v1.4.9 (2010-11-16)
--------------------
-
-- new algorithm for vertically stacking events ([111])
-- resizing an event to a different week ([306])
-- bug: some events not rendered with consecutive calls to addEventSource ([679])
-
-[111]: https://code.google.com/p/fullcalendar/issues/detail?id=111
-[306]: https://code.google.com/p/fullcalendar/issues/detail?id=306
-[679]: https://code.google.com/p/fullcalendar/issues/detail?id=679
-
-
-v1.4.8 (2010-10-16)
--------------------
-
-- ignoreTimezone option (set to `false` to process UTC offsets in ISO8601 dates)
-- bugfixes
- - event refetching not being called under certain conditions ([417], [554])
- - event refetching being called multiple times under certain conditions ([586], [616])
- - selection cannot be triggered by right mouse button ([558])
- - agenda view left axis sized incorrectly ([465])
- - IE js error when calendar is too narrow ([517])
- - agenda view looks strange when no scrollbars ([235])
- - improved parsing of ISO8601 dates with UTC offsets
-- $.fullCalendar.version
-- an internal refactor of the code, for easier future development and modularity
-
-[417]: https://code.google.com/p/fullcalendar/issues/detail?id=417
-[554]: https://code.google.com/p/fullcalendar/issues/detail?id=554
-[586]: https://code.google.com/p/fullcalendar/issues/detail?id=586
-[616]: https://code.google.com/p/fullcalendar/issues/detail?id=616
-[558]: https://code.google.com/p/fullcalendar/issues/detail?id=558
-[465]: https://code.google.com/p/fullcalendar/issues/detail?id=465
-[517]: https://code.google.com/p/fullcalendar/issues/detail?id=517
-[235]: https://code.google.com/p/fullcalendar/issues/detail?id=235
-
-
-v1.4.7 (2010-07-05)
--------------------
-
-- "dropping" external objects onto the calendar
- - droppable (boolean, to turn on/off)
- - dropAccept (to filter which events the calendar will accept)
- - drop (trigger)
-- selectable options can now be specified with a View Option Hash
-- bugfixes
- - dragged & reverted events having wrong time text ([406])
- - bug rendering events that have an endtime with seconds, but no hours/minutes ([477])
- - gotoDate date overflow bug ([429])
- - wrong date reported when clicking on edge of last column in agenda views [412]
-- support newlines in event titles
-- select/unselect callbacks now passes native js event
-
-[406]: https://code.google.com/p/fullcalendar/issues/detail?id=406
-[477]: https://code.google.com/p/fullcalendar/issues/detail?id=477
-[429]: https://code.google.com/p/fullcalendar/issues/detail?id=429
-[412]: https://code.google.com/p/fullcalendar/issues/detail?id=412
-
-
-v1.4.6 (2010-05-31)
--------------------
-
-- "selecting" days or timeslots
- - options: selectable, selectHelper, unselectAuto, unselectCancel
- - callbacks: select, unselect
- - methods: select, unselect
-- when dragging an event, the highlighting reflects the duration of the event
-- code compressing by Google Closure Compiler
-- bundled with jQuery 1.4.2 and jQuery UI 1.8.1
-
-
-v1.4.5 (2010-02-21)
--------------------
-
-- lazyFetching option, which can force the calendar to fetch events on every view/date change
-- scroll state of agenda views are preserved when switching back to view
-- bugfixes
- - calling methods on an uninitialized fullcalendar throws error
- - IE6/7 bug where an entire view becomes invisible ([320])
- - error when rendering a hidden calendar (in jquery ui tabs for example) in IE ([340])
- - interconnected bugs related to calendar resizing and scrollbars
- - when switching views or clicking prev/next, calendar would "blink" ([333])
- - liquid-width calendar's events shifted (depending on initial height of browser) ([341])
- - more robust underlying algorithm for calendar resizing
-
-[320]: https://code.google.com/p/fullcalendar/issues/detail?id=320
-[340]: https://code.google.com/p/fullcalendar/issues/detail?id=340
-[333]: https://code.google.com/p/fullcalendar/issues/detail?id=333
-[341]: https://code.google.com/p/fullcalendar/issues/detail?id=341
-
-
-v1.4.4 (2010-02-03)
--------------------
-
-- optimized event rendering in all views (events render in 1/10 the time)
-- gotoDate() does not force the calendar to unnecessarily rerender
-- render() method now correctly readjusts height
-
-
-v1.4.3 (2009-12-22)
--------------------
-
-- added destroy method
-- Google Calendar event pages respect currentTimezone
-- caching now handled by jQuery's ajax
-- protection from setting aspectRatio to zero
-- bugfixes
- - parseISO8601 and DST caused certain events to display day before
- - button positioning problem in IE6
- - ajax event source removed after recently being added, events still displayed
- - event not displayed when end is an empty string
- - dynamically setting calendar height when no events have been fetched, throws error
-
-
-v1.4.2 (2009-12-02)
--------------------
-
-- eventAfterRender trigger
-- getDate & getView methods
-- height & contentHeight options (explicitly sets the pixel height)
-- minTime & maxTime options (restricts shown hours in agenda view)
-- getters [for all options] and setters [for height, contentHeight, and aspectRatio ONLY! stay tuned..]
-- render method now readjusts calendar's size
-- bugfixes
- - lightbox scripts that use iframes (like fancybox)
- - day-of-week classNames were off when firstDay=1
- - guaranteed space on right side of agenda events (even when stacked)
- - accepts ISO8601 dates with a space (instead of 'T')
-
-
-v1.4.1 (2009-10-31)
--------------------
-
-- can exclude weekends with new 'weekends' option
-- gcal feed 'currentTimezone' option
-- bugfixes
- - year/month/date option sometimes wouldn't set correctly (depending on current date)
- - daylight savings issue caused agenda views to start at 1am (for BST users)
-- cleanup of gcal.js code
-
-
-v1.4 (2009-10-19)
------------------
-
-- agendaWeek and agendaDay views
-- added some options for agenda views:
- - allDaySlot
- - allDayText
- - firstHour
- - slotMinutes
- - defaultEventMinutes
- - axisFormat
-- modified some existing options/triggers to work with agenda views:
- - dragOpacity and timeFormat can now accept a "View Hash" (a new concept)
- - dayClick now has an allDay parameter
- - eventDrop now has an an allDay parameter
- (this will affect those who use revertFunc, adjust parameter list)
-- added 'prevYear' and 'nextYear' for buttons in header
-- minor change for theme users, ui-state-hover not applied to active/inactive buttons
-- added event-color-changing example in docs
-- better defaults for right-to-left themed button icons
-
-
-v1.3.2 (2009-10-13)
--------------------
-
-- Bugfixes (please upgrade from 1.3.1!)
- - squashed potential infinite loop when addMonths and addDays
- is called with an invalid date
- - $.fullCalendar.parseDate() now correctly parses IETF format
- - when switching views, the 'today' button sticks inactive, fixed
-- gotoDate now can accept a single Date argument
-- documentation for changes in 1.3.1 and 1.3.2 now on website
-
-
-v1.3.1 (2009-09-30)
--------------------
-
-- Important Bugfixes (please upgrade from 1.3!)
- - When current date was late in the month, for long months, and prev/next buttons
- were clicked in month-view, some months would be skipped/repeated
- - In certain time zones, daylight savings time would cause certain days
- to be misnumbered in month-view
-- Subtle change in way week interval is chosen when switching from month to basicWeek/basicDay view
-- Added 'allDayDefault' option
-- Added 'changeView' and 'render' methods
-
-
-v1.3 (2009-09-21)
------------------
-
-- different 'views': month/basicWeek/basicDay
-- more flexible 'header' system for buttons
-- themable by jQuery UI themes
-- resizable events (require jQuery UI resizable plugin)
-- rescoped & rewritten CSS, enhanced default look
-- cleaner css & rendering techniques for right-to-left
-- reworked options & API to support multiple views / be consistent with jQuery UI
-- refactoring of entire codebase
- - broken into different JS & CSS files, assembled w/ build scripts
- - new test suite for new features, uses firebug-lite
-- refactored docs
-- Options
- - + date
- - + defaultView
- - + aspectRatio
- - + disableResizing
- - + monthNames (use instead of $.fullCalendar.monthNames)
- - + monthNamesShort (use instead of $.fullCalendar.monthAbbrevs)
- - + dayNames (use instead of $.fullCalendar.dayNames)
- - + dayNamesShort (use instead of $.fullCalendar.dayAbbrevs)
- - + theme
- - + buttonText
- - + buttonIcons
- - x draggable -> editable/disableDragging
- - x fixedWeeks -> weekMode
- - x abbrevDayHeadings -> columnFormat
- - x buttons/title -> header
- - x eventDragOpacity -> dragOpacity
- - x eventRevertDuration -> dragRevertDuration
- - x weekStart -> firstDay
- - x rightToLeft -> isRTL
- - x showTime (use 'allDay' CalEvent property instead)
-- Triggered Actions
- - + eventResizeStart
- - + eventResizeStop
- - + eventResize
- - x monthDisplay -> viewDisplay
- - x resize -> windowResize
- - 'eventDrop' params changed, can revert if ajax cuts out
-- CalEvent Properties
- - x showTime -> allDay
- - x draggable -> editable
- - 'end' is now INCLUSIVE when allDay=true
- - 'url' now produces a real <a> tag, more native clicking/tab behavior
-- Methods:
- - + renderEvent
- - x prevMonth -> prev
- - x nextMonth -> next
- - x prevYear/nextYear -> moveDate
- - x refresh -> rerenderEvents/refetchEvents
- - x removeEvent -> removeEvents
- - x getEventsByID -> clientEvents
-- Utilities:
- - 'formatDate' format string completely changed (inspired by jQuery UI datepicker + datejs)
- - 'formatDates' added to support date-ranges
-- Google Calendar Options:
- - x draggable -> editable
-- Bugfixes
- - gcal extension fetched 25 results max, now fetches all
-
-
-v1.2.1 (2009-06-29)
--------------------
-
-- bugfixes
- - allows and corrects invalid end dates for events
- - doesn't throw an error in IE while rendering when display:none
- - fixed 'loading' callback when used w/ multiple addEventSource calls
- - gcal className can now be an array
-
-
-v1.2 (2009-05-31)
------------------
-
-- expanded API
- - 'className' CalEvent attribute
- - 'source' CalEvent attribute
- - dynamically get/add/remove/update events of current month
- - locale improvements: change month/day name text
- - better date formatting ($.fullCalendar.formatDate)
- - multiple 'event sources' allowed
- - dynamically add/remove event sources
-- options for prevYear and nextYear buttons
-- docs have been reworked (include addition of Google Calendar docs)
-- changed behavior of parseDate for number strings
- (now interpets as unix timestamp, not MS times)
-- bugfixes
- - rightToLeft month start bug
- - off-by-one errors with month formatting commands
- - events from previous months sticking when clicking prev/next quickly
-- Google Calendar API changed to work w/ multiple event sources
- - can also provide 'className' and 'draggable' options
-- date utilties moved from $ to $.fullCalendar
-- more documentation in source code
-- minified version of fullcalendar.js
-- test suit (available from svn)
-- top buttons now use `<button>` w/ an inner `<span>` for better css cusomization
- - thus CSS has changed. IF UPGRADING FROM PREVIOUS VERSIONS,
- UPGRADE YOUR FULLCALENDAR.CSS FILE
-
-
-v1.1 (2009-05-10)
------------------
-
-- Added the following options:
- - weekStart
- - rightToLeft
- - titleFormat
- - timeFormat
- - cacheParam
- - resize
-- Fixed rendering bugs
- - Opera 9.25 (events placement & window resizing)
- - IE6 (window resizing)
-- Optimized window resizing for ALL browsers
-- Events on same day now sorted by start time (but first by timespan)
-- Correct z-index when dragging
-- Dragging contained in overflow DIV for IE6
-- Modified fullcalendar.css
- - for right-to-left support
- - for variable start-of-week
- - for IE6 resizing bug
- - for THEAD and TBODY (in 1.0, just used TBODY, restructured in 1.1)
- - IF UPGRADING FROM FULLCALENDAR 1.0, YOU MUST UPGRADE FULLCALENDAR.CSS
diff --git a/library/fullcalendar/README.md b/library/fullcalendar/README.md
new file mode 100644
index 000000000..991011fc5
--- /dev/null
+++ b/library/fullcalendar/README.md
@@ -0,0 +1,13 @@
+
+# FullCalendar [![Build Status](https://travis-ci.com/fullcalendar/fullcalendar.svg?branch=master)](https://travis-ci.com/fullcalendar/fullcalendar)
+
+A full-sized drag & drop JavaScript event calendar
+
+- [Project website and demos](http://fullcalendar.io/)
+- [Documentation](http://fullcalendar.io/docs)
+- [Support](http://fullcalendar.io/support)
+- [Contributing](CONTRIBUTING.md)
+- [Changelog](CHANGELOG.md)
+- [License](LICENSE.txt)
+
+*From the blog*: [Changes in the Upcoming v5](https://fullcalendar.io/blog/2020/02/changes-in-the-upcoming-v5)
diff --git a/library/fullcalendar/demos/json/events.json b/library/fullcalendar/demos/json/events.json
deleted file mode 100644
index 466f837ed..000000000
--- a/library/fullcalendar/demos/json/events.json
+++ /dev/null
@@ -1,56 +0,0 @@
-[
- {
- "title": "All Day Event",
- "start": "2019-04-01"
- },
- {
- "title": "Long Event",
- "start": "2019-04-07",
- "end": "2019-04-10"
- },
- {
- "id": "999",
- "title": "Repeating Event",
- "start": "2019-04-09T16:00:00-05:00"
- },
- {
- "id": "999",
- "title": "Repeating Event",
- "start": "2019-04-16T16:00:00-05:00"
- },
- {
- "title": "Conference",
- "start": "2019-04-11",
- "end": "2019-04-13"
- },
- {
- "title": "Meeting",
- "start": "2019-04-12T10:30:00-05:00",
- "end": "2019-04-12T12:30:00-05:00"
- },
- {
- "title": "Lunch",
- "start": "2019-04-12T12:00:00-05:00"
- },
- {
- "title": "Meeting",
- "start": "2019-04-12T14:30:00-05:00"
- },
- {
- "title": "Happy Hour",
- "start": "2019-04-12T17:30:00-05:00"
- },
- {
- "title": "Dinner",
- "start": "2019-04-12T20:00:00"
- },
- {
- "title": "Birthday Party",
- "start": "2019-04-13T07:00:00-05:00"
- },
- {
- "title": "Click for Google",
- "url": "http://google.com/",
- "start": "2019-04-28"
- }
-]
diff --git a/library/fullcalendar/demos/background-events.html b/library/fullcalendar/examples/background-events.html
index a36fede8d..307966dcc 100644
--- a/library/fullcalendar/demos/background-events.html
+++ b/library/fullcalendar/examples/background-events.html
@@ -23,57 +23,57 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
navLinks: true, // can click day/week names to navigate views
businessHours: true, // display business hours
editable: true,
events: [
{
title: 'Business Lunch',
- start: '2019-04-03T13:00:00',
+ start: '2020-05-03T13:00:00',
constraint: 'businessHours'
},
{
title: 'Meeting',
- start: '2019-04-13T11:00:00',
+ start: '2020-05-13T11:00:00',
constraint: 'availableForMeeting', // defined below
color: '#257e4a'
},
{
title: 'Conference',
- start: '2019-04-18',
- end: '2019-04-20'
+ start: '2020-05-18',
+ end: '2020-05-20'
},
{
title: 'Party',
- start: '2019-04-29T20:00:00'
+ start: '2020-05-29T20:00:00'
},
// areas where "Meeting" must be dropped
{
groupId: 'availableForMeeting',
- start: '2019-04-11T10:00:00',
- end: '2019-04-11T16:00:00',
+ start: '2020-05-11T10:00:00',
+ end: '2020-05-11T16:00:00',
rendering: 'background'
},
{
groupId: 'availableForMeeting',
- start: '2019-04-13T10:00:00',
- end: '2019-04-13T16:00:00',
+ start: '2020-05-13T10:00:00',
+ end: '2020-05-13T16:00:00',
rendering: 'background'
},
// red areas where no events can be dropped
{
- start: '2019-04-24',
- end: '2019-04-28',
+ start: '2020-05-24',
+ end: '2020-05-28',
overlap: false,
rendering: 'background',
color: '#ff9f89'
},
{
- start: '2019-04-06',
- end: '2019-04-08',
+ start: '2020-05-06',
+ end: '2020-05-08',
overlap: false,
rendering: 'background',
color: '#ff9f89'
diff --git a/library/fullcalendar/demos/daygrid-views.html b/library/fullcalendar/examples/daygrid-views.html
index 96220fb3e..0521d5d1a 100644
--- a/library/fullcalendar/demos/daygrid-views.html
+++ b/library/fullcalendar/examples/daygrid-views.html
@@ -19,64 +19,64 @@
center: 'title',
right: 'dayGridMonth,dayGridWeek,dayGridDay'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: 'All Day Event',
- start: '2019-04-01'
+ start: '2020-05-01'
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/demos/external-dragging-2cals.html b/library/fullcalendar/examples/external-dragging-2cals.html
index bf4f08470..52023b7be 100644
--- a/library/fullcalendar/demos/external-dragging-2cals.html
+++ b/library/fullcalendar/examples/external-dragging-2cals.html
@@ -16,17 +16,17 @@
var srcCalendar = new FullCalendar.Calendar(srcCalendarEl, {
plugins: [ 'interaction', 'dayGrid' ],
editable: true,
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
events: [
{
title: 'event1',
- start: '2019-04-11T10:00:00',
- end: '2019-04-11T16:00:00'
+ start: '2020-05-11T10:00:00',
+ end: '2020-05-11T16:00:00'
},
{
title: 'event2',
- start: '2019-04-13T10:00:00',
- end: '2019-04-13T16:00:00'
+ start: '2020-05-13T10:00:00',
+ end: '2020-05-13T16:00:00'
}
],
eventLeave: function(info) {
@@ -36,7 +36,7 @@
var destCalendar = new FullCalendar.Calendar(destCalendarEl, {
plugins: [ 'interaction', 'dayGrid' ],
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
editable: true,
droppable: true, // will let it receive events!
eventReceive: function(info) {
diff --git a/library/fullcalendar/demos/external-dragging-builtin.html b/library/fullcalendar/examples/external-dragging-builtin.html
index f9471b0ef..f9471b0ef 100644
--- a/library/fullcalendar/demos/external-dragging-builtin.html
+++ b/library/fullcalendar/examples/external-dragging-builtin.html
diff --git a/library/fullcalendar/demos/full-height.html b/library/fullcalendar/examples/full-height.html
index 799622eab..be8195472 100644
--- a/library/fullcalendar/demos/full-height.html
+++ b/library/fullcalendar/examples/full-height.html
@@ -25,64 +25,64 @@
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
defaultView: 'dayGridMonth',
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: 'All Day Event',
- start: '2019-04-01',
+ start: '2020-05-01',
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/demos/google-calendar.html b/library/fullcalendar/examples/google-calendar.html
index 96194ac62..96194ac62 100644
--- a/library/fullcalendar/demos/google-calendar.html
+++ b/library/fullcalendar/examples/google-calendar.html
diff --git a/library/fullcalendar/demos/js/theme-chooser.js b/library/fullcalendar/examples/js/theme-chooser.js
index 92a7c4753..92a7c4753 100644
--- a/library/fullcalendar/demos/js/theme-chooser.js
+++ b/library/fullcalendar/examples/js/theme-chooser.js
diff --git a/library/fullcalendar/demos/json.html b/library/fullcalendar/examples/json.html
index a107361b0..d7c9a5328 100644
--- a/library/fullcalendar/demos/json.html
+++ b/library/fullcalendar/examples/json.html
@@ -23,7 +23,7 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
editable: true,
navLinks: true, // can click day/week names to navigate views
eventLimit: true, // allow "more" link when too many events
diff --git a/library/fullcalendar/examples/json/events.json b/library/fullcalendar/examples/json/events.json
new file mode 100644
index 000000000..2352f2d87
--- /dev/null
+++ b/library/fullcalendar/examples/json/events.json
@@ -0,0 +1,56 @@
+[
+ {
+ "title": "All Day Event",
+ "start": "2020-05-01"
+ },
+ {
+ "title": "Long Event",
+ "start": "2020-05-07",
+ "end": "2020-05-10"
+ },
+ {
+ "id": "999",
+ "title": "Repeating Event",
+ "start": "2020-05-09T16:00:00-05:00"
+ },
+ {
+ "id": "999",
+ "title": "Repeating Event",
+ "start": "2020-05-16T16:00:00-05:00"
+ },
+ {
+ "title": "Conference",
+ "start": "2020-05-11",
+ "end": "2020-05-13"
+ },
+ {
+ "title": "Meeting",
+ "start": "2020-05-12T10:30:00-05:00",
+ "end": "2020-05-12T12:30:00-05:00"
+ },
+ {
+ "title": "Lunch",
+ "start": "2020-05-12T12:00:00-05:00"
+ },
+ {
+ "title": "Meeting",
+ "start": "2020-05-12T14:30:00-05:00"
+ },
+ {
+ "title": "Happy Hour",
+ "start": "2020-05-12T17:30:00-05:00"
+ },
+ {
+ "title": "Dinner",
+ "start": "2020-05-12T20:00:00"
+ },
+ {
+ "title": "Birthday Party",
+ "start": "2020-05-13T07:00:00-05:00"
+ },
+ {
+ "title": "Click for Google",
+ "url": "http://google.com/",
+ "start": "2020-05-28"
+ }
+]
diff --git a/library/fullcalendar/demos/list-views.html b/library/fullcalendar/examples/list-views.html
index 744c08494..e97c1c231 100644
--- a/library/fullcalendar/demos/list-views.html
+++ b/library/fullcalendar/examples/list-views.html
@@ -28,64 +28,64 @@
},
defaultView: 'listWeek',
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: 'All Day Event',
- start: '2019-04-01'
+ start: '2020-05-01'
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/demos/locales.html b/library/fullcalendar/examples/locales.html
index 9e94b4b62..c6d76798f 100644
--- a/library/fullcalendar/demos/locales.html
+++ b/library/fullcalendar/examples/locales.html
@@ -26,7 +26,7 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
locale: initialLocaleCode,
buttonIcons: false, // show the prev/next text
weekNumbers: true,
@@ -36,57 +36,57 @@
events: [
{
title: 'All Day Event',
- start: '2019-04-01'
+ start: '2020-05-01'
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/demos/default.html b/library/fullcalendar/examples/month-view.html
index a2b3849c8..9df8682b3 100644
--- a/library/fullcalendar/demos/default.html
+++ b/library/fullcalendar/examples/month-view.html
@@ -14,63 +14,63 @@
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'interaction', 'dayGrid' ],
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: 'All Day Event',
- start: '2019-04-01'
+ start: '2020-05-01'
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/demos/php/get-events.php b/library/fullcalendar/examples/php/get-events.php
index 888201557..e4d765433 100644
--- a/library/fullcalendar/demos/php/get-events.php
+++ b/library/fullcalendar/examples/php/get-events.php
@@ -24,9 +24,9 @@ $range_start = parseDateTime($_GET['start']);
$range_end = parseDateTime($_GET['end']);
// Parse the timeZone parameter if it is present.
-$timeZone = null;
+$time_zone = null;
if (isset($_GET['timeZone'])) {
- $timeZone = new DateTimeZone($_GET['timeZone']);
+ $time_zone = new DateTimeZone($_GET['timeZone']);
}
// Read and parse our events JSON file into an array of event data arrays.
@@ -38,7 +38,7 @@ $output_arrays = array();
foreach ($input_arrays as $array) {
// Convert the input array into a useful Event object
- $event = new Event($array, $timeZone);
+ $event = new Event($array, $time_zone);
// If the event is in-bounds, add it to the output
if ($event->isWithinDayRange($range_start, $range_end)) {
diff --git a/library/fullcalendar/demos/php/get-time-zones.php b/library/fullcalendar/examples/php/get-time-zones.php
index 241e1bd18..241e1bd18 100644
--- a/library/fullcalendar/demos/php/get-time-zones.php
+++ b/library/fullcalendar/examples/php/get-time-zones.php
diff --git a/library/fullcalendar/demos/php/utils.php b/library/fullcalendar/examples/php/utils.php
index aa67cda75..aa67cda75 100644
--- a/library/fullcalendar/demos/php/utils.php
+++ b/library/fullcalendar/examples/php/utils.php
diff --git a/library/fullcalendar/demos/rrule.html b/library/fullcalendar/examples/rrule.html
index d98234242..937c6d25b 100644
--- a/library/fullcalendar/demos/rrule.html
+++ b/library/fullcalendar/examples/rrule.html
@@ -25,14 +25,14 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
editable: true,
events: [
{
title: 'rrule event',
rrule: {
- dtstart: '2019-04-09T13:00:00',
- // until: '2019-04-01',
+ dtstart: '2020-05-09T13:00:00',
+ // until: '2020-05-01',
freq: 'weekly'
},
duration: '02:00'
diff --git a/library/fullcalendar/demos/selectable.html b/library/fullcalendar/examples/selectable.html
index 3b0f84871..13aa88ee8 100644
--- a/library/fullcalendar/demos/selectable.html
+++ b/library/fullcalendar/examples/selectable.html
@@ -21,7 +21,7 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
navLinks: true, // can click day/week names to navigate views
selectable: true,
selectMirror: true,
@@ -42,57 +42,57 @@
events: [
{
title: 'All Day Event',
- start: '2019-04-01'
+ start: '2020-05-01'
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/demos/themes.html b/library/fullcalendar/examples/theming.html
index 0f34ad04b..6b4a89e76 100644
--- a/library/fullcalendar/demos/themes.html
+++ b/library/fullcalendar/examples/theming.html
@@ -32,7 +32,7 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
weekNumbers: true,
navLinks: true, // can click day/week names to navigate views
editable: true,
@@ -40,57 +40,57 @@
events: [
{
title: 'All Day Event',
- start: '2019-04-01'
+ start: '2020-05-01'
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/demos/time-zones.html b/library/fullcalendar/examples/time-zones.html
index 5330fea9b..f4174a714 100644
--- a/library/fullcalendar/demos/time-zones.html
+++ b/library/fullcalendar/examples/time-zones.html
@@ -27,7 +27,7 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
navLinks: true, // can click day/week names to navigate views
editable: true,
selectable: true,
diff --git a/library/fullcalendar/demos/timegrid-views.html b/library/fullcalendar/examples/timegrid-views.html
index 584991043..dcef41065 100644
--- a/library/fullcalendar/demos/timegrid-views.html
+++ b/library/fullcalendar/examples/timegrid-views.html
@@ -23,64 +23,64 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: 'All Day Event',
- start: '2019-04-01',
+ start: '2020-05-01',
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/demos/week-numbers.html b/library/fullcalendar/examples/week-numbers.html
index 5ad5c4b1e..954454b04 100644
--- a/library/fullcalendar/demos/week-numbers.html
+++ b/library/fullcalendar/examples/week-numbers.html
@@ -23,7 +23,7 @@
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
- defaultDate: '2019-04-12',
+ defaultDate: '2020-05-12',
navLinks: true, // can click day/week names to navigate views
weekNumbers: true,
@@ -35,57 +35,57 @@
events: [
{
title: 'All Day Event',
- start: '2019-04-01'
+ start: '2020-05-01'
},
{
title: 'Long Event',
- start: '2019-04-07',
- end: '2019-04-10'
+ start: '2020-05-07',
+ end: '2020-05-10'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-09T16:00:00'
+ start: '2020-05-09T16:00:00'
},
{
groupId: 999,
title: 'Repeating Event',
- start: '2019-04-16T16:00:00'
+ start: '2020-05-16T16:00:00'
},
{
title: 'Conference',
- start: '2019-04-11',
- end: '2019-04-13'
+ start: '2020-05-11',
+ end: '2020-05-13'
},
{
title: 'Meeting',
- start: '2019-04-12T10:30:00',
- end: '2019-04-12T12:30:00'
+ start: '2020-05-12T10:30:00',
+ end: '2020-05-12T12:30:00'
},
{
title: 'Lunch',
- start: '2019-04-12T12:00:00'
+ start: '2020-05-12T12:00:00'
},
{
title: 'Meeting',
- start: '2019-04-12T14:30:00'
+ start: '2020-05-12T14:30:00'
},
{
title: 'Happy Hour',
- start: '2019-04-12T17:30:00'
+ start: '2020-05-12T17:30:00'
},
{
title: 'Dinner',
- start: '2019-04-12T20:00:00'
+ start: '2020-05-12T20:00:00'
},
{
title: 'Birthday Party',
- start: '2019-04-13T07:00:00'
+ start: '2020-05-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
- start: '2019-04-28'
+ start: '2020-05-28'
}
]
});
diff --git a/library/fullcalendar/packages/bootstrap/LICENSE.txt b/library/fullcalendar/packages/bootstrap/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/bootstrap/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/bootstrap/README.md b/library/fullcalendar/packages/bootstrap/README.md
new file mode 100644
index 000000000..1da7990c1
--- /dev/null
+++ b/library/fullcalendar/packages/bootstrap/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Bootstrap Plugin
+
+Bootstrap 4 theming for your calendar
+
+[View the docs &raquo;](https://fullcalendar.io/docs/bootstrap-theme)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/bootstrap/main.css b/library/fullcalendar/packages/bootstrap/main.css
index c639e307f..3dc71f583 100644
--- a/library/fullcalendar/packages/bootstrap/main.css
+++ b/library/fullcalendar/packages/bootstrap/main.css
@@ -1,33 +1,36 @@
-/*!
-FullCalendar Bootstrap Plugin v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/
.fc.fc-bootstrap a {
- text-decoration: none; }
+ text-decoration: none;
+}
.fc.fc-bootstrap a[data-goto]:hover {
- text-decoration: underline; }
+ text-decoration: underline;
+}
.fc-bootstrap hr.fc-divider {
- border-color: inherit; }
+ border-color: inherit;
+}
.fc-bootstrap .fc-today.alert {
- border-radius: 0; }
+ border-radius: 0;
+}
.fc-bootstrap a.fc-event:not([href]):not([tabindex]) {
- color: #fff; }
+ color: #fff;
+}
.fc-bootstrap .fc-popover.card {
- position: absolute; }
+ position: absolute;
+}
/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap .fc-popover .card-body {
- padding: 0; }
+ padding: 0;
+}
/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap .fc-time-grid .fc-slats table {
/* some themes have background color. see through to slats */
- background: none; }
+ background: none;
+}
diff --git a/library/fullcalendar/packages/bootstrap/main.d.ts b/library/fullcalendar/packages/bootstrap/main.d.ts
new file mode 100644
index 000000000..4aa91f33d
--- /dev/null
+++ b/library/fullcalendar/packages/bootstrap/main.d.ts
@@ -0,0 +1,12 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/bootstrap' {
+ import { Theme } from '@fullcalendar/core';
+ export class BootstrapTheme extends Theme {
+ }
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
diff --git a/library/fullcalendar/packages/bootstrap/main.esm.js b/library/fullcalendar/packages/bootstrap/main.esm.js
new file mode 100644
index 000000000..1a8a2f833
--- /dev/null
+++ b/library/fullcalendar/packages/bootstrap/main.esm.js
@@ -0,0 +1,83 @@
+/*!
+FullCalendar Bootstrap Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import { createPlugin, Theme } from '@fullcalendar/core';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var BootstrapTheme = /** @class */ (function (_super) {
+ __extends(BootstrapTheme, _super);
+ function BootstrapTheme() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ return BootstrapTheme;
+}(Theme));
+BootstrapTheme.prototype.classes = {
+ widget: 'fc-bootstrap',
+ tableGrid: 'table-bordered',
+ tableList: 'table',
+ tableListHeading: 'table-active',
+ buttonGroup: 'btn-group',
+ button: 'btn btn-primary',
+ buttonActive: 'active',
+ today: 'alert alert-info',
+ popover: 'card card-primary',
+ popoverHeader: 'card-header',
+ popoverContent: 'card-body',
+ // day grid
+ // for left/right border color when border is inset from edges (all-day in timeGrid view)
+ // avoid `table` class b/c don't want margins/padding/structure. only border color.
+ headerRow: 'table-bordered',
+ dayRow: 'table-bordered',
+ // list view
+ listView: 'card card-primary'
+};
+BootstrapTheme.prototype.baseIconClass = 'fa';
+BootstrapTheme.prototype.iconClasses = {
+ close: 'fa-times',
+ prev: 'fa-chevron-left',
+ next: 'fa-chevron-right',
+ prevYear: 'fa-angle-double-left',
+ nextYear: 'fa-angle-double-right'
+};
+BootstrapTheme.prototype.iconOverrideOption = 'bootstrapFontAwesome';
+BootstrapTheme.prototype.iconOverrideCustomButtonOption = 'bootstrapFontAwesome';
+BootstrapTheme.prototype.iconOverridePrefix = 'fa-';
+var main = createPlugin({
+ themeClasses: {
+ bootstrap: BootstrapTheme
+ }
+});
+
+export default main;
+export { BootstrapTheme };
diff --git a/library/fullcalendar/packages/bootstrap/main.js b/library/fullcalendar/packages/bootstrap/main.js
index 78fe25b5c..455ca78a2 100644
--- a/library/fullcalendar/packages/bootstrap/main.js
+++ b/library/fullcalendar/packages/bootstrap/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar Bootstrap Plugin v4.0.2
+FullCalendar Bootstrap Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', '@fullcalendar/core'], factory) :
@@ -10,18 +11,18 @@ Docs & License: https://fullcalendar.io/
}(this, function (exports, core) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
diff --git a/library/fullcalendar/packages/bootstrap/main.min.css b/library/fullcalendar/packages/bootstrap/main.min.css
index c2685e34e..e9249b568 100644
--- a/library/fullcalendar/packages/bootstrap/main.min.css
+++ b/library/fullcalendar/packages/bootstrap/main.min.css
@@ -1,5 +1 @@
-/*!
-FullCalendar Bootstrap Plugin v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/.fc.fc-bootstrap a{text-decoration:none}.fc.fc-bootstrap a[data-goto]:hover{text-decoration:underline}.fc-bootstrap hr.fc-divider{border-color:inherit}.fc-bootstrap .fc-today.alert{border-radius:0}.fc-bootstrap a.fc-event:not([href]):not([tabindex]){color:#fff}.fc-bootstrap .fc-popover.card{position:absolute}.fc-bootstrap .fc-popover .card-body{padding:0}.fc-bootstrap .fc-time-grid .fc-slats table{background:0 0} \ No newline at end of file
+.fc.fc-bootstrap a{text-decoration:none}.fc.fc-bootstrap a[data-goto]:hover{text-decoration:underline}.fc-bootstrap hr.fc-divider{border-color:inherit}.fc-bootstrap .fc-today.alert{border-radius:0}.fc-bootstrap a.fc-event:not([href]):not([tabindex]){color:#fff}.fc-bootstrap .fc-popover.card{position:absolute}.fc-bootstrap .fc-popover .card-body{padding:0}.fc-bootstrap .fc-time-grid .fc-slats table{background:0 0} \ No newline at end of file
diff --git a/library/fullcalendar/packages/bootstrap/main.min.js b/library/fullcalendar/packages/bootstrap/main.min.js
index f8cca364c..9510309c6 100644
--- a/library/fullcalendar/packages/bootstrap/main.min.js
+++ b/library/fullcalendar/packages/bootstrap/main.min.js
@@ -1,20 +1,6 @@
/*!
-FullCalendar Bootstrap Plugin v4.0.2
+FullCalendar Bootstrap Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):(e=e||self,t(e.FullCalendarBootstrap={},e.FullCalendar))}(this,function(e,t){"use strict";function o(e,t){function o(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)},a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t}(t.Theme);a.prototype.classes={widget:"fc-bootstrap",tableGrid:"table-bordered",tableList:"table",tableListHeading:"table-active",buttonGroup:"btn-group",button:"btn btn-primary",buttonActive:"active",today:"alert alert-info",popover:"card card-primary",popoverHeader:"card-header",popoverContent:"card-body",headerRow:"table-bordered",dayRow:"table-bordered",listView:"card card-primary"},a.prototype.baseIconClass="fa",a.prototype.iconClasses={close:"fa-times",prev:"fa-chevron-left",next:"fa-chevron-right",prevYear:"fa-angle-double-left",nextYear:"fa-angle-double-right"},a.prototype.iconOverrideOption="bootstrapFontAwesome",a.prototype.iconOverrideCustomButtonOption="bootstrapFontAwesome",a.prototype.iconOverridePrefix="fa-";var n=t.createPlugin({themeClasses:{bootstrap:a}});e.BootstrapTheme=a,e.default=n,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):t((e=e||self).FullCalendarBootstrap={},e.FullCalendar)}(this,(function(e,t){"use strict";var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};var r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return function(e,t){function r(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t}(t.Theme);r.prototype.classes={widget:"fc-bootstrap",tableGrid:"table-bordered",tableList:"table",tableListHeading:"table-active",buttonGroup:"btn-group",button:"btn btn-primary",buttonActive:"active",today:"alert alert-info",popover:"card card-primary",popoverHeader:"card-header",popoverContent:"card-body",headerRow:"table-bordered",dayRow:"table-bordered",listView:"card card-primary"},r.prototype.baseIconClass="fa",r.prototype.iconClasses={close:"fa-times",prev:"fa-chevron-left",next:"fa-chevron-right",prevYear:"fa-angle-double-left",nextYear:"fa-angle-double-right"},r.prototype.iconOverrideOption="bootstrapFontAwesome",r.prototype.iconOverrideCustomButtonOption="bootstrapFontAwesome",r.prototype.iconOverridePrefix="fa-";var a=t.createPlugin({themeClasses:{bootstrap:r}});e.BootstrapTheme=r,e.default=a,Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/bootstrap/package.json b/library/fullcalendar/packages/bootstrap/package.json
new file mode 100644
index 000000000..cef495a8c
--- /dev/null
+++ b/library/fullcalendar/packages/bootstrap/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@fullcalendar/bootstrap",
+ "version": "4.4.2",
+ "title": "FullCalendar Bootstrap Plugin",
+ "description": "Bootstrap 4 theming for your calendar",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/bootstrap-theme",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/core/LICENSE.txt b/library/fullcalendar/packages/core/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/core/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/core/README.md b/library/fullcalendar/packages/core/README.md
new file mode 100644
index 000000000..7ed36f442
--- /dev/null
+++ b/library/fullcalendar/packages/core/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Core Package
+
+Provides core functionality, including the Calendar class
+
+[View the docs &raquo;](https://fullcalendar.io/docs/initialize-es6)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/core/locales-all.js b/library/fullcalendar/packages/core/locales-all.js
index b21cd2d12..e6c77df2c 100644
--- a/library/fullcalendar/packages/core/locales-all.js
+++ b/library/fullcalendar/packages/core/locales-all.js
@@ -1,8 +1,3 @@
-/*!
-FullCalendar Core Package v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
@@ -185,6 +180,29 @@ Docs & License: https://fullcalendar.io/
};
var _m8 = {
+ code: "az",
+ week: {
+ dow: 1,
+ doy: 4 // The week that contains Jan 4th is the first week of the year.
+ },
+ buttonText: {
+ prev: "Əvvəl",
+ next: "Sonra",
+ today: "Bu Gün",
+ month: "Ay",
+ week: "Həftə",
+ day: "Gün",
+ list: "Gündəm"
+ },
+ weekLabel: "Həftə",
+ allDayText: "Bütün Gün",
+ eventLimitText: function (n) {
+ return "+ daha çox " + n;
+ },
+ noEventsMessage: "Göstərmək üçün hadisə yoxdur"
+ };
+
+ var _m9 = {
code: "bg",
week: {
dow: 1,
@@ -206,7 +224,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Няма събития за показване"
};
- var _m9 = {
+ var _m10 = {
code: "bs",
week: {
dow: 1,
@@ -229,7 +247,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nema događaja za prikazivanje"
};
- var _m10 = {
+ var _m11 = {
code: "ca",
week: {
dow: 1,
@@ -250,7 +268,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "No hi ha esdeveniments per mostrar"
};
- var _m11 = {
+ var _m12 = {
code: "cs",
week: {
dow: 1,
@@ -273,7 +291,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Žádné akce k zobrazení"
};
- var _m12 = {
+ var _m13 = {
code: "da",
week: {
dow: 1,
@@ -282,7 +300,7 @@ Docs & License: https://fullcalendar.io/
buttonText: {
prev: "Forrige",
next: "Næste",
- today: "Idag",
+ today: "I dag",
month: "Måned",
week: "Uge",
day: "Dag",
@@ -294,7 +312,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Ingen arrangementer at vise"
};
- var _m13 = {
+ var _m14 = {
code: "de",
week: {
dow: 1,
@@ -318,7 +336,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Keine Ereignisse anzuzeigen"
};
- var _m14 = {
+ var _m15 = {
code: "el",
week: {
dow: 1,
@@ -336,10 +354,10 @@ Docs & License: https://fullcalendar.io/
weekLabel: "Εβδ",
allDayText: "Ολοήμερο",
eventLimitText: "περισσότερα",
- noEventsMessage: "Δεν υπάρχουν γεγονότα για να εμφανιστεί"
+ noEventsMessage: "Δεν υπάρχουν γεγονότα προς εμφάνιση"
};
- var _m15 = {
+ var _m16 = {
code: "en-au",
week: {
dow: 1,
@@ -347,7 +365,7 @@ Docs & License: https://fullcalendar.io/
}
};
- var _m16 = {
+ var _m17 = {
code: "en-gb",
week: {
dow: 1,
@@ -355,7 +373,7 @@ Docs & License: https://fullcalendar.io/
}
};
- var _m17 = {
+ var _m18 = {
code: "en-nz",
week: {
dow: 1,
@@ -363,7 +381,7 @@ Docs & License: https://fullcalendar.io/
}
};
- var _m18 = {
+ var _m19 = {
code: "es",
week: {
dow: 0,
@@ -384,7 +402,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "No hay eventos para mostrar"
};
- var _m19 = {
+ var _m20 = {
code: "es",
week: {
dow: 1,
@@ -405,7 +423,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "No hay eventos para mostrar"
};
- var _m20 = {
+ var _m21 = {
code: "et",
week: {
dow: 1,
@@ -428,7 +446,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Kuvamiseks puuduvad sündmused"
};
- var _m21 = {
+ var _m22 = {
code: "eu",
week: {
dow: 1,
@@ -449,7 +467,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Ez dago ekitaldirik erakusteko"
};
- var _m22 = {
+ var _m23 = {
code: "fa",
week: {
dow: 6,
@@ -473,7 +491,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "هیچ رویدادی به نمایش"
};
- var _m23 = {
+ var _m24 = {
code: "fi",
week: {
dow: 1,
@@ -494,7 +512,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Ei näytettäviä tapahtumia"
};
- var _m24 = {
+ var _m25 = {
code: "fr",
buttonText: {
prev: "Précédent",
@@ -512,7 +530,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Aucun événement à afficher"
};
- var _m25 = {
+ var _m26 = {
code: "fr-ch",
week: {
dow: 1,
@@ -534,7 +552,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Aucun événement à afficher"
};
- var _m26 = {
+ var _m27 = {
code: "fr",
week: {
dow: 1,
@@ -548,7 +566,7 @@ Docs & License: https://fullcalendar.io/
month: "Mois",
week: "Semaine",
day: "Jour",
- list: "Mon planning"
+ list: "Planning"
},
weekLabel: "Sem.",
allDayHtml: "Toute la<br/>journée",
@@ -556,7 +574,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Aucun événement à afficher"
};
- var _m27 = {
+ var _m28 = {
code: "gl",
week: {
dow: 1,
@@ -577,7 +595,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Non hai eventos para amosar"
};
- var _m28 = {
+ var _m29 = {
code: "he",
dir: 'rtl',
buttonText: {
@@ -595,7 +613,7 @@ Docs & License: https://fullcalendar.io/
weekLabel: "שבוע"
};
- var _m29 = {
+ var _m30 = {
code: "hi",
week: {
dow: 0,
@@ -618,7 +636,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "कोई घटनाओं को प्रदर्शित करने के लिए"
};
- var _m30 = {
+ var _m31 = {
code: "hr",
week: {
dow: 1,
@@ -641,7 +659,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nema događaja za prikaz"
};
- var _m31 = {
+ var _m32 = {
code: "hu",
week: {
dow: 1,
@@ -662,7 +680,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nincs megjeleníthető esemény"
};
- var _m32 = {
+ var _m33 = {
code: "id",
week: {
dow: 1,
@@ -683,7 +701,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Tidak ada acara untuk ditampilkan"
};
- var _m33 = {
+ var _m34 = {
code: "is",
week: {
dow: 1,
@@ -704,7 +722,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Engir viðburðir til að sýna"
};
- var _m34 = {
+ var _m35 = {
code: "it",
week: {
dow: 1,
@@ -727,7 +745,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Non ci sono eventi da visualizzare"
};
- var _m35 = {
+ var _m36 = {
code: "ja",
buttonText: {
prev: "前",
@@ -746,7 +764,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "表示する予定はありません"
};
- var _m36 = {
+ var _m37 = {
code: "ka",
week: {
dow: 1,
@@ -769,7 +787,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "ღონისძიებები არ არის"
};
- var _m37 = {
+ var _m38 = {
code: "kk",
week: {
dow: 1,
@@ -792,7 +810,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Көрсету үшін оқиғалар жоқ"
};
- var _m38 = {
+ var _m39 = {
code: "ko",
buttonText: {
prev: "이전달",
@@ -809,7 +827,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "일정이 없습니다"
};
- var _m39 = {
+ var _m40 = {
code: "lb",
week: {
dow: 1,
@@ -830,7 +848,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nee Evenementer ze affichéieren"
};
- var _m40 = {
+ var _m41 = {
code: "lt",
week: {
dow: 1,
@@ -851,7 +869,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nėra įvykių rodyti"
};
- var _m41 = {
+ var _m42 = {
code: "lv",
week: {
dow: 1,
@@ -874,7 +892,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nav notikumu"
};
- var _m42 = {
+ var _m43 = {
code: "mk",
buttonText: {
prev: "претходно",
@@ -893,7 +911,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Нема настани за прикажување"
};
- var _m43 = {
+ var _m44 = {
code: "ms",
week: {
dow: 1,
@@ -916,7 +934,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Tiada peristiwa untuk dipaparkan"
};
- var _m44 = {
+ var _m45 = {
code: "nb",
week: {
dow: 1,
@@ -937,7 +955,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Ingen hendelser å vise"
};
- var _m45 = {
+ var _m46 = {
code: "nl",
week: {
dow: 1,
@@ -958,7 +976,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Geen evenementen om te laten zien"
};
- var _m46 = {
+ var _m47 = {
code: "nn",
week: {
dow: 1,
@@ -979,7 +997,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Ingen hendelser å vise"
};
- var _m47 = {
+ var _m48 = {
code: "pl",
week: {
dow: 1,
@@ -1000,7 +1018,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Brak wydarzeń do wyświetlenia"
};
- var _m48 = {
+ var _m49 = {
code: "pt-br",
buttonText: {
prev: "Anterior",
@@ -1009,7 +1027,7 @@ Docs & License: https://fullcalendar.io/
month: "Mês",
week: "Semana",
day: "Dia",
- list: "Compromissos"
+ list: "Lista"
},
weekLabel: "Sm",
allDayText: "dia inteiro",
@@ -1019,7 +1037,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Não há eventos para mostrar"
};
- var _m49 = {
+ var _m50 = {
code: "pt",
week: {
dow: 1,
@@ -1040,7 +1058,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Não há eventos para mostrar"
};
- var _m50 = {
+ var _m51 = {
code: "ro",
week: {
dow: 1,
@@ -1063,7 +1081,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nu există evenimente de afișat"
};
- var _m51 = {
+ var _m52 = {
code: "ru",
week: {
dow: 1,
@@ -1086,7 +1104,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Нет событий для отображения"
};
- var _m52 = {
+ var _m53 = {
code: "sk",
week: {
dow: 1,
@@ -1109,7 +1127,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Žiadne akcie na zobrazenie"
};
- var _m53 = {
+ var _m54 = {
code: "sl",
week: {
dow: 1,
@@ -1130,7 +1148,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Ni dogodkov za prikaz"
};
- var _m54 = {
+ var _m55 = {
code: "sq",
week: {
dow: 1,
@@ -1153,7 +1171,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nuk ka evente për të shfaqur"
};
- var _m55 = {
+ var _m56 = {
code: "sr-cyrl",
week: {
dow: 1,
@@ -1176,7 +1194,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Нема догађаја за приказ"
};
- var _m56 = {
+ var _m57 = {
code: "sr",
week: {
dow: 1,
@@ -1199,7 +1217,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Nеma događaja za prikaz"
};
- var _m57 = {
+ var _m58 = {
code: "sv",
week: {
dow: 1,
@@ -1220,23 +1238,31 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Inga händelser att visa"
};
- var _m58 = {
+ var _m59 = {
code: "th",
+ week: {
+ dow: 1,
+ doy: 4 // The week that contains Jan 4th is the first week of the year.
+ },
buttonText: {
- prev: "ย้อน",
+ prev: "ก่อนหน้า",
next: "ถัดไป",
+ prevYear: 'ปีก่อนหน้า',
+ nextYear: 'ปีถัดไป',
+ year: 'ปี',
today: "วันนี้",
month: "เดือน",
week: "สัปดาห์",
day: "วัน",
- list: "แผนงาน"
+ list: "กำหนดการ"
},
+ weekLabel: "สัปดาห์",
allDayText: "ตลอดวัน",
eventLimitText: "เพิ่มเติม",
noEventsMessage: "ไม่มีกิจกรรมที่จะแสดง"
};
- var _m59 = {
+ var _m60 = {
code: "tr",
week: {
dow: 1,
@@ -1257,7 +1283,18 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Gösterilecek etkinlik yok"
};
- var _m60 = {
+ var _m61 = {
+ code: "ug",
+ buttonText: {
+ month: "ئاي",
+ week: "ھەپتە",
+ day: "كۈن",
+ list: "كۈنتەرتىپ"
+ },
+ allDayText: "پۈتۈن كۈن"
+ };
+
+ var _m62 = {
code: "uk",
week: {
dow: 1,
@@ -1280,7 +1317,22 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Немає подій для відображення"
};
- var _m61 = {
+ var _m63 = {
+ code: "uz",
+ buttonText: {
+ month: "Oy",
+ week: "Xafta",
+ day: "Kun",
+ list: "Kun tartibi"
+ },
+ allDayText: "Kun bo'yi",
+ eventLimitText: function (n) {
+ return "+ yana " + n;
+ },
+ noEventsMessage: "Ko'rsatish uchun voqealar yo'q"
+ };
+
+ var _m64 = {
code: "vi",
week: {
dow: 1,
@@ -1303,7 +1355,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "Không có sự kiện để hiển thị"
};
- var _m62 = {
+ var _m65 = {
code: "zh-cn",
week: {
// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
@@ -1327,7 +1379,7 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "没有事件显示"
};
- var _m63 = {
+ var _m66 = {
code: "zh-tw",
buttonText: {
prev: "上月",
@@ -1344,10 +1396,10 @@ Docs & License: https://fullcalendar.io/
noEventsMessage: "没有任何活動"
};
- var _arrayEntry = [
- _m0, _m1, _m2, _m3, _m4, _m5, _m6, _m7, _m8, _m9, _m10, _m11, _m12, _m13, _m14, _m15, _m16, _m17, _m18, _m19, _m20, _m21, _m22, _m23, _m24, _m25, _m26, _m27, _m28, _m29, _m30, _m31, _m32, _m33, _m34, _m35, _m36, _m37, _m38, _m39, _m40, _m41, _m42, _m43, _m44, _m45, _m46, _m47, _m48, _m49, _m50, _m51, _m52, _m53, _m54, _m55, _m56, _m57, _m58, _m59, _m60, _m61, _m62, _m63
+ var _rollupPluginMultiEntry_entryPoint = [
+ _m0, _m1, _m2, _m3, _m4, _m5, _m6, _m7, _m8, _m9, _m10, _m11, _m12, _m13, _m14, _m15, _m16, _m17, _m18, _m19, _m20, _m21, _m22, _m23, _m24, _m25, _m26, _m27, _m28, _m29, _m30, _m31, _m32, _m33, _m34, _m35, _m36, _m37, _m38, _m39, _m40, _m41, _m42, _m43, _m44, _m45, _m46, _m47, _m48, _m49, _m50, _m51, _m52, _m53, _m54, _m55, _m56, _m57, _m58, _m59, _m60, _m61, _m62, _m63, _m64, _m65, _m66
];
- return _arrayEntry;
+ return _rollupPluginMultiEntry_entryPoint;
}));
diff --git a/library/fullcalendar/packages/core/locales-all.min.js b/library/fullcalendar/packages/core/locales-all.min.js
index 2b250c788..e553f6653 100644
--- a/library/fullcalendar/packages/core/locales-all.min.js
+++ b/library/fullcalendar/packages/core/locales-all.min.js
@@ -1,6 +1 @@
-/*!
-FullCalendar Core Package v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self,e.FullCalendarLocalesAll=t())}(this,function(){"use strict";return[{code:"af",week:{dow:1,doy:4},buttonText:{prev:"Vorige",next:"Volgende",today:"Vandag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayHtml:"Heeldag",eventLimitText:"Addisionele",noEventsMessage:"Daar is geen gebeurtenisse nie"},{code:"ar-dz",week:{dow:0,doy:4},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-kw",week:{dow:0,doy:12},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-ly",week:{dow:6,doy:12},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-ma",week:{dow:6,doy:12},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-sa",week:{dow:0,doy:6},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-tn",week:{dow:1,doy:4},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar",week:{dow:6,doy:12},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"bg",week:{dow:1,doy:7},buttonText:{prev:"назад",next:"напред",today:"днес",month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",eventLimitText:function(e){return"+още "+e},noEventsMessage:"Няма събития за показване"},{code:"bs",week:{dow:1,doy:7},buttonText:{prev:"Prošli",next:"Sljedeći",today:"Danas",month:"Mjesec",week:"Sedmica",day:"Dan",list:"Raspored"},weekLabel:"Sed",allDayText:"Cijeli dan",eventLimitText:function(e){return"+ još "+e},noEventsMessage:"Nema događaja za prikazivanje"},{code:"ca",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Següent",today:"Avui",month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},weekLabel:"Set",allDayText:"Tot el dia",eventLimitText:"més",noEventsMessage:"No hi ha esdeveniments per mostrar"},{code:"cs",week:{dow:1,doy:4},buttonText:{prev:"Dříve",next:"Později",today:"Nyní",month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},weekLabel:"Týd",allDayText:"Celý den",eventLimitText:function(e){return"+další: "+e},noEventsMessage:"Žádné akce k zobrazení"},{code:"da",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Næste",today:"Idag",month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},weekLabel:"Uge",allDayText:"Hele dagen",eventLimitText:"flere",noEventsMessage:"Ingen arrangementer at vise"},{code:"de",week:{dow:1,doy:4},buttonText:{prev:"Zurück",next:"Vor",today:"Heute",year:"Jahr",month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},weekLabel:"KW",allDayText:"Ganztägig",eventLimitText:function(e){return"+ weitere "+e},noEventsMessage:"Keine Ereignisse anzuzeigen"},{code:"el",week:{dow:1,doy:4},buttonText:{prev:"Προηγούμενος",next:"Επόμενος",today:"Σήμερα",month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},weekLabel:"Εβδ",allDayText:"Ολοήμερο",eventLimitText:"περισσότερα",noEventsMessage:"Δεν υπάρχουν γεγονότα για να εμφανιστεί"},{code:"en-au",week:{dow:1,doy:4}},{code:"en-gb",week:{dow:1,doy:4}},{code:"en-nz",week:{dow:1,doy:4}},{code:"es",week:{dow:0,doy:6},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},weekLabel:"Sm",allDayHtml:"Todo<br/>el día",eventLimitText:"más",noEventsMessage:"No hay eventos para mostrar"},{code:"es",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},weekLabel:"Sm",allDayHtml:"Todo<br/>el día",eventLimitText:"más",noEventsMessage:"No hay eventos para mostrar"},{code:"et",week:{dow:1,doy:4},buttonText:{prev:"Eelnev",next:"Järgnev",today:"Täna",month:"Kuu",week:"Nädal",day:"Päev",list:"Päevakord"},weekLabel:"näd",allDayText:"Kogu päev",eventLimitText:function(e){return"+ veel "+e},noEventsMessage:"Kuvamiseks puuduvad sündmused"},{code:"eu",week:{dow:1,doy:7},buttonText:{prev:"Aur",next:"Hur",today:"Gaur",month:"Hilabetea",week:"Astea",day:"Eguna",list:"Agenda"},weekLabel:"As",allDayHtml:"Egun<br/>osoa",eventLimitText:"gehiago",noEventsMessage:"Ez dago ekitaldirik erakusteko"},{code:"fa",week:{dow:6,doy:12},dir:"rtl",buttonText:{prev:"قبلی",next:"بعدی",today:"امروز",month:"ماه",week:"هفته",day:"روز",list:"برنامه"},weekLabel:"هف",allDayText:"تمام روز",eventLimitText:function(e){return"بیش از "+e},noEventsMessage:"هیچ رویدادی به نمایش"},{code:"fi",week:{dow:1,doy:4},buttonText:{prev:"Edellinen",next:"Seuraava",today:"Tänään",month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},weekLabel:"Vk",allDayText:"Koko päivä",eventLimitText:"lisää",noEventsMessage:"Ei näytettäviä tapahtumia"},{code:"fr",buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekLabel:"Sem.",allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"},{code:"fr-ch",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Courant",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekLabel:"Sm",allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"},{code:"fr",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekLabel:"Sem.",allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"},{code:"gl",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Seg",today:"Hoxe",month:"Mes",week:"Semana",day:"Día",list:"Axenda"},weekLabel:"Sm",allDayHtml:"Todo<br/>o día",eventLimitText:"máis",noEventsMessage:"Non hai eventos para amosar"},{code:"he",dir:"rtl",buttonText:{prev:"הקודם",next:"הבא",today:"היום",month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},allDayText:"כל היום",eventLimitText:"אחר",noEventsMessage:"אין אירועים להצגה",weekLabel:"שבוע"},{code:"hi",week:{dow:0,doy:6},buttonText:{prev:"पिछला",next:"अगला",today:"आज",month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},weekLabel:"हफ्ता",allDayText:"सभी दिन",eventLimitText:function(e){return"+अधिक "+e},noEventsMessage:"कोई घटनाओं को प्रदर्शित करने के लिए"},{code:"hr",week:{dow:1,doy:7},buttonText:{prev:"Prijašnji",next:"Sljedeći",today:"Danas",month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},weekLabel:"Tje",allDayText:"Cijeli dan",eventLimitText:function(e){return"+ još "+e},noEventsMessage:"Nema događaja za prikaz"},{code:"hu",week:{dow:1,doy:4},buttonText:{prev:"vissza",next:"előre",today:"ma",month:"Hónap",week:"Hét",day:"Nap",list:"Napló"},weekLabel:"Hét",allDayText:"Egész nap",eventLimitText:"további",noEventsMessage:"Nincs megjeleníthető esemény"},{code:"id",week:{dow:1,doy:7},buttonText:{prev:"mundur",next:"maju",today:"hari ini",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekLabel:"Mg",allDayHtml:"Sehari<br/>penuh",eventLimitText:"lebih",noEventsMessage:"Tidak ada acara untuk ditampilkan"},{code:"is",week:{dow:1,doy:4},buttonText:{prev:"Fyrri",next:"Næsti",today:"Í dag",month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},weekLabel:"Vika",allDayHtml:"Allan<br/>daginn",eventLimitText:"meira",noEventsMessage:"Engir viðburðir til að sýna"},{code:"it",week:{dow:1,doy:4},buttonText:{prev:"Prec",next:"Succ",today:"Oggi",month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},weekLabel:"Sm",allDayHtml:"Tutto il<br/>giorno",eventLimitText:function(e){return"+altri "+e},noEventsMessage:"Non ci sono eventi da visualizzare"},{code:"ja",buttonText:{prev:"前",next:"次",today:"今日",month:"月",week:"週",day:"日",list:"予定リスト"},weekLabel:"週",allDayText:"終日",eventLimitText:function(e){return"他 "+e+" 件"},noEventsMessage:"表示する予定はありません"},{code:"ka",week:{dow:1,doy:7},buttonText:{prev:"წინა",next:"შემდეგი",today:"დღეს",month:"თვე",week:"კვირა",day:"დღე",list:"დღის წესრიგი"},weekLabel:"კვ",allDayText:"მთელი დღე",eventLimitText:function(e){return"+ კიდევ "+e},noEventsMessage:"ღონისძიებები არ არის"},{code:"kk",week:{dow:1,doy:7},buttonText:{prev:"Алдыңғы",next:"Келесі",today:"Бүгін",month:"Ай",week:"Апта",day:"Күн",list:"Күн тәртібі"},weekLabel:"Не",allDayText:"Күні бойы",eventLimitText:function(e){return"+ тағы "+e},noEventsMessage:"Көрсету үшін оқиғалар жоқ"},{code:"ko",buttonText:{prev:"이전달",next:"다음달",today:"오늘",month:"월",week:"주",day:"일",list:"일정목록"},weekLabel:"주",allDayText:"종일",eventLimitText:"개",noEventsMessage:"일정이 없습니다"},{code:"lb",week:{dow:1,doy:4},buttonText:{prev:"Zréck",next:"Weider",today:"Haut",month:"Mount",week:"Woch",day:"Dag",list:"Terminiwwersiicht"},weekLabel:"W",allDayText:"Ganzen Dag",eventLimitText:"méi",noEventsMessage:"Nee Evenementer ze affichéieren"},{code:"lt",week:{dow:1,doy:4},buttonText:{prev:"Atgal",next:"Pirmyn",today:"Šiandien",month:"Mėnuo",week:"Savaitė",day:"Diena",list:"Darbotvarkė"},weekLabel:"SAV",allDayText:"Visą dieną",eventLimitText:"daugiau",noEventsMessage:"Nėra įvykių rodyti"},{code:"lv",week:{dow:1,doy:4},buttonText:{prev:"Iepr.",next:"Nāk.",today:"Šodien",month:"Mēnesis",week:"Nedēļa",day:"Diena",list:"Dienas kārtība"},weekLabel:"Ned.",allDayText:"Visu dienu",eventLimitText:function(e){return"+vēl "+e},noEventsMessage:"Nav notikumu"},{code:"mk",buttonText:{prev:"претходно",next:"следно",today:"Денес",month:"Месец",week:"Недела",day:"Ден",list:"График"},weekLabel:"Сед",allDayText:"Цел ден",eventLimitText:function(e){return"+повеќе "+e},noEventsMessage:"Нема настани за прикажување"},{code:"ms",week:{dow:1,doy:7},buttonText:{prev:"Sebelum",next:"Selepas",today:"hari ini",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekLabel:"Mg",allDayText:"Sepanjang hari",eventLimitText:function(e){return"masih ada "+e+" acara"},noEventsMessage:"Tiada peristiwa untuk dipaparkan"},{code:"nb",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Neste",today:"I dag",month:"Måned",week:"Uke",day:"Dag",list:"Agenda"},weekLabel:"Uke",allDayText:"Hele dagen",eventLimitText:"til",noEventsMessage:"Ingen hendelser å vise"},{code:"nl",week:{dow:1,doy:4},buttonText:{prev:"Voorgaand",next:"Volgende",today:"Vandaag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",eventLimitText:"extra",noEventsMessage:"Geen evenementen om te laten zien"},{code:"nn",week:{dow:1,doy:4},buttonText:{prev:"Førre",next:"Neste",today:"I dag",month:"Månad",week:"Veke",day:"Dag",list:"Agenda"},weekLabel:"Veke",allDayText:"Heile dagen",eventLimitText:"til",noEventsMessage:"Ingen hendelser å vise"},{code:"pl",week:{dow:1,doy:4},buttonText:{prev:"Poprzedni",next:"Następny",today:"Dziś",month:"Miesiąc",week:"Tydzień",day:"Dzień",list:"Plan dnia"},weekLabel:"Tydz",allDayText:"Cały dzień",eventLimitText:"więcej",noEventsMessage:"Brak wydarzeń do wyświetlenia"},{code:"pt-br",buttonText:{prev:"Anterior",next:"Próximo",today:"Hoje",month:"Mês",week:"Semana",day:"Dia",list:"Compromissos"},weekLabel:"Sm",allDayText:"dia inteiro",eventLimitText:function(e){return"mais +"+e},noEventsMessage:"Não há eventos para mostrar"},{code:"pt",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Seguinte",today:"Hoje",month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},weekLabel:"Sem",allDayText:"Todo o dia",eventLimitText:"mais",noEventsMessage:"Não há eventos para mostrar"},{code:"ro",week:{dow:1,doy:7},buttonText:{prev:"precedentă",next:"următoare",today:"Azi",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},weekLabel:"Săpt",allDayText:"Toată ziua",eventLimitText:function(e){return"+alte "+e},noEventsMessage:"Nu există evenimente de afișat"},{code:"ru",week:{dow:1,doy:4},buttonText:{prev:"Пред",next:"След",today:"Сегодня",month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},weekLabel:"Нед",allDayText:"Весь день",eventLimitText:function(e){return"+ ещё "+e},noEventsMessage:"Нет событий для отображения"},{code:"sk",week:{dow:1,doy:4},buttonText:{prev:"Predchádzajúci",next:"Nasledujúci",today:"Dnes",month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},weekLabel:"Ty",allDayText:"Celý deň",eventLimitText:function(e){return"+ďalšie: "+e},noEventsMessage:"Žiadne akcie na zobrazenie"},{code:"sl",week:{dow:1,doy:7},buttonText:{prev:"Prejšnji",next:"Naslednji",today:"Trenutni",month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},weekLabel:"Teden",allDayText:"Ves dan",eventLimitText:"več",noEventsMessage:"Ni dogodkov za prikaz"},{code:"sq",week:{dow:1,doy:4},buttonText:{prev:"mbrapa",next:"Përpara",today:"sot",month:"Muaj",week:"Javë",day:"Ditë",list:"Listë"},weekLabel:"Ja",allDayHtml:"Gjithë<br/>ditën",eventLimitText:function(e){return"+më tepër "+e},noEventsMessage:"Nuk ka evente për të shfaqur"},{code:"sr-cyrl",week:{dow:1,doy:7},buttonText:{prev:"Претходна",next:"следећи",today:"Данас",month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},weekLabel:"Сед",allDayText:"Цео дан",eventLimitText:function(e){return"+ још "+e},noEventsMessage:"Нема догађаја за приказ"},{code:"sr",week:{dow:1,doy:7},buttonText:{prev:"Prethodna",next:"Sledeći",today:"Danas",month:"Mеsеc",week:"Nеdеlja",day:"Dan",list:"Planеr"},weekLabel:"Sed",allDayText:"Cеo dan",eventLimitText:function(e){return"+ još "+e},noEventsMessage:"Nеma događaja za prikaz"},{code:"sv",week:{dow:1,doy:4},buttonText:{prev:"Förra",next:"Nästa",today:"Idag",month:"Månad",week:"Vecka",day:"Dag",list:"Program"},weekLabel:"v.",allDayText:"Heldag",eventLimitText:"till",noEventsMessage:"Inga händelser att visa"},{code:"th",buttonText:{prev:"ย้อน",next:"ถัดไป",today:"วันนี้",month:"เดือน",week:"สัปดาห์",day:"วัน",list:"แผนงาน"},allDayText:"ตลอดวัน",eventLimitText:"เพิ่มเติม",noEventsMessage:"ไม่มีกิจกรรมที่จะแสดง"},{code:"tr",week:{dow:1,doy:7},buttonText:{prev:"geri",next:"ileri",today:"bugün",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},weekLabel:"Hf",allDayText:"Tüm gün",eventLimitText:"daha fazla",noEventsMessage:"Gösterilecek etkinlik yok"},{code:"uk",week:{dow:1,doy:7},buttonText:{prev:"Попередній",next:"далі",today:"Сьогодні",month:"Місяць",week:"Тиждень",day:"День",list:"Порядок денний"},weekLabel:"Тиж",allDayText:"Увесь день",eventLimitText:function(e){return"+ще "+e+"..."},noEventsMessage:"Немає подій для відображення"},{code:"vi",week:{dow:1,doy:4},buttonText:{prev:"Trước",next:"Tiếp",today:"Hôm nay",month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},weekLabel:"Tu",allDayText:"Cả ngày",eventLimitText:function(e){return"+ thêm "+e},noEventsMessage:"Không có sự kiện để hiển thị"},{code:"zh-cn",week:{dow:1,doy:4},buttonText:{prev:"上月",next:"下月",today:"今天",month:"月",week:"周",day:"日",list:"日程"},weekLabel:"周",allDayText:"全天",eventLimitText:function(e){return"另外 "+e+" 个"},noEventsMessage:"没有事件显示"},{code:"zh-tw",buttonText:{prev:"上月",next:"下月",today:"今天",month:"月",week:"週",day:"天",list:"活動列表"},weekLabel:"周",allDayText:"整天",eventLimitText:"顯示更多",noEventsMessage:"没有任何活動"}]}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).FullCalendarLocalesAll=t()}(this,(function(){"use strict";return[{code:"af",week:{dow:1,doy:4},buttonText:{prev:"Vorige",next:"Volgende",today:"Vandag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayHtml:"Heeldag",eventLimitText:"Addisionele",noEventsMessage:"Daar is geen gebeurtenisse nie"},{code:"ar-dz",week:{dow:0,doy:4},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-kw",week:{dow:0,doy:12},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-ly",week:{dow:6,doy:12},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-ma",week:{dow:6,doy:12},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-sa",week:{dow:0,doy:6},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar-tn",week:{dow:1,doy:4},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"ar",week:{dow:6,doy:12},dir:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekLabel:"أسبوع",allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"},{code:"az",week:{dow:1,doy:4},buttonText:{prev:"Əvvəl",next:"Sonra",today:"Bu Gün",month:"Ay",week:"Həftə",day:"Gün",list:"Gündəm"},weekLabel:"Həftə",allDayText:"Bütün Gün",eventLimitText:function(e){return"+ daha çox "+e},noEventsMessage:"Göstərmək üçün hadisə yoxdur"},{code:"bg",week:{dow:1,doy:7},buttonText:{prev:"назад",next:"напред",today:"днес",month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",eventLimitText:function(e){return"+още "+e},noEventsMessage:"Няма събития за показване"},{code:"bs",week:{dow:1,doy:7},buttonText:{prev:"Prošli",next:"Sljedeći",today:"Danas",month:"Mjesec",week:"Sedmica",day:"Dan",list:"Raspored"},weekLabel:"Sed",allDayText:"Cijeli dan",eventLimitText:function(e){return"+ još "+e},noEventsMessage:"Nema događaja za prikazivanje"},{code:"ca",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Següent",today:"Avui",month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},weekLabel:"Set",allDayText:"Tot el dia",eventLimitText:"més",noEventsMessage:"No hi ha esdeveniments per mostrar"},{code:"cs",week:{dow:1,doy:4},buttonText:{prev:"Dříve",next:"Později",today:"Nyní",month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},weekLabel:"Týd",allDayText:"Celý den",eventLimitText:function(e){return"+další: "+e},noEventsMessage:"Žádné akce k zobrazení"},{code:"da",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Næste",today:"I dag",month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},weekLabel:"Uge",allDayText:"Hele dagen",eventLimitText:"flere",noEventsMessage:"Ingen arrangementer at vise"},{code:"de",week:{dow:1,doy:4},buttonText:{prev:"Zurück",next:"Vor",today:"Heute",year:"Jahr",month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},weekLabel:"KW",allDayText:"Ganztägig",eventLimitText:function(e){return"+ weitere "+e},noEventsMessage:"Keine Ereignisse anzuzeigen"},{code:"el",week:{dow:1,doy:4},buttonText:{prev:"Προηγούμενος",next:"Επόμενος",today:"Σήμερα",month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},weekLabel:"Εβδ",allDayText:"Ολοήμερο",eventLimitText:"περισσότερα",noEventsMessage:"Δεν υπάρχουν γεγονότα προς εμφάνιση"},{code:"en-au",week:{dow:1,doy:4}},{code:"en-gb",week:{dow:1,doy:4}},{code:"en-nz",week:{dow:1,doy:4}},{code:"es",week:{dow:0,doy:6},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},weekLabel:"Sm",allDayHtml:"Todo<br/>el día",eventLimitText:"más",noEventsMessage:"No hay eventos para mostrar"},{code:"es",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},weekLabel:"Sm",allDayHtml:"Todo<br/>el día",eventLimitText:"más",noEventsMessage:"No hay eventos para mostrar"},{code:"et",week:{dow:1,doy:4},buttonText:{prev:"Eelnev",next:"Järgnev",today:"Täna",month:"Kuu",week:"Nädal",day:"Päev",list:"Päevakord"},weekLabel:"näd",allDayText:"Kogu päev",eventLimitText:function(e){return"+ veel "+e},noEventsMessage:"Kuvamiseks puuduvad sündmused"},{code:"eu",week:{dow:1,doy:7},buttonText:{prev:"Aur",next:"Hur",today:"Gaur",month:"Hilabetea",week:"Astea",day:"Eguna",list:"Agenda"},weekLabel:"As",allDayHtml:"Egun<br/>osoa",eventLimitText:"gehiago",noEventsMessage:"Ez dago ekitaldirik erakusteko"},{code:"fa",week:{dow:6,doy:12},dir:"rtl",buttonText:{prev:"قبلی",next:"بعدی",today:"امروز",month:"ماه",week:"هفته",day:"روز",list:"برنامه"},weekLabel:"هف",allDayText:"تمام روز",eventLimitText:function(e){return"بیش از "+e},noEventsMessage:"هیچ رویدادی به نمایش"},{code:"fi",week:{dow:1,doy:4},buttonText:{prev:"Edellinen",next:"Seuraava",today:"Tänään",month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},weekLabel:"Vk",allDayText:"Koko päivä",eventLimitText:"lisää",noEventsMessage:"Ei näytettäviä tapahtumia"},{code:"fr",buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekLabel:"Sem.",allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"},{code:"fr-ch",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Courant",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekLabel:"Sm",allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"},{code:"fr",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Planning"},weekLabel:"Sem.",allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"},{code:"gl",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Seg",today:"Hoxe",month:"Mes",week:"Semana",day:"Día",list:"Axenda"},weekLabel:"Sm",allDayHtml:"Todo<br/>o día",eventLimitText:"máis",noEventsMessage:"Non hai eventos para amosar"},{code:"he",dir:"rtl",buttonText:{prev:"הקודם",next:"הבא",today:"היום",month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},allDayText:"כל היום",eventLimitText:"אחר",noEventsMessage:"אין אירועים להצגה",weekLabel:"שבוע"},{code:"hi",week:{dow:0,doy:6},buttonText:{prev:"पिछला",next:"अगला",today:"आज",month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},weekLabel:"हफ्ता",allDayText:"सभी दिन",eventLimitText:function(e){return"+अधिक "+e},noEventsMessage:"कोई घटनाओं को प्रदर्शित करने के लिए"},{code:"hr",week:{dow:1,doy:7},buttonText:{prev:"Prijašnji",next:"Sljedeći",today:"Danas",month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},weekLabel:"Tje",allDayText:"Cijeli dan",eventLimitText:function(e){return"+ još "+e},noEventsMessage:"Nema događaja za prikaz"},{code:"hu",week:{dow:1,doy:4},buttonText:{prev:"vissza",next:"előre",today:"ma",month:"Hónap",week:"Hét",day:"Nap",list:"Napló"},weekLabel:"Hét",allDayText:"Egész nap",eventLimitText:"további",noEventsMessage:"Nincs megjeleníthető esemény"},{code:"id",week:{dow:1,doy:7},buttonText:{prev:"mundur",next:"maju",today:"hari ini",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekLabel:"Mg",allDayHtml:"Sehari<br/>penuh",eventLimitText:"lebih",noEventsMessage:"Tidak ada acara untuk ditampilkan"},{code:"is",week:{dow:1,doy:4},buttonText:{prev:"Fyrri",next:"Næsti",today:"Í dag",month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},weekLabel:"Vika",allDayHtml:"Allan<br/>daginn",eventLimitText:"meira",noEventsMessage:"Engir viðburðir til að sýna"},{code:"it",week:{dow:1,doy:4},buttonText:{prev:"Prec",next:"Succ",today:"Oggi",month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},weekLabel:"Sm",allDayHtml:"Tutto il<br/>giorno",eventLimitText:function(e){return"+altri "+e},noEventsMessage:"Non ci sono eventi da visualizzare"},{code:"ja",buttonText:{prev:"前",next:"次",today:"今日",month:"月",week:"週",day:"日",list:"予定リスト"},weekLabel:"週",allDayText:"終日",eventLimitText:function(e){return"他 "+e+" 件"},noEventsMessage:"表示する予定はありません"},{code:"ka",week:{dow:1,doy:7},buttonText:{prev:"წინა",next:"შემდეგი",today:"დღეს",month:"თვე",week:"კვირა",day:"დღე",list:"დღის წესრიგი"},weekLabel:"კვ",allDayText:"მთელი დღე",eventLimitText:function(e){return"+ კიდევ "+e},noEventsMessage:"ღონისძიებები არ არის"},{code:"kk",week:{dow:1,doy:7},buttonText:{prev:"Алдыңғы",next:"Келесі",today:"Бүгін",month:"Ай",week:"Апта",day:"Күн",list:"Күн тәртібі"},weekLabel:"Не",allDayText:"Күні бойы",eventLimitText:function(e){return"+ тағы "+e},noEventsMessage:"Көрсету үшін оқиғалар жоқ"},{code:"ko",buttonText:{prev:"이전달",next:"다음달",today:"오늘",month:"월",week:"주",day:"일",list:"일정목록"},weekLabel:"주",allDayText:"종일",eventLimitText:"개",noEventsMessage:"일정이 없습니다"},{code:"lb",week:{dow:1,doy:4},buttonText:{prev:"Zréck",next:"Weider",today:"Haut",month:"Mount",week:"Woch",day:"Dag",list:"Terminiwwersiicht"},weekLabel:"W",allDayText:"Ganzen Dag",eventLimitText:"méi",noEventsMessage:"Nee Evenementer ze affichéieren"},{code:"lt",week:{dow:1,doy:4},buttonText:{prev:"Atgal",next:"Pirmyn",today:"Šiandien",month:"Mėnuo",week:"Savaitė",day:"Diena",list:"Darbotvarkė"},weekLabel:"SAV",allDayText:"Visą dieną",eventLimitText:"daugiau",noEventsMessage:"Nėra įvykių rodyti"},{code:"lv",week:{dow:1,doy:4},buttonText:{prev:"Iepr.",next:"Nāk.",today:"Šodien",month:"Mēnesis",week:"Nedēļa",day:"Diena",list:"Dienas kārtība"},weekLabel:"Ned.",allDayText:"Visu dienu",eventLimitText:function(e){return"+vēl "+e},noEventsMessage:"Nav notikumu"},{code:"mk",buttonText:{prev:"претходно",next:"следно",today:"Денес",month:"Месец",week:"Недела",day:"Ден",list:"График"},weekLabel:"Сед",allDayText:"Цел ден",eventLimitText:function(e){return"+повеќе "+e},noEventsMessage:"Нема настани за прикажување"},{code:"ms",week:{dow:1,doy:7},buttonText:{prev:"Sebelum",next:"Selepas",today:"hari ini",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekLabel:"Mg",allDayText:"Sepanjang hari",eventLimitText:function(e){return"masih ada "+e+" acara"},noEventsMessage:"Tiada peristiwa untuk dipaparkan"},{code:"nb",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Neste",today:"I dag",month:"Måned",week:"Uke",day:"Dag",list:"Agenda"},weekLabel:"Uke",allDayText:"Hele dagen",eventLimitText:"til",noEventsMessage:"Ingen hendelser å vise"},{code:"nl",week:{dow:1,doy:4},buttonText:{prev:"Voorgaand",next:"Volgende",today:"Vandaag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",eventLimitText:"extra",noEventsMessage:"Geen evenementen om te laten zien"},{code:"nn",week:{dow:1,doy:4},buttonText:{prev:"Førre",next:"Neste",today:"I dag",month:"Månad",week:"Veke",day:"Dag",list:"Agenda"},weekLabel:"Veke",allDayText:"Heile dagen",eventLimitText:"til",noEventsMessage:"Ingen hendelser å vise"},{code:"pl",week:{dow:1,doy:4},buttonText:{prev:"Poprzedni",next:"Następny",today:"Dziś",month:"Miesiąc",week:"Tydzień",day:"Dzień",list:"Plan dnia"},weekLabel:"Tydz",allDayText:"Cały dzień",eventLimitText:"więcej",noEventsMessage:"Brak wydarzeń do wyświetlenia"},{code:"pt-br",buttonText:{prev:"Anterior",next:"Próximo",today:"Hoje",month:"Mês",week:"Semana",day:"Dia",list:"Lista"},weekLabel:"Sm",allDayText:"dia inteiro",eventLimitText:function(e){return"mais +"+e},noEventsMessage:"Não há eventos para mostrar"},{code:"pt",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Seguinte",today:"Hoje",month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},weekLabel:"Sem",allDayText:"Todo o dia",eventLimitText:"mais",noEventsMessage:"Não há eventos para mostrar"},{code:"ro",week:{dow:1,doy:7},buttonText:{prev:"precedentă",next:"următoare",today:"Azi",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},weekLabel:"Săpt",allDayText:"Toată ziua",eventLimitText:function(e){return"+alte "+e},noEventsMessage:"Nu există evenimente de afișat"},{code:"ru",week:{dow:1,doy:4},buttonText:{prev:"Пред",next:"След",today:"Сегодня",month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},weekLabel:"Нед",allDayText:"Весь день",eventLimitText:function(e){return"+ ещё "+e},noEventsMessage:"Нет событий для отображения"},{code:"sk",week:{dow:1,doy:4},buttonText:{prev:"Predchádzajúci",next:"Nasledujúci",today:"Dnes",month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},weekLabel:"Ty",allDayText:"Celý deň",eventLimitText:function(e){return"+ďalšie: "+e},noEventsMessage:"Žiadne akcie na zobrazenie"},{code:"sl",week:{dow:1,doy:7},buttonText:{prev:"Prejšnji",next:"Naslednji",today:"Trenutni",month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},weekLabel:"Teden",allDayText:"Ves dan",eventLimitText:"več",noEventsMessage:"Ni dogodkov za prikaz"},{code:"sq",week:{dow:1,doy:4},buttonText:{prev:"mbrapa",next:"Përpara",today:"sot",month:"Muaj",week:"Javë",day:"Ditë",list:"Listë"},weekLabel:"Ja",allDayHtml:"Gjithë<br/>ditën",eventLimitText:function(e){return"+më tepër "+e},noEventsMessage:"Nuk ka evente për të shfaqur"},{code:"sr-cyrl",week:{dow:1,doy:7},buttonText:{prev:"Претходна",next:"следећи",today:"Данас",month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},weekLabel:"Сед",allDayText:"Цео дан",eventLimitText:function(e){return"+ још "+e},noEventsMessage:"Нема догађаја за приказ"},{code:"sr",week:{dow:1,doy:7},buttonText:{prev:"Prethodna",next:"Sledeći",today:"Danas",month:"Mеsеc",week:"Nеdеlja",day:"Dan",list:"Planеr"},weekLabel:"Sed",allDayText:"Cеo dan",eventLimitText:function(e){return"+ još "+e},noEventsMessage:"Nеma događaja za prikaz"},{code:"sv",week:{dow:1,doy:4},buttonText:{prev:"Förra",next:"Nästa",today:"Idag",month:"Månad",week:"Vecka",day:"Dag",list:"Program"},weekLabel:"v.",allDayText:"Heldag",eventLimitText:"till",noEventsMessage:"Inga händelser att visa"},{code:"th",week:{dow:1,doy:4},buttonText:{prev:"ก่อนหน้า",next:"ถัดไป",prevYear:"ปีก่อนหน้า",nextYear:"ปีถัดไป",year:"ปี",today:"วันนี้",month:"เดือน",week:"สัปดาห์",day:"วัน",list:"กำหนดการ"},weekLabel:"สัปดาห์",allDayText:"ตลอดวัน",eventLimitText:"เพิ่มเติม",noEventsMessage:"ไม่มีกิจกรรมที่จะแสดง"},{code:"tr",week:{dow:1,doy:7},buttonText:{prev:"geri",next:"ileri",today:"bugün",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},weekLabel:"Hf",allDayText:"Tüm gün",eventLimitText:"daha fazla",noEventsMessage:"Gösterilecek etkinlik yok"},{code:"ug",buttonText:{month:"ئاي",week:"ھەپتە",day:"كۈن",list:"كۈنتەرتىپ"},allDayText:"پۈتۈن كۈن"},{code:"uk",week:{dow:1,doy:7},buttonText:{prev:"Попередній",next:"далі",today:"Сьогодні",month:"Місяць",week:"Тиждень",day:"День",list:"Порядок денний"},weekLabel:"Тиж",allDayText:"Увесь день",eventLimitText:function(e){return"+ще "+e+"..."},noEventsMessage:"Немає подій для відображення"},{code:"uz",buttonText:{month:"Oy",week:"Xafta",day:"Kun",list:"Kun tartibi"},allDayText:"Kun bo'yi",eventLimitText:function(e){return"+ yana "+e},noEventsMessage:"Ko'rsatish uchun voqealar yo'q"},{code:"vi",week:{dow:1,doy:4},buttonText:{prev:"Trước",next:"Tiếp",today:"Hôm nay",month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},weekLabel:"Tu",allDayText:"Cả ngày",eventLimitText:function(e){return"+ thêm "+e},noEventsMessage:"Không có sự kiện để hiển thị"},{code:"zh-cn",week:{dow:1,doy:4},buttonText:{prev:"上月",next:"下月",today:"今天",month:"月",week:"周",day:"日",list:"日程"},weekLabel:"周",allDayText:"全天",eventLimitText:function(e){return"另外 "+e+" 个"},noEventsMessage:"没有事件显示"},{code:"zh-tw",buttonText:{prev:"上月",next:"下月",today:"今天",month:"月",week:"週",day:"天",list:"活動列表"},weekLabel:"周",allDayText:"整天",eventLimitText:"顯示更多",noEventsMessage:"没有任何活動"}]})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/core/locales/az.js b/library/fullcalendar/packages/core/locales/az.js
new file mode 100644
index 000000000..fbd2dc35c
--- /dev/null
+++ b/library/fullcalendar/packages/core/locales/az.js
@@ -0,0 +1,32 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.az = factory()));
+}(this, function () { 'use strict';
+
+ var az = {
+ code: "az",
+ week: {
+ dow: 1,
+ doy: 4 // The week that contains Jan 4th is the first week of the year.
+ },
+ buttonText: {
+ prev: "Əvvəl",
+ next: "Sonra",
+ today: "Bu Gün",
+ month: "Ay",
+ week: "Həftə",
+ day: "Gün",
+ list: "Gündəm"
+ },
+ weekLabel: "Həftə",
+ allDayText: "Bütün Gün",
+ eventLimitText: function (n) {
+ return "+ daha çox " + n;
+ },
+ noEventsMessage: "Göstərmək üçün hadisə yoxdur"
+ };
+
+ return az;
+
+}));
diff --git a/library/fullcalendar/packages/core/locales/da.js b/library/fullcalendar/packages/core/locales/da.js
index 2388d2e11..73d155929 100644
--- a/library/fullcalendar/packages/core/locales/da.js
+++ b/library/fullcalendar/packages/core/locales/da.js
@@ -13,7 +13,7 @@
buttonText: {
prev: "Forrige",
next: "Næste",
- today: "Idag",
+ today: "I dag",
month: "Måned",
week: "Uge",
day: "Dag",
diff --git a/library/fullcalendar/packages/core/locales/el.js b/library/fullcalendar/packages/core/locales/el.js
index 9f59e3657..cdc10a66e 100644
--- a/library/fullcalendar/packages/core/locales/el.js
+++ b/library/fullcalendar/packages/core/locales/el.js
@@ -22,7 +22,7 @@
weekLabel: "Εβδ",
allDayText: "Ολοήμερο",
eventLimitText: "περισσότερα",
- noEventsMessage: "Δεν υπάρχουν γεγονότα για να εμφανιστεί"
+ noEventsMessage: "Δεν υπάρχουν γεγονότα προς εμφάνιση"
};
return el;
diff --git a/library/fullcalendar/packages/core/locales/fr.js b/library/fullcalendar/packages/core/locales/fr.js
index b679ceffd..4760a71a9 100644
--- a/library/fullcalendar/packages/core/locales/fr.js
+++ b/library/fullcalendar/packages/core/locales/fr.js
@@ -18,7 +18,7 @@
month: "Mois",
week: "Semaine",
day: "Jour",
- list: "Mon planning"
+ list: "Planning"
},
weekLabel: "Sem.",
allDayHtml: "Toute la<br/>journée",
diff --git a/library/fullcalendar/packages/core/locales/pt-br.js b/library/fullcalendar/packages/core/locales/pt-br.js
index 0133cd6b1..bfa023dd6 100644
--- a/library/fullcalendar/packages/core/locales/pt-br.js
+++ b/library/fullcalendar/packages/core/locales/pt-br.js
@@ -13,7 +13,7 @@
month: "Mês",
week: "Semana",
day: "Dia",
- list: "Compromissos"
+ list: "Lista"
},
weekLabel: "Sm",
allDayText: "dia inteiro",
diff --git a/library/fullcalendar/packages/core/locales/th.js b/library/fullcalendar/packages/core/locales/th.js
index caa3fe9a6..faeaee214 100644
--- a/library/fullcalendar/packages/core/locales/th.js
+++ b/library/fullcalendar/packages/core/locales/th.js
@@ -6,15 +6,23 @@
var th = {
code: "th",
+ week: {
+ dow: 1,
+ doy: 4 // The week that contains Jan 4th is the first week of the year.
+ },
buttonText: {
- prev: "ย้อน",
+ prev: "ก่อนหน้า",
next: "ถัดไป",
+ prevYear: 'ปีก่อนหน้า',
+ nextYear: 'ปีถัดไป',
+ year: 'ปี',
today: "วันนี้",
month: "เดือน",
week: "สัปดาห์",
day: "วัน",
- list: "แผนงาน"
+ list: "กำหนดการ"
},
+ weekLabel: "สัปดาห์",
allDayText: "ตลอดวัน",
eventLimitText: "เพิ่มเติม",
noEventsMessage: "ไม่มีกิจกรรมที่จะแสดง"
diff --git a/library/fullcalendar/packages/core/locales/ug.js b/library/fullcalendar/packages/core/locales/ug.js
new file mode 100644
index 000000000..f13a5c286
--- /dev/null
+++ b/library/fullcalendar/packages/core/locales/ug.js
@@ -0,0 +1,20 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ug = factory()));
+}(this, function () { 'use strict';
+
+ var ug = {
+ code: "ug",
+ buttonText: {
+ month: "ئاي",
+ week: "ھەپتە",
+ day: "كۈن",
+ list: "كۈنتەرتىپ"
+ },
+ allDayText: "پۈتۈن كۈن"
+ };
+
+ return ug;
+
+}));
diff --git a/library/fullcalendar/packages/core/locales/uz.js b/library/fullcalendar/packages/core/locales/uz.js
new file mode 100644
index 000000000..24089756d
--- /dev/null
+++ b/library/fullcalendar/packages/core/locales/uz.js
@@ -0,0 +1,24 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.uz = factory()));
+}(this, function () { 'use strict';
+
+ var uz = {
+ code: "uz",
+ buttonText: {
+ month: "Oy",
+ week: "Xafta",
+ day: "Kun",
+ list: "Kun tartibi"
+ },
+ allDayText: "Kun bo'yi",
+ eventLimitText: function (n) {
+ return "+ yana " + n;
+ },
+ noEventsMessage: "Ko'rsatish uchun voqealar yo'q"
+ };
+
+ return uz;
+
+}));
diff --git a/library/fullcalendar/packages/core/main.css b/library/fullcalendar/packages/core/main.css
index 6dc6966ed..4412a1858 100644
--- a/library/fullcalendar/packages/core/main.css
+++ b/library/fullcalendar/packages/core/main.css
@@ -1,41 +1,44 @@
-/*!
-FullCalendar Core Package v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/
+@charset "UTF-8";
.fc {
direction: ltr;
- text-align: left; }
+ text-align: left;
+}
.fc-rtl {
- text-align: right; }
+ text-align: right;
+}
body .fc {
/* extra precedence to overcome jqui */
- font-size: 1em; }
+ font-size: 1em;
+}
/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-highlight {
/* when user is selecting cells */
background: #bce8f1;
- opacity: .3; }
+ opacity: 0.3;
+}
.fc-bgevent {
/* default look for background events */
background: #8fdf82;
- opacity: .3; }
+ opacity: 0.3;
+}
.fc-nonbusiness {
/* default look for non-business-hours areas */
/* will inherit .fc-bgevent's styles */
- background: #d7d7d7; }
+ background: #d7d7d7;
+}
/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
position: absolute;
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
+}
.fc-popover .fc-header {
/* TODO: be more consistent with fc-head/fc-body */
@@ -43,31 +46,37 @@ body .fc {
flex-direction: row;
justify-content: space-between;
align-items: center;
- padding: 2px 4px; }
+ padding: 2px 4px;
+}
.fc-rtl .fc-popover .fc-header {
- flex-direction: row-reverse; }
+ flex-direction: row-reverse;
+}
.fc-popover .fc-header .fc-title {
- margin: 0 2px; }
+ margin: 0 2px;
+}
.fc-popover .fc-header .fc-close {
cursor: pointer;
opacity: 0.65;
- font-size: 1.1em; }
+ font-size: 1.1em;
+}
/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc-divider {
border-style: solid;
- border-width: 1px; }
+ border-width: 1px;
+}
hr.fc-divider {
height: 0;
margin: 0;
padding: 0 0 2px;
/* height is unreliable across browsers, so use padding */
- border-width: 1px 0; }
+ border-width: 1px 0;
+}
.fc-bg,
.fc-bgevent-skeleton,
@@ -77,15 +86,18 @@ hr.fc-divider {
position: absolute;
top: 0;
left: 0;
- right: 0; }
+ right: 0;
+}
.fc-bg {
bottom: 0;
- /* strech bg to bottom edge */ }
+ /* strech bg to bottom edge */
+}
.fc-bg table {
height: 100%;
- /* strech bg to bottom edge */ }
+ /* strech bg to bottom edge */
+}
/* Tables
--------------------------------------------------------------------------------------------------*/
@@ -97,29 +109,35 @@ hr.fc-divider {
border-collapse: collapse;
border-spacing: 0;
font-size: 1em;
- /* normalize cross-browser */ }
+ /* normalize cross-browser */
+}
.fc th {
- text-align: center; }
+ text-align: center;
+}
.fc th,
.fc td {
border-style: solid;
border-width: 1px;
padding: 0;
- vertical-align: top; }
+ vertical-align: top;
+}
.fc td.fc-today {
border-style: double;
- /* overcome neighboring borders */ }
+ /* overcome neighboring borders */
+}
/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/
a[data-goto] {
- cursor: pointer; }
+ cursor: pointer;
+}
a[data-goto]:hover {
- text-decoration: underline; }
+ text-decoration: underline;
+}
/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
@@ -127,7 +145,8 @@ a[data-goto]:hover {
/* extra precedence to overcome themes forcing a 1px border */
/* no visible border by default. but make available if need be (scrollbar width compensation) */
border-style: solid;
- border-width: 0; }
+ border-width: 0;
+}
.fc-row table {
/* don't put left/right border on anything within a fake row.
@@ -135,40 +154,49 @@ a[data-goto]:hover {
border-left: 0 hidden transparent;
border-right: 0 hidden transparent;
/* no bottom borders on rows */
- border-bottom: 0 hidden transparent; }
+ border-bottom: 0 hidden transparent;
+}
.fc-row:first-child table {
border-top: 0 hidden transparent;
- /* no top border on first row */ }
+ /* no top border on first row */
+}
/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
- position: relative; }
+ position: relative;
+}
.fc-row .fc-bg {
- z-index: 1; }
+ z-index: 1;
+}
/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
bottom: 0;
- /* stretch skeleton to bottom of row */ }
+ /* stretch skeleton to bottom of row */
+}
.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
height: 100%;
- /* stretch skeleton to bottom of row */ }
+ /* stretch skeleton to bottom of row */
+}
.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
- border-color: transparent; }
+ border-color: transparent;
+}
.fc-row .fc-bgevent-skeleton {
- z-index: 2; }
+ z-index: 2;
+}
.fc-row .fc-highlight-skeleton {
- z-index: 3; }
+ z-index: 3;
+}
/*
row content (which contains day/week numbers and events) as well as "mirror" (which contains
@@ -178,10 +206,12 @@ temporary rendered events).
position: relative;
z-index: 4;
padding-bottom: 2px;
- /* matches the space above the events */ }
+ /* matches the space above the events */
+}
.fc-row .fc-mirror-skeleton {
- z-index: 5; }
+ z-index: 5;
+}
.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
@@ -190,22 +220,26 @@ temporary rendered events).
/* extra precedence to prevent theme-provided backgrounds */
background: none;
/* in case <td>s are globally styled */
- border-color: transparent; }
+ border-color: transparent;
+}
.fc-row .fc-content-skeleton td,
.fc-row .fc-mirror-skeleton td {
/* don't put a border between events and/or the day number */
- border-bottom: 0; }
+ border-bottom: 0;
+}
.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-mirror-skeleton tbody td {
/* don't put a border between event cells */
- border-top: 0; }
+ border-top: 0;
+}
/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
- -webkit-overflow-scrolling: touch; }
+ -webkit-overflow-scrolling: touch;
+}
/* TODO: move to timegrid/daygrid */
.fc-scroller > .fc-day-grid,
@@ -213,7 +247,8 @@ temporary rendered events).
position: relative;
/* re-scope all positions */
width: 100%;
- /* hack to force re-sizing this inner element when scrollbars appear/disappear */ }
+ /* hack to force re-sizing this inner element when scrollbars appear/disappear */
+}
/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
@@ -222,50 +257,59 @@ temporary rendered events).
/* for resize handle and other inner positioning */
display: block;
/* make the <a> tag block */
- font-size: .85em;
+ font-size: 0.85em;
line-height: 1.4;
border-radius: 3px;
- border: 1px solid #3788d8; }
+ border: 1px solid #3788d8;
+}
.fc-event,
.fc-event-dot {
background-color: #3788d8;
- /* default BACKGROUND color */ }
+ /* default BACKGROUND color */
+}
.fc-event,
.fc-event:hover {
color: #fff;
/* default TEXT color */
text-decoration: none;
- /* if <a> has an href */ }
+ /* if <a> has an href */
+}
.fc-event[href],
.fc-event.fc-draggable {
cursor: pointer;
- /* give events with links and draggable events a hand mouse pointer */ }
+ /* give events with links and draggable events a hand mouse pointer */
+}
.fc-not-allowed,
.fc-not-allowed .fc-event {
/* to override an event's custom cursor */
- cursor: not-allowed; }
+ cursor: not-allowed;
+}
.fc-event .fc-content {
position: relative;
- z-index: 2; }
+ z-index: 2;
+}
/* resizer (cursor AND touch devices) */
.fc-event .fc-resizer {
position: absolute;
- z-index: 4; }
+ z-index: 4;
+}
/* resizer (touch devices) */
.fc-event .fc-resizer {
- display: none; }
+ display: none;
+}
.fc-event.fc-allow-mouse-resize .fc-resizer,
.fc-event.fc-selected .fc-resizer {
/* only show when hovering or selected (with touch) */
- display: block; }
+ display: block;
+}
/* hit area */
.fc-event.fc-selected .fc-resizer:before {
@@ -279,14 +323,16 @@ temporary rendered events).
width: 40px;
height: 40px;
margin-left: -20px;
- margin-top: -20px; }
+ margin-top: -20px;
+}
/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-selected {
z-index: 9999 !important;
/* overcomes inline z-index */
- box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
+}
.fc-event.fc-selected:after {
content: "";
@@ -300,15 +346,18 @@ temporary rendered events).
left: -1px;
/* darkening effect */
background: #000;
- opacity: .25; }
+ opacity: 0.25;
+}
/* Event Dragging
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-dragging.fc-selected {
- box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3); }
+ box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
+}
.fc-event.fc-dragging:not(.fc-selected) {
- opacity: .75; }
+ opacity: 0.75;
+}
/* Horizontal Events
--------------------------------------------------------------------------------------------------*/
@@ -321,7 +370,8 @@ temporary rendered events).
top: -10px;
bottom: -10px;
left: 0;
- right: 0; }
+ right: 0;
+}
/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start,
@@ -331,7 +381,8 @@ temporary rendered events).
padding-left: 1px;
/* replace the border with padding */
border-top-left-radius: 0;
- border-bottom-left-radius: 0; }
+ border-bottom-left-radius: 0;
+}
.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start {
@@ -340,7 +391,8 @@ temporary rendered events).
padding-right: 1px;
/* replace the border with padding */
border-top-right-radius: 0;
- border-bottom-right-radius: 0; }
+ border-bottom-right-radius: 0;
+}
/* resizer (cursor AND touch devices) */
/* left resizer */
@@ -348,14 +400,16 @@ temporary rendered events).
.fc-rtl .fc-h-event .fc-end-resizer {
cursor: w-resize;
left: -1px;
- /* overcome border */ }
+ /* overcome border */
+}
/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-start-resizer {
cursor: e-resize;
right: -1px;
- /* overcome border */ }
+ /* overcome border */
+}
/* resizer (mouse devices) */
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
@@ -363,7 +417,8 @@ temporary rendered events).
top: -1px;
/* overcome top border */
bottom: -1px;
- /* overcome bottom border */ }
+ /* overcome bottom border */
+}
/* resizer (touch devices) */
.fc-h-event.fc-selected .fc-resizer {
@@ -377,19 +432,22 @@ temporary rendered events).
background: #fff;
/* vertically center */
top: 50%;
- margin-top: -4px; }
+ margin-top: -4px;
+}
/* left resizer */
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
margin-left: -4px;
- /* centers the 8x8 dot on the left edge */ }
+ /* centers the 8x8 dot on the left edge */
+}
/* right resizer */
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
margin-right: -4px;
- /* centers the 8x8 dot on the right edge */ }
+ /* centers the 8x8 dot on the right edge */
+}
/* DayGrid events
----------------------------------------------------------------------------------------------------
@@ -399,70 +457,84 @@ be a descendant of the grid when it is being dragged.
.fc-day-grid-event {
margin: 1px 2px 0;
/* spacing between events and edges */
- padding: 0 1px; }
+ padding: 0 1px;
+}
tr:first-child > td > .fc-day-grid-event {
margin-top: 2px;
- /* a little bit more space before the first event */ }
+ /* a little bit more space before the first event */
+}
.fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
margin-top: 0;
- /* except for mirror skeleton */ }
+ /* except for mirror skeleton */
+}
.fc-day-grid-event .fc-content {
/* force events to be one-line tall */
white-space: nowrap;
- overflow: hidden; }
+ overflow: hidden;
+}
.fc-day-grid-event .fc-time {
- font-weight: bold; }
+ font-weight: bold;
+}
/* resizer (cursor devices) */
/* left resizer */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
margin-left: -2px;
- /* to the day cell's edge */ }
+ /* to the day cell's edge */
+}
/* right resizer */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
margin-right: -2px;
- /* to the day cell's edge */ }
+ /* to the day cell's edge */
+}
/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
margin: 1px 3px;
- font-size: .85em;
+ font-size: 0.85em;
cursor: pointer;
- text-decoration: none; }
+ text-decoration: none;
+}
a.fc-more:hover {
- text-decoration: underline; }
+ text-decoration: underline;
+}
.fc-limited {
/* rows and cells that are hidden because of a "more" link */
- display: none; }
+ display: none;
+}
/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
z-index: 1;
- /* make the "more" popover one higher than this */ }
+ /* make the "more" popover one higher than this */
+}
.fc-more-popover {
z-index: 2;
- width: 220px; }
+ width: 220px;
+}
.fc-more-popover .fc-event-container {
- padding: 10px; }
+ padding: 10px;
+}
/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-now-indicator {
position: absolute;
- border: 0 solid red; }
+ border: 0 solid red;
+}
/* Utilities
--------------------------------------------------------------------------------------------------*/
@@ -473,7 +545,8 @@ a.fc-more:hover {
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
/*
TODO: more distinction between this file and common.css
@@ -490,35 +563,41 @@ TODO: more distinction between this file and common.css
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading td {
- border-color: #ddd; }
+ border-color: #ddd;
+}
.fc-unthemed .fc-popover {
- background-color: #fff; }
+ background-color: #fff;
+}
.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading td {
- background: #eee; }
+ background: #eee;
+}
.fc-unthemed td.fc-today {
- background: #fcf8e3; }
+ background: #fcf8e3;
+}
.fc-unthemed .fc-disabled-day {
background: #d7d7d7;
- opacity: .3; }
+ opacity: 0.3;
+}
/* Icons
--------------------------------------------------------------------------------------------------
from https://feathericons.com/ and built with IcoMoon
*/
@font-face {
- font-family: 'fcicons';
+ font-family: "fcicons";
src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");
font-weight: normal;
- font-style: normal; }
+ font-style: normal;
+}
.fc-icon {
/* use !important to prevent issues with browser extensions that change fonts */
- font-family: 'fcicons' !important;
+ font-family: "fcicons" !important;
speak: none;
font-style: normal;
font-weight: normal;
@@ -527,34 +606,43 @@ from https://feathericons.com/ and built with IcoMoon
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale; }
+ -moz-osx-font-smoothing: grayscale;
+}
.fc-icon-chevron-left:before {
- content: "\e900"; }
+ content: "";
+}
.fc-icon-chevron-right:before {
- content: "\e901"; }
+ content: "";
+}
.fc-icon-chevrons-left:before {
- content: "\e902"; }
+ content: "";
+}
.fc-icon-chevrons-right:before {
- content: "\e903"; }
+ content: "";
+}
.fc-icon-minus-square:before {
- content: "\e904"; }
+ content: "";
+}
.fc-icon-plus-square:before {
- content: "\e905"; }
+ content: "";
+}
.fc-icon-x:before {
- content: "\e906"; }
+ content: "";
+}
.fc-icon {
display: inline-block;
width: 1em;
height: 1em;
- text-align: center; }
+ text-align: center;
+}
/* Buttons
--------------------------------------------------------------------------------------------------
@@ -568,21 +656,26 @@ Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
margin: 0;
font-family: inherit;
font-size: inherit;
- line-height: inherit; }
+ line-height: inherit;
+}
.fc-button:focus {
outline: 1px dotted;
- outline: 5px auto -webkit-focus-ring-color; }
+ outline: 5px auto -webkit-focus-ring-color;
+}
.fc-button {
- -webkit-appearance: button; }
+ -webkit-appearance: button;
+}
.fc-button:not(:disabled) {
- cursor: pointer; }
+ cursor: pointer;
+}
.fc-button::-moz-focus-inner {
padding: 0;
- border-style: none; }
+ border-style: none;
+}
/* theme */
.fc-button {
@@ -600,55 +693,66 @@ Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
padding: 0.4em 0.65em;
font-size: 1em;
line-height: 1.5;
- border-radius: 0.25em; }
+ border-radius: 0.25em;
+}
.fc-button:hover {
color: #212529;
- text-decoration: none; }
+ text-decoration: none;
+}
.fc-button:focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
- box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25); }
+ box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
+}
.fc-button:disabled {
- opacity: 0.65; }
+ opacity: 0.65;
+}
/* "primary" coloring */
.fc-button-primary {
color: #fff;
background-color: #2C3E50;
- border-color: #2C3E50; }
+ border-color: #2C3E50;
+}
.fc-button-primary:hover {
color: #fff;
background-color: #1e2b37;
- border-color: #1a252f; }
+ border-color: #1a252f;
+}
.fc-button-primary:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5); }
+ box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
+}
.fc-button-primary:disabled {
color: #fff;
background-color: #2C3E50;
- border-color: #2C3E50; }
+ border-color: #2C3E50;
+}
.fc-button-primary:not(:disabled):active,
.fc-button-primary:not(:disabled).fc-button-active {
color: #fff;
background-color: #1a252f;
- border-color: #151e27; }
+ border-color: #151e27;
+}
.fc-button-primary:not(:disabled):active:focus,
.fc-button-primary:not(:disabled).fc-button-active:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5); }
+ box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
+}
/* icons within buttons */
.fc-button .fc-icon {
vertical-align: middle;
- font-size: 1.5em; }
+ font-size: 1.5em;
+}
/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
@@ -657,69 +761,84 @@ Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
- vertical-align: middle; }
+ vertical-align: middle;
+}
.fc-button-group > .fc-button {
position: relative;
-webkit-box-flex: 1;
-ms-flex: 1 1 auto;
- flex: 1 1 auto; }
+ flex: 1 1 auto;
+}
.fc-button-group > .fc-button:hover {
- z-index: 1; }
+ z-index: 1;
+}
.fc-button-group > .fc-button:focus,
.fc-button-group > .fc-button:active,
.fc-button-group > .fc-button.fc-button-active {
- z-index: 1; }
+ z-index: 1;
+}
.fc-button-group > .fc-button:not(:first-child) {
- margin-left: -1px; }
+ margin-left: -1px;
+}
.fc-button-group > .fc-button:not(:last-child) {
border-top-right-radius: 0;
- border-bottom-right-radius: 0; }
+ border-bottom-right-radius: 0;
+}
.fc-button-group > .fc-button:not(:first-child) {
border-top-left-radius: 0;
- border-bottom-left-radius: 0; }
+ border-bottom-left-radius: 0;
+}
/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-popover {
border-width: 1px;
- border-style: solid; }
+ border-style: solid;
+}
/* List View
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-list-item:hover td {
- background-color: #f5f5f5; }
+ background-color: #f5f5f5;
+}
/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
display: flex;
justify-content: space-between;
- align-items: center; }
+ align-items: center;
+}
.fc-toolbar.fc-header-toolbar {
- margin-bottom: 1.5em; }
+ margin-bottom: 1.5em;
+}
.fc-toolbar.fc-footer-toolbar {
- margin-top: 1.5em; }
+ margin-top: 1.5em;
+}
/* inner content */
.fc-toolbar > * > :not(:first-child) {
- margin-left: .75em; }
+ margin-left: 0.75em;
+}
.fc-toolbar h2 {
font-size: 1.75em;
- margin: 0; }
+ margin: 0;
+}
/* View Structure
--------------------------------------------------------------------------------------------------*/
.fc-view-container {
- position: relative; }
+ position: relative;
+}
/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
@@ -728,173 +847,206 @@ Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
.fc-view-container *:after {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
- box-sizing: content-box; }
+ box-sizing: content-box;
+}
.fc-view,
.fc-view > table {
/* so dragged elements can be above the view's main element */
position: relative;
- z-index: 1; }
+ z-index: 1;
+}
@media print {
.fc {
- max-width: 100% !important; }
+ max-width: 100% !important;
+ }
/* Global Event Restyling
--------------------------------------------------------------------------------------------------*/
.fc-event {
background: #fff !important;
color: #000 !important;
- page-break-inside: avoid; }
+ page-break-inside: avoid;
+ }
.fc-event .fc-resizer {
- display: none; }
+ display: none;
+ }
/* Table & Day-Row Restyling
--------------------------------------------------------------------------------------------------*/
.fc th,
- .fc td,
- .fc hr,
- .fc thead,
- .fc tbody,
- .fc-row {
+.fc td,
+.fc hr,
+.fc thead,
+.fc tbody,
+.fc-row {
border-color: #ccc !important;
- background: #fff !important; }
+ background: #fff !important;
+ }
/* kill the overlaid, absolutely-positioned components */
/* common... */
.fc-bg,
- .fc-bgevent-skeleton,
- .fc-highlight-skeleton,
- .fc-mirror-skeleton,
- .fc-bgevent-container,
- .fc-business-container,
- .fc-highlight-container,
- .fc-mirror-container {
- display: none; }
+.fc-bgevent-skeleton,
+.fc-highlight-skeleton,
+.fc-mirror-skeleton,
+.fc-bgevent-container,
+.fc-business-container,
+.fc-highlight-container,
+.fc-mirror-container {
+ display: none;
+ }
/* don't force a min-height on rows (for DayGrid) */
.fc tbody .fc-row {
height: auto !important;
/* undo height that JS set in distributeHeight */
min-height: 0 !important;
- /* undo the min-height from each view's specific stylesheet */ }
+ /* undo the min-height from each view's specific stylesheet */
+ }
.fc tbody .fc-row .fc-content-skeleton {
position: static;
/* undo .fc-rigid */
padding-bottom: 0 !important;
- /* use a more border-friendly method for this... */ }
+ /* use a more border-friendly method for this... */
+ }
.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
/* only works in newer browsers */
padding-bottom: 1em;
- /* ...gives space within the skeleton. also ensures min height in a way */ }
+ /* ...gives space within the skeleton. also ensures min height in a way */
+ }
.fc tbody .fc-row .fc-content-skeleton table {
/* provides a min-height for the row, but only effective for IE, which exaggerates this value,
making it look more like 3em. for other browers, it will already be this tall */
- height: 1em; }
+ height: 1em;
+ }
/* Undo month-view event limiting. Display all events and hide the "more" links
--------------------------------------------------------------------------------------------------*/
.fc-more-cell,
- .fc-more {
- display: none !important; }
+.fc-more {
+ display: none !important;
+ }
.fc tr.fc-limited {
- display: table-row !important; }
+ display: table-row !important;
+ }
.fc td.fc-limited {
- display: table-cell !important; }
+ display: table-cell !important;
+ }
.fc-popover {
display: none;
- /* never display the "more.." popover in print mode */ }
+ /* never display the "more.." popover in print mode */
+ }
/* TimeGrid Restyling
--------------------------------------------------------------------------------------------------*/
/* undo the min-height 100% trick used to fill the container's height */
.fc-time-grid {
- min-height: 0 !important; }
+ min-height: 0 !important;
+ }
/* don't display the side axis at all ("all-day" and time cells) */
.fc-timeGrid-view .fc-axis {
- display: none; }
+ display: none;
+ }
/* don't display the horizontal lines */
.fc-slats,
- .fc-time-grid hr {
+.fc-time-grid hr {
/* this hr is used when height is underused and needs to be filled */
display: none !important;
- /* important overrides inline declaration */ }
+ /* important overrides inline declaration */
+ }
/* let the container that holds the events be naturally positioned and create real height */
.fc-time-grid .fc-content-skeleton {
- position: static; }
+ position: static;
+ }
/* in case there are no events, we still want some height */
.fc-time-grid .fc-content-skeleton table {
- height: 4em; }
+ height: 4em;
+ }
/* kill the horizontal spacing made by the event container. event margins will be done below */
.fc-time-grid .fc-event-container {
- margin: 0 !important; }
+ margin: 0 !important;
+ }
/* TimeGrid *Event* Restyling
--------------------------------------------------------------------------------------------------*/
/* naturally position events, vertically stacking them */
.fc-time-grid .fc-event {
position: static !important;
- margin: 3px 2px !important; }
+ margin: 3px 2px !important;
+ }
/* for events that continue to a future day, give the bottom border back */
.fc-time-grid .fc-event.fc-not-end {
- border-bottom-width: 1px !important; }
+ border-bottom-width: 1px !important;
+ }
/* indicate the event continues via "..." text */
.fc-time-grid .fc-event.fc-not-end:after {
- content: "..."; }
+ content: "...";
+ }
/* for events that are continuations from previous days, give the top border back */
.fc-time-grid .fc-event.fc-not-start {
- border-top-width: 1px !important; }
+ border-top-width: 1px !important;
+ }
/* indicate the event is a continuation via "..." text */
.fc-time-grid .fc-event.fc-not-start:before {
- content: "..."; }
+ content: "...";
+ }
/* time */
/* undo a previous declaration and let the time text span to a second line */
.fc-time-grid .fc-event .fc-time {
- white-space: normal !important; }
+ white-space: normal !important;
+ }
/* hide the the time that is normally displayed... */
.fc-time-grid .fc-event .fc-time span {
- display: none; }
+ display: none;
+ }
/* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
.fc-time-grid .fc-event .fc-time:after {
- content: attr(data-full); }
+ content: attr(data-full);
+ }
/* Vertical Scroller & Containers
--------------------------------------------------------------------------------------------------*/
/* kill the scrollbars and allow natural height */
.fc-scroller,
- .fc-day-grid-container,
- .fc-time-grid-container {
+.fc-day-grid-container,
+.fc-time-grid-container {
/* */
overflow: visible !important;
- height: auto !important; }
+ height: auto !important;
+ }
/* kill the horizontal border/padding used to compensate for scrollbars */
.fc-row {
border: 0 !important;
- margin: 0 !important; }
+ margin: 0 !important;
+ }
/* Button Controls
--------------------------------------------------------------------------------------------------*/
.fc-button-group,
- .fc button {
+.fc button {
display: none;
- /* don't display any button-related controls */ } }
+ /* don't display any button-related controls */
+ }
+}
diff --git a/library/fullcalendar/packages/core/main.d.ts b/library/fullcalendar/packages/core/main.d.ts
new file mode 100644
index 000000000..b6459021c
--- /dev/null
+++ b/library/fullcalendar/packages/core/main.d.ts
@@ -0,0 +1,2736 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/core' {
+ export const version = "<%= version %>";
+ export { OptionsInput } from '@fullcalendar/core/types/input-types';
+ export { EventInput, EventDef, EventDefHash, EventInstance, EventInstanceHash, parseEventDef, createEventInstance, EventTuple } from '@fullcalendar/core/structs/event';
+ export { BusinessHoursInput, parseBusinessHours } from '@fullcalendar/core/structs/business-hours';
+ export { applyAll, debounce, padStart, isInt, capitaliseFirstLetter, parseFieldSpecs, compareByFieldSpecs, compareByFieldSpec, flexibleCompare, computeVisibleDayRange, refineProps, matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight, isMultiDayRange, distributeHeight, undistributeHeight, preventSelection, allowSelection, preventContextMenu, allowContextMenu, compareNumbers, enableCursor, disableCursor, diffDates } from '@fullcalendar/core/util/misc';
+ export { htmlEscape, cssToStr } from '@fullcalendar/core/util/html';
+ export { removeExact, isArraysEqual } from '@fullcalendar/core/util/array';
+ export { memoize, memoizeOutput } from '@fullcalendar/core/util/memoize';
+ export { memoizeRendering, MemoizedRendering } from '@fullcalendar/core/component/memoized-rendering';
+ export { intersectRects, Rect, pointInsideRect, constrainPoint, getRectCenter, diffPoints, Point, translateRect } from '@fullcalendar/core/util/geom';
+ export { mapHash, filterHash, isPropsEqual } from '@fullcalendar/core/util/object';
+ export { findElements, findChildren, htmlToElement, createElement, insertAfterElement, prependToElement, removeElement, appendToElement, applyStyle, applyStyleProp, elementMatches, elementClosest, forceClassName } from '@fullcalendar/core/util/dom-manip';
+ export { EventStore, filterEventStoreDefs, createEmptyEventStore, mergeEventStores, getRelevantEvents, eventTupleToStore } from '@fullcalendar/core/structs/event-store';
+ export { EventUiHash, EventUi, processScopedUiProps, combineEventUis } from '@fullcalendar/core/component/event-ui';
+ export { default as Splitter, SplittableProps } from '@fullcalendar/core/component/event-splitting';
+ export { buildGotoAnchorHtml, getAllDayHtml, getDayClasses } from '@fullcalendar/core/component/date-rendering';
+ export { preventDefault, listenBySelector, whenTransitionDone } from '@fullcalendar/core/util/dom-event';
+ export { computeInnerRect, computeEdges, computeHeightAndMargins, getClippingParents, computeClippingRect, computeRect } from '@fullcalendar/core/util/dom-geom';
+ export { unpromisify } from '@fullcalendar/core/util/promise';
+ export { default as EmitterMixin, EmitterInterface } from '@fullcalendar/core/common/EmitterMixin';
+ export { DateRange, rangeContainsMarker, intersectRanges, rangesEqual, rangesIntersect, rangeContainsRange } from '@fullcalendar/core/datelib/date-range';
+ export { default as Mixin } from '@fullcalendar/core/common/Mixin';
+ export { default as PositionCache } from '@fullcalendar/core/common/PositionCache';
+ export { default as ScrollComponent, ScrollbarWidths } from '@fullcalendar/core/common/ScrollComponent';
+ export { ScrollController, ElementScrollController, WindowScrollController } from '@fullcalendar/core/common/scroll-controller';
+ export { default as Theme } from '@fullcalendar/core/theme/Theme';
+ export { default as Component, ComponentContext } from '@fullcalendar/core/component/Component';
+ export { default as DateComponent, Seg, EventSegUiInteractionState } from '@fullcalendar/core/component/DateComponent';
+ export { default as Calendar, DatePointTransform, DateSpanTransform, DateSelectionApi } from '@fullcalendar/core/Calendar';
+ export { default as View, ViewProps } from '@fullcalendar/core/View';
+ export { default as FgEventRenderer, buildSegCompareObj } from '@fullcalendar/core/component/renderers/FgEventRenderer';
+ export { default as FillRenderer } from '@fullcalendar/core/component/renderers/FillRenderer';
+ export { default as DateProfileGenerator, DateProfile } from '@fullcalendar/core/DateProfileGenerator';
+ export { ViewDef } from '@fullcalendar/core/structs/view-def';
+ export { ViewSpec } from '@fullcalendar/core/structs/view-spec';
+ export { DateSpan, DateSpanApi, DatePointApi, isDateSpansEqual } from '@fullcalendar/core/structs/date-span';
+ export { DateMarker, addDays, startOfDay, addMs, addWeeks, diffWeeks, diffWholeWeeks, diffWholeDays, diffDayAndTime, diffDays, isValidDate } from '@fullcalendar/core/datelib/marker';
+ export { Duration, createDuration, isSingleDay, multiplyDuration, addDurations, asRoughMinutes, asRoughSeconds, asRoughMs, wholeDivideDurations, greatestDurationDenominator } from '@fullcalendar/core/datelib/duration';
+ export { DateEnv, DateMarkerMeta } from '@fullcalendar/core/datelib/env';
+ export { DateFormatter, createFormatter, VerboseFormattingArg, formatIsoTimeString } from '@fullcalendar/core/datelib/formatting';
+ export { NamedTimeZoneImpl } from '@fullcalendar/core/datelib/timezone';
+ export { parse as parseMarker } from '@fullcalendar/core/datelib/parsing';
+ export { EventSourceDef, EventSource, EventSourceHash } from '@fullcalendar/core/structs/event-source';
+ export { Interaction, InteractionSettings, interactionSettingsToStore, interactionSettingsStore, InteractionSettingsStore } from '@fullcalendar/core/interactions/interaction';
+ export { PointerDragEvent } from '@fullcalendar/core/interactions/pointer';
+ export { Hit } from '@fullcalendar/core/interactions/hit';
+ export { dateSelectionJoinTransformer } from '@fullcalendar/core/interactions/date-selecting';
+ export { eventDragMutationMassager, EventDropTransformers } from '@fullcalendar/core/interactions/event-dragging';
+ export { EventResizeJoinTransforms } from '@fullcalendar/core/interactions/event-resizing';
+ export { default as ElementDragging } from '@fullcalendar/core/interactions/ElementDragging';
+ export { formatDate, formatRange } from '@fullcalendar/core/formatting-api';
+ export { globalDefaults, config } from '@fullcalendar/core/options';
+ export { RecurringType, ParsedRecurring } from '@fullcalendar/core/structs/recurring-event';
+ export { DragMetaInput, DragMeta, parseDragMeta } from '@fullcalendar/core/structs/drag-meta';
+ export { createPlugin, PluginDef, PluginDefInput, ViewPropsTransformer, ViewContainerModifier } from '@fullcalendar/core/plugin-system';
+ export { reducerFunc, Action, CalendarState } from '@fullcalendar/core/reducers/types';
+ export { CalendarComponentProps } from '@fullcalendar/core/CalendarComponent';
+ export { default as DayHeader } from '@fullcalendar/core/common/DayHeader';
+ export { computeFallbackHeaderFormat, renderDateCell } from '@fullcalendar/core/common/table-utils';
+ export { default as DaySeries } from '@fullcalendar/core/common/DaySeries';
+ export { EventInteractionState } from '@fullcalendar/core/interactions/event-interaction-state';
+ export { EventRenderRange, sliceEventStore, hasBgRendering, getElSeg, computeEventDraggable, computeEventStartResizable, computeEventEndResizable } from '@fullcalendar/core/component/event-rendering';
+ export { default as DayTable, DayTableSeg, DayTableCell } from '@fullcalendar/core/common/DayTable';
+ export { default as Slicer, SlicedProps } from '@fullcalendar/core/common/slicing-utils';
+ export { EventMutation, applyMutationToEventStore } from '@fullcalendar/core/structs/event-mutation';
+ export { Constraint, ConstraintInput, AllowFunc, isPropsValid, isInteractionValid } from '@fullcalendar/core/validation';
+ export { default as EventApi } from '@fullcalendar/core/api/EventApi';
+ export { default as requestJson } from '@fullcalendar/core/util/requestJson';
+}
+
+declare module '@fullcalendar/core/types/input-types' {
+ import View from '@fullcalendar/core/View';
+ import { EventSourceInput, EventInputTransformer } from '@fullcalendar/core/structs/event-source';
+ import { Duration, DurationInput } from '@fullcalendar/core/datelib/duration';
+ import { DateInput } from '@fullcalendar/core/datelib/env';
+ import { FormatterInput } from '@fullcalendar/core/datelib/formatting';
+ import { DateRangeInput } from '@fullcalendar/core/datelib/date-range';
+ import { BusinessHoursInput } from '@fullcalendar/core/structs/business-hours';
+ import EventApi from '@fullcalendar/core/api/EventApi';
+ import { AllowFunc, ConstraintInput, OverlapFunc } from '@fullcalendar/core/validation';
+ import { PluginDef } from '@fullcalendar/core/plugin-system';
+ import { LocaleSingularArg, RawLocale } from '@fullcalendar/core/datelib/locale';
+ export interface ToolbarInput {
+ left?: string;
+ center?: string;
+ right?: string;
+ }
+ export interface CustomButtonInput {
+ text: string;
+ icon?: string;
+ themeIcon?: string;
+ bootstrapFontAwesome?: string;
+ click(element: HTMLElement): void;
+ }
+ export interface ButtonIconsInput {
+ prev?: string;
+ next?: string;
+ prevYear?: string;
+ nextYear?: string;
+ }
+ export interface ButtonTextCompoundInput {
+ prev?: string;
+ next?: string;
+ prevYear?: string;
+ nextYear?: string;
+ today?: string;
+ month?: string;
+ week?: string;
+ day?: string;
+ [viewId: string]: string | undefined;
+ }
+ export interface EventSegment {
+ event: EventApi;
+ start: Date;
+ end: Date;
+ isStart: boolean;
+ isEnd: boolean;
+ }
+ export interface CellInfo {
+ date: Date;
+ dayEl: HTMLElement;
+ moreEl: HTMLElement;
+ segs: EventSegment[];
+ hiddenSegs: EventSegment[];
+ }
+ export interface DropInfo {
+ start: Date;
+ end: Date;
+ }
+ export type EventHandlerName = '_init' | 'selectAllow' | 'eventAllow' | 'eventDataTransform' | 'datesRender' | 'datesDestroy' | 'dayRender' | 'windowResize' | 'dateClick' | 'eventClick' | 'eventMouseEnter' | 'eventMouseLeave' | 'select' | 'unselect' | 'loading' | 'eventRender' | 'eventPositioned' | '_eventsPositioned' | 'eventDestroy' | 'eventDragStart' | 'eventDragStop' | 'eventDrop' | '_destroyed' | 'drop' | 'eventResizeStart' | 'eventResizeStop' | 'eventResize' | 'eventReceive' | 'eventLeave' | 'viewSkeletonRender' | 'viewSkeletonDestroy' | '_noEventDrop' | '_noEventResize' | 'eventLimitClick' | 'resourceRender';
+ export type EventHandlerArgs<T extends EventHandlerName> = Parameters<Extract<OptionsInput[T], (...args: any[]) => any>>;
+ export type EventHandlerArg<T extends EventHandlerName> = EventHandlerArgs<T>[0];
+ export interface OptionsInputBase {
+ header?: boolean | ToolbarInput;
+ footer?: boolean | ToolbarInput;
+ customButtons?: {
+ [name: string]: CustomButtonInput;
+ };
+ buttonIcons?: boolean | ButtonIconsInput;
+ themeSystem?: 'standard' | string;
+ bootstrapFontAwesome?: boolean | ButtonIconsInput;
+ firstDay?: number;
+ dir?: 'ltr' | 'rtl' | 'auto';
+ weekends?: boolean;
+ hiddenDays?: number[];
+ fixedWeekCount?: boolean;
+ weekNumbers?: boolean;
+ weekNumbersWithinDays?: boolean;
+ weekNumberCalculation?: 'local' | 'ISO' | ((m: Date) => number);
+ businessHours?: BusinessHoursInput;
+ showNonCurrentDates?: boolean;
+ height?: number | 'auto' | 'parent' | (() => number);
+ contentHeight?: number | 'auto' | (() => number);
+ aspectRatio?: number;
+ handleWindowResize?: boolean;
+ windowResizeDelay?: number;
+ eventLimit?: boolean | number;
+ eventLimitClick?: 'popover' | 'week' | 'day' | 'timeGridWeek' | 'timeGridDay' | string | ((arg: {
+ date: Date;
+ allDay: boolean;
+ dayEl: HTMLElement;
+ moreEl: HTMLElement;
+ segs: any[];
+ hiddenSegs: any[];
+ jsEvent: MouseEvent;
+ view: View;
+ }) => void);
+ timeZone?: string | boolean;
+ now?: DateInput | (() => DateInput);
+ defaultView?: string;
+ allDaySlot?: boolean;
+ allDayText?: string;
+ slotDuration?: DurationInput;
+ slotLabelFormat?: FormatterInput;
+ slotLabelInterval?: DurationInput;
+ snapDuration?: DurationInput;
+ scrollTime?: DurationInput;
+ minTime?: DurationInput;
+ maxTime?: DurationInput;
+ slotEventOverlap?: boolean;
+ listDayFormat?: FormatterInput | boolean;
+ listDayAltFormat?: FormatterInput | boolean;
+ noEventsMessage?: string;
+ defaultDate?: DateInput;
+ nowIndicator?: boolean;
+ visibleRange?: ((currentDate: Date) => DateRangeInput) | DateRangeInput;
+ validRange?: DateRangeInput;
+ dateIncrement?: DurationInput;
+ dateAlignment?: string;
+ duration?: DurationInput;
+ dayCount?: number;
+ locales?: RawLocale[];
+ locale?: LocaleSingularArg;
+ eventTimeFormat?: FormatterInput;
+ columnHeader?: boolean;
+ columnHeaderFormat?: FormatterInput;
+ columnHeaderText?: string | ((date: DateInput) => string);
+ columnHeaderHtml?: string | ((date: DateInput) => string);
+ titleFormat?: FormatterInput;
+ weekLabel?: string;
+ displayEventTime?: boolean;
+ displayEventEnd?: boolean;
+ eventLimitText?: string | ((eventCnt: number) => string);
+ dayPopoverFormat?: FormatterInput;
+ navLinks?: boolean;
+ navLinkDayClick?: string | ((date: Date, jsEvent: Event) => void);
+ navLinkWeekClick?: string | ((weekStart: any, jsEvent: Event) => void);
+ selectable?: boolean;
+ selectMirror?: boolean;
+ unselectAuto?: boolean;
+ unselectCancel?: string;
+ defaultAllDayEventDuration?: DurationInput;
+ defaultTimedEventDuration?: DurationInput;
+ cmdFormatter?: string;
+ defaultRangeSeparator?: string;
+ selectConstraint?: ConstraintInput;
+ selectOverlap?: boolean | OverlapFunc;
+ selectAllow?: AllowFunc;
+ editable?: boolean;
+ eventStartEditable?: boolean;
+ eventDurationEditable?: boolean;
+ eventConstraint?: ConstraintInput;
+ eventOverlap?: boolean | OverlapFunc;
+ eventAllow?: AllowFunc;
+ eventClassName?: string[] | string;
+ eventClassNames?: string[] | string;
+ eventBackgroundColor?: string;
+ eventBorderColor?: string;
+ eventTextColor?: string;
+ eventColor?: string;
+ events?: EventSourceInput;
+ eventSources?: EventSourceInput[];
+ allDayDefault?: boolean;
+ startParam?: string;
+ endParam?: string;
+ lazyFetching?: boolean;
+ nextDayThreshold?: DurationInput;
+ eventOrder?: string | Array<((a: EventApi, b: EventApi) => number) | (string | ((a: EventApi, b: EventApi) => number))>;
+ rerenderDelay?: number | null;
+ dragRevertDuration?: number;
+ dragScroll?: boolean;
+ longPressDelay?: number;
+ eventLongPressDelay?: number;
+ droppable?: boolean;
+ dropAccept?: string | ((draggable: any) => boolean);
+ eventDataTransform?: EventInputTransformer;
+ allDayMaintainDuration?: boolean;
+ eventResizableFromStart?: boolean;
+ timeGridEventMinHeight?: number;
+ allDayHtml?: string;
+ eventDragMinDistance?: number;
+ eventSourceFailure?: any;
+ eventSourceSuccess?: any;
+ forceEventDuration?: boolean;
+ progressiveEventRendering?: boolean;
+ selectLongPressDelay?: number;
+ selectMinDistance?: number;
+ timeZoneParam?: string;
+ titleRangeSeparator?: string;
+ datesRender?(arg: {
+ view: View;
+ el: HTMLElement;
+ }): void;
+ datesDestroy?(arg: {
+ view: View;
+ el: HTMLElement;
+ }): void;
+ dayRender?(arg: {
+ view: View;
+ date: Date;
+ allDay?: boolean;
+ el: HTMLElement;
+ }): void;
+ windowResize?(view: View): void;
+ dateClick?(arg: {
+ date: Date;
+ dateStr: string;
+ allDay: boolean;
+ resource?: any;
+ dayEl: HTMLElement;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ eventClick?(arg: {
+ el: HTMLElement;
+ event: EventApi;
+ jsEvent: MouseEvent;
+ view: View;
+ }): boolean | void;
+ eventMouseEnter?(arg: {
+ el: HTMLElement;
+ event: EventApi;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ eventMouseLeave?(arg: {
+ el: HTMLElement;
+ event: EventApi;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ select?(arg: {
+ start: Date;
+ end: Date;
+ startStr: string;
+ endStr: string;
+ allDay: boolean;
+ resource?: any;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ unselect?(arg: {
+ view: View;
+ jsEvent: Event;
+ }): void;
+ loading?(isLoading: boolean): void;
+ eventRender?(arg: {
+ isMirror: boolean;
+ isStart: boolean;
+ isEnd: boolean;
+ event: EventApi;
+ el: HTMLElement;
+ view: View;
+ }): void;
+ eventPositioned?(arg: {
+ isMirror: boolean;
+ isStart: boolean;
+ isEnd: boolean;
+ event: EventApi;
+ el: HTMLElement;
+ view: View;
+ }): void;
+ _eventsPositioned?(arg: {
+ view: View;
+ }): void;
+ eventDestroy?(arg: {
+ isMirror: boolean;
+ event: EventApi;
+ el: HTMLElement;
+ view: View;
+ }): void;
+ eventDragStart?(arg: {
+ event: EventApi;
+ el: HTMLElement;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ eventDragStop?(arg: {
+ event: EventApi;
+ el: HTMLElement;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ eventDrop?(arg: {
+ el: HTMLElement;
+ event: EventApi;
+ oldEvent: EventApi;
+ delta: Duration;
+ revert: () => void;
+ jsEvent: Event;
+ view: View;
+ }): void;
+ eventResizeStart?(arg: {
+ el: HTMLElement;
+ event: EventApi;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ eventResizeStop?(arg: {
+ el: HTMLElement;
+ event: EventApi;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ eventResize?(arg: {
+ el: HTMLElement;
+ startDelta: Duration;
+ endDelta: Duration;
+ prevEvent: EventApi;
+ event: EventApi;
+ revert: () => void;
+ jsEvent: Event;
+ view: View;
+ }): void;
+ drop?(arg: {
+ date: Date;
+ dateStr: string;
+ allDay: boolean;
+ draggedEl: HTMLElement;
+ jsEvent: MouseEvent;
+ view: View;
+ }): void;
+ eventReceive?(arg: {
+ event: EventApi;
+ draggedEl: HTMLElement;
+ view: View;
+ }): void;
+ eventLeave?(arg: {
+ draggedEl: HTMLElement;
+ event: EventApi;
+ view: View;
+ }): void;
+ viewSkeletonRender?(arg: {
+ el: HTMLElement;
+ view: View;
+ }): void;
+ viewSkeletonDestroy?(arg: {
+ el: HTMLElement;
+ view: View;
+ }): void;
+ _destroyed?(): void;
+ _init?(): void;
+ _noEventDrop?(): void;
+ _noEventResize?(): void;
+ resourceRender?(arg: {
+ resource: any;
+ el: HTMLElement;
+ view: View;
+ }): void;
+ }
+ export interface ViewOptionsInput extends OptionsInputBase {
+ type?: string;
+ buttonText?: string;
+ }
+ export interface OptionsInput extends OptionsInputBase {
+ buttonText?: ButtonTextCompoundInput;
+ views?: {
+ [viewId: string]: ViewOptionsInput;
+ };
+ plugins?: (PluginDef | string)[];
+ }
+}
+
+declare module '@fullcalendar/core/structs/event' {
+ import { DateInput } from '@fullcalendar/core/datelib/env';
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { UnscopedEventUiInput, EventUi } from '@fullcalendar/core/component/event-ui';
+ export type EventRenderingChoice = '' | 'background' | 'inverse-background' | 'none';
+ export interface EventNonDateInput extends UnscopedEventUiInput {
+ id?: string | number;
+ groupId?: string | number;
+ title?: string;
+ url?: string;
+ rendering?: EventRenderingChoice;
+ extendedProps?: object;
+ [extendedProp: string]: any;
+ }
+ export interface EventDateInput {
+ start?: DateInput;
+ end?: DateInput;
+ date?: DateInput;
+ allDay?: boolean;
+ }
+ export type EventInput = EventNonDateInput & EventDateInput;
+ export interface EventDef {
+ defId: string;
+ sourceId: string;
+ publicId: string;
+ groupId: string;
+ allDay: boolean;
+ hasEnd: boolean;
+ recurringDef: {
+ typeId: number;
+ typeData: any;
+ duration: Duration | null;
+ } | null;
+ title: string;
+ url: string;
+ rendering: EventRenderingChoice;
+ ui: EventUi;
+ extendedProps: any;
+ }
+ export interface EventInstance {
+ instanceId: string;
+ defId: string;
+ range: DateRange;
+ forcedStartTzo: number | null;
+ forcedEndTzo: number | null;
+ }
+ export interface EventTuple {
+ def: EventDef;
+ instance: EventInstance | null;
+ }
+ export type EventInstanceHash = {
+ [instanceId: string]: EventInstance;
+ };
+ export type EventDefHash = {
+ [defId: string]: EventDef;
+ };
+ export const NON_DATE_PROPS: {
+ id: StringConstructor;
+ groupId: StringConstructor;
+ title: StringConstructor;
+ url: StringConstructor;
+ rendering: StringConstructor;
+ extendedProps: any;
+ };
+ export const DATE_PROPS: {
+ start: any;
+ date: any;
+ end: any;
+ allDay: any;
+ };
+ export function parseEvent(raw: EventInput, sourceId: string, calendar: Calendar, allowOpenRange?: boolean): EventTuple | null;
+ export function parseEventDef(raw: EventNonDateInput, sourceId: string, allDay: boolean, hasEnd: boolean, calendar: Calendar): EventDef;
+ export type eventDefParserFunc = (def: EventDef, props: any, leftovers: any) => void;
+ export function createEventInstance(defId: string, range: DateRange, forcedStartTzo?: number, forcedEndTzo?: number): EventInstance;
+}
+
+declare module '@fullcalendar/core/structs/business-hours' {
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { EventInput } from '@fullcalendar/core/structs/event';
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ export type BusinessHoursInput = boolean | EventInput | EventInput[];
+ export function parseBusinessHours(input: BusinessHoursInput, calendar: Calendar): EventStore;
+}
+
+declare module '@fullcalendar/core/util/misc' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { DateEnv } from '@fullcalendar/core/datelib/env';
+ import { DateRange, OpenDateRange } from '@fullcalendar/core/datelib/date-range';
+ export function compensateScroll(rowEl: HTMLElement, scrollbarWidths: any): void;
+ export function uncompensateScroll(rowEl: HTMLElement): void;
+ export function disableCursor(): void;
+ export function enableCursor(): void;
+ export function distributeHeight(els: HTMLElement[], availableHeight: any, shouldRedistribute: any): void;
+ export function undistributeHeight(els: HTMLElement[]): void;
+ export function matchCellWidths(els: HTMLElement[]): number;
+ export function subtractInnerElHeight(outerEl: HTMLElement, innerEl: HTMLElement): number;
+ export function preventSelection(el: HTMLElement): void;
+ export function allowSelection(el: HTMLElement): void;
+ export function preventContextMenu(el: HTMLElement): void;
+ export function allowContextMenu(el: HTMLElement): void;
+ export function parseFieldSpecs(input: any): any[];
+ export function compareByFieldSpecs(obj0: any, obj1: any, fieldSpecs: any): any;
+ export function compareByFieldSpec(obj0: any, obj1: any, fieldSpec: any): any;
+ export function flexibleCompare(a: any, b: any): number;
+ export function capitaliseFirstLetter(str: any): any;
+ export function padStart(val: any, len: any): string;
+ export function compareNumbers(a: any, b: any): number;
+ export function isInt(n: any): boolean;
+ export function applyAll(functions: any, thisObj: any, args: any): any;
+ export function firstDefined(...args: any[]): any;
+ export function debounce(func: any, wait: any): () => any;
+ export type GenericHash = {
+ [key: string]: any;
+ };
+ export function refineProps(rawProps: GenericHash, processors: GenericHash, defaults?: GenericHash, leftoverProps?: GenericHash): GenericHash;
+ export function computeAlignedDayRange(timedRange: DateRange): DateRange;
+ export function computeVisibleDayRange(timedRange: OpenDateRange, nextDayThreshold?: Duration): OpenDateRange;
+ export function isMultiDayRange(range: DateRange): boolean;
+ export function diffDates(date0: DateMarker, date1: DateMarker, dateEnv: DateEnv, largeUnit?: string): Duration;
+}
+
+declare module '@fullcalendar/core/util/html' {
+ export function htmlEscape(s: any): string;
+ export function cssToStr(cssProps: any): string;
+ export function attrsToStr(attrs: any): string;
+ export type ClassNameInput = string | string[];
+ export function parseClassName(raw: ClassNameInput): string[];
+}
+
+declare module '@fullcalendar/core/util/array' {
+ export function removeMatching(array: any, testFunc: any): number;
+ export function removeExact(array: any, exactVal: any): number;
+ export function isArraysEqual(a0: any, a1: any): boolean;
+}
+
+declare module '@fullcalendar/core/util/memoize' {
+ export function memoize<T>(workerFunc: T): T;
+ export function memoizeOutput<T>(workerFunc: T, equalityFunc: (output0: any, output1: any) => boolean): T;
+}
+
+declare module '@fullcalendar/core/component/memoized-rendering' {
+ export interface MemoizedRendering<ArgsType extends any[]> {
+ (...args: ArgsType): void;
+ unrender: () => void;
+ dependents: MemoizedRendering<any>[];
+ }
+ export function memoizeRendering<ArgsType extends any[]>(renderFunc: (...args: ArgsType) => void, unrenderFunc?: (...args: ArgsType) => void, dependencies?: MemoizedRendering<any>[]): MemoizedRendering<ArgsType>;
+}
+
+declare module '@fullcalendar/core/util/geom' {
+ export interface Point {
+ left: number;
+ top: number;
+ }
+ export interface Rect {
+ left: number;
+ right: number;
+ top: number;
+ bottom: number;
+ }
+ export function pointInsideRect(point: Point, rect: Rect): boolean;
+ export function intersectRects(rect1: Rect, rect2: Rect): Rect | false;
+ export function translateRect(rect: Rect, deltaX: number, deltaY: number): Rect;
+ export function constrainPoint(point: Point, rect: Rect): Point;
+ export function getRectCenter(rect: Rect): Point;
+ export function diffPoints(point1: Point, point2: Point): Point;
+}
+
+declare module '@fullcalendar/core/util/object' {
+ export function mergeProps(propObjs: any, complexProps?: any): any;
+ export function filterHash(hash: any, func: any): {};
+ export function mapHash<InputItem, OutputItem>(hash: {
+ [key: string]: InputItem;
+ }, func: (input: InputItem, key: string) => OutputItem): {
+ [key: string]: OutputItem;
+ };
+ export function arrayToHash(a: any): {
+ [key: string]: true;
+ };
+ export function hashValuesToArray(obj: any): any[];
+ export function isPropsEqual(obj0: any, obj1: any): boolean;
+}
+
+declare module '@fullcalendar/core/util/dom-manip' {
+ export function createElement(tagName: string, attrs: object | null, content?: ElementContent): HTMLElement;
+ export function htmlToElement(html: string): HTMLElement;
+ export function htmlToElements(html: string): HTMLElement[];
+ export type ElementContent = string | Node | Node[] | NodeList;
+ export function appendToElement(el: HTMLElement, content: ElementContent): void;
+ export function prependToElement(parent: HTMLElement, content: ElementContent): void;
+ export function insertAfterElement(refEl: HTMLElement, content: ElementContent): void;
+ export function removeElement(el: HTMLElement): void;
+ export function elementClosest(el: HTMLElement, selector: string): HTMLElement;
+ export function elementMatches(el: HTMLElement, selector: string): HTMLElement;
+ export function findElements(container: HTMLElement[] | HTMLElement | NodeListOf<HTMLElement>, selector: string): HTMLElement[];
+ export function findChildren(parent: HTMLElement[] | HTMLElement, selector?: string): HTMLElement[];
+ export function forceClassName(el: HTMLElement, className: string, bool: any): void;
+ export function applyStyle(el: HTMLElement, props: object): void;
+ export function applyStyleProp(el: HTMLElement, name: string, val: any): void;
+}
+
+declare module '@fullcalendar/core/structs/event-store' {
+ import { EventInput, EventDef, EventDefHash, EventInstanceHash, EventTuple } from '@fullcalendar/core/structs/event';
+ import { EventSource } from '@fullcalendar/core/structs/event-source';
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ export interface EventStore {
+ defs: EventDefHash;
+ instances: EventInstanceHash;
+ }
+ export function parseEvents(rawEvents: EventInput[], sourceId: string, calendar: Calendar, allowOpenRange?: boolean): EventStore;
+ export function eventTupleToStore(tuple: EventTuple, eventStore?: EventStore): EventStore;
+ export function expandRecurring(eventStore: EventStore, framingRange: DateRange, calendar: Calendar): EventStore;
+ export function getRelevantEvents(eventStore: EventStore, instanceId: string): EventStore;
+ export function transformRawEvents(rawEvents: any, eventSource: EventSource, calendar: Calendar): any;
+ export function createEmptyEventStore(): EventStore;
+ export function mergeEventStores(store0: EventStore, store1: EventStore): EventStore;
+ export function filterEventStoreDefs(eventStore: EventStore, filterFunc: (eventDef: EventDef) => boolean): EventStore;
+}
+
+declare module '@fullcalendar/core/component/event-ui' {
+ import { Constraint, AllowFunc, ConstraintInput } from '@fullcalendar/core/validation';
+ import { parseClassName } from '@fullcalendar/core/util/html';
+ import Calendar from '@fullcalendar/core/Calendar';
+ export interface UnscopedEventUiInput {
+ editable?: boolean;
+ startEditable?: boolean;
+ durationEditable?: boolean;
+ constraint?: ConstraintInput;
+ overlap?: boolean;
+ allow?: AllowFunc;
+ className?: string[] | string;
+ classNames?: string[] | string;
+ backgroundColor?: string;
+ borderColor?: string;
+ textColor?: string;
+ color?: string;
+ }
+ export interface EventUi {
+ startEditable: boolean | null;
+ durationEditable: boolean | null;
+ constraints: Constraint[];
+ overlap: boolean | null;
+ allows: AllowFunc[];
+ backgroundColor: string;
+ borderColor: string;
+ textColor: string;
+ classNames: string[];
+ }
+ export type EventUiHash = {
+ [defId: string]: EventUi;
+ };
+ export const UNSCOPED_EVENT_UI_PROPS: {
+ editable: BooleanConstructor;
+ startEditable: BooleanConstructor;
+ durationEditable: BooleanConstructor;
+ constraint: any;
+ overlap: any;
+ allow: any;
+ className: typeof parseClassName;
+ classNames: typeof parseClassName;
+ color: StringConstructor;
+ backgroundColor: StringConstructor;
+ borderColor: StringConstructor;
+ textColor: StringConstructor;
+ };
+ export function processUnscopedUiProps(rawProps: UnscopedEventUiInput, calendar: Calendar, leftovers?: any): EventUi;
+ export function processScopedUiProps(prefix: string, rawScoped: any, calendar: Calendar, leftovers?: any): EventUi;
+ export function combineEventUis(uis: EventUi[]): EventUi;
+}
+
+declare module '@fullcalendar/core/component/event-splitting' {
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { EventDef } from '@fullcalendar/core/structs/event';
+ import { EventInteractionState } from '@fullcalendar/core/interactions/event-interaction-state';
+ import { EventUiHash, EventUi } from '@fullcalendar/core/component/event-ui';
+ import { DateSpan } from '@fullcalendar/core/structs/date-span';
+ export interface SplittableProps {
+ businessHours: EventStore | null;
+ dateSelection: DateSpan | null;
+ eventStore: EventStore;
+ eventUiBases: EventUiHash;
+ eventSelection: string;
+ eventDrag: EventInteractionState | null;
+ eventResize: EventInteractionState | null;
+ }
+ export { Splitter as default, Splitter };
+ abstract class Splitter<PropsType extends SplittableProps = SplittableProps> {
+ abstract getKeyInfo(props: PropsType): {
+ [key: string]: {
+ ui?: EventUi;
+ businessHours?: EventStore;
+ };
+ };
+ abstract getKeysForDateSpan(dateSpan: DateSpan): string[];
+ abstract getKeysForEventDef(eventDef: EventDef): string[];
+ splitProps(props: PropsType): {
+ [key: string]: SplittableProps;
+ };
+ }
+}
+
+declare module '@fullcalendar/core/component/date-rendering' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { ComponentContext } from '@fullcalendar/core/component/Component';
+ import { DateProfile } from '@fullcalendar/core/DateProfileGenerator';
+ import { DateEnv } from '@fullcalendar/core/datelib/env';
+ export function buildGotoAnchorHtml(allOptions: any, dateEnv: DateEnv, gotoOptions: any, attrs: any, innerHtml?: any): string;
+ export function getAllDayHtml(allOptions: any): any;
+ export function getDayClasses(date: DateMarker, dateProfile: DateProfile, context: ComponentContext, noThemeHighlight?: any): any[];
+}
+
+declare module '@fullcalendar/core/util/dom-event' {
+ export function preventDefault(ev: any): void;
+ export function listenBySelector(container: HTMLElement, eventType: string, selector: string, handler: (ev: Event, matchedTarget: HTMLElement) => void): () => void;
+ export function listenToHoverBySelector(container: HTMLElement, selector: string, onMouseEnter: (ev: Event, matchedTarget: HTMLElement) => void, onMouseLeave: (ev: Event, matchedTarget: HTMLElement) => void): () => void;
+ export function whenTransitionDone(el: HTMLElement, callback: (ev: Event) => void): void;
+}
+
+declare module '@fullcalendar/core/util/dom-geom' {
+ import { Rect } from '@fullcalendar/core/util/geom';
+ export interface EdgeInfo {
+ borderLeft: number;
+ borderRight: number;
+ borderTop: number;
+ borderBottom: number;
+ scrollbarLeft: number;
+ scrollbarRight: number;
+ scrollbarBottom: number;
+ paddingLeft?: number;
+ paddingRight?: number;
+ paddingTop?: number;
+ paddingBottom?: number;
+ }
+ export function computeEdges(el: any, getPadding?: boolean): EdgeInfo;
+ export function computeInnerRect(el: any, goWithinPadding?: boolean): {
+ left: number;
+ right: number;
+ top: number;
+ bottom: number;
+ };
+ export function computeRect(el: any): Rect;
+ export function computeHeightAndMargins(el: HTMLElement): number;
+ export function computeVMargins(el: HTMLElement): number;
+ export function getClippingParents(el: HTMLElement): HTMLElement[];
+ export function computeClippingRect(el: HTMLElement): Rect;
+}
+
+declare module '@fullcalendar/core/util/promise' {
+ export function unpromisify(func: any, success: any, failure?: any): void;
+}
+
+declare module '@fullcalendar/core/common/EmitterMixin' {
+ import Mixin from '@fullcalendar/core/common/Mixin';
+ export interface EmitterInterface {
+ on(types: any, handler: any): any;
+ one(types: any, handler: any): any;
+ off(types: any, handler: any): any;
+ trigger(type: any, ...args: any[]): any;
+ triggerWith(type: any, context: any, args: any): any;
+ hasHandlers(type: any): any;
+ }
+ export { EmitterMixin as default, EmitterMixin };
+ class EmitterMixin extends Mixin implements EmitterInterface {
+ _handlers: any;
+ _oneHandlers: any;
+ on(type: any, handler: any): this;
+ one(type: any, handler: any): this;
+ off(type: any, handler?: any): this;
+ trigger(type: any, ...args: any[]): this;
+ triggerWith(type: any, context: any, args: any): this;
+ hasHandlers(type: any): any;
+ }
+}
+
+declare module '@fullcalendar/core/datelib/date-range' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { DateEnv, DateInput } from '@fullcalendar/core/datelib/env';
+ export interface DateRangeInput {
+ start?: DateInput;
+ end?: DateInput;
+ }
+ export interface OpenDateRange {
+ start: DateMarker | null;
+ end: DateMarker | null;
+ }
+ export interface DateRange {
+ start: DateMarker;
+ end: DateMarker;
+ }
+ export function parseRange(input: DateRangeInput, dateEnv: DateEnv): OpenDateRange;
+ export function invertRanges(ranges: DateRange[], constraintRange: DateRange): DateRange[];
+ export function intersectRanges(range0: OpenDateRange, range1: OpenDateRange): OpenDateRange;
+ export function rangesEqual(range0: OpenDateRange, range1: OpenDateRange): boolean;
+ export function rangesIntersect(range0: OpenDateRange, range1: OpenDateRange): boolean;
+ export function rangeContainsRange(outerRange: OpenDateRange, innerRange: OpenDateRange): boolean;
+ export function rangeContainsMarker(range: OpenDateRange, date: DateMarker | number): boolean;
+ export function constrainMarkerToRange(date: DateMarker, range: DateRange): DateMarker;
+}
+
+declare module '@fullcalendar/core/common/Mixin' {
+ export { Mixin as default, Mixin };
+ class Mixin {
+ static mixInto(destClass: any): void;
+ static mixIntoObj(destObj: any): void;
+ static mixOver(destClass: any): void;
+ }
+}
+
+declare module '@fullcalendar/core/common/PositionCache' {
+ export { PositionCache as default, PositionCache };
+ class PositionCache {
+ originClientRect: ClientRect;
+ els: HTMLElement[];
+ originEl: HTMLElement;
+ isHorizontal: boolean;
+ isVertical: boolean;
+ lefts: any;
+ rights: any;
+ tops: any;
+ bottoms: any;
+ constructor(originEl: HTMLElement, els: HTMLElement[], isHorizontal: boolean, isVertical: boolean);
+ build(): void;
+ buildElHorizontals(originClientLeft: number): void;
+ buildElVerticals(originClientTop: number): void;
+ leftToIndex(leftPosition: number): any;
+ topToIndex(topPosition: number): any;
+ getWidth(leftIndex: number): number;
+ getHeight(topIndex: number): number;
+ }
+}
+
+declare module '@fullcalendar/core/common/ScrollComponent' {
+ import { ElementScrollController } from '@fullcalendar/core/common/scroll-controller';
+ export interface ScrollbarWidths {
+ left: number;
+ right: number;
+ bottom: number;
+ }
+ export { ScrollComponent as default, ScrollComponent };
+ class ScrollComponent extends ElementScrollController {
+ overflowX: string;
+ overflowY: string;
+ constructor(overflowX: string, overflowY: string);
+ clear(): void;
+ destroy(): void;
+ applyOverflow(): void;
+ lockOverflow(scrollbarWidths: ScrollbarWidths): void;
+ setHeight(height: number | string): void;
+ getScrollbarWidths(): ScrollbarWidths;
+ }
+}
+
+declare module '@fullcalendar/core/common/scroll-controller' {
+ export abstract class ScrollController {
+ abstract getScrollTop(): number;
+ abstract getScrollLeft(): number;
+ abstract setScrollTop(top: number): void;
+ abstract setScrollLeft(left: number): void;
+ abstract getClientWidth(): number;
+ abstract getClientHeight(): number;
+ abstract getScrollWidth(): number;
+ abstract getScrollHeight(): number;
+ getMaxScrollTop(): number;
+ getMaxScrollLeft(): number;
+ canScrollVertically(): boolean;
+ canScrollHorizontally(): boolean;
+ canScrollUp(): boolean;
+ canScrollDown(): boolean;
+ canScrollLeft(): boolean;
+ canScrollRight(): boolean;
+ }
+ export class ElementScrollController extends ScrollController {
+ el: HTMLElement;
+ constructor(el: HTMLElement);
+ getScrollTop(): number;
+ getScrollLeft(): number;
+ setScrollTop(top: number): void;
+ setScrollLeft(left: number): void;
+ getScrollWidth(): number;
+ getScrollHeight(): number;
+ getClientHeight(): number;
+ getClientWidth(): number;
+ }
+ export class WindowScrollController extends ScrollController {
+ getScrollTop(): number;
+ getScrollLeft(): number;
+ setScrollTop(n: number): void;
+ setScrollLeft(n: number): void;
+ getScrollWidth(): number;
+ getScrollHeight(): number;
+ getClientHeight(): number;
+ getClientWidth(): number;
+ }
+}
+
+declare module '@fullcalendar/core/theme/Theme' {
+ export { Theme as default, Theme };
+ class Theme {
+ calendarOptions: any;
+ classes: any;
+ iconClasses: any;
+ baseIconClass: string;
+ iconOverrideOption: any;
+ iconOverrideCustomButtonOption: any;
+ iconOverridePrefix: string;
+ constructor(calendarOptions: any);
+ processIconOverride(): void;
+ setIconOverride(iconOverrideHash: any): void;
+ applyIconOverridePrefix(className: any): any;
+ getClass(key: any): any;
+ getIconClass(buttonName: any): string;
+ getCustomButtonIconClass(customButtonProps: any): string;
+ }
+ export type ThemeClass = {
+ new (calendarOptions: any): Theme;
+ };
+}
+
+declare module '@fullcalendar/core/component/Component' {
+ import Calendar from '@fullcalendar/core/Calendar';
+ import View from '@fullcalendar/core/View';
+ import Theme from '@fullcalendar/core/theme/Theme';
+ import { DateEnv } from '@fullcalendar/core/datelib/env';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ export class ComponentContext {
+ calendar: Calendar;
+ theme: Theme;
+ dateEnv: DateEnv;
+ options: any;
+ view?: View;
+ isRtl: boolean;
+ eventOrderSpecs: any;
+ nextDayThreshold: Duration;
+ constructor(calendar: Calendar, theme: Theme, dateEnv: DateEnv, options: any, view?: View);
+ extend(options?: any, view?: View): ComponentContext;
+ }
+ export type EqualityFuncHash = {
+ [propName: string]: (obj0: any, obj1: any) => boolean;
+ };
+ export { Component as default, Component };
+ class Component<PropsType> {
+ equalityFuncs: EqualityFuncHash;
+ uid: string;
+ props: PropsType | null;
+ everRendered: boolean;
+ context: ComponentContext;
+ constructor();
+ static addEqualityFuncs(newFuncs: EqualityFuncHash): void;
+ receiveProps(props: PropsType, context: ComponentContext): void;
+ receiveContext(context: ComponentContext): void;
+ protected render(props: PropsType, context: ComponentContext): void;
+ firstContext(context: ComponentContext): void;
+ beforeUpdate(): void;
+ afterUpdate(): void;
+ destroy(): void;
+ }
+}
+
+declare module '@fullcalendar/core/component/DateComponent' {
+ import Component from '@fullcalendar/core/component/Component';
+ import { EventRenderRange } from '@fullcalendar/core/component/event-rendering';
+ import { DateSpan } from '@fullcalendar/core/structs/date-span';
+ import { EventInstanceHash } from '@fullcalendar/core/structs/event';
+ import { Hit } from '@fullcalendar/core/interactions/hit';
+ import FgEventRenderer from '@fullcalendar/core/component/renderers/FgEventRenderer';
+ import FillRenderer from '@fullcalendar/core/component/renderers/FillRenderer';
+ import { EventInteractionState } from '@fullcalendar/core/interactions/event-interaction-state';
+ export type DateComponentHash = {
+ [uid: string]: DateComponent<any>;
+ };
+ export interface Seg {
+ component?: DateComponent<any>;
+ isStart: boolean;
+ isEnd: boolean;
+ eventRange?: EventRenderRange;
+ el?: HTMLElement;
+ [otherProp: string]: any;
+ }
+ export interface EventSegUiInteractionState {
+ affectedInstances: EventInstanceHash;
+ segs: Seg[];
+ isEvent: boolean;
+ sourceSeg: any;
+ }
+ export { DateComponent as default, DateComponent };
+ class DateComponent<PropsType> extends Component<PropsType> {
+ fgSegSelector: string;
+ bgSegSelector: string;
+ largeUnit: any;
+ eventRenderer: FgEventRenderer;
+ mirrorRenderer: FgEventRenderer;
+ fillRenderer: FillRenderer;
+ el: HTMLElement;
+ constructor(el: HTMLElement);
+ destroy(): void;
+ buildPositionCaches(): void;
+ queryHit(positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit | null;
+ isInteractionValid(interaction: EventInteractionState): boolean;
+ isDateSelectionValid(selection: DateSpan): boolean;
+ isValidSegDownEl(el: HTMLElement): boolean;
+ isValidDateDownEl(el: HTMLElement): boolean;
+ isPopover(): boolean;
+ isInPopover(el: HTMLElement): boolean;
+ }
+}
+
+declare module '@fullcalendar/core/Calendar' {
+ import { EmitterInterface } from '@fullcalendar/core/common/EmitterMixin';
+ import OptionsManager from '@fullcalendar/core/OptionsManager';
+ import View from '@fullcalendar/core/View';
+ import Theme from '@fullcalendar/core/theme/Theme';
+ import { OptionsInput, EventHandlerName, EventHandlerArgs } from '@fullcalendar/core/types/input-types';
+ import { RawLocaleMap } from '@fullcalendar/core/datelib/locale';
+ import { DateEnv, DateInput } from '@fullcalendar/core/datelib/env';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { Duration, DurationInput } from '@fullcalendar/core/datelib/duration';
+ import { DateSpan, DateSpanApi, DatePointApi } from '@fullcalendar/core/structs/date-span';
+ import { DateRangeInput } from '@fullcalendar/core/datelib/date-range';
+ import DateProfileGenerator from '@fullcalendar/core/DateProfileGenerator';
+ import { EventSourceInput } from '@fullcalendar/core/structs/event-source';
+ import { EventInput } from '@fullcalendar/core/structs/event';
+ import { CalendarState, Action } from '@fullcalendar/core/reducers/types';
+ import EventSourceApi from '@fullcalendar/core/api/EventSourceApi';
+ import EventApi from '@fullcalendar/core/api/EventApi';
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { EventUiHash, EventUi } from '@fullcalendar/core/component/event-ui';
+ import { ViewSpecHash, ViewSpec } from '@fullcalendar/core/structs/view-spec';
+ import { PluginSystem } from '@fullcalendar/core/plugin-system';
+ import CalendarComponent from '@fullcalendar/core/CalendarComponent';
+ import DateComponent from '@fullcalendar/core/component/DateComponent';
+ import { PointerDragEvent } from '@fullcalendar/core/interactions/pointer';
+ import { InteractionSettingsInput, Interaction } from '@fullcalendar/core/interactions/interaction';
+ export interface DateClickApi extends DatePointApi {
+ dayEl: HTMLElement;
+ jsEvent: UIEvent;
+ view: View;
+ }
+ export interface DateSelectionApi extends DateSpanApi {
+ jsEvent: UIEvent;
+ view: View;
+ }
+ export type DatePointTransform = (dateSpan: DateSpan, calendar: Calendar) => any;
+ export type DateSpanTransform = (dateSpan: DateSpan, calendar: Calendar) => any;
+ export type CalendarInteraction = {
+ destroy(): any;
+ };
+ export type CalendarInteractionClass = {
+ new (calendar: Calendar): CalendarInteraction;
+ };
+ export type OptionChangeHandler = (propValue: any, calendar: Calendar, deepEqual: any) => void;
+ export type OptionChangeHandlerMap = {
+ [propName: string]: OptionChangeHandler;
+ };
+ export { Calendar as default, Calendar };
+ class Calendar {
+ static on: EmitterInterface['on'];
+ static off: EmitterInterface['off'];
+ static trigger: EmitterInterface['trigger'];
+ on: EmitterInterface['on'];
+ one: EmitterInterface['one'];
+ off: EmitterInterface['off'];
+ trigger: EmitterInterface['trigger'];
+ triggerWith: EmitterInterface['triggerWith'];
+ hasHandlers: EmitterInterface['hasHandlers'];
+ eventUiBases: EventUiHash;
+ selectionConfig: EventUi;
+ optionsManager: OptionsManager;
+ viewSpecs: ViewSpecHash;
+ dateProfileGenerators: {
+ [viewName: string]: DateProfileGenerator;
+ };
+ theme: Theme;
+ dateEnv: DateEnv;
+ availableRawLocales: RawLocaleMap;
+ pluginSystem: PluginSystem;
+ defaultAllDayEventDuration: Duration;
+ defaultTimedEventDuration: Duration;
+ calendarInteractions: CalendarInteraction[];
+ interactionsStore: {
+ [componentUid: string]: Interaction[];
+ };
+ removeNavLinkListener: any;
+ windowResizeProxy: any;
+ isHandlingWindowResize: boolean;
+ state: CalendarState;
+ actionQueue: any[];
+ isReducing: boolean;
+ needsRerender: boolean;
+ isRendering: boolean;
+ renderingPauseDepth: number;
+ renderableEventStore: EventStore;
+ buildDelayedRerender: typeof buildDelayedRerender;
+ delayedRerender: any;
+ afterSizingTriggers: any;
+ isViewUpdated: boolean;
+ isDatesUpdated: boolean;
+ isEventsUpdated: boolean;
+ el: HTMLElement;
+ component: CalendarComponent;
+ constructor(el: HTMLElement, overrides?: OptionsInput);
+ addPluginInputs(pluginInputs: any): void;
+ readonly view: View;
+ render(): void;
+ destroy(): void;
+ bindHandlers(): void;
+ unbindHandlers(): void;
+ hydrate(): void;
+ buildInitialState(): CalendarState;
+ reduce(state: CalendarState, action: Action, calendar: Calendar): CalendarState;
+ requestRerender(): void;
+ tryRerender(): void;
+ batchRendering(func: any): void;
+ executeRender(): void;
+ renderComponent(): void;
+ setOption(name: string, val: any): void;
+ getOption(name: string): any;
+ opt(name: string): any;
+ viewOpt(name: string): any;
+ viewOpts(): any;
+ mutateOptions(updates: any, removals: string[], isDynamic?: boolean, deepEqual?: any): void;
+ handleOptions(options: any): void;
+ getAvailableLocaleCodes(): string[];
+ _buildSelectionConfig(rawOpts: any): EventUi;
+ _buildEventUiSingleBase(rawOpts: any): EventUi;
+ hasPublicHandlers<T extends EventHandlerName>(name: T): boolean;
+ publiclyTrigger<T extends EventHandlerName>(name: T, args?: EventHandlerArgs<T>): any;
+ publiclyTriggerAfterSizing<T extends EventHandlerName>(name: T, args: EventHandlerArgs<T>): void;
+ releaseAfterSizingTriggers(): void;
+ isValidViewType(viewType: string): boolean;
+ changeView(viewType: string, dateOrRange?: DateRangeInput | DateInput): void;
+ zoomTo(dateMarker: DateMarker, viewType?: string): void;
+ getUnitViewSpec(unit: string): ViewSpec | null;
+ getInitialDate(): Date;
+ prev(): void;
+ next(): void;
+ prevYear(): void;
+ nextYear(): void;
+ today(): void;
+ gotoDate(zonedDateInput: any): void;
+ incrementDate(deltaInput: any): void;
+ getDate(): Date;
+ formatDate(d: DateInput, formatter: any): string;
+ formatRange(d0: DateInput, d1: DateInput, settings: any): any;
+ formatIso(d: DateInput, omitTime?: boolean): string;
+ windowResize(ev: Event): void;
+ updateSize(): void;
+ registerInteractiveComponent(component: DateComponent<any>, settingsInput: InteractionSettingsInput): void;
+ unregisterInteractiveComponent(component: DateComponent<any>): void;
+ select(dateOrObj: DateInput | any, endDate?: DateInput): void;
+ unselect(pev?: PointerDragEvent): void;
+ triggerDateSelect(selection: DateSpan, pev?: PointerDragEvent): void;
+ triggerDateUnselect(pev?: PointerDragEvent): void;
+ triggerDateClick(dateSpan: DateSpan, dayEl: HTMLElement, view: View, ev: UIEvent): void;
+ buildDatePointApi(dateSpan: DateSpan): import("@fullcalendar/core/structs/date-span").DatePointApi;
+ buildDateSpanApi(dateSpan: DateSpan): import("@fullcalendar/core/structs/date-span").DateSpanApi;
+ getNow(): DateMarker;
+ getDefaultEventEnd(allDay: boolean, marker: DateMarker): DateMarker;
+ addEvent(eventInput: EventInput, sourceInput?: EventSourceApi | string | number): EventApi | null;
+ getEventById(id: string): EventApi | null;
+ getEvents(): EventApi[];
+ removeAllEvents(): void;
+ rerenderEvents(): void;
+ getEventSources(): EventSourceApi[];
+ getEventSourceById(id: string | number): EventSourceApi | null;
+ addEventSource(sourceInput: EventSourceInput): EventSourceApi;
+ removeAllEventSources(): void;
+ refetchEvents(): void;
+ scrollToTime(timeInput: DurationInput): void;
+ }
+ function buildDelayedRerender(this: Calendar, wait: any): any;
+ export {};
+}
+
+declare module '@fullcalendar/core/View' {
+ import DateProfileGenerator, { DateProfile } from '@fullcalendar/core/DateProfileGenerator';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { EmitterInterface } from '@fullcalendar/core/common/EmitterMixin';
+ import { ViewSpec } from '@fullcalendar/core/structs/view-spec';
+ import DateComponent from '@fullcalendar/core/component/DateComponent';
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { EventUiHash } from '@fullcalendar/core/component/event-ui';
+ import { EventRenderRange } from '@fullcalendar/core/component/event-rendering';
+ import { DateSpan } from '@fullcalendar/core/structs/date-span';
+ import { EventInteractionState } from '@fullcalendar/core/interactions/event-interaction-state';
+ import { ComponentContext } from '@fullcalendar/core/component/Component';
+ export interface ViewProps {
+ dateProfileGenerator: DateProfileGenerator;
+ dateProfile: DateProfile;
+ businessHours: EventStore;
+ eventStore: EventStore;
+ eventUiBases: EventUiHash;
+ dateSelection: DateSpan | null;
+ eventSelection: string;
+ eventDrag: EventInteractionState | null;
+ eventResize: EventInteractionState | null;
+ }
+ export { View as default, View };
+ abstract class View extends DateComponent<ViewProps> {
+ usesMinMaxTime: boolean;
+ dateProfileGeneratorClass: any;
+ on: EmitterInterface['on'];
+ one: EmitterInterface['one'];
+ off: EmitterInterface['off'];
+ trigger: EmitterInterface['trigger'];
+ triggerWith: EmitterInterface['triggerWith'];
+ hasHandlers: EmitterInterface['hasHandlers'];
+ viewSpec: ViewSpec;
+ type: string;
+ title: string;
+ queuedScroll: any;
+ isNowIndicatorRendered: boolean;
+ initialNowDate: DateMarker;
+ initialNowQueriedMs: number;
+ nowIndicatorTimeoutID: any;
+ nowIndicatorIntervalID: any;
+ constructor(viewSpec: ViewSpec, parentEl: HTMLElement);
+ initialize(): void;
+ readonly activeStart: Date;
+ readonly activeEnd: Date;
+ readonly currentStart: Date;
+ readonly currentEnd: Date;
+ render(props: ViewProps, context: ComponentContext): void;
+ beforeUpdate(): void;
+ destroy(): void;
+ updateSize(isResize: boolean, viewHeight: number, isAuto: boolean): void;
+ updateBaseSize(isResize: boolean, viewHeight: number, isAuto: boolean): void;
+ renderDatesWrap(dateProfile: DateProfile): void;
+ unrenderDatesWrap(): void;
+ renderDates(dateProfile: DateProfile): void;
+ unrenderDates(): void;
+ renderBusinessHours(businessHours: EventStore): void;
+ unrenderBusinessHours(): void;
+ renderDateSelectionWrap(selection: DateSpan): void;
+ unrenderDateSelectionWrap(selection: DateSpan): void;
+ renderDateSelection(selection: DateSpan): void;
+ unrenderDateSelection(selection: DateSpan): void;
+ renderEvents(eventStore: EventStore): void;
+ unrenderEvents(): void;
+ sliceEvents(eventStore: EventStore, allDay: boolean): EventRenderRange[];
+ renderEventSelectionWrap(instanceId: string): void;
+ unrenderEventSelectionWrap(instanceId: string): void;
+ renderEventSelection(instanceId: string): void;
+ unrenderEventSelection(instanceId: string): void;
+ renderEventDragWrap(state: EventInteractionState): void;
+ unrenderEventDragWrap(state: EventInteractionState): void;
+ renderEventDrag(state: EventInteractionState): void;
+ unrenderEventDrag(state: EventInteractionState): void;
+ renderEventResizeWrap(state: EventInteractionState): void;
+ unrenderEventResizeWrap(state: EventInteractionState): void;
+ renderEventResize(state: EventInteractionState): void;
+ unrenderEventResize(state: EventInteractionState): void;
+ startNowIndicator(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator): void;
+ updateNowIndicator(): void;
+ stopNowIndicator(): void;
+ getNowIndicatorUnit(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator): void;
+ renderNowIndicator(date: any): void;
+ unrenderNowIndicator(): void;
+ addScroll(scroll: any, isForced?: boolean): void;
+ popScroll(isResize: boolean): void;
+ applyQueuedScroll(isResize: boolean): void;
+ queryScroll(): any;
+ applyScroll(scroll: any, isResize: boolean): void;
+ computeDateScroll(duration: Duration): {};
+ queryDateScroll(): {};
+ applyDateScroll(scroll: any): void;
+ scrollToDuration(duration: Duration): void;
+ }
+}
+
+declare module '@fullcalendar/core/component/renderers/FgEventRenderer' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { DateFormatter } from '@fullcalendar/core/datelib/formatting';
+ import { EventUi } from '@fullcalendar/core/component/event-ui';
+ import { EventRenderRange } from '@fullcalendar/core/component/event-rendering';
+ import { Seg } from '@fullcalendar/core/component/DateComponent';
+ import { ComponentContext } from '@fullcalendar/core/component/Component';
+ export { FgEventRenderer as default, FgEventRenderer };
+ abstract class FgEventRenderer {
+ context: ComponentContext;
+ eventTimeFormat: DateFormatter;
+ displayEventTime: boolean;
+ displayEventEnd: boolean;
+ segs: Seg[];
+ isSizeDirty: boolean;
+ renderSegs(context: ComponentContext, segs: Seg[], mirrorInfo?: any): void;
+ unrender(context: ComponentContext, _segs: Seg[], mirrorInfo?: any): void;
+ abstract renderSegHtml(seg: Seg, mirrorInfo: any): string;
+ abstract attachSegs(segs: Seg[], mirrorInfo: any): any;
+ abstract detachSegs(segs: Seg[]): any;
+ rangeUpdated(): void;
+ renderSegEls(segs: Seg[], mirrorInfo: any): Seg[];
+ getSegClasses(seg: Seg, isDraggable: any, isResizable: any, mirrorInfo: any): string[];
+ getTimeText(eventRange: EventRenderRange, formatter?: any, displayEnd?: any): any;
+ _getTimeText(start: DateMarker, end: DateMarker, allDay: any, formatter?: any, displayEnd?: any, forcedStartTzo?: number, forcedEndTzo?: number): any;
+ computeEventTimeFormat(): any;
+ computeDisplayEventTime(): boolean;
+ computeDisplayEventEnd(): boolean;
+ getSkinCss(ui: EventUi): {
+ 'background-color': string;
+ 'border-color': string;
+ color: string;
+ };
+ sortEventSegs(segs: any): Seg[];
+ computeSizes(force: boolean): void;
+ assignSizes(force: boolean): void;
+ computeSegSizes(segs: Seg[]): void;
+ assignSegSizes(segs: Seg[]): void;
+ hideByHash(hash: any): void;
+ showByHash(hash: any): void;
+ selectByInstanceId(instanceId: string): void;
+ unselectByInstanceId(instanceId: string): void;
+ }
+ export function buildSegCompareObj(seg: Seg): any;
+}
+
+declare module '@fullcalendar/core/component/renderers/FillRenderer' {
+ import { Seg } from '@fullcalendar/core/component/DateComponent';
+ import { ComponentContext } from '@fullcalendar/core/component/Component';
+ export { FillRenderer as default, FillRenderer };
+ abstract class FillRenderer {
+ context: ComponentContext;
+ fillSegTag: string;
+ containerElsByType: any;
+ segsByType: any;
+ dirtySizeFlags: any;
+ constructor();
+ getSegsByType(type: string): any;
+ renderSegs(type: string, context: ComponentContext, segs: Seg[]): void;
+ unrender(type: string, context: ComponentContext): void;
+ renderSegEls(type: any, segs: Seg[]): Seg[];
+ renderSegHtml(type: any, seg: Seg): string;
+ abstract attachSegs(type: any, segs: Seg[]): HTMLElement[] | void;
+ detachSegs(type: any, segs: Seg[]): void;
+ computeSizes(force: boolean): void;
+ assignSizes(force: boolean): void;
+ computeSegSizes(segs: Seg[]): void;
+ assignSegSizes(segs: Seg[]): void;
+ }
+}
+
+declare module '@fullcalendar/core/DateProfileGenerator' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { DateRange, OpenDateRange } from '@fullcalendar/core/datelib/date-range';
+ import { ViewSpec } from '@fullcalendar/core/structs/view-spec';
+ import { DateEnv } from '@fullcalendar/core/datelib/env';
+ import Calendar from '@fullcalendar/core/Calendar';
+ export interface DateProfile {
+ currentRange: DateRange;
+ currentRangeUnit: string;
+ isRangeAllDay: boolean;
+ validRange: OpenDateRange;
+ activeRange: DateRange;
+ renderRange: DateRange;
+ minTime: Duration;
+ maxTime: Duration;
+ isValid: boolean;
+ dateIncrement: Duration;
+ }
+ export { DateProfileGenerator as default, DateProfileGenerator };
+ class DateProfileGenerator {
+ viewSpec: ViewSpec;
+ options: any;
+ dateEnv: DateEnv;
+ calendar: Calendar;
+ isHiddenDayHash: boolean[];
+ constructor(viewSpec: ViewSpec, calendar: Calendar);
+ buildPrev(currentDateProfile: DateProfile, currentDate: DateMarker): DateProfile;
+ buildNext(currentDateProfile: DateProfile, currentDate: DateMarker): DateProfile;
+ build(currentDate: DateMarker, direction?: any, forceToValid?: boolean): DateProfile;
+ buildValidRange(): OpenDateRange;
+ buildCurrentRangeInfo(date: DateMarker, direction: any): {
+ duration: any;
+ unit: any;
+ range: any;
+ };
+ getFallbackDuration(): Duration;
+ adjustActiveRange(range: DateRange, minTime: Duration, maxTime: Duration): {
+ start: Date;
+ end: Date;
+ };
+ buildRangeFromDuration(date: DateMarker, direction: any, duration: Duration, unit: any): any;
+ buildRangeFromDayCount(date: DateMarker, direction: any, dayCount: any): {
+ start: Date;
+ end: Date;
+ };
+ buildCustomVisibleRange(date: DateMarker): OpenDateRange;
+ buildRenderRange(currentRange: DateRange, currentRangeUnit: any, isRangeAllDay: any): DateRange;
+ buildDateIncrement(fallback: any): Duration;
+ getRangeOption(name: any, ...otherArgs: any[]): OpenDateRange;
+ initHiddenDays(): void;
+ trimHiddenDays(range: DateRange): DateRange | null;
+ isHiddenDay(day: any): boolean;
+ skipHiddenDays(date: DateMarker, inc?: number, isExclusive?: boolean): Date;
+ }
+ export function isDateProfilesEqual(p0: DateProfile, p1: DateProfile): boolean;
+}
+
+declare module '@fullcalendar/core/structs/view-def' {
+ import { ViewClass, ViewConfigHash } from '@fullcalendar/core/structs/view-config';
+ export interface ViewDef {
+ type: string;
+ class: ViewClass;
+ overrides: any;
+ defaults: any;
+ }
+ export type ViewDefHash = {
+ [viewType: string]: ViewDef;
+ };
+ export function compileViewDefs(defaultConfigs: ViewConfigHash, overrideConfigs: ViewConfigHash): ViewDefHash;
+}
+
+declare module '@fullcalendar/core/structs/view-spec' {
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import OptionsManager from '@fullcalendar/core/OptionsManager';
+ import { ViewConfigInputHash, ViewClass } from '@fullcalendar/core/structs/view-config';
+ export interface ViewSpec {
+ type: string;
+ class: ViewClass;
+ duration: Duration;
+ durationUnit: string;
+ singleUnit: string;
+ options: any;
+ buttonTextOverride: string;
+ buttonTextDefault: string;
+ }
+ export type ViewSpecHash = {
+ [viewType: string]: ViewSpec;
+ };
+ export function buildViewSpecs(defaultInputs: ViewConfigInputHash, optionsManager: OptionsManager): ViewSpecHash;
+}
+
+declare module '@fullcalendar/core/structs/date-span' {
+ import { DateRange, OpenDateRange } from '@fullcalendar/core/datelib/date-range';
+ import { DateInput, DateEnv } from '@fullcalendar/core/datelib/env';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { EventRenderRange } from '@fullcalendar/core/component/event-rendering';
+ import { EventUiHash } from '@fullcalendar/core/component/event-ui';
+ import Calendar from '@fullcalendar/core/Calendar';
+ export interface OpenDateSpanInput {
+ start?: DateInput;
+ end?: DateInput;
+ allDay?: boolean;
+ [otherProp: string]: any;
+ }
+ export interface DateSpanInput extends OpenDateSpanInput {
+ start: DateInput;
+ end: DateInput;
+ }
+ export interface OpenDateSpan {
+ range: OpenDateRange;
+ allDay: boolean;
+ [otherProp: string]: any;
+ }
+ export interface DateSpan extends OpenDateSpan {
+ range: DateRange;
+ }
+ export interface DateSpanApi {
+ start: Date;
+ end: Date;
+ startStr: string;
+ endStr: string;
+ allDay: boolean;
+ }
+ export interface DatePointApi {
+ date: Date;
+ dateStr: string;
+ allDay: boolean;
+ }
+ export function parseDateSpan(raw: DateSpanInput, dateEnv: DateEnv, defaultDuration?: Duration): DateSpan | null;
+ export function parseOpenDateSpan(raw: OpenDateSpanInput, dateEnv: DateEnv): OpenDateSpan | null;
+ export function isDateSpansEqual(span0: DateSpan, span1: DateSpan): boolean;
+ export function buildDateSpanApi(span: DateSpan, dateEnv: DateEnv): DateSpanApi;
+ export function buildDatePointApi(span: DateSpan, dateEnv: DateEnv): DatePointApi;
+ export function fabricateEventRange(dateSpan: DateSpan, eventUiBases: EventUiHash, calendar: Calendar): EventRenderRange;
+}
+
+declare module '@fullcalendar/core/datelib/marker' {
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ export type DateMarker = Date;
+ export const DAY_IDS: string[];
+ export function addWeeks(m: DateMarker, n: number): Date;
+ export function addDays(m: DateMarker, n: number): Date;
+ export function addMs(m: DateMarker, n: number): Date;
+ export function diffWeeks(m0: any, m1: any): number;
+ export function diffDays(m0: any, m1: any): number;
+ export function diffHours(m0: any, m1: any): number;
+ export function diffMinutes(m0: any, m1: any): number;
+ export function diffSeconds(m0: any, m1: any): number;
+ export function diffDayAndTime(m0: DateMarker, m1: DateMarker): Duration;
+ export function diffWholeWeeks(m0: DateMarker, m1: DateMarker): number;
+ export function diffWholeDays(m0: DateMarker, m1: DateMarker): number;
+ export function startOfDay(m: DateMarker): DateMarker;
+ export function startOfHour(m: DateMarker): Date;
+ export function startOfMinute(m: DateMarker): Date;
+ export function startOfSecond(m: DateMarker): Date;
+ export function weekOfYear(marker: any, dow: any, doy: any): number;
+ export function dateToLocalArray(date: any): any[];
+ export function arrayToLocalDate(a: any): Date;
+ export function dateToUtcArray(date: any): any[];
+ export function arrayToUtcDate(a: any): Date;
+ export function isValidDate(m: DateMarker): boolean;
+ export function timeAsMs(m: DateMarker): number;
+}
+
+declare module '@fullcalendar/core/datelib/duration' {
+ export type DurationInput = DurationObjectInput | string | number;
+ export interface DurationObjectInput {
+ years?: number;
+ year?: number;
+ months?: number;
+ month?: number;
+ weeks?: number;
+ week?: number;
+ days?: number;
+ day?: number;
+ hours?: number;
+ hour?: number;
+ minutes?: number;
+ minute?: number;
+ seconds?: number;
+ second?: number;
+ milliseconds?: number;
+ millisecond?: number;
+ ms?: number;
+ }
+ export interface Duration {
+ years: number;
+ months: number;
+ days: number;
+ milliseconds: number;
+ }
+ export function createDuration(input: DurationInput, unit?: string): Duration | null;
+ export function getWeeksFromInput(obj: DurationObjectInput): number;
+ export function durationsEqual(d0: Duration, d1: Duration): boolean;
+ export function isSingleDay(dur: Duration): boolean;
+ export function addDurations(d0: Duration, d1: Duration): {
+ years: number;
+ months: number;
+ days: number;
+ milliseconds: number;
+ };
+ export function subtractDurations(d1: Duration, d0: Duration): Duration;
+ export function multiplyDuration(d: Duration, n: number): {
+ years: number;
+ months: number;
+ days: number;
+ milliseconds: number;
+ };
+ export function asRoughYears(dur: Duration): number;
+ export function asRoughMonths(dur: Duration): number;
+ export function asRoughDays(dur: Duration): number;
+ export function asRoughHours(dur: Duration): number;
+ export function asRoughMinutes(dur: Duration): number;
+ export function asRoughSeconds(dur: Duration): number;
+ export function asRoughMs(dur: Duration): number;
+ export function wholeDivideDurations(numerator: Duration, denominator: Duration): number;
+ export function greatestDurationDenominator(dur: Duration, dontReturnWeeks?: boolean): {
+ unit: string;
+ value: number;
+ };
+}
+
+declare module '@fullcalendar/core/datelib/env' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { CalendarSystem } from '@fullcalendar/core/datelib/calendar-system';
+ import { Locale } from '@fullcalendar/core/datelib/locale';
+ import { NamedTimeZoneImpl, NamedTimeZoneImplClass } from '@fullcalendar/core/datelib/timezone';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { DateFormatter } from '@fullcalendar/core/datelib/formatting';
+ import { CmdFormatterFunc } from '@fullcalendar/core/datelib/formatting-cmd';
+ export interface DateEnvSettings {
+ timeZone: string;
+ namedTimeZoneImpl?: NamedTimeZoneImplClass;
+ calendarSystem: string;
+ locale: Locale;
+ weekNumberCalculation?: any;
+ firstDay?: any;
+ weekLabel?: string;
+ cmdFormatter?: CmdFormatterFunc;
+ }
+ export type DateInput = Date | string | number | number[];
+ export interface DateMarkerMeta {
+ marker: DateMarker;
+ isTimeUnspecified: boolean;
+ forcedTzo: number | null;
+ }
+ export class DateEnv {
+ timeZone: string;
+ namedTimeZoneImpl: NamedTimeZoneImpl;
+ canComputeOffset: boolean;
+ calendarSystem: CalendarSystem;
+ locale: Locale;
+ weekDow: number;
+ weekDoy: number;
+ weekNumberFunc: any;
+ weekLabel: string;
+ cmdFormatter?: CmdFormatterFunc;
+ constructor(settings: DateEnvSettings);
+ createMarker(input: DateInput): DateMarker;
+ createNowMarker(): DateMarker;
+ createMarkerMeta(input: DateInput): DateMarkerMeta;
+ parse(s: string): {
+ marker: Date;
+ isTimeUnspecified: boolean;
+ forcedTzo: any;
+ };
+ getYear(marker: DateMarker): number;
+ getMonth(marker: DateMarker): number;
+ add(marker: DateMarker, dur: Duration): DateMarker;
+ subtract(marker: DateMarker, dur: Duration): DateMarker;
+ addYears(marker: DateMarker, n: number): Date;
+ addMonths(marker: DateMarker, n: number): Date;
+ diffWholeYears(m0: DateMarker, m1: DateMarker): number;
+ diffWholeMonths(m0: DateMarker, m1: DateMarker): number;
+ greatestWholeUnit(m0: DateMarker, m1: DateMarker): {
+ unit: string;
+ value: number;
+ };
+ countDurationsBetween(m0: DateMarker, m1: DateMarker, d: Duration): number;
+ startOf(m: DateMarker, unit: string): Date;
+ startOfYear(m: DateMarker): DateMarker;
+ startOfMonth(m: DateMarker): DateMarker;
+ startOfWeek(m: DateMarker): DateMarker;
+ computeWeekNumber(marker: DateMarker): number;
+ format(marker: DateMarker, formatter: DateFormatter, dateOptions?: {
+ forcedTzo?: number;
+ }): any;
+ formatRange(start: DateMarker, end: DateMarker, formatter: DateFormatter, dateOptions?: {
+ forcedStartTzo?: number;
+ forcedEndTzo?: number;
+ isEndExclusive?: boolean;
+ }): any;
+ formatIso(marker: DateMarker, extraOptions?: any): string;
+ timestampToMarker(ms: number): Date;
+ offsetForMarker(m: DateMarker): number;
+ toDate(m: DateMarker, forcedTzo?: number): Date;
+ }
+}
+
+declare module '@fullcalendar/core/datelib/formatting' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { CalendarSystem } from '@fullcalendar/core/datelib/calendar-system';
+ import { Locale } from '@fullcalendar/core/datelib/locale';
+ import { CmdFormatterFunc } from '@fullcalendar/core/datelib/formatting-cmd';
+ import { FuncFormatterFunc } from '@fullcalendar/core/datelib/formatting-func';
+ export interface ZonedMarker {
+ marker: DateMarker;
+ timeZoneOffset: number;
+ }
+ export interface ExpandedZonedMarker extends ZonedMarker {
+ array: number[];
+ year: number;
+ month: number;
+ day: number;
+ hour: number;
+ minute: number;
+ second: number;
+ millisecond: number;
+ }
+ export interface VerboseFormattingArg {
+ date: ExpandedZonedMarker;
+ start: ExpandedZonedMarker;
+ end?: ExpandedZonedMarker;
+ timeZone: string;
+ localeCodes: string[];
+ separator: string;
+ }
+ export interface DateFormattingContext {
+ timeZone: string;
+ locale: Locale;
+ calendarSystem: CalendarSystem;
+ computeWeekNumber: (d: DateMarker) => number;
+ weekLabel: string;
+ cmdFormatter?: CmdFormatterFunc;
+ }
+ export interface DateFormatter {
+ format(date: ZonedMarker, context: DateFormattingContext): any;
+ formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext): any;
+ }
+ export type FormatterInput = object | string | FuncFormatterFunc;
+ export function createFormatter(input: FormatterInput, defaultSeparator?: string): DateFormatter;
+ export function buildIsoString(marker: DateMarker, timeZoneOffset?: number, stripZeroTime?: boolean): string;
+ export function formatIsoTimeString(marker: DateMarker): string;
+ export function formatTimeZoneOffset(minutes: number, doIso?: boolean): string;
+ export function createVerboseFormattingArg(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, separator?: string): VerboseFormattingArg;
+}
+
+declare module '@fullcalendar/core/datelib/timezone' {
+ export abstract class NamedTimeZoneImpl {
+ timeZoneName: string;
+ constructor(timeZoneName: string);
+ abstract offsetForArray(a: number[]): number;
+ abstract timestampToArray(ms: number): number[];
+ }
+ export type NamedTimeZoneImplClass = {
+ new (timeZoneName: string): NamedTimeZoneImpl;
+ };
+}
+
+declare module '@fullcalendar/core/datelib/parsing' {
+ export function parse(str: any): {
+ marker: Date;
+ isTimeUnspecified: boolean;
+ timeZoneOffset: any;
+ };
+}
+
+declare module '@fullcalendar/core/structs/event-source' {
+ import { EventInput } from '@fullcalendar/core/structs/event';
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ import { EventSourceFunc } from '@fullcalendar/core/event-sources/func-event-source';
+ import { EventUi } from '@fullcalendar/core/component/event-ui';
+ import { ConstraintInput, AllowFunc } from '@fullcalendar/core/validation';
+ export type EventSourceError = {
+ message: string;
+ response?: any;
+ [otherProp: string]: any;
+ };
+ export type EventInputTransformer = (eventInput: EventInput) => EventInput | null;
+ export type EventSourceSuccessResponseHandler = (rawData: any, response: any) => EventInput[] | void;
+ export type EventSourceErrorResponseHandler = (error: EventSourceError) => void;
+ export interface ExtendedEventSourceInput {
+ id?: string | number;
+ allDayDefault?: boolean;
+ eventDataTransform?: EventInputTransformer;
+ events?: EventInput[] | EventSourceFunc;
+ url?: string;
+ method?: string;
+ extraParams?: object | (() => object);
+ startParam?: string;
+ endParam?: string;
+ timeZoneParam?: string;
+ success?: EventSourceSuccessResponseHandler;
+ failure?: EventSourceErrorResponseHandler;
+ editable?: boolean;
+ startEditable?: boolean;
+ durationEditable?: boolean;
+ constraint?: ConstraintInput;
+ overlap?: boolean;
+ allow?: AllowFunc;
+ className?: string[] | string;
+ classNames?: string[] | string;
+ backgroundColor?: string;
+ borderColor?: string;
+ textColor?: string;
+ color?: string;
+ [otherProp: string]: any;
+ }
+ export type EventSourceInput = ExtendedEventSourceInput | // object in extended form
+ EventSourceFunc | // just a function
+ string;
+ export interface EventSource {
+ _raw: any;
+ sourceId: string;
+ sourceDefId: number;
+ meta: any;
+ publicId: string;
+ isFetching: boolean;
+ latestFetchId: string;
+ fetchRange: DateRange | null;
+ allDayDefault: boolean | null;
+ eventDataTransform: EventInputTransformer;
+ ui: EventUi;
+ success: EventSourceSuccessResponseHandler | null;
+ failure: EventSourceErrorResponseHandler | null;
+ extendedProps: any;
+ }
+ export type EventSourceHash = {
+ [sourceId: string]: EventSource;
+ };
+ export type EventSourceFetcher = (arg: {
+ eventSource: EventSource;
+ calendar: Calendar;
+ range: DateRange;
+ }, success: (res: {
+ rawEvents: EventInput[];
+ xhr?: XMLHttpRequest;
+ }) => void, failure: (error: EventSourceError) => void) => (void | PromiseLike<EventInput[]>);
+ export interface EventSourceDef {
+ ignoreRange?: boolean;
+ parseMeta: (raw: EventSourceInput) => object | null;
+ fetch: EventSourceFetcher;
+ }
+ export function doesSourceNeedRange(eventSource: EventSource, calendar: Calendar): boolean;
+ export function parseEventSource(raw: EventSourceInput, calendar: Calendar): EventSource | null;
+}
+
+declare module '@fullcalendar/core/interactions/interaction' {
+ import DateComponent from '@fullcalendar/core/component/DateComponent';
+ export abstract class Interaction {
+ component: DateComponent<any>;
+ constructor(settings: InteractionSettings);
+ destroy(): void;
+ }
+ export type InteractionClass = {
+ new (settings: InteractionSettings): Interaction;
+ };
+ export interface InteractionSettingsInput {
+ el: HTMLElement;
+ useEventCenter?: boolean;
+ }
+ export interface InteractionSettings {
+ component: DateComponent<any>;
+ el: HTMLElement;
+ useEventCenter: boolean;
+ }
+ export type InteractionSettingsStore = {
+ [componenUid: string]: InteractionSettings;
+ };
+ export function parseInteractionSettings(component: DateComponent<any>, input: InteractionSettingsInput): InteractionSettings;
+ export function interactionSettingsToStore(settings: InteractionSettings): {
+ [x: string]: InteractionSettings;
+ };
+ export let interactionSettingsStore: InteractionSettingsStore;
+}
+
+declare module '@fullcalendar/core/interactions/pointer' {
+ export interface PointerDragEvent {
+ origEvent: UIEvent;
+ isTouch: boolean;
+ subjectEl: EventTarget;
+ pageX: number;
+ pageY: number;
+ deltaX: number;
+ deltaY: number;
+ }
+}
+
+declare module '@fullcalendar/core/interactions/hit' {
+ import DateComponent from '@fullcalendar/core/component/DateComponent';
+ import { DateSpan } from '@fullcalendar/core/structs/date-span';
+ import { Rect } from '@fullcalendar/core/util/geom';
+ export interface Hit {
+ component: DateComponent<any>;
+ dateSpan: DateSpan;
+ dayEl: HTMLElement;
+ rect: Rect;
+ layer: number;
+ }
+}
+
+declare module '@fullcalendar/core/interactions/date-selecting' {
+ import { Hit } from '@fullcalendar/core/interactions/hit';
+ export type dateSelectionJoinTransformer = (hit0: Hit, hit1: Hit) => any;
+}
+
+declare module '@fullcalendar/core/interactions/event-dragging' {
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { EventMutation } from '@fullcalendar/core/structs/event-mutation';
+ import { Hit } from '@fullcalendar/core/interactions/hit';
+ import { EventDef } from '@fullcalendar/core/structs/event';
+ import { EventUi } from '@fullcalendar/core/component/event-ui';
+ import { View } from '@fullcalendar/core';
+ export type eventDragMutationMassager = (mutation: EventMutation, hit0: Hit, hit1: Hit) => void;
+ export type EventDropTransformers = (mutation: EventMutation, calendar: Calendar) => any;
+ export type eventIsDraggableTransformer = (val: boolean, eventDef: EventDef, eventUi: EventUi, view: View) => boolean;
+}
+
+declare module '@fullcalendar/core/interactions/event-resizing' {
+ import { Hit } from '@fullcalendar/core/interactions/hit';
+ export type EventResizeJoinTransforms = (hit0: Hit, hit1: Hit) => false | object;
+}
+
+declare module '@fullcalendar/core/interactions/ElementDragging' {
+ import EmitterMixin from '@fullcalendar/core/common/EmitterMixin';
+ export { ElementDragging as default, ElementDragging };
+ abstract class ElementDragging {
+ emitter: EmitterMixin;
+ constructor(el: HTMLElement);
+ destroy(): void;
+ abstract setIgnoreMove(bool: boolean): void;
+ setMirrorIsVisible(bool: boolean): void;
+ setMirrorNeedsRevert(bool: boolean): void;
+ setAutoScrollEnabled(bool: boolean): void;
+ }
+ export type ElementDraggingClass = {
+ new (el: HTMLElement): ElementDragging;
+ };
+}
+
+declare module '@fullcalendar/core/formatting-api' {
+ import { DateInput } from '@fullcalendar/core/datelib/env';
+ export function formatDate(dateInput: DateInput, settings?: {}): any;
+ export function formatRange(startInput: DateInput, endInput: DateInput, settings: any): any;
+}
+
+declare module '@fullcalendar/core/options' {
+ import { PluginDef } from '@fullcalendar/core/plugin-system';
+ export const config: any;
+ export const globalDefaults: {
+ defaultRangeSeparator: string;
+ titleRangeSeparator: string;
+ defaultTimedEventDuration: string;
+ defaultAllDayEventDuration: {
+ day: number;
+ };
+ forceEventDuration: boolean;
+ nextDayThreshold: string;
+ columnHeader: boolean;
+ defaultView: string;
+ aspectRatio: number;
+ header: {
+ left: string;
+ center: string;
+ right: string;
+ };
+ weekends: boolean;
+ weekNumbers: boolean;
+ weekNumberCalculation: string;
+ editable: boolean;
+ scrollTime: string;
+ minTime: string;
+ maxTime: string;
+ showNonCurrentDates: boolean;
+ lazyFetching: boolean;
+ startParam: string;
+ endParam: string;
+ timeZoneParam: string;
+ timeZone: string;
+ locales: any[];
+ locale: string;
+ timeGridEventMinHeight: number;
+ themeSystem: string;
+ dragRevertDuration: number;
+ dragScroll: boolean;
+ allDayMaintainDuration: boolean;
+ unselectAuto: boolean;
+ dropAccept: string;
+ eventOrder: string;
+ eventLimit: boolean;
+ eventLimitClick: string;
+ dayPopoverFormat: {
+ month: string;
+ day: string;
+ year: string;
+ };
+ handleWindowResize: boolean;
+ windowResizeDelay: number;
+ longPressDelay: number;
+ eventDragMinDistance: number;
+ };
+ export const rtlDefaults: {
+ header: {
+ left: string;
+ center: string;
+ right: string;
+ };
+ buttonIcons: {
+ prev: string;
+ next: string;
+ prevYear: string;
+ nextYear: string;
+ };
+ };
+ export function mergeOptions(optionObjs: any): any;
+ export function refinePluginDefs(pluginInputs: any[]): PluginDef[];
+}
+
+declare module '@fullcalendar/core/structs/recurring-event' {
+ import { EventInput, EventDef } from '@fullcalendar/core/structs/event';
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ import { DateEnv } from '@fullcalendar/core/datelib/env';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ export interface ParsedRecurring {
+ typeData: any;
+ allDayGuess: boolean | null;
+ duration: Duration | null;
+ }
+ export interface RecurringType {
+ parse: (rawEvent: EventInput, leftoverProps: any, dateEnv: DateEnv) => ParsedRecurring | null;
+ expand: (typeData: any, framingRange: DateRange, dateEnv: DateEnv) => DateMarker[];
+ }
+ export function parseRecurring(eventInput: EventInput, allDayDefault: boolean | null, dateEnv: DateEnv, recurringTypes: RecurringType[], leftovers: any): {
+ allDay: any;
+ duration: Duration;
+ typeData: any;
+ typeId: number;
+ };
+ export function expandRecurringRanges(eventDef: EventDef, duration: Duration, framingRange: DateRange, dateEnv: DateEnv, recurringTypes: RecurringType[]): DateMarker[];
+}
+
+declare module '@fullcalendar/core/structs/drag-meta' {
+ import { Duration, DurationInput } from '@fullcalendar/core/datelib/duration';
+ import { EventNonDateInput } from '@fullcalendar/core/structs/event';
+ export interface DragMetaInput extends EventNonDateInput {
+ startTime?: DurationInput;
+ duration?: DurationInput;
+ create?: boolean;
+ sourceId?: string;
+ }
+ export interface DragMeta {
+ startTime: Duration | null;
+ duration: Duration | null;
+ create: boolean;
+ sourceId: string;
+ leftoverProps: object;
+ }
+ export function parseDragMeta(raw: DragMetaInput): DragMeta;
+}
+
+declare module '@fullcalendar/core/plugin-system' {
+ import { reducerFunc } from '@fullcalendar/core/reducers/types';
+ import { eventDefParserFunc } from '@fullcalendar/core/structs/event';
+ import { eventDefMutationApplier } from '@fullcalendar/core/structs/event-mutation';
+ import Calendar, { DatePointTransform, DateSpanTransform, CalendarInteractionClass, OptionChangeHandlerMap } from '@fullcalendar/core/Calendar';
+ import { ViewConfigInputHash } from '@fullcalendar/core/structs/view-config';
+ import { ViewSpec } from '@fullcalendar/core/structs/view-spec';
+ import { ViewProps } from '@fullcalendar/core/View';
+ import { CalendarComponentProps } from '@fullcalendar/core/CalendarComponent';
+ import { isPropsValidTester } from '@fullcalendar/core/validation';
+ import { eventDragMutationMassager, eventIsDraggableTransformer, EventDropTransformers } from '@fullcalendar/core/interactions/event-dragging';
+ import { dateSelectionJoinTransformer } from '@fullcalendar/core/interactions/date-selecting';
+ import { EventResizeJoinTransforms } from '@fullcalendar/core/interactions/event-resizing';
+ import { ExternalDefTransform } from '@fullcalendar/core/interactions/external-element-dragging';
+ import { InteractionClass } from '@fullcalendar/core/interactions/interaction';
+ import { ThemeClass } from '@fullcalendar/core/theme/Theme';
+ import { EventSourceDef } from '@fullcalendar/core/structs/event-source';
+ import { CmdFormatterFunc } from '@fullcalendar/core/datelib/formatting-cmd';
+ import { RecurringType } from '@fullcalendar/core/structs/recurring-event';
+ import { NamedTimeZoneImplClass } from '@fullcalendar/core/datelib/timezone';
+ import { ElementDraggingClass } from '@fullcalendar/core/interactions/ElementDragging';
+ export interface PluginDefInput {
+ deps?: PluginDef[];
+ reducers?: reducerFunc[];
+ eventDefParsers?: eventDefParserFunc[];
+ isDraggableTransformers?: eventIsDraggableTransformer[];
+ eventDragMutationMassagers?: eventDragMutationMassager[];
+ eventDefMutationAppliers?: eventDefMutationApplier[];
+ dateSelectionTransformers?: dateSelectionJoinTransformer[];
+ datePointTransforms?: DatePointTransform[];
+ dateSpanTransforms?: DateSpanTransform[];
+ views?: ViewConfigInputHash;
+ viewPropsTransformers?: ViewPropsTransformerClass[];
+ isPropsValid?: isPropsValidTester;
+ externalDefTransforms?: ExternalDefTransform[];
+ eventResizeJoinTransforms?: EventResizeJoinTransforms[];
+ viewContainerModifiers?: ViewContainerModifier[];
+ eventDropTransformers?: EventDropTransformers[];
+ componentInteractions?: InteractionClass[];
+ calendarInteractions?: CalendarInteractionClass[];
+ themeClasses?: {
+ [themeSystemName: string]: ThemeClass;
+ };
+ eventSourceDefs?: EventSourceDef[];
+ cmdFormatter?: CmdFormatterFunc;
+ recurringTypes?: RecurringType[];
+ namedTimeZonedImpl?: NamedTimeZoneImplClass;
+ defaultView?: string;
+ elementDraggingImpl?: ElementDraggingClass;
+ optionChangeHandlers?: OptionChangeHandlerMap;
+ }
+ export interface PluginHooks {
+ reducers: reducerFunc[];
+ eventDefParsers: eventDefParserFunc[];
+ isDraggableTransformers: eventIsDraggableTransformer[];
+ eventDragMutationMassagers: eventDragMutationMassager[];
+ eventDefMutationAppliers: eventDefMutationApplier[];
+ dateSelectionTransformers: dateSelectionJoinTransformer[];
+ datePointTransforms: DatePointTransform[];
+ dateSpanTransforms: DateSpanTransform[];
+ views: ViewConfigInputHash;
+ viewPropsTransformers: ViewPropsTransformerClass[];
+ isPropsValid: isPropsValidTester | null;
+ externalDefTransforms: ExternalDefTransform[];
+ eventResizeJoinTransforms: EventResizeJoinTransforms[];
+ viewContainerModifiers: ViewContainerModifier[];
+ eventDropTransformers: EventDropTransformers[];
+ componentInteractions: InteractionClass[];
+ calendarInteractions: CalendarInteractionClass[];
+ themeClasses: {
+ [themeSystemName: string]: ThemeClass;
+ };
+ eventSourceDefs: EventSourceDef[];
+ cmdFormatter?: CmdFormatterFunc;
+ recurringTypes: RecurringType[];
+ namedTimeZonedImpl?: NamedTimeZoneImplClass;
+ defaultView: string;
+ elementDraggingImpl?: ElementDraggingClass;
+ optionChangeHandlers: OptionChangeHandlerMap;
+ }
+ export interface PluginDef extends PluginHooks {
+ id: string;
+ deps: PluginDef[];
+ }
+ export type ViewPropsTransformerClass = new () => ViewPropsTransformer;
+ export interface ViewPropsTransformer {
+ transform(viewProps: ViewProps, viewSpec: ViewSpec, calendarProps: CalendarComponentProps, allOptions: any): any;
+ }
+ export type ViewContainerModifier = (contentEl: HTMLElement, calendar: Calendar) => void;
+ export function createPlugin(input: PluginDefInput): PluginDef;
+ export class PluginSystem {
+ hooks: PluginHooks;
+ addedHash: {
+ [pluginId: string]: true;
+ };
+ constructor();
+ add(plugin: PluginDef): void;
+ }
+}
+
+declare module '@fullcalendar/core/reducers/types' {
+ import { EventInput, EventInstanceHash } from '@fullcalendar/core/structs/event';
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { EventMutation } from '@fullcalendar/core/structs/event-mutation';
+ import { EventSource, EventSourceHash, EventSourceError } from '@fullcalendar/core/structs/event-source';
+ import { DateProfile } from '@fullcalendar/core/DateProfileGenerator';
+ import { EventInteractionState } from '@fullcalendar/core/interactions/event-interaction-state';
+ import { DateSpan } from '@fullcalendar/core/structs/date-span';
+ import { DateEnv } from '@fullcalendar/core/datelib/env';
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ export interface CalendarState {
+ eventSources: EventSourceHash;
+ eventSourceLoadingLevel: number;
+ loadingLevel: number;
+ viewType: string;
+ currentDate: DateMarker;
+ dateProfile: DateProfile | null;
+ eventStore: EventStore;
+ dateSelection: DateSpan | null;
+ eventSelection: string;
+ eventDrag: EventInteractionState | null;
+ eventResize: EventInteractionState | null;
+ }
+ export type reducerFunc = (state: CalendarState, action: Action, calendar: Calendar) => CalendarState;
+ export type Action = {
+ type: 'INIT';
+ } | // wont it create another rerender?
+ {
+ type: 'PREV';
+ } | {
+ type: 'NEXT';
+ } | {
+ type: 'SET_DATE';
+ dateMarker: DateMarker;
+ } | {
+ type: 'SET_VIEW_TYPE';
+ viewType: string;
+ dateMarker?: DateMarker;
+ } | {
+ type: 'SELECT_DATES';
+ selection: DateSpan;
+ } | {
+ type: 'UNSELECT_DATES';
+ } | {
+ type: 'SELECT_EVENT';
+ eventInstanceId: string;
+ } | {
+ type: 'UNSELECT_EVENT';
+ } | {
+ type: 'SET_EVENT_DRAG';
+ state: EventInteractionState;
+ } | {
+ type: 'UNSET_EVENT_DRAG';
+ } | {
+ type: 'SET_EVENT_RESIZE';
+ state: EventInteractionState;
+ } | {
+ type: 'UNSET_EVENT_RESIZE';
+ } | {
+ type: 'ADD_EVENT_SOURCES';
+ sources: EventSource[];
+ } | {
+ type: 'REMOVE_EVENT_SOURCE';
+ sourceId: string;
+ } | {
+ type: 'REMOVE_ALL_EVENT_SOURCES';
+ } | {
+ type: 'FETCH_EVENT_SOURCES';
+ sourceIds?: string[];
+ } | // if no sourceIds, fetch all
+ {
+ type: 'CHANGE_TIMEZONE';
+ oldDateEnv: DateEnv;
+ } | {
+ type: 'RECEIVE_EVENTS';
+ sourceId: string;
+ fetchId: string;
+ fetchRange: DateRange | null;
+ rawEvents: EventInput[];
+ } | {
+ type: 'RECEIVE_EVENT_ERROR';
+ sourceId: string;
+ fetchId: string;
+ fetchRange: DateRange | null;
+ error: EventSourceError;
+ } | // need all these?
+ {
+ type: 'ADD_EVENTS';
+ eventStore: EventStore;
+ } | {
+ type: 'MERGE_EVENTS';
+ eventStore: EventStore;
+ } | {
+ type: 'MUTATE_EVENTS';
+ instanceId: string;
+ mutation: EventMutation;
+ fromApi?: boolean;
+ } | {
+ type: 'REMOVE_EVENT_DEF';
+ defId: string;
+ } | {
+ type: 'REMOVE_EVENT_INSTANCES';
+ instances: EventInstanceHash;
+ } | {
+ type: 'REMOVE_ALL_EVENTS';
+ } | {
+ type: 'RESET_EVENTS';
+ };
+}
+
+declare module '@fullcalendar/core/CalendarComponent' {
+ import Component, { ComponentContext } from '@fullcalendar/core/component/Component';
+ import { ViewSpec } from '@fullcalendar/core/structs/view-spec';
+ import View from '@fullcalendar/core/View';
+ import Toolbar from '@fullcalendar/core/Toolbar';
+ import DateProfileGenerator, { DateProfile } from '@fullcalendar/core/DateProfileGenerator';
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { EventUiHash } from '@fullcalendar/core/component/event-ui';
+ import { BusinessHoursInput } from '@fullcalendar/core/structs/business-hours';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { CalendarState } from '@fullcalendar/core/reducers/types';
+ export interface CalendarComponentProps extends CalendarState {
+ viewSpec: ViewSpec;
+ dateProfileGenerator: DateProfileGenerator;
+ eventUiBases: EventUiHash;
+ }
+ export { CalendarComponent as default, CalendarComponent };
+ class CalendarComponent extends Component<CalendarComponentProps> {
+ view: View;
+ header: Toolbar;
+ footer: Toolbar;
+ computeTitle: (dateProfile: any, viewOptions: any) => string;
+ parseBusinessHours: (input: BusinessHoursInput) => EventStore;
+ el: HTMLElement;
+ contentEl: HTMLElement;
+ elClassNames: string[];
+ savedScroll: any;
+ isHeightAuto: boolean;
+ viewHeight: number;
+ constructor(el: HTMLElement);
+ render(props: CalendarComponentProps, context: ComponentContext): void;
+ destroy(): void;
+ _renderSkeleton(context: ComponentContext): void;
+ _unrenderSkeleton(): void;
+ removeElClassNames(): void;
+ updateElClassNames(context: ComponentContext): void;
+ _renderToolbars(viewSpec: ViewSpec, dateProfile: DateProfile, currentDate: DateMarker, title: string): void;
+ _unrenderToolbars(): void;
+ renderView(props: CalendarComponentProps, title: string): void;
+ updateSize(isResize?: boolean): void;
+ computeHeightVars(): void;
+ queryToolbarsHeight(): number;
+ freezeHeight(): void;
+ thawHeight(): void;
+ }
+}
+
+declare module '@fullcalendar/core/common/DayHeader' {
+ import Component, { ComponentContext } from '@fullcalendar/core/component/Component';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { DateProfile } from '@fullcalendar/core/DateProfileGenerator';
+ export interface DayTableHeaderProps {
+ dates: DateMarker[];
+ dateProfile: DateProfile;
+ datesRepDistinctDays: boolean;
+ renderIntroHtml?: () => string;
+ }
+ export { DayHeader as default, DayHeader };
+ class DayHeader extends Component<DayTableHeaderProps> {
+ parentEl: HTMLElement;
+ el: HTMLElement;
+ thead: HTMLElement;
+ constructor(parentEl: HTMLElement);
+ render(props: DayTableHeaderProps, context: ComponentContext): void;
+ destroy(): void;
+ _renderSkeleton(context: ComponentContext): void;
+ _unrenderSkeleton(): void;
+ }
+}
+
+declare module '@fullcalendar/core/common/table-utils' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { DateProfile } from '@fullcalendar/core/DateProfileGenerator';
+ import { ComponentContext } from '@fullcalendar/core/component/Component';
+ export function computeFallbackHeaderFormat(datesRepDistinctDays: boolean, dayCnt: number): {
+ weekday: string;
+ month?: undefined;
+ day?: undefined;
+ omitCommas?: undefined;
+ } | {
+ weekday: string;
+ month: string;
+ day: string;
+ omitCommas: boolean;
+ };
+ export function renderDateCell(dateMarker: DateMarker, dateProfile: DateProfile, datesRepDistinctDays: any, colCnt: any, colHeadFormat: any, context: ComponentContext, colspan?: any, otherAttrs?: any): string;
+}
+
+declare module '@fullcalendar/core/common/DaySeries' {
+ import DateProfileGenerator from '@fullcalendar/core/DateProfileGenerator';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ export interface DaySeriesSeg {
+ firstIndex: number;
+ lastIndex: number;
+ isStart: boolean;
+ isEnd: boolean;
+ }
+ export { DaySeries as default, DaySeries };
+ class DaySeries {
+ cnt: number;
+ dates: DateMarker[];
+ indices: number[];
+ constructor(range: DateRange, dateProfileGenerator: DateProfileGenerator);
+ sliceRange(range: DateRange): DaySeriesSeg | null;
+ }
+}
+
+declare module '@fullcalendar/core/interactions/event-interaction-state' {
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { Seg } from '@fullcalendar/core/component/DateComponent';
+ export interface EventInteractionState {
+ affectedEvents: EventStore;
+ mutatedEvents: EventStore;
+ isEvent: boolean;
+ origSeg: Seg | null;
+ }
+}
+
+declare module '@fullcalendar/core/component/event-rendering' {
+ import { EventDef, EventTuple, EventDefHash } from '@fullcalendar/core/structs/event';
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { Seg } from '@fullcalendar/core/component/DateComponent';
+ import { EventUi, EventUiHash } from '@fullcalendar/core/component/event-ui';
+ import { ComponentContext } from '@fullcalendar/core/component/Component';
+ export interface EventRenderRange extends EventTuple {
+ ui: EventUi;
+ range: DateRange;
+ isStart: boolean;
+ isEnd: boolean;
+ }
+ export function sliceEventStore(eventStore: EventStore, eventUiBases: EventUiHash, framingRange: DateRange, nextDayThreshold?: Duration): {
+ bg: EventRenderRange[];
+ fg: EventRenderRange[];
+ };
+ export function hasBgRendering(def: EventDef): boolean;
+ export function filterSegsViaEls(context: ComponentContext, segs: Seg[], isMirror: boolean): Seg[];
+ export function getElSeg(el: HTMLElement): Seg | null;
+ export function compileEventUis(eventDefs: EventDefHash, eventUiBases: EventUiHash): {
+ [key: string]: EventUi;
+ };
+ export function compileEventUi(eventDef: EventDef, eventUiBases: EventUiHash): EventUi;
+ export function triggerRenderedSegs(context: ComponentContext, segs: Seg[], isMirrors: boolean): void;
+ export function triggerWillRemoveSegs(context: ComponentContext, segs: Seg[], isMirrors: boolean): void;
+ export function computeEventDraggable(context: ComponentContext, eventDef: EventDef, eventUi: EventUi): boolean;
+ export function computeEventStartResizable(context: ComponentContext, eventDef: EventDef, eventUi: EventUi): any;
+ export function computeEventEndResizable(context: ComponentContext, eventDef: EventDef, eventUi: EventUi): boolean;
+}
+
+declare module '@fullcalendar/core/common/DayTable' {
+ import DaySeries from '@fullcalendar/core/common/DaySeries';
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import { Seg } from '@fullcalendar/core/component/DateComponent';
+ export interface DayTableSeg extends Seg {
+ row: number;
+ firstCol: number;
+ lastCol: number;
+ }
+ export interface DayTableCell {
+ date: DateMarker;
+ htmlAttrs?: string;
+ }
+ export { DayTable as default, DayTable };
+ class DayTable {
+ rowCnt: number;
+ colCnt: number;
+ cells: DayTableCell[][];
+ headerDates: DateMarker[];
+ constructor(daySeries: DaySeries, breakOnWeeks: boolean);
+ sliceRange(range: DateRange): DayTableSeg[];
+ }
+}
+
+declare module '@fullcalendar/core/common/slicing-utils' {
+ import { DateRange } from '@fullcalendar/core/datelib/date-range';
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { EventUiHash } from '@fullcalendar/core/component/event-ui';
+ import { DateProfile } from '@fullcalendar/core/DateProfileGenerator';
+ import DateComponent, { Seg, EventSegUiInteractionState } from '@fullcalendar/core/component/DateComponent';
+ import { DateSpan } from '@fullcalendar/core/structs/date-span';
+ import { EventInteractionState } from '@fullcalendar/core/interactions/event-interaction-state';
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ import Calendar from '@fullcalendar/core/Calendar';
+ export interface SliceableProps {
+ dateSelection: DateSpan;
+ businessHours: EventStore;
+ eventStore: EventStore;
+ eventDrag: EventInteractionState | null;
+ eventResize: EventInteractionState | null;
+ eventSelection: string;
+ eventUiBases: EventUiHash;
+ }
+ export interface SlicedProps<SegType extends Seg> {
+ dateSelectionSegs: SegType[];
+ businessHourSegs: SegType[];
+ fgEventSegs: SegType[];
+ bgEventSegs: SegType[];
+ eventDrag: EventSegUiInteractionState | null;
+ eventResize: EventSegUiInteractionState | null;
+ eventSelection: string;
+ }
+ export { Slicer as default, Slicer };
+ abstract class Slicer<SegType extends Seg, ExtraArgs extends any[] = []> {
+ abstract sliceRange(dateRange: DateRange, ...extraArgs: ExtraArgs): SegType[];
+ sliceProps(props: SliceableProps, dateProfile: DateProfile, nextDayThreshold: Duration | null, calendar: Calendar, component: DateComponent<any>, // TODO: kill
+ ...extraArgs: ExtraArgs): SlicedProps<SegType>;
+ sliceNowDate(// does not memoize
+ date: DateMarker, component: DateComponent<any>, // TODO: kill
+ ...extraArgs: ExtraArgs): SegType[];
+ }
+}
+
+declare module '@fullcalendar/core/structs/event-mutation' {
+ import { Duration } from '@fullcalendar/core/datelib/duration';
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import { EventDef } from '@fullcalendar/core/structs/event';
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { EventUiHash } from '@fullcalendar/core/component/event-ui';
+ export interface EventMutation {
+ datesDelta?: Duration;
+ startDelta?: Duration;
+ endDelta?: Duration;
+ standardProps?: any;
+ extendedProps?: any;
+ }
+ export function applyMutationToEventStore(eventStore: EventStore, eventConfigBase: EventUiHash, mutation: EventMutation, calendar: Calendar): EventStore;
+ export type eventDefMutationApplier = (eventDef: EventDef, mutation: EventMutation, calendar: Calendar) => void;
+}
+
+declare module '@fullcalendar/core/validation' {
+ import { EventStore } from '@fullcalendar/core/structs/event-store';
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { DateSpan, DateSpanApi } from '@fullcalendar/core/structs/date-span';
+ import EventApi from '@fullcalendar/core/api/EventApi';
+ import { EventInput } from '@fullcalendar/core/structs/event';
+ import { EventInteractionState } from '@fullcalendar/core/interactions/event-interaction-state';
+ import { SplittableProps } from '@fullcalendar/core/component/event-splitting';
+ export type ConstraintInput = 'businessHours' | string | EventInput | EventInput[];
+ export type Constraint = 'businessHours' | string | EventStore | false;
+ export type OverlapFunc = ((stillEvent: EventApi, movingEvent: EventApi | null) => boolean);
+ export type AllowFunc = (span: DateSpanApi, movingEvent: EventApi | null) => boolean;
+ export type isPropsValidTester = (props: SplittableProps, calendar: Calendar) => boolean;
+ export function isInteractionValid(interaction: EventInteractionState, calendar: Calendar): boolean;
+ export function isDateSelectionValid(dateSelection: DateSpan, calendar: Calendar): boolean;
+ export function isPropsValid(state: SplittableProps, calendar: Calendar, dateSpanMeta?: {}, filterConfig?: any): boolean;
+ export function normalizeConstraint(input: ConstraintInput, calendar: Calendar): Constraint | null;
+}
+
+declare module '@fullcalendar/core/api/EventApi' {
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { EventDef, EventInstance } from '@fullcalendar/core/structs/event';
+ import { EventMutation } from '@fullcalendar/core/structs/event-mutation';
+ import { DateInput } from '@fullcalendar/core/datelib/env';
+ import { DurationInput } from '@fullcalendar/core/datelib/duration';
+ import { FormatterInput } from '@fullcalendar/core/datelib/formatting';
+ import EventSourceApi from '@fullcalendar/core/api/EventSourceApi';
+ export { EventApi as default, EventApi };
+ class EventApi {
+ _calendar: Calendar;
+ _def: EventDef;
+ _instance: EventInstance | null;
+ constructor(calendar: Calendar, def: EventDef, instance?: EventInstance);
+ setProp(name: string, val: string): void;
+ setExtendedProp(name: string, val: any): void;
+ setStart(startInput: DateInput, options?: {
+ granularity?: string;
+ maintainDuration?: boolean;
+ }): void;
+ setEnd(endInput: DateInput | null, options?: {
+ granularity?: string;
+ }): void;
+ setDates(startInput: DateInput, endInput: DateInput | null, options?: {
+ allDay?: boolean;
+ granularity?: string;
+ }): void;
+ moveStart(deltaInput: DurationInput): void;
+ moveEnd(deltaInput: DurationInput): void;
+ moveDates(deltaInput: DurationInput): void;
+ setAllDay(allDay: boolean, options?: {
+ maintainDuration?: boolean;
+ }): void;
+ formatRange(formatInput: FormatterInput): any;
+ mutate(mutation: EventMutation): void;
+ remove(): void;
+ readonly source: EventSourceApi | null;
+ readonly start: Date | null;
+ readonly end: Date | null;
+ readonly id: string;
+ readonly groupId: string;
+ readonly allDay: boolean;
+ readonly title: string;
+ readonly url: string;
+ readonly rendering: string;
+ readonly startEditable: boolean;
+ readonly durationEditable: boolean;
+ readonly constraint: any;
+ readonly overlap: any;
+ readonly allow: any;
+ readonly backgroundColor: string;
+ readonly borderColor: string;
+ readonly textColor: string;
+ readonly classNames: string[];
+ readonly extendedProps: any;
+ }
+}
+
+declare module '@fullcalendar/core/util/requestJson' {
+ export default function requestJson(method: string, url: string, params: object, successCallback: any, failureCallback: any): void;
+}
+
+declare module '@fullcalendar/core/datelib/locale' {
+ export type LocaleCodeArg = string | string[];
+ export type LocaleSingularArg = LocaleCodeArg | RawLocale;
+ export interface Locale {
+ codeArg: LocaleCodeArg;
+ codes: string[];
+ week: {
+ dow: number;
+ doy: number;
+ };
+ simpleNumberFormat: Intl.NumberFormat;
+ options: any;
+ }
+ export interface RawLocale {
+ code: string;
+ [otherProp: string]: any;
+ }
+ export type RawLocaleMap = {
+ [code: string]: RawLocale;
+ };
+ export interface RawLocaleInfo {
+ map: RawLocaleMap;
+ defaultCode: string;
+ }
+ export function parseRawLocales(explicitRawLocales: RawLocale[]): RawLocaleInfo;
+ export function buildLocale(inputSingular: LocaleSingularArg, available: RawLocaleMap): Locale;
+}
+
+declare module '@fullcalendar/core/OptionsManager' {
+ export { OptionsManager as default, OptionsManager };
+ class OptionsManager {
+ dirDefaults: any;
+ localeDefaults: any;
+ overrides: any;
+ dynamicOverrides: any;
+ computed: any;
+ constructor(overrides: any);
+ mutate(updates: any, removals: string[], isDynamic?: boolean): void;
+ compute(): void;
+ }
+}
+
+declare module '@fullcalendar/core/api/EventSourceApi' {
+ import Calendar from '@fullcalendar/core/Calendar';
+ import { EventSource } from '@fullcalendar/core/structs/event-source';
+ export { EventSourceApi as default, EventSourceApi };
+ class EventSourceApi {
+ calendar: Calendar;
+ internalEventSource: EventSource;
+ constructor(calendar: Calendar, internalEventSource: EventSource);
+ remove(): void;
+ refetch(): void;
+ readonly id: string;
+ readonly url: string;
+ }
+}
+
+declare module '@fullcalendar/core/structs/view-config' {
+ import View from '@fullcalendar/core/View';
+ import { ViewSpec } from '@fullcalendar/core/structs/view-spec';
+ export type ViewClass = new (viewSpec: ViewSpec, parentEl: HTMLElement) => View;
+ export interface ViewConfigObjectInput {
+ type?: string;
+ class?: ViewClass;
+ [optionName: string]: any;
+ }
+ export type ViewConfigInput = ViewClass | ViewConfigObjectInput;
+ export type ViewConfigInputHash = {
+ [viewType: string]: ViewConfigInput;
+ };
+ export interface ViewConfig {
+ superType: string;
+ class: ViewClass | null;
+ options: any;
+ }
+ export type ViewConfigHash = {
+ [viewType: string]: ViewConfig;
+ };
+ export function parseViewConfigs(inputs: ViewConfigInputHash): ViewConfigHash;
+}
+
+declare module '@fullcalendar/core/datelib/calendar-system' {
+ import { DateMarker } from '@fullcalendar/core/datelib/marker';
+ export interface CalendarSystem {
+ getMarkerYear(d: DateMarker): number;
+ getMarkerMonth(d: DateMarker): number;
+ getMarkerDay(d: DateMarker): number;
+ arrayToMarker(arr: number[]): DateMarker;
+ markerToArray(d: DateMarker): number[];
+ }
+ export function registerCalendarSystem(name: any, theClass: any): void;
+ export function createCalendarSystem(name: any): any;
+}
+
+declare module '@fullcalendar/core/datelib/formatting-cmd' {
+ import { DateFormatter, DateFormattingContext, ZonedMarker, VerboseFormattingArg } from '@fullcalendar/core/datelib/formatting';
+ export type CmdFormatterFunc = (cmd: string, arg: VerboseFormattingArg) => string;
+ export class CmdFormatter implements DateFormatter {
+ cmdStr: string;
+ separator: string;
+ constructor(cmdStr: string, separator?: string);
+ format(date: ZonedMarker, context: DateFormattingContext): string;
+ formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext): string;
+ }
+}
+
+declare module '@fullcalendar/core/datelib/formatting-func' {
+ import { DateFormatter, DateFormattingContext, ZonedMarker, VerboseFormattingArg } from '@fullcalendar/core/datelib/formatting';
+ export type FuncFormatterFunc = (arg: VerboseFormattingArg) => string;
+ export class FuncFormatter implements DateFormatter {
+ func: FuncFormatterFunc;
+ constructor(func: FuncFormatterFunc);
+ format(date: ZonedMarker, context: DateFormattingContext): string;
+ formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext): string;
+ }
+}
+
+declare module '@fullcalendar/core/event-sources/func-event-source' {
+ import { EventSourceError } from '@fullcalendar/core/structs/event-source';
+ import { EventInput } from '@fullcalendar/core/structs/event';
+ export type EventSourceFunc = (arg: {
+ start: Date;
+ end: Date;
+ timeZone: string;
+ }, successCallback: (events: EventInput[]) => void, failureCallback: (error: EventSourceError) => void) => (void | PromiseLike<EventInput[]>);
+ const _default: import("@fullcalendar/core/plugin-system").PluginDef;
+ export default _default;
+}
+
+declare module '@fullcalendar/core/interactions/external-element-dragging' {
+ import { DateSpan } from '@fullcalendar/core/structs/date-span';
+ import { DragMeta } from '@fullcalendar/core/structs/drag-meta';
+ export type ExternalDefTransform = (dateSpan: DateSpan, dragMeta: DragMeta) => any;
+}
+
+declare module '@fullcalendar/core/Toolbar' {
+ import Component from '@fullcalendar/core/component/Component';
+ export interface ToolbarRenderProps {
+ layout: any;
+ title: string;
+ activeButton: string;
+ isTodayEnabled: boolean;
+ isPrevEnabled: boolean;
+ isNextEnabled: boolean;
+ }
+ export { Toolbar as default, Toolbar };
+ class Toolbar extends Component<ToolbarRenderProps> {
+ el: HTMLElement;
+ viewsWithButtons: any;
+ constructor(extraClassName: any);
+ destroy(): void;
+ render(props: ToolbarRenderProps): void;
+ renderLayout(layout: any): void;
+ unrenderLayout(): void;
+ renderSection(position: any, buttonStr: any): HTMLElement;
+ updateToday(isTodayEnabled: any): void;
+ updatePrev(isPrevEnabled: any): void;
+ updateNext(isNextEnabled: any): void;
+ updateTitle(text: any): void;
+ updateActiveButton(buttonName?: any): void;
+ toggleButtonEnabled(buttonName: any, bool: any): void;
+ }
+}
+
diff --git a/library/fullcalendar/packages/core/main.esm.js b/library/fullcalendar/packages/core/main.esm.js
new file mode 100644
index 000000000..a9cb1b462
--- /dev/null
+++ b/library/fullcalendar/packages/core/main.esm.js
@@ -0,0 +1,8582 @@
+/*!
+FullCalendar Core Package v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+// Creating
+// ----------------------------------------------------------------------------------------------------------------
+var elementPropHash = {
+ className: true,
+ colSpan: true,
+ rowSpan: true
+};
+var containerTagHash = {
+ '<tr': 'tbody',
+ '<td': 'tr'
+};
+function createElement(tagName, attrs, content) {
+ var el = document.createElement(tagName);
+ if (attrs) {
+ for (var attrName in attrs) {
+ if (attrName === 'style') {
+ applyStyle(el, attrs[attrName]);
+ }
+ else if (elementPropHash[attrName]) {
+ el[attrName] = attrs[attrName];
+ }
+ else {
+ el.setAttribute(attrName, attrs[attrName]);
+ }
+ }
+ }
+ if (typeof content === 'string') {
+ el.innerHTML = content; // shortcut. no need to process HTML in any way
+ }
+ else if (content != null) {
+ appendToElement(el, content);
+ }
+ return el;
+}
+function htmlToElement(html) {
+ html = html.trim();
+ var container = document.createElement(computeContainerTag(html));
+ container.innerHTML = html;
+ return container.firstChild;
+}
+function htmlToElements(html) {
+ return Array.prototype.slice.call(htmlToNodeList(html));
+}
+function htmlToNodeList(html) {
+ html = html.trim();
+ var container = document.createElement(computeContainerTag(html));
+ container.innerHTML = html;
+ return container.childNodes;
+}
+// assumes html already trimmed and tag names are lowercase
+function computeContainerTag(html) {
+ return containerTagHash[html.substr(0, 3) // faster than using regex
+ ] || 'div';
+}
+function appendToElement(el, content) {
+ var childNodes = normalizeContent(content);
+ for (var i = 0; i < childNodes.length; i++) {
+ el.appendChild(childNodes[i]);
+ }
+}
+function prependToElement(parent, content) {
+ var newEls = normalizeContent(content);
+ var afterEl = parent.firstChild || null; // if no firstChild, will append to end, but that's okay, b/c there were no children
+ for (var i = 0; i < newEls.length; i++) {
+ parent.insertBefore(newEls[i], afterEl);
+ }
+}
+function insertAfterElement(refEl, content) {
+ var newEls = normalizeContent(content);
+ var afterEl = refEl.nextSibling || null;
+ for (var i = 0; i < newEls.length; i++) {
+ refEl.parentNode.insertBefore(newEls[i], afterEl);
+ }
+}
+function normalizeContent(content) {
+ var els;
+ if (typeof content === 'string') {
+ els = htmlToElements(content);
+ }
+ else if (content instanceof Node) {
+ els = [content];
+ }
+ else { // Node[] or NodeList
+ els = Array.prototype.slice.call(content);
+ }
+ return els;
+}
+function removeElement(el) {
+ if (el.parentNode) {
+ el.parentNode.removeChild(el);
+ }
+}
+// Querying
+// ----------------------------------------------------------------------------------------------------------------
+// from https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
+var matchesMethod = Element.prototype.matches ||
+ Element.prototype.matchesSelector ||
+ Element.prototype.msMatchesSelector;
+var closestMethod = Element.prototype.closest || function (selector) {
+ // polyfill
+ var el = this;
+ if (!document.documentElement.contains(el)) {
+ return null;
+ }
+ do {
+ if (elementMatches(el, selector)) {
+ return el;
+ }
+ el = el.parentElement || el.parentNode;
+ } while (el !== null && el.nodeType === 1);
+ return null;
+};
+function elementClosest(el, selector) {
+ return closestMethod.call(el, selector);
+}
+function elementMatches(el, selector) {
+ return matchesMethod.call(el, selector);
+}
+// accepts multiple subject els
+// returns a real array. good for methods like forEach
+function findElements(container, selector) {
+ var containers = container instanceof HTMLElement ? [container] : container;
+ var allMatches = [];
+ for (var i = 0; i < containers.length; i++) {
+ var matches = containers[i].querySelectorAll(selector);
+ for (var j = 0; j < matches.length; j++) {
+ allMatches.push(matches[j]);
+ }
+ }
+ return allMatches;
+}
+// accepts multiple subject els
+// only queries direct child elements
+function findChildren(parent, selector) {
+ var parents = parent instanceof HTMLElement ? [parent] : parent;
+ var allMatches = [];
+ for (var i = 0; i < parents.length; i++) {
+ var childNodes = parents[i].children; // only ever elements
+ for (var j = 0; j < childNodes.length; j++) {
+ var childNode = childNodes[j];
+ if (!selector || elementMatches(childNode, selector)) {
+ allMatches.push(childNode);
+ }
+ }
+ }
+ return allMatches;
+}
+// Attributes
+// ----------------------------------------------------------------------------------------------------------------
+function forceClassName(el, className, bool) {
+ if (bool) {
+ el.classList.add(className);
+ }
+ else {
+ el.classList.remove(className);
+ }
+}
+// Style
+// ----------------------------------------------------------------------------------------------------------------
+var PIXEL_PROP_RE = /(top|left|right|bottom|width|height)$/i;
+function applyStyle(el, props) {
+ for (var propName in props) {
+ applyStyleProp(el, propName, props[propName]);
+ }
+}
+function applyStyleProp(el, name, val) {
+ if (val == null) {
+ el.style[name] = '';
+ }
+ else if (typeof val === 'number' && PIXEL_PROP_RE.test(name)) {
+ el.style[name] = val + 'px';
+ }
+ else {
+ el.style[name] = val;
+ }
+}
+
+function pointInsideRect(point, rect) {
+ return point.left >= rect.left &&
+ point.left < rect.right &&
+ point.top >= rect.top &&
+ point.top < rect.bottom;
+}
+// Returns a new rectangle that is the intersection of the two rectangles. If they don't intersect, returns false
+function intersectRects(rect1, rect2) {
+ var res = {
+ left: Math.max(rect1.left, rect2.left),
+ right: Math.min(rect1.right, rect2.right),
+ top: Math.max(rect1.top, rect2.top),
+ bottom: Math.min(rect1.bottom, rect2.bottom)
+ };
+ if (res.left < res.right && res.top < res.bottom) {
+ return res;
+ }
+ return false;
+}
+function translateRect(rect, deltaX, deltaY) {
+ return {
+ left: rect.left + deltaX,
+ right: rect.right + deltaX,
+ top: rect.top + deltaY,
+ bottom: rect.bottom + deltaY
+ };
+}
+// Returns a new point that will have been moved to reside within the given rectangle
+function constrainPoint(point, rect) {
+ return {
+ left: Math.min(Math.max(point.left, rect.left), rect.right),
+ top: Math.min(Math.max(point.top, rect.top), rect.bottom)
+ };
+}
+// Returns a point that is the center of the given rectangle
+function getRectCenter(rect) {
+ return {
+ left: (rect.left + rect.right) / 2,
+ top: (rect.top + rect.bottom) / 2
+ };
+}
+// Subtracts point2's coordinates from point1's coordinates, returning a delta
+function diffPoints(point1, point2) {
+ return {
+ left: point1.left - point2.left,
+ top: point1.top - point2.top
+ };
+}
+
+// Logic for determining if, when the element is right-to-left, the scrollbar appears on the left side
+var isRtlScrollbarOnLeft = null;
+function getIsRtlScrollbarOnLeft() {
+ if (isRtlScrollbarOnLeft === null) {
+ isRtlScrollbarOnLeft = computeIsRtlScrollbarOnLeft();
+ }
+ return isRtlScrollbarOnLeft;
+}
+function computeIsRtlScrollbarOnLeft() {
+ var outerEl = createElement('div', {
+ style: {
+ position: 'absolute',
+ top: -1000,
+ left: 0,
+ border: 0,
+ padding: 0,
+ overflow: 'scroll',
+ direction: 'rtl'
+ }
+ }, '<div></div>');
+ document.body.appendChild(outerEl);
+ var innerEl = outerEl.firstChild;
+ var res = innerEl.getBoundingClientRect().left > outerEl.getBoundingClientRect().left;
+ removeElement(outerEl);
+ return res;
+}
+// The scrollbar width computations in computeEdges are sometimes flawed when it comes to
+// retina displays, rounding, and IE11. Massage them into a usable value.
+function sanitizeScrollbarWidth(width) {
+ width = Math.max(0, width); // no negatives
+ width = Math.round(width);
+ return width;
+}
+
+function computeEdges(el, getPadding) {
+ if (getPadding === void 0) { getPadding = false; }
+ var computedStyle = window.getComputedStyle(el);
+ var borderLeft = parseInt(computedStyle.borderLeftWidth, 10) || 0;
+ var borderRight = parseInt(computedStyle.borderRightWidth, 10) || 0;
+ var borderTop = parseInt(computedStyle.borderTopWidth, 10) || 0;
+ var borderBottom = parseInt(computedStyle.borderBottomWidth, 10) || 0;
+ // must use offset(Width|Height) because compatible with client(Width|Height)
+ var scrollbarLeftRight = sanitizeScrollbarWidth(el.offsetWidth - el.clientWidth - borderLeft - borderRight);
+ var scrollbarBottom = sanitizeScrollbarWidth(el.offsetHeight - el.clientHeight - borderTop - borderBottom);
+ var res = {
+ borderLeft: borderLeft,
+ borderRight: borderRight,
+ borderTop: borderTop,
+ borderBottom: borderBottom,
+ scrollbarBottom: scrollbarBottom,
+ scrollbarLeft: 0,
+ scrollbarRight: 0
+ };
+ if (getIsRtlScrollbarOnLeft() && computedStyle.direction === 'rtl') { // is the scrollbar on the left side?
+ res.scrollbarLeft = scrollbarLeftRight;
+ }
+ else {
+ res.scrollbarRight = scrollbarLeftRight;
+ }
+ if (getPadding) {
+ res.paddingLeft = parseInt(computedStyle.paddingLeft, 10) || 0;
+ res.paddingRight = parseInt(computedStyle.paddingRight, 10) || 0;
+ res.paddingTop = parseInt(computedStyle.paddingTop, 10) || 0;
+ res.paddingBottom = parseInt(computedStyle.paddingBottom, 10) || 0;
+ }
+ return res;
+}
+function computeInnerRect(el, goWithinPadding) {
+ if (goWithinPadding === void 0) { goWithinPadding = false; }
+ var outerRect = computeRect(el);
+ var edges = computeEdges(el, goWithinPadding);
+ var res = {
+ left: outerRect.left + edges.borderLeft + edges.scrollbarLeft,
+ right: outerRect.right - edges.borderRight - edges.scrollbarRight,
+ top: outerRect.top + edges.borderTop,
+ bottom: outerRect.bottom - edges.borderBottom - edges.scrollbarBottom
+ };
+ if (goWithinPadding) {
+ res.left += edges.paddingLeft;
+ res.right -= edges.paddingRight;
+ res.top += edges.paddingTop;
+ res.bottom -= edges.paddingBottom;
+ }
+ return res;
+}
+function computeRect(el) {
+ var rect = el.getBoundingClientRect();
+ return {
+ left: rect.left + window.pageXOffset,
+ top: rect.top + window.pageYOffset,
+ right: rect.right + window.pageXOffset,
+ bottom: rect.bottom + window.pageYOffset
+ };
+}
+function computeViewportRect() {
+ return {
+ left: window.pageXOffset,
+ right: window.pageXOffset + document.documentElement.clientWidth,
+ top: window.pageYOffset,
+ bottom: window.pageYOffset + document.documentElement.clientHeight
+ };
+}
+function computeHeightAndMargins(el) {
+ return el.getBoundingClientRect().height + computeVMargins(el);
+}
+function computeVMargins(el) {
+ var computed = window.getComputedStyle(el);
+ return parseInt(computed.marginTop, 10) +
+ parseInt(computed.marginBottom, 10);
+}
+// does not return window
+function getClippingParents(el) {
+ var parents = [];
+ while (el instanceof HTMLElement) { // will stop when gets to document or null
+ var computedStyle = window.getComputedStyle(el);
+ if (computedStyle.position === 'fixed') {
+ break;
+ }
+ if ((/(auto|scroll)/).test(computedStyle.overflow + computedStyle.overflowY + computedStyle.overflowX)) {
+ parents.push(el);
+ }
+ el = el.parentNode;
+ }
+ return parents;
+}
+function computeClippingRect(el) {
+ return getClippingParents(el)
+ .map(function (el) {
+ return computeInnerRect(el);
+ })
+ .concat(computeViewportRect())
+ .reduce(function (rect0, rect1) {
+ return intersectRects(rect0, rect1) || rect1; // should always intersect
+ });
+}
+
+// Stops a mouse/touch event from doing it's native browser action
+function preventDefault(ev) {
+ ev.preventDefault();
+}
+// Event Delegation
+// ----------------------------------------------------------------------------------------------------------------
+function listenBySelector(container, eventType, selector, handler) {
+ function realHandler(ev) {
+ var matchedChild = elementClosest(ev.target, selector);
+ if (matchedChild) {
+ handler.call(matchedChild, ev, matchedChild);
+ }
+ }
+ container.addEventListener(eventType, realHandler);
+ return function () {
+ container.removeEventListener(eventType, realHandler);
+ };
+}
+function listenToHoverBySelector(container, selector, onMouseEnter, onMouseLeave) {
+ var currentMatchedChild;
+ return listenBySelector(container, 'mouseover', selector, function (ev, matchedChild) {
+ if (matchedChild !== currentMatchedChild) {
+ currentMatchedChild = matchedChild;
+ onMouseEnter(ev, matchedChild);
+ var realOnMouseLeave_1 = function (ev) {
+ currentMatchedChild = null;
+ onMouseLeave(ev, matchedChild);
+ matchedChild.removeEventListener('mouseleave', realOnMouseLeave_1);
+ };
+ // listen to the next mouseleave, and then unattach
+ matchedChild.addEventListener('mouseleave', realOnMouseLeave_1);
+ }
+ });
+}
+// Animation
+// ----------------------------------------------------------------------------------------------------------------
+var transitionEventNames = [
+ 'webkitTransitionEnd',
+ 'otransitionend',
+ 'oTransitionEnd',
+ 'msTransitionEnd',
+ 'transitionend'
+];
+// triggered only when the next single subsequent transition finishes
+function whenTransitionDone(el, callback) {
+ var realCallback = function (ev) {
+ callback(ev);
+ transitionEventNames.forEach(function (eventName) {
+ el.removeEventListener(eventName, realCallback);
+ });
+ };
+ transitionEventNames.forEach(function (eventName) {
+ el.addEventListener(eventName, realCallback); // cross-browser way to determine when the transition finishes
+ });
+}
+
+var DAY_IDS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];
+// Adding
+function addWeeks(m, n) {
+ var a = dateToUtcArray(m);
+ a[2] += n * 7;
+ return arrayToUtcDate(a);
+}
+function addDays(m, n) {
+ var a = dateToUtcArray(m);
+ a[2] += n;
+ return arrayToUtcDate(a);
+}
+function addMs(m, n) {
+ var a = dateToUtcArray(m);
+ a[6] += n;
+ return arrayToUtcDate(a);
+}
+// Diffing (all return floats)
+function diffWeeks(m0, m1) {
+ return diffDays(m0, m1) / 7;
+}
+function diffDays(m0, m1) {
+ return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60 * 24);
+}
+function diffHours(m0, m1) {
+ return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60);
+}
+function diffMinutes(m0, m1) {
+ return (m1.valueOf() - m0.valueOf()) / (1000 * 60);
+}
+function diffSeconds(m0, m1) {
+ return (m1.valueOf() - m0.valueOf()) / 1000;
+}
+function diffDayAndTime(m0, m1) {
+ var m0day = startOfDay(m0);
+ var m1day = startOfDay(m1);
+ return {
+ years: 0,
+ months: 0,
+ days: Math.round(diffDays(m0day, m1day)),
+ milliseconds: (m1.valueOf() - m1day.valueOf()) - (m0.valueOf() - m0day.valueOf())
+ };
+}
+// Diffing Whole Units
+function diffWholeWeeks(m0, m1) {
+ var d = diffWholeDays(m0, m1);
+ if (d !== null && d % 7 === 0) {
+ return d / 7;
+ }
+ return null;
+}
+function diffWholeDays(m0, m1) {
+ if (timeAsMs(m0) === timeAsMs(m1)) {
+ return Math.round(diffDays(m0, m1));
+ }
+ return null;
+}
+// Start-Of
+function startOfDay(m) {
+ return arrayToUtcDate([
+ m.getUTCFullYear(),
+ m.getUTCMonth(),
+ m.getUTCDate()
+ ]);
+}
+function startOfHour(m) {
+ return arrayToUtcDate([
+ m.getUTCFullYear(),
+ m.getUTCMonth(),
+ m.getUTCDate(),
+ m.getUTCHours()
+ ]);
+}
+function startOfMinute(m) {
+ return arrayToUtcDate([
+ m.getUTCFullYear(),
+ m.getUTCMonth(),
+ m.getUTCDate(),
+ m.getUTCHours(),
+ m.getUTCMinutes()
+ ]);
+}
+function startOfSecond(m) {
+ return arrayToUtcDate([
+ m.getUTCFullYear(),
+ m.getUTCMonth(),
+ m.getUTCDate(),
+ m.getUTCHours(),
+ m.getUTCMinutes(),
+ m.getUTCSeconds()
+ ]);
+}
+// Week Computation
+function weekOfYear(marker, dow, doy) {
+ var y = marker.getUTCFullYear();
+ var w = weekOfGivenYear(marker, y, dow, doy);
+ if (w < 1) {
+ return weekOfGivenYear(marker, y - 1, dow, doy);
+ }
+ var nextW = weekOfGivenYear(marker, y + 1, dow, doy);
+ if (nextW >= 1) {
+ return Math.min(w, nextW);
+ }
+ return w;
+}
+function weekOfGivenYear(marker, year, dow, doy) {
+ var firstWeekStart = arrayToUtcDate([year, 0, 1 + firstWeekOffset(year, dow, doy)]);
+ var dayStart = startOfDay(marker);
+ var days = Math.round(diffDays(firstWeekStart, dayStart));
+ return Math.floor(days / 7) + 1; // zero-indexed
+}
+// start-of-first-week - start-of-year
+function firstWeekOffset(year, dow, doy) {
+ // first-week day -- which january is always in the first week (4 for iso, 1 for other)
+ var fwd = 7 + dow - doy;
+ // first-week day local weekday -- which local weekday is fwd
+ var fwdlw = (7 + arrayToUtcDate([year, 0, fwd]).getUTCDay() - dow) % 7;
+ return -fwdlw + fwd - 1;
+}
+// Array Conversion
+function dateToLocalArray(date) {
+ return [
+ date.getFullYear(),
+ date.getMonth(),
+ date.getDate(),
+ date.getHours(),
+ date.getMinutes(),
+ date.getSeconds(),
+ date.getMilliseconds()
+ ];
+}
+function arrayToLocalDate(a) {
+ return new Date(a[0], a[1] || 0, a[2] == null ? 1 : a[2], // day of month
+ a[3] || 0, a[4] || 0, a[5] || 0);
+}
+function dateToUtcArray(date) {
+ return [
+ date.getUTCFullYear(),
+ date.getUTCMonth(),
+ date.getUTCDate(),
+ date.getUTCHours(),
+ date.getUTCMinutes(),
+ date.getUTCSeconds(),
+ date.getUTCMilliseconds()
+ ];
+}
+function arrayToUtcDate(a) {
+ // according to web standards (and Safari), a month index is required.
+ // massage if only given a year.
+ if (a.length === 1) {
+ a = a.concat([0]);
+ }
+ return new Date(Date.UTC.apply(Date, a));
+}
+// Other Utils
+function isValidDate(m) {
+ return !isNaN(m.valueOf());
+}
+function timeAsMs(m) {
+ return m.getUTCHours() * 1000 * 60 * 60 +
+ m.getUTCMinutes() * 1000 * 60 +
+ m.getUTCSeconds() * 1000 +
+ m.getUTCMilliseconds();
+}
+
+var INTERNAL_UNITS = ['years', 'months', 'days', 'milliseconds'];
+var PARSE_RE = /^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;
+// Parsing and Creation
+function createDuration(input, unit) {
+ var _a;
+ if (typeof input === 'string') {
+ return parseString(input);
+ }
+ else if (typeof input === 'object' && input) { // non-null object
+ return normalizeObject(input);
+ }
+ else if (typeof input === 'number') {
+ return normalizeObject((_a = {}, _a[unit || 'milliseconds'] = input, _a));
+ }
+ else {
+ return null;
+ }
+}
+function parseString(s) {
+ var m = PARSE_RE.exec(s);
+ if (m) {
+ var sign = m[1] ? -1 : 1;
+ return {
+ years: 0,
+ months: 0,
+ days: sign * (m[2] ? parseInt(m[2], 10) : 0),
+ milliseconds: sign * ((m[3] ? parseInt(m[3], 10) : 0) * 60 * 60 * 1000 + // hours
+ (m[4] ? parseInt(m[4], 10) : 0) * 60 * 1000 + // minutes
+ (m[5] ? parseInt(m[5], 10) : 0) * 1000 + // seconds
+ (m[6] ? parseInt(m[6], 10) : 0) // ms
+ )
+ };
+ }
+ return null;
+}
+function normalizeObject(obj) {
+ return {
+ years: obj.years || obj.year || 0,
+ months: obj.months || obj.month || 0,
+ days: (obj.days || obj.day || 0) +
+ getWeeksFromInput(obj) * 7,
+ milliseconds: (obj.hours || obj.hour || 0) * 60 * 60 * 1000 + // hours
+ (obj.minutes || obj.minute || 0) * 60 * 1000 + // minutes
+ (obj.seconds || obj.second || 0) * 1000 + // seconds
+ (obj.milliseconds || obj.millisecond || obj.ms || 0) // ms
+ };
+}
+function getWeeksFromInput(obj) {
+ return obj.weeks || obj.week || 0;
+}
+// Equality
+function durationsEqual(d0, d1) {
+ return d0.years === d1.years &&
+ d0.months === d1.months &&
+ d0.days === d1.days &&
+ d0.milliseconds === d1.milliseconds;
+}
+function isSingleDay(dur) {
+ return dur.years === 0 && dur.months === 0 && dur.days === 1 && dur.milliseconds === 0;
+}
+// Simple Math
+function addDurations(d0, d1) {
+ return {
+ years: d0.years + d1.years,
+ months: d0.months + d1.months,
+ days: d0.days + d1.days,
+ milliseconds: d0.milliseconds + d1.milliseconds
+ };
+}
+function subtractDurations(d1, d0) {
+ return {
+ years: d1.years - d0.years,
+ months: d1.months - d0.months,
+ days: d1.days - d0.days,
+ milliseconds: d1.milliseconds - d0.milliseconds
+ };
+}
+function multiplyDuration(d, n) {
+ return {
+ years: d.years * n,
+ months: d.months * n,
+ days: d.days * n,
+ milliseconds: d.milliseconds * n
+ };
+}
+// Conversions
+// "Rough" because they are based on average-case Gregorian months/years
+function asRoughYears(dur) {
+ return asRoughDays(dur) / 365;
+}
+function asRoughMonths(dur) {
+ return asRoughDays(dur) / 30;
+}
+function asRoughDays(dur) {
+ return asRoughMs(dur) / 864e5;
+}
+function asRoughMinutes(dur) {
+ return asRoughMs(dur) / (1000 * 60);
+}
+function asRoughSeconds(dur) {
+ return asRoughMs(dur) / 1000;
+}
+function asRoughMs(dur) {
+ return dur.years * (365 * 864e5) +
+ dur.months * (30 * 864e5) +
+ dur.days * 864e5 +
+ dur.milliseconds;
+}
+// Advanced Math
+function wholeDivideDurations(numerator, denominator) {
+ var res = null;
+ for (var i = 0; i < INTERNAL_UNITS.length; i++) {
+ var unit = INTERNAL_UNITS[i];
+ if (denominator[unit]) {
+ var localRes = numerator[unit] / denominator[unit];
+ if (!isInt(localRes) || (res !== null && res !== localRes)) {
+ return null;
+ }
+ res = localRes;
+ }
+ else if (numerator[unit]) {
+ // needs to divide by something but can't!
+ return null;
+ }
+ }
+ return res;
+}
+function greatestDurationDenominator(dur, dontReturnWeeks) {
+ var ms = dur.milliseconds;
+ if (ms) {
+ if (ms % 1000 !== 0) {
+ return { unit: 'millisecond', value: ms };
+ }
+ if (ms % (1000 * 60) !== 0) {
+ return { unit: 'second', value: ms / 1000 };
+ }
+ if (ms % (1000 * 60 * 60) !== 0) {
+ return { unit: 'minute', value: ms / (1000 * 60) };
+ }
+ if (ms) {
+ return { unit: 'hour', value: ms / (1000 * 60 * 60) };
+ }
+ }
+ if (dur.days) {
+ if (!dontReturnWeeks && dur.days % 7 === 0) {
+ return { unit: 'week', value: dur.days / 7 };
+ }
+ return { unit: 'day', value: dur.days };
+ }
+ if (dur.months) {
+ return { unit: 'month', value: dur.months };
+ }
+ if (dur.years) {
+ return { unit: 'year', value: dur.years };
+ }
+ return { unit: 'millisecond', value: 0 };
+}
+
+/* FullCalendar-specific DOM Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+// Given the scrollbar widths of some other container, create borders/margins on rowEls in order to match the left
+// and right space that was offset by the scrollbars. A 1-pixel border first, then margin beyond that.
+function compensateScroll(rowEl, scrollbarWidths) {
+ if (scrollbarWidths.left) {
+ applyStyle(rowEl, {
+ borderLeftWidth: 1,
+ marginLeft: scrollbarWidths.left - 1
+ });
+ }
+ if (scrollbarWidths.right) {
+ applyStyle(rowEl, {
+ borderRightWidth: 1,
+ marginRight: scrollbarWidths.right - 1
+ });
+ }
+}
+// Undoes compensateScroll and restores all borders/margins
+function uncompensateScroll(rowEl) {
+ applyStyle(rowEl, {
+ marginLeft: '',
+ marginRight: '',
+ borderLeftWidth: '',
+ borderRightWidth: ''
+ });
+}
+// Make the mouse cursor express that an event is not allowed in the current area
+function disableCursor() {
+ document.body.classList.add('fc-not-allowed');
+}
+// Returns the mouse cursor to its original look
+function enableCursor() {
+ document.body.classList.remove('fc-not-allowed');
+}
+// Given a total available height to fill, have `els` (essentially child rows) expand to accomodate.
+// By default, all elements that are shorter than the recommended height are expanded uniformly, not considering
+// any other els that are already too tall. if `shouldRedistribute` is on, it considers these tall rows and
+// reduces the available height.
+function distributeHeight(els, availableHeight, shouldRedistribute) {
+ // *FLOORING NOTE*: we floor in certain places because zoom can give inaccurate floating-point dimensions,
+ // and it is better to be shorter than taller, to avoid creating unnecessary scrollbars.
+ var minOffset1 = Math.floor(availableHeight / els.length); // for non-last element
+ var minOffset2 = Math.floor(availableHeight - minOffset1 * (els.length - 1)); // for last element *FLOORING NOTE*
+ var flexEls = []; // elements that are allowed to expand. array of DOM nodes
+ var flexOffsets = []; // amount of vertical space it takes up
+ var flexHeights = []; // actual css height
+ var usedHeight = 0;
+ undistributeHeight(els); // give all elements their natural height
+ // find elements that are below the recommended height (expandable).
+ // important to query for heights in a single first pass (to avoid reflow oscillation).
+ els.forEach(function (el, i) {
+ var minOffset = i === els.length - 1 ? minOffset2 : minOffset1;
+ var naturalHeight = el.getBoundingClientRect().height;
+ var naturalOffset = naturalHeight + computeVMargins(el);
+ if (naturalOffset < minOffset) {
+ flexEls.push(el);
+ flexOffsets.push(naturalOffset);
+ flexHeights.push(naturalHeight);
+ }
+ else {
+ // this element stretches past recommended height (non-expandable). mark the space as occupied.
+ usedHeight += naturalOffset;
+ }
+ });
+ // readjust the recommended height to only consider the height available to non-maxed-out rows.
+ if (shouldRedistribute) {
+ availableHeight -= usedHeight;
+ minOffset1 = Math.floor(availableHeight / flexEls.length);
+ minOffset2 = Math.floor(availableHeight - minOffset1 * (flexEls.length - 1)); // *FLOORING NOTE*
+ }
+ // assign heights to all expandable elements
+ flexEls.forEach(function (el, i) {
+ var minOffset = i === flexEls.length - 1 ? minOffset2 : minOffset1;
+ var naturalOffset = flexOffsets[i];
+ var naturalHeight = flexHeights[i];
+ var newHeight = minOffset - (naturalOffset - naturalHeight); // subtract the margin/padding
+ if (naturalOffset < minOffset) { // we check this again because redistribution might have changed things
+ el.style.height = newHeight + 'px';
+ }
+ });
+}
+// Undoes distrubuteHeight, restoring all els to their natural height
+function undistributeHeight(els) {
+ els.forEach(function (el) {
+ el.style.height = '';
+ });
+}
+// Given `els`, a set of <td> cells, find the cell with the largest natural width and set the widths of all the
+// cells to be that width.
+// PREREQUISITE: if you want a cell to take up width, it needs to have a single inner element w/ display:inline
+function matchCellWidths(els) {
+ var maxInnerWidth = 0;
+ els.forEach(function (el) {
+ var innerEl = el.firstChild; // hopefully an element
+ if (innerEl instanceof HTMLElement) {
+ var innerWidth_1 = innerEl.getBoundingClientRect().width;
+ if (innerWidth_1 > maxInnerWidth) {
+ maxInnerWidth = innerWidth_1;
+ }
+ }
+ });
+ maxInnerWidth++; // sometimes not accurate of width the text needs to stay on one line. insurance
+ els.forEach(function (el) {
+ el.style.width = maxInnerWidth + 'px';
+ });
+ return maxInnerWidth;
+}
+// Given one element that resides inside another,
+// Subtracts the height of the inner element from the outer element.
+function subtractInnerElHeight(outerEl, innerEl) {
+ // effin' IE8/9/10/11 sometimes returns 0 for dimensions. this weird hack was the only thing that worked
+ var reflowStyleProps = {
+ position: 'relative',
+ left: -1 // ensure reflow in case the el was already relative. negative is less likely to cause new scroll
+ };
+ applyStyle(outerEl, reflowStyleProps);
+ applyStyle(innerEl, reflowStyleProps);
+ var diff = // grab the dimensions
+ outerEl.getBoundingClientRect().height -
+ innerEl.getBoundingClientRect().height;
+ // undo hack
+ var resetStyleProps = { position: '', left: '' };
+ applyStyle(outerEl, resetStyleProps);
+ applyStyle(innerEl, resetStyleProps);
+ return diff;
+}
+/* Selection
+----------------------------------------------------------------------------------------------------------------------*/
+function preventSelection(el) {
+ el.classList.add('fc-unselectable');
+ el.addEventListener('selectstart', preventDefault);
+}
+function allowSelection(el) {
+ el.classList.remove('fc-unselectable');
+ el.removeEventListener('selectstart', preventDefault);
+}
+/* Context Menu
+----------------------------------------------------------------------------------------------------------------------*/
+function preventContextMenu(el) {
+ el.addEventListener('contextmenu', preventDefault);
+}
+function allowContextMenu(el) {
+ el.removeEventListener('contextmenu', preventDefault);
+}
+/* Object Ordering by Field
+----------------------------------------------------------------------------------------------------------------------*/
+function parseFieldSpecs(input) {
+ var specs = [];
+ var tokens = [];
+ var i;
+ var token;
+ if (typeof input === 'string') {
+ tokens = input.split(/\s*,\s*/);
+ }
+ else if (typeof input === 'function') {
+ tokens = [input];
+ }
+ else if (Array.isArray(input)) {
+ tokens = input;
+ }
+ for (i = 0; i < tokens.length; i++) {
+ token = tokens[i];
+ if (typeof token === 'string') {
+ specs.push(token.charAt(0) === '-' ?
+ { field: token.substring(1), order: -1 } :
+ { field: token, order: 1 });
+ }
+ else if (typeof token === 'function') {
+ specs.push({ func: token });
+ }
+ }
+ return specs;
+}
+function compareByFieldSpecs(obj0, obj1, fieldSpecs) {
+ var i;
+ var cmp;
+ for (i = 0; i < fieldSpecs.length; i++) {
+ cmp = compareByFieldSpec(obj0, obj1, fieldSpecs[i]);
+ if (cmp) {
+ return cmp;
+ }
+ }
+ return 0;
+}
+function compareByFieldSpec(obj0, obj1, fieldSpec) {
+ if (fieldSpec.func) {
+ return fieldSpec.func(obj0, obj1);
+ }
+ return flexibleCompare(obj0[fieldSpec.field], obj1[fieldSpec.field])
+ * (fieldSpec.order || 1);
+}
+function flexibleCompare(a, b) {
+ if (!a && !b) {
+ return 0;
+ }
+ if (b == null) {
+ return -1;
+ }
+ if (a == null) {
+ return 1;
+ }
+ if (typeof a === 'string' || typeof b === 'string') {
+ return String(a).localeCompare(String(b));
+ }
+ return a - b;
+}
+/* String Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+function capitaliseFirstLetter(str) {
+ return str.charAt(0).toUpperCase() + str.slice(1);
+}
+function padStart(val, len) {
+ var s = String(val);
+ return '000'.substr(0, len - s.length) + s;
+}
+/* Number Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+function compareNumbers(a, b) {
+ return a - b;
+}
+function isInt(n) {
+ return n % 1 === 0;
+}
+/* Weird Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+function applyAll(functions, thisObj, args) {
+ if (typeof functions === 'function') { // supplied a single function
+ functions = [functions];
+ }
+ if (functions) {
+ var i = void 0;
+ var ret = void 0;
+ for (i = 0; i < functions.length; i++) {
+ ret = functions[i].apply(thisObj, args) || ret;
+ }
+ return ret;
+ }
+}
+function firstDefined() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ for (var i = 0; i < args.length; i++) {
+ if (args[i] !== undefined) {
+ return args[i];
+ }
+ }
+}
+// Returns a function, that, as long as it continues to be invoked, will not
+// be triggered. The function will be called after it stops being called for
+// N milliseconds. If `immediate` is passed, trigger the function on the
+// leading edge, instead of the trailing.
+// https://github.com/jashkenas/underscore/blob/1.6.0/underscore.js#L714
+function debounce(func, wait) {
+ var timeout;
+ var args;
+ var context;
+ var timestamp;
+ var result;
+ var later = function () {
+ var last = new Date().valueOf() - timestamp;
+ if (last < wait) {
+ timeout = setTimeout(later, wait - last);
+ }
+ else {
+ timeout = null;
+ result = func.apply(context, args);
+ context = args = null;
+ }
+ };
+ return function () {
+ context = this;
+ args = arguments;
+ timestamp = new Date().valueOf();
+ if (!timeout) {
+ timeout = setTimeout(later, wait);
+ }
+ return result;
+ };
+}
+// Number and Boolean are only types that defaults or not computed for
+// TODO: write more comments
+function refineProps(rawProps, processors, defaults, leftoverProps) {
+ if (defaults === void 0) { defaults = {}; }
+ var refined = {};
+ for (var key in processors) {
+ var processor = processors[key];
+ if (rawProps[key] !== undefined) {
+ // found
+ if (processor === Function) {
+ refined[key] = typeof rawProps[key] === 'function' ? rawProps[key] : null;
+ }
+ else if (processor) { // a refining function?
+ refined[key] = processor(rawProps[key]);
+ }
+ else {
+ refined[key] = rawProps[key];
+ }
+ }
+ else if (defaults[key] !== undefined) {
+ // there's an explicit default
+ refined[key] = defaults[key];
+ }
+ else {
+ // must compute a default
+ if (processor === String) {
+ refined[key] = ''; // empty string is default for String
+ }
+ else if (!processor || processor === Number || processor === Boolean || processor === Function) {
+ refined[key] = null; // assign null for other non-custom processor funcs
+ }
+ else {
+ refined[key] = processor(null); // run the custom processor func
+ }
+ }
+ }
+ if (leftoverProps) {
+ for (var key in rawProps) {
+ if (processors[key] === undefined) {
+ leftoverProps[key] = rawProps[key];
+ }
+ }
+ }
+ return refined;
+}
+/* Date stuff that doesn't belong in datelib core
+----------------------------------------------------------------------------------------------------------------------*/
+// given a timed range, computes an all-day range that has the same exact duration,
+// but whose start time is aligned with the start of the day.
+function computeAlignedDayRange(timedRange) {
+ var dayCnt = Math.floor(diffDays(timedRange.start, timedRange.end)) || 1;
+ var start = startOfDay(timedRange.start);
+ var end = addDays(start, dayCnt);
+ return { start: start, end: end };
+}
+// given a timed range, computes an all-day range based on how for the end date bleeds into the next day
+// TODO: give nextDayThreshold a default arg
+function computeVisibleDayRange(timedRange, nextDayThreshold) {
+ if (nextDayThreshold === void 0) { nextDayThreshold = createDuration(0); }
+ var startDay = null;
+ var endDay = null;
+ if (timedRange.end) {
+ endDay = startOfDay(timedRange.end);
+ var endTimeMS = timedRange.end.valueOf() - endDay.valueOf(); // # of milliseconds into `endDay`
+ // If the end time is actually inclusively part of the next day and is equal to or
+ // beyond the next day threshold, adjust the end to be the exclusive end of `endDay`.
+ // Otherwise, leaving it as inclusive will cause it to exclude `endDay`.
+ if (endTimeMS && endTimeMS >= asRoughMs(nextDayThreshold)) {
+ endDay = addDays(endDay, 1);
+ }
+ }
+ if (timedRange.start) {
+ startDay = startOfDay(timedRange.start); // the beginning of the day the range starts
+ // If end is within `startDay` but not past nextDayThreshold, assign the default duration of one day.
+ if (endDay && endDay <= startDay) {
+ endDay = addDays(startDay, 1);
+ }
+ }
+ return { start: startDay, end: endDay };
+}
+// spans from one day into another?
+function isMultiDayRange(range) {
+ var visibleRange = computeVisibleDayRange(range);
+ return diffDays(visibleRange.start, visibleRange.end) > 1;
+}
+function diffDates(date0, date1, dateEnv, largeUnit) {
+ if (largeUnit === 'year') {
+ return createDuration(dateEnv.diffWholeYears(date0, date1), 'year');
+ }
+ else if (largeUnit === 'month') {
+ return createDuration(dateEnv.diffWholeMonths(date0, date1), 'month');
+ }
+ else {
+ return diffDayAndTime(date0, date1); // returns a duration
+ }
+}
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var __assign = function() {
+ __assign = Object.assign || function __assign(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+
+function parseRecurring(eventInput, allDayDefault, dateEnv, recurringTypes, leftovers) {
+ for (var i = 0; i < recurringTypes.length; i++) {
+ var localLeftovers = {};
+ var parsed = recurringTypes[i].parse(eventInput, localLeftovers, dateEnv);
+ if (parsed) {
+ var allDay = localLeftovers.allDay;
+ delete localLeftovers.allDay; // remove from leftovers
+ if (allDay == null) {
+ allDay = allDayDefault;
+ if (allDay == null) {
+ allDay = parsed.allDayGuess;
+ if (allDay == null) {
+ allDay = false;
+ }
+ }
+ }
+ __assign(leftovers, localLeftovers);
+ return {
+ allDay: allDay,
+ duration: parsed.duration,
+ typeData: parsed.typeData,
+ typeId: i
+ };
+ }
+ }
+ return null;
+}
+/*
+Event MUST have a recurringDef
+*/
+function expandRecurringRanges(eventDef, duration, framingRange, dateEnv, recurringTypes) {
+ var typeDef = recurringTypes[eventDef.recurringDef.typeId];
+ var markers = typeDef.expand(eventDef.recurringDef.typeData, {
+ start: dateEnv.subtract(framingRange.start, duration),
+ end: framingRange.end
+ }, dateEnv);
+ // the recurrence plugins don't guarantee that all-day events are start-of-day, so we have to
+ if (eventDef.allDay) {
+ markers = markers.map(startOfDay);
+ }
+ return markers;
+}
+
+var hasOwnProperty = Object.prototype.hasOwnProperty;
+// Merges an array of objects into a single object.
+// The second argument allows for an array of property names who's object values will be merged together.
+function mergeProps(propObjs, complexProps) {
+ var dest = {};
+ var i;
+ var name;
+ var complexObjs;
+ var j;
+ var val;
+ var props;
+ if (complexProps) {
+ for (i = 0; i < complexProps.length; i++) {
+ name = complexProps[i];
+ complexObjs = [];
+ // collect the trailing object values, stopping when a non-object is discovered
+ for (j = propObjs.length - 1; j >= 0; j--) {
+ val = propObjs[j][name];
+ if (typeof val === 'object' && val) { // non-null object
+ complexObjs.unshift(val);
+ }
+ else if (val !== undefined) {
+ dest[name] = val; // if there were no objects, this value will be used
+ break;
+ }
+ }
+ // if the trailing values were objects, use the merged value
+ if (complexObjs.length) {
+ dest[name] = mergeProps(complexObjs);
+ }
+ }
+ }
+ // copy values into the destination, going from last to first
+ for (i = propObjs.length - 1; i >= 0; i--) {
+ props = propObjs[i];
+ for (name in props) {
+ if (!(name in dest)) { // if already assigned by previous props or complex props, don't reassign
+ dest[name] = props[name];
+ }
+ }
+ }
+ return dest;
+}
+function filterHash(hash, func) {
+ var filtered = {};
+ for (var key in hash) {
+ if (func(hash[key], key)) {
+ filtered[key] = hash[key];
+ }
+ }
+ return filtered;
+}
+function mapHash(hash, func) {
+ var newHash = {};
+ for (var key in hash) {
+ newHash[key] = func(hash[key], key);
+ }
+ return newHash;
+}
+function arrayToHash(a) {
+ var hash = {};
+ for (var _i = 0, a_1 = a; _i < a_1.length; _i++) {
+ var item = a_1[_i];
+ hash[item] = true;
+ }
+ return hash;
+}
+function hashValuesToArray(obj) {
+ var a = [];
+ for (var key in obj) {
+ a.push(obj[key]);
+ }
+ return a;
+}
+function isPropsEqual(obj0, obj1) {
+ for (var key in obj0) {
+ if (hasOwnProperty.call(obj0, key)) {
+ if (!(key in obj1)) {
+ return false;
+ }
+ }
+ }
+ for (var key in obj1) {
+ if (hasOwnProperty.call(obj1, key)) {
+ if (obj0[key] !== obj1[key]) {
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
+function parseEvents(rawEvents, sourceId, calendar, allowOpenRange) {
+ var eventStore = createEmptyEventStore();
+ for (var _i = 0, rawEvents_1 = rawEvents; _i < rawEvents_1.length; _i++) {
+ var rawEvent = rawEvents_1[_i];
+ var tuple = parseEvent(rawEvent, sourceId, calendar, allowOpenRange);
+ if (tuple) {
+ eventTupleToStore(tuple, eventStore);
+ }
+ }
+ return eventStore;
+}
+function eventTupleToStore(tuple, eventStore) {
+ if (eventStore === void 0) { eventStore = createEmptyEventStore(); }
+ eventStore.defs[tuple.def.defId] = tuple.def;
+ if (tuple.instance) {
+ eventStore.instances[tuple.instance.instanceId] = tuple.instance;
+ }
+ return eventStore;
+}
+function expandRecurring(eventStore, framingRange, calendar) {
+ var dateEnv = calendar.dateEnv;
+ var defs = eventStore.defs, instances = eventStore.instances;
+ // remove existing recurring instances
+ instances = filterHash(instances, function (instance) {
+ return !defs[instance.defId].recurringDef;
+ });
+ for (var defId in defs) {
+ var def = defs[defId];
+ if (def.recurringDef) {
+ var duration = def.recurringDef.duration;
+ if (!duration) {
+ duration = def.allDay ?
+ calendar.defaultAllDayEventDuration :
+ calendar.defaultTimedEventDuration;
+ }
+ var starts = expandRecurringRanges(def, duration, framingRange, calendar.dateEnv, calendar.pluginSystem.hooks.recurringTypes);
+ for (var _i = 0, starts_1 = starts; _i < starts_1.length; _i++) {
+ var start = starts_1[_i];
+ var instance = createEventInstance(defId, {
+ start: start,
+ end: dateEnv.add(start, duration)
+ });
+ instances[instance.instanceId] = instance;
+ }
+ }
+ }
+ return { defs: defs, instances: instances };
+}
+// retrieves events that have the same groupId as the instance specified by `instanceId`
+// or they are the same as the instance.
+// why might instanceId not be in the store? an event from another calendar?
+function getRelevantEvents(eventStore, instanceId) {
+ var instance = eventStore.instances[instanceId];
+ if (instance) {
+ var def_1 = eventStore.defs[instance.defId];
+ // get events/instances with same group
+ var newStore = filterEventStoreDefs(eventStore, function (lookDef) {
+ return isEventDefsGrouped(def_1, lookDef);
+ });
+ // add the original
+ // TODO: wish we could use eventTupleToStore or something like it
+ newStore.defs[def_1.defId] = def_1;
+ newStore.instances[instance.instanceId] = instance;
+ return newStore;
+ }
+ return createEmptyEventStore();
+}
+function isEventDefsGrouped(def0, def1) {
+ return Boolean(def0.groupId && def0.groupId === def1.groupId);
+}
+function transformRawEvents(rawEvents, eventSource, calendar) {
+ var calEachTransform = calendar.opt('eventDataTransform');
+ var sourceEachTransform = eventSource ? eventSource.eventDataTransform : null;
+ if (sourceEachTransform) {
+ rawEvents = transformEachRawEvent(rawEvents, sourceEachTransform);
+ }
+ if (calEachTransform) {
+ rawEvents = transformEachRawEvent(rawEvents, calEachTransform);
+ }
+ return rawEvents;
+}
+function transformEachRawEvent(rawEvents, func) {
+ var refinedEvents;
+ if (!func) {
+ refinedEvents = rawEvents;
+ }
+ else {
+ refinedEvents = [];
+ for (var _i = 0, rawEvents_2 = rawEvents; _i < rawEvents_2.length; _i++) {
+ var rawEvent = rawEvents_2[_i];
+ var refinedEvent = func(rawEvent);
+ if (refinedEvent) {
+ refinedEvents.push(refinedEvent);
+ }
+ else if (refinedEvent == null) {
+ refinedEvents.push(rawEvent);
+ } // if a different falsy value, do nothing
+ }
+ }
+ return refinedEvents;
+}
+function createEmptyEventStore() {
+ return { defs: {}, instances: {} };
+}
+function mergeEventStores(store0, store1) {
+ return {
+ defs: __assign({}, store0.defs, store1.defs),
+ instances: __assign({}, store0.instances, store1.instances)
+ };
+}
+function filterEventStoreDefs(eventStore, filterFunc) {
+ var defs = filterHash(eventStore.defs, filterFunc);
+ var instances = filterHash(eventStore.instances, function (instance) {
+ return defs[instance.defId]; // still exists?
+ });
+ return { defs: defs, instances: instances };
+}
+
+function parseRange(input, dateEnv) {
+ var start = null;
+ var end = null;
+ if (input.start) {
+ start = dateEnv.createMarker(input.start);
+ }
+ if (input.end) {
+ end = dateEnv.createMarker(input.end);
+ }
+ if (!start && !end) {
+ return null;
+ }
+ if (start && end && end < start) {
+ return null;
+ }
+ return { start: start, end: end };
+}
+// SIDE-EFFECT: will mutate ranges.
+// Will return a new array result.
+function invertRanges(ranges, constraintRange) {
+ var invertedRanges = [];
+ var start = constraintRange.start; // the end of the previous range. the start of the new range
+ var i;
+ var dateRange;
+ // ranges need to be in order. required for our date-walking algorithm
+ ranges.sort(compareRanges);
+ for (i = 0; i < ranges.length; i++) {
+ dateRange = ranges[i];
+ // add the span of time before the event (if there is any)
+ if (dateRange.start > start) { // compare millisecond time (skip any ambig logic)
+ invertedRanges.push({ start: start, end: dateRange.start });
+ }
+ if (dateRange.end > start) {
+ start = dateRange.end;
+ }
+ }
+ // add the span of time after the last event (if there is any)
+ if (start < constraintRange.end) { // compare millisecond time (skip any ambig logic)
+ invertedRanges.push({ start: start, end: constraintRange.end });
+ }
+ return invertedRanges;
+}
+function compareRanges(range0, range1) {
+ return range0.start.valueOf() - range1.start.valueOf(); // earlier ranges go first
+}
+function intersectRanges(range0, range1) {
+ var start = range0.start;
+ var end = range0.end;
+ var newRange = null;
+ if (range1.start !== null) {
+ if (start === null) {
+ start = range1.start;
+ }
+ else {
+ start = new Date(Math.max(start.valueOf(), range1.start.valueOf()));
+ }
+ }
+ if (range1.end != null) {
+ if (end === null) {
+ end = range1.end;
+ }
+ else {
+ end = new Date(Math.min(end.valueOf(), range1.end.valueOf()));
+ }
+ }
+ if (start === null || end === null || start < end) {
+ newRange = { start: start, end: end };
+ }
+ return newRange;
+}
+function rangesEqual(range0, range1) {
+ return (range0.start === null ? null : range0.start.valueOf()) === (range1.start === null ? null : range1.start.valueOf()) &&
+ (range0.end === null ? null : range0.end.valueOf()) === (range1.end === null ? null : range1.end.valueOf());
+}
+function rangesIntersect(range0, range1) {
+ return (range0.end === null || range1.start === null || range0.end > range1.start) &&
+ (range0.start === null || range1.end === null || range0.start < range1.end);
+}
+function rangeContainsRange(outerRange, innerRange) {
+ return (outerRange.start === null || (innerRange.start !== null && innerRange.start >= outerRange.start)) &&
+ (outerRange.end === null || (innerRange.end !== null && innerRange.end <= outerRange.end));
+}
+function rangeContainsMarker(range, date) {
+ return (range.start === null || date >= range.start) &&
+ (range.end === null || date < range.end);
+}
+// If the given date is not within the given range, move it inside.
+// (If it's past the end, make it one millisecond before the end).
+function constrainMarkerToRange(date, range) {
+ if (range.start != null && date < range.start) {
+ return range.start;
+ }
+ if (range.end != null && date >= range.end) {
+ return new Date(range.end.valueOf() - 1);
+ }
+ return date;
+}
+
+function removeExact(array, exactVal) {
+ var removeCnt = 0;
+ var i = 0;
+ while (i < array.length) {
+ if (array[i] === exactVal) {
+ array.splice(i, 1);
+ removeCnt++;
+ }
+ else {
+ i++;
+ }
+ }
+ return removeCnt;
+}
+function isArraysEqual(a0, a1) {
+ var len = a0.length;
+ var i;
+ if (len !== a1.length) { // not array? or not same length?
+ return false;
+ }
+ for (i = 0; i < len; i++) {
+ if (a0[i] !== a1[i]) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function memoize(workerFunc) {
+ var args;
+ var res;
+ return function () {
+ if (!args || !isArraysEqual(args, arguments)) {
+ args = arguments;
+ res = workerFunc.apply(this, arguments);
+ }
+ return res;
+ };
+}
+/*
+always executes the workerFunc, but if the result is equal to the previous result,
+return the previous result instead.
+*/
+function memoizeOutput(workerFunc, equalityFunc) {
+ var cachedRes = null;
+ return function () {
+ var newRes = workerFunc.apply(this, arguments);
+ if (cachedRes === null || !(cachedRes === newRes || equalityFunc(cachedRes, newRes))) {
+ cachedRes = newRes;
+ }
+ return cachedRes;
+ };
+}
+
+var EXTENDED_SETTINGS_AND_SEVERITIES = {
+ week: 3,
+ separator: 0,
+ omitZeroMinute: 0,
+ meridiem: 0,
+ omitCommas: 0
+};
+var STANDARD_DATE_PROP_SEVERITIES = {
+ timeZoneName: 7,
+ era: 6,
+ year: 5,
+ month: 4,
+ day: 2,
+ weekday: 2,
+ hour: 1,
+ minute: 1,
+ second: 1
+};
+var MERIDIEM_RE = /\s*([ap])\.?m\.?/i; // eats up leading spaces too
+var COMMA_RE = /,/g; // we need re for globalness
+var MULTI_SPACE_RE = /\s+/g;
+var LTR_RE = /\u200e/g; // control character
+var UTC_RE = /UTC|GMT/;
+var NativeFormatter = /** @class */ (function () {
+ function NativeFormatter(formatSettings) {
+ var standardDateProps = {};
+ var extendedSettings = {};
+ var severity = 0;
+ for (var name_1 in formatSettings) {
+ if (name_1 in EXTENDED_SETTINGS_AND_SEVERITIES) {
+ extendedSettings[name_1] = formatSettings[name_1];
+ severity = Math.max(EXTENDED_SETTINGS_AND_SEVERITIES[name_1], severity);
+ }
+ else {
+ standardDateProps[name_1] = formatSettings[name_1];
+ if (name_1 in STANDARD_DATE_PROP_SEVERITIES) {
+ severity = Math.max(STANDARD_DATE_PROP_SEVERITIES[name_1], severity);
+ }
+ }
+ }
+ this.standardDateProps = standardDateProps;
+ this.extendedSettings = extendedSettings;
+ this.severity = severity;
+ this.buildFormattingFunc = memoize(buildFormattingFunc);
+ }
+ NativeFormatter.prototype.format = function (date, context) {
+ return this.buildFormattingFunc(this.standardDateProps, this.extendedSettings, context)(date);
+ };
+ NativeFormatter.prototype.formatRange = function (start, end, context) {
+ var _a = this, standardDateProps = _a.standardDateProps, extendedSettings = _a.extendedSettings;
+ var diffSeverity = computeMarkerDiffSeverity(start.marker, end.marker, context.calendarSystem);
+ if (!diffSeverity) {
+ return this.format(start, context);
+ }
+ var biggestUnitForPartial = diffSeverity;
+ if (biggestUnitForPartial > 1 && // the two dates are different in a way that's larger scale than time
+ (standardDateProps.year === 'numeric' || standardDateProps.year === '2-digit') &&
+ (standardDateProps.month === 'numeric' || standardDateProps.month === '2-digit') &&
+ (standardDateProps.day === 'numeric' || standardDateProps.day === '2-digit')) {
+ biggestUnitForPartial = 1; // make it look like the dates are only different in terms of time
+ }
+ var full0 = this.format(start, context);
+ var full1 = this.format(end, context);
+ if (full0 === full1) {
+ return full0;
+ }
+ var partialDateProps = computePartialFormattingOptions(standardDateProps, biggestUnitForPartial);
+ var partialFormattingFunc = buildFormattingFunc(partialDateProps, extendedSettings, context);
+ var partial0 = partialFormattingFunc(start);
+ var partial1 = partialFormattingFunc(end);
+ var insertion = findCommonInsertion(full0, partial0, full1, partial1);
+ var separator = extendedSettings.separator || '';
+ if (insertion) {
+ return insertion.before + partial0 + separator + partial1 + insertion.after;
+ }
+ return full0 + separator + full1;
+ };
+ NativeFormatter.prototype.getLargestUnit = function () {
+ switch (this.severity) {
+ case 7:
+ case 6:
+ case 5:
+ return 'year';
+ case 4:
+ return 'month';
+ case 3:
+ return 'week';
+ default:
+ return 'day';
+ }
+ };
+ return NativeFormatter;
+}());
+function buildFormattingFunc(standardDateProps, extendedSettings, context) {
+ var standardDatePropCnt = Object.keys(standardDateProps).length;
+ if (standardDatePropCnt === 1 && standardDateProps.timeZoneName === 'short') {
+ return function (date) {
+ return formatTimeZoneOffset(date.timeZoneOffset);
+ };
+ }
+ if (standardDatePropCnt === 0 && extendedSettings.week) {
+ return function (date) {
+ return formatWeekNumber(context.computeWeekNumber(date.marker), context.weekLabel, context.locale, extendedSettings.week);
+ };
+ }
+ return buildNativeFormattingFunc(standardDateProps, extendedSettings, context);
+}
+function buildNativeFormattingFunc(standardDateProps, extendedSettings, context) {
+ standardDateProps = __assign({}, standardDateProps); // copy
+ extendedSettings = __assign({}, extendedSettings); // copy
+ sanitizeSettings(standardDateProps, extendedSettings);
+ standardDateProps.timeZone = 'UTC'; // we leverage the only guaranteed timeZone for our UTC markers
+ var normalFormat = new Intl.DateTimeFormat(context.locale.codes, standardDateProps);
+ var zeroFormat; // needed?
+ if (extendedSettings.omitZeroMinute) {
+ var zeroProps = __assign({}, standardDateProps);
+ delete zeroProps.minute; // seconds and ms were already considered in sanitizeSettings
+ zeroFormat = new Intl.DateTimeFormat(context.locale.codes, zeroProps);
+ }
+ return function (date) {
+ var marker = date.marker;
+ var format;
+ if (zeroFormat && !marker.getUTCMinutes()) {
+ format = zeroFormat;
+ }
+ else {
+ format = normalFormat;
+ }
+ var s = format.format(marker);
+ return postProcess(s, date, standardDateProps, extendedSettings, context);
+ };
+}
+function sanitizeSettings(standardDateProps, extendedSettings) {
+ // deal with a browser inconsistency where formatting the timezone
+ // requires that the hour/minute be present.
+ if (standardDateProps.timeZoneName) {
+ if (!standardDateProps.hour) {
+ standardDateProps.hour = '2-digit';
+ }
+ if (!standardDateProps.minute) {
+ standardDateProps.minute = '2-digit';
+ }
+ }
+ // only support short timezone names
+ if (standardDateProps.timeZoneName === 'long') {
+ standardDateProps.timeZoneName = 'short';
+ }
+ // if requesting to display seconds, MUST display minutes
+ if (extendedSettings.omitZeroMinute && (standardDateProps.second || standardDateProps.millisecond)) {
+ delete extendedSettings.omitZeroMinute;
+ }
+}
+function postProcess(s, date, standardDateProps, extendedSettings, context) {
+ s = s.replace(LTR_RE, ''); // remove left-to-right control chars. do first. good for other regexes
+ if (standardDateProps.timeZoneName === 'short') {
+ s = injectTzoStr(s, (context.timeZone === 'UTC' || date.timeZoneOffset == null) ?
+ 'UTC' : // important to normalize for IE, which does "GMT"
+ formatTimeZoneOffset(date.timeZoneOffset));
+ }
+ if (extendedSettings.omitCommas) {
+ s = s.replace(COMMA_RE, '').trim();
+ }
+ if (extendedSettings.omitZeroMinute) {
+ s = s.replace(':00', ''); // zeroFormat doesn't always achieve this
+ }
+ // ^ do anything that might create adjacent spaces before this point,
+ // because MERIDIEM_RE likes to eat up loading spaces
+ if (extendedSettings.meridiem === false) {
+ s = s.replace(MERIDIEM_RE, '').trim();
+ }
+ else if (extendedSettings.meridiem === 'narrow') { // a/p
+ s = s.replace(MERIDIEM_RE, function (m0, m1) {
+ return m1.toLocaleLowerCase();
+ });
+ }
+ else if (extendedSettings.meridiem === 'short') { // am/pm
+ s = s.replace(MERIDIEM_RE, function (m0, m1) {
+ return m1.toLocaleLowerCase() + 'm';
+ });
+ }
+ else if (extendedSettings.meridiem === 'lowercase') { // other meridiem transformers already converted to lowercase
+ s = s.replace(MERIDIEM_RE, function (m0) {
+ return m0.toLocaleLowerCase();
+ });
+ }
+ s = s.replace(MULTI_SPACE_RE, ' ');
+ s = s.trim();
+ return s;
+}
+function injectTzoStr(s, tzoStr) {
+ var replaced = false;
+ s = s.replace(UTC_RE, function () {
+ replaced = true;
+ return tzoStr;
+ });
+ // IE11 doesn't include UTC/GMT in the original string, so append to end
+ if (!replaced) {
+ s += ' ' + tzoStr;
+ }
+ return s;
+}
+function formatWeekNumber(num, weekLabel, locale, display) {
+ var parts = [];
+ if (display === 'narrow') {
+ parts.push(weekLabel);
+ }
+ else if (display === 'short') {
+ parts.push(weekLabel, ' ');
+ }
+ // otherwise, considered 'numeric'
+ parts.push(locale.simpleNumberFormat.format(num));
+ if (locale.options.isRtl) { // TODO: use control characters instead?
+ parts.reverse();
+ }
+ return parts.join('');
+}
+// Range Formatting Utils
+// 0 = exactly the same
+// 1 = different by time
+// and bigger
+function computeMarkerDiffSeverity(d0, d1, ca) {
+ if (ca.getMarkerYear(d0) !== ca.getMarkerYear(d1)) {
+ return 5;
+ }
+ if (ca.getMarkerMonth(d0) !== ca.getMarkerMonth(d1)) {
+ return 4;
+ }
+ if (ca.getMarkerDay(d0) !== ca.getMarkerDay(d1)) {
+ return 2;
+ }
+ if (timeAsMs(d0) !== timeAsMs(d1)) {
+ return 1;
+ }
+ return 0;
+}
+function computePartialFormattingOptions(options, biggestUnit) {
+ var partialOptions = {};
+ for (var name_2 in options) {
+ if (!(name_2 in STANDARD_DATE_PROP_SEVERITIES) || // not a date part prop (like timeZone)
+ STANDARD_DATE_PROP_SEVERITIES[name_2] <= biggestUnit) {
+ partialOptions[name_2] = options[name_2];
+ }
+ }
+ return partialOptions;
+}
+function findCommonInsertion(full0, partial0, full1, partial1) {
+ var i0 = 0;
+ while (i0 < full0.length) {
+ var found0 = full0.indexOf(partial0, i0);
+ if (found0 === -1) {
+ break;
+ }
+ var before0 = full0.substr(0, found0);
+ i0 = found0 + partial0.length;
+ var after0 = full0.substr(i0);
+ var i1 = 0;
+ while (i1 < full1.length) {
+ var found1 = full1.indexOf(partial1, i1);
+ if (found1 === -1) {
+ break;
+ }
+ var before1 = full1.substr(0, found1);
+ i1 = found1 + partial1.length;
+ var after1 = full1.substr(i1);
+ if (before0 === before1 && after0 === after1) {
+ return {
+ before: before0,
+ after: after0
+ };
+ }
+ }
+ }
+ return null;
+}
+
+/*
+TODO: fix the terminology of "formatter" vs "formatting func"
+*/
+/*
+At the time of instantiation, this object does not know which cmd-formatting system it will use.
+It receives this at the time of formatting, as a setting.
+*/
+var CmdFormatter = /** @class */ (function () {
+ function CmdFormatter(cmdStr, separator) {
+ this.cmdStr = cmdStr;
+ this.separator = separator;
+ }
+ CmdFormatter.prototype.format = function (date, context) {
+ return context.cmdFormatter(this.cmdStr, createVerboseFormattingArg(date, null, context, this.separator));
+ };
+ CmdFormatter.prototype.formatRange = function (start, end, context) {
+ return context.cmdFormatter(this.cmdStr, createVerboseFormattingArg(start, end, context, this.separator));
+ };
+ return CmdFormatter;
+}());
+
+var FuncFormatter = /** @class */ (function () {
+ function FuncFormatter(func) {
+ this.func = func;
+ }
+ FuncFormatter.prototype.format = function (date, context) {
+ return this.func(createVerboseFormattingArg(date, null, context));
+ };
+ FuncFormatter.prototype.formatRange = function (start, end, context) {
+ return this.func(createVerboseFormattingArg(start, end, context));
+ };
+ return FuncFormatter;
+}());
+
+// Formatter Object Creation
+function createFormatter(input, defaultSeparator) {
+ if (typeof input === 'object' && input) { // non-null object
+ if (typeof defaultSeparator === 'string') {
+ input = __assign({ separator: defaultSeparator }, input);
+ }
+ return new NativeFormatter(input);
+ }
+ else if (typeof input === 'string') {
+ return new CmdFormatter(input, defaultSeparator);
+ }
+ else if (typeof input === 'function') {
+ return new FuncFormatter(input);
+ }
+}
+// String Utils
+// timeZoneOffset is in minutes
+function buildIsoString(marker, timeZoneOffset, stripZeroTime) {
+ if (stripZeroTime === void 0) { stripZeroTime = false; }
+ var s = marker.toISOString();
+ s = s.replace('.000', '');
+ if (stripZeroTime) {
+ s = s.replace('T00:00:00Z', '');
+ }
+ if (s.length > 10) { // time part wasn't stripped, can add timezone info
+ if (timeZoneOffset == null) {
+ s = s.replace('Z', '');
+ }
+ else if (timeZoneOffset !== 0) {
+ s = s.replace('Z', formatTimeZoneOffset(timeZoneOffset, true));
+ }
+ // otherwise, its UTC-0 and we want to keep the Z
+ }
+ return s;
+}
+function formatIsoTimeString(marker) {
+ return padStart(marker.getUTCHours(), 2) + ':' +
+ padStart(marker.getUTCMinutes(), 2) + ':' +
+ padStart(marker.getUTCSeconds(), 2);
+}
+function formatTimeZoneOffset(minutes, doIso) {
+ if (doIso === void 0) { doIso = false; }
+ var sign = minutes < 0 ? '-' : '+';
+ var abs = Math.abs(minutes);
+ var hours = Math.floor(abs / 60);
+ var mins = Math.round(abs % 60);
+ if (doIso) {
+ return sign + padStart(hours, 2) + ':' + padStart(mins, 2);
+ }
+ else {
+ return 'GMT' + sign + hours + (mins ? ':' + padStart(mins, 2) : '');
+ }
+}
+// Arg Utils
+function createVerboseFormattingArg(start, end, context, separator) {
+ var startInfo = expandZonedMarker(start, context.calendarSystem);
+ var endInfo = end ? expandZonedMarker(end, context.calendarSystem) : null;
+ return {
+ date: startInfo,
+ start: startInfo,
+ end: endInfo,
+ timeZone: context.timeZone,
+ localeCodes: context.locale.codes,
+ separator: separator
+ };
+}
+function expandZonedMarker(dateInfo, calendarSystem) {
+ var a = calendarSystem.markerToArray(dateInfo.marker);
+ return {
+ marker: dateInfo.marker,
+ timeZoneOffset: dateInfo.timeZoneOffset,
+ array: a,
+ year: a[0],
+ month: a[1],
+ day: a[2],
+ hour: a[3],
+ minute: a[4],
+ second: a[5],
+ millisecond: a[6]
+ };
+}
+
+var EventSourceApi = /** @class */ (function () {
+ function EventSourceApi(calendar, internalEventSource) {
+ this.calendar = calendar;
+ this.internalEventSource = internalEventSource;
+ }
+ EventSourceApi.prototype.remove = function () {
+ this.calendar.dispatch({
+ type: 'REMOVE_EVENT_SOURCE',
+ sourceId: this.internalEventSource.sourceId
+ });
+ };
+ EventSourceApi.prototype.refetch = function () {
+ this.calendar.dispatch({
+ type: 'FETCH_EVENT_SOURCES',
+ sourceIds: [this.internalEventSource.sourceId]
+ });
+ };
+ Object.defineProperty(EventSourceApi.prototype, "id", {
+ get: function () {
+ return this.internalEventSource.publicId;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventSourceApi.prototype, "url", {
+ // only relevant to json-feed event sources
+ get: function () {
+ return this.internalEventSource.meta.url;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ return EventSourceApi;
+}());
+
+var EventApi = /** @class */ (function () {
+ function EventApi(calendar, def, instance) {
+ this._calendar = calendar;
+ this._def = def;
+ this._instance = instance || null;
+ }
+ /*
+ TODO: make event struct more responsible for this
+ */
+ EventApi.prototype.setProp = function (name, val) {
+ var _a, _b;
+ if (name in DATE_PROPS) ;
+ else if (name in NON_DATE_PROPS) {
+ if (typeof NON_DATE_PROPS[name] === 'function') {
+ val = NON_DATE_PROPS[name](val);
+ }
+ this.mutate({
+ standardProps: (_a = {}, _a[name] = val, _a)
+ });
+ }
+ else if (name in UNSCOPED_EVENT_UI_PROPS) {
+ var ui = void 0;
+ if (typeof UNSCOPED_EVENT_UI_PROPS[name] === 'function') {
+ val = UNSCOPED_EVENT_UI_PROPS[name](val);
+ }
+ if (name === 'color') {
+ ui = { backgroundColor: val, borderColor: val };
+ }
+ else if (name === 'editable') {
+ ui = { startEditable: val, durationEditable: val };
+ }
+ else {
+ ui = (_b = {}, _b[name] = val, _b);
+ }
+ this.mutate({
+ standardProps: { ui: ui }
+ });
+ }
+ };
+ EventApi.prototype.setExtendedProp = function (name, val) {
+ var _a;
+ this.mutate({
+ extendedProps: (_a = {}, _a[name] = val, _a)
+ });
+ };
+ EventApi.prototype.setStart = function (startInput, options) {
+ if (options === void 0) { options = {}; }
+ var dateEnv = this._calendar.dateEnv;
+ var start = dateEnv.createMarker(startInput);
+ if (start && this._instance) { // TODO: warning if parsed bad
+ var instanceRange = this._instance.range;
+ var startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity); // what if parsed bad!?
+ if (options.maintainDuration) {
+ this.mutate({ datesDelta: startDelta });
+ }
+ else {
+ this.mutate({ startDelta: startDelta });
+ }
+ }
+ };
+ EventApi.prototype.setEnd = function (endInput, options) {
+ if (options === void 0) { options = {}; }
+ var dateEnv = this._calendar.dateEnv;
+ var end;
+ if (endInput != null) {
+ end = dateEnv.createMarker(endInput);
+ if (!end) {
+ return; // TODO: warning if parsed bad
+ }
+ }
+ if (this._instance) {
+ if (end) {
+ var endDelta = diffDates(this._instance.range.end, end, dateEnv, options.granularity);
+ this.mutate({ endDelta: endDelta });
+ }
+ else {
+ this.mutate({ standardProps: { hasEnd: false } });
+ }
+ }
+ };
+ EventApi.prototype.setDates = function (startInput, endInput, options) {
+ if (options === void 0) { options = {}; }
+ var dateEnv = this._calendar.dateEnv;
+ var standardProps = { allDay: options.allDay };
+ var start = dateEnv.createMarker(startInput);
+ var end;
+ if (!start) {
+ return; // TODO: warning if parsed bad
+ }
+ if (endInput != null) {
+ end = dateEnv.createMarker(endInput);
+ if (!end) { // TODO: warning if parsed bad
+ return;
+ }
+ }
+ if (this._instance) {
+ var instanceRange = this._instance.range;
+ // when computing the diff for an event being converted to all-day,
+ // compute diff off of the all-day values the way event-mutation does.
+ if (options.allDay === true) {
+ instanceRange = computeAlignedDayRange(instanceRange);
+ }
+ var startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity);
+ if (end) {
+ var endDelta = diffDates(instanceRange.end, end, dateEnv, options.granularity);
+ if (durationsEqual(startDelta, endDelta)) {
+ this.mutate({ datesDelta: startDelta, standardProps: standardProps });
+ }
+ else {
+ this.mutate({ startDelta: startDelta, endDelta: endDelta, standardProps: standardProps });
+ }
+ }
+ else { // means "clear the end"
+ standardProps.hasEnd = false;
+ this.mutate({ datesDelta: startDelta, standardProps: standardProps });
+ }
+ }
+ };
+ EventApi.prototype.moveStart = function (deltaInput) {
+ var delta = createDuration(deltaInput);
+ if (delta) { // TODO: warning if parsed bad
+ this.mutate({ startDelta: delta });
+ }
+ };
+ EventApi.prototype.moveEnd = function (deltaInput) {
+ var delta = createDuration(deltaInput);
+ if (delta) { // TODO: warning if parsed bad
+ this.mutate({ endDelta: delta });
+ }
+ };
+ EventApi.prototype.moveDates = function (deltaInput) {
+ var delta = createDuration(deltaInput);
+ if (delta) { // TODO: warning if parsed bad
+ this.mutate({ datesDelta: delta });
+ }
+ };
+ EventApi.prototype.setAllDay = function (allDay, options) {
+ if (options === void 0) { options = {}; }
+ var standardProps = { allDay: allDay };
+ var maintainDuration = options.maintainDuration;
+ if (maintainDuration == null) {
+ maintainDuration = this._calendar.opt('allDayMaintainDuration');
+ }
+ if (this._def.allDay !== allDay) {
+ standardProps.hasEnd = maintainDuration;
+ }
+ this.mutate({ standardProps: standardProps });
+ };
+ EventApi.prototype.formatRange = function (formatInput) {
+ var dateEnv = this._calendar.dateEnv;
+ var instance = this._instance;
+ var formatter = createFormatter(formatInput, this._calendar.opt('defaultRangeSeparator'));
+ if (this._def.hasEnd) {
+ return dateEnv.formatRange(instance.range.start, instance.range.end, formatter, {
+ forcedStartTzo: instance.forcedStartTzo,
+ forcedEndTzo: instance.forcedEndTzo
+ });
+ }
+ else {
+ return dateEnv.format(instance.range.start, formatter, {
+ forcedTzo: instance.forcedStartTzo
+ });
+ }
+ };
+ EventApi.prototype.mutate = function (mutation) {
+ var def = this._def;
+ var instance = this._instance;
+ if (instance) {
+ this._calendar.dispatch({
+ type: 'MUTATE_EVENTS',
+ instanceId: instance.instanceId,
+ mutation: mutation,
+ fromApi: true
+ });
+ var eventStore = this._calendar.state.eventStore;
+ this._def = eventStore.defs[def.defId];
+ this._instance = eventStore.instances[instance.instanceId];
+ }
+ };
+ EventApi.prototype.remove = function () {
+ this._calendar.dispatch({
+ type: 'REMOVE_EVENT_DEF',
+ defId: this._def.defId
+ });
+ };
+ Object.defineProperty(EventApi.prototype, "source", {
+ get: function () {
+ var sourceId = this._def.sourceId;
+ if (sourceId) {
+ return new EventSourceApi(this._calendar, this._calendar.state.eventSources[sourceId]);
+ }
+ return null;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "start", {
+ get: function () {
+ return this._instance ?
+ this._calendar.dateEnv.toDate(this._instance.range.start) :
+ null;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "end", {
+ get: function () {
+ return (this._instance && this._def.hasEnd) ?
+ this._calendar.dateEnv.toDate(this._instance.range.end) :
+ null;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "id", {
+ // computable props that all access the def
+ // TODO: find a TypeScript-compatible way to do this at scale
+ get: function () { return this._def.publicId; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "groupId", {
+ get: function () { return this._def.groupId; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "allDay", {
+ get: function () { return this._def.allDay; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "title", {
+ get: function () { return this._def.title; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "url", {
+ get: function () { return this._def.url; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "rendering", {
+ get: function () { return this._def.rendering; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "startEditable", {
+ get: function () { return this._def.ui.startEditable; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "durationEditable", {
+ get: function () { return this._def.ui.durationEditable; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "constraint", {
+ get: function () { return this._def.ui.constraints[0] || null; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "overlap", {
+ get: function () { return this._def.ui.overlap; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "allow", {
+ get: function () { return this._def.ui.allows[0] || null; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "backgroundColor", {
+ get: function () { return this._def.ui.backgroundColor; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "borderColor", {
+ get: function () { return this._def.ui.borderColor; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "textColor", {
+ get: function () { return this._def.ui.textColor; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "classNames", {
+ // NOTE: user can't modify these because Object.freeze was called in event-def parsing
+ get: function () { return this._def.ui.classNames; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(EventApi.prototype, "extendedProps", {
+ get: function () { return this._def.extendedProps; },
+ enumerable: true,
+ configurable: true
+ });
+ return EventApi;
+}());
+
+/*
+Specifying nextDayThreshold signals that all-day ranges should be sliced.
+*/
+function sliceEventStore(eventStore, eventUiBases, framingRange, nextDayThreshold) {
+ var inverseBgByGroupId = {};
+ var inverseBgByDefId = {};
+ var defByGroupId = {};
+ var bgRanges = [];
+ var fgRanges = [];
+ var eventUis = compileEventUis(eventStore.defs, eventUiBases);
+ for (var defId in eventStore.defs) {
+ var def = eventStore.defs[defId];
+ if (def.rendering === 'inverse-background') {
+ if (def.groupId) {
+ inverseBgByGroupId[def.groupId] = [];
+ if (!defByGroupId[def.groupId]) {
+ defByGroupId[def.groupId] = def;
+ }
+ }
+ else {
+ inverseBgByDefId[defId] = [];
+ }
+ }
+ }
+ for (var instanceId in eventStore.instances) {
+ var instance = eventStore.instances[instanceId];
+ var def = eventStore.defs[instance.defId];
+ var ui = eventUis[def.defId];
+ var origRange = instance.range;
+ var normalRange = (!def.allDay && nextDayThreshold) ?
+ computeVisibleDayRange(origRange, nextDayThreshold) :
+ origRange;
+ var slicedRange = intersectRanges(normalRange, framingRange);
+ if (slicedRange) {
+ if (def.rendering === 'inverse-background') {
+ if (def.groupId) {
+ inverseBgByGroupId[def.groupId].push(slicedRange);
+ }
+ else {
+ inverseBgByDefId[instance.defId].push(slicedRange);
+ }
+ }
+ else {
+ (def.rendering === 'background' ? bgRanges : fgRanges).push({
+ def: def,
+ ui: ui,
+ instance: instance,
+ range: slicedRange,
+ isStart: normalRange.start && normalRange.start.valueOf() === slicedRange.start.valueOf(),
+ isEnd: normalRange.end && normalRange.end.valueOf() === slicedRange.end.valueOf()
+ });
+ }
+ }
+ }
+ for (var groupId in inverseBgByGroupId) { // BY GROUP
+ var ranges = inverseBgByGroupId[groupId];
+ var invertedRanges = invertRanges(ranges, framingRange);
+ for (var _i = 0, invertedRanges_1 = invertedRanges; _i < invertedRanges_1.length; _i++) {
+ var invertedRange = invertedRanges_1[_i];
+ var def = defByGroupId[groupId];
+ var ui = eventUis[def.defId];
+ bgRanges.push({
+ def: def,
+ ui: ui,
+ instance: null,
+ range: invertedRange,
+ isStart: false,
+ isEnd: false
+ });
+ }
+ }
+ for (var defId in inverseBgByDefId) {
+ var ranges = inverseBgByDefId[defId];
+ var invertedRanges = invertRanges(ranges, framingRange);
+ for (var _a = 0, invertedRanges_2 = invertedRanges; _a < invertedRanges_2.length; _a++) {
+ var invertedRange = invertedRanges_2[_a];
+ bgRanges.push({
+ def: eventStore.defs[defId],
+ ui: eventUis[defId],
+ instance: null,
+ range: invertedRange,
+ isStart: false,
+ isEnd: false
+ });
+ }
+ }
+ return { bg: bgRanges, fg: fgRanges };
+}
+function hasBgRendering(def) {
+ return def.rendering === 'background' || def.rendering === 'inverse-background';
+}
+function filterSegsViaEls(context, segs, isMirror) {
+ var calendar = context.calendar, view = context.view;
+ if (calendar.hasPublicHandlers('eventRender')) {
+ segs = segs.filter(function (seg) {
+ var custom = calendar.publiclyTrigger('eventRender', [
+ {
+ event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
+ isMirror: isMirror,
+ isStart: seg.isStart,
+ isEnd: seg.isEnd,
+ // TODO: include seg.range once all components consistently generate it
+ el: seg.el,
+ view: view
+ }
+ ]);
+ if (custom === false) { // means don't render at all
+ return false;
+ }
+ else if (custom && custom !== true) {
+ seg.el = custom;
+ }
+ return true;
+ });
+ }
+ for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {
+ var seg = segs_1[_i];
+ setElSeg(seg.el, seg);
+ }
+ return segs;
+}
+function setElSeg(el, seg) {
+ el.fcSeg = seg;
+}
+function getElSeg(el) {
+ return el.fcSeg || null;
+}
+// event ui computation
+function compileEventUis(eventDefs, eventUiBases) {
+ return mapHash(eventDefs, function (eventDef) {
+ return compileEventUi(eventDef, eventUiBases);
+ });
+}
+function compileEventUi(eventDef, eventUiBases) {
+ var uis = [];
+ if (eventUiBases['']) {
+ uis.push(eventUiBases['']);
+ }
+ if (eventUiBases[eventDef.defId]) {
+ uis.push(eventUiBases[eventDef.defId]);
+ }
+ uis.push(eventDef.ui);
+ return combineEventUis(uis);
+}
+// triggers
+function triggerRenderedSegs(context, segs, isMirrors) {
+ var calendar = context.calendar, view = context.view;
+ if (calendar.hasPublicHandlers('eventPositioned')) {
+ for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {
+ var seg = segs_2[_i];
+ calendar.publiclyTriggerAfterSizing('eventPositioned', [
+ {
+ event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
+ isMirror: isMirrors,
+ isStart: seg.isStart,
+ isEnd: seg.isEnd,
+ el: seg.el,
+ view: view
+ }
+ ]);
+ }
+ }
+ if (!calendar.state.eventSourceLoadingLevel) { // avoid initial empty state while pending
+ calendar.afterSizingTriggers._eventsPositioned = [null]; // fire once
+ }
+}
+function triggerWillRemoveSegs(context, segs, isMirrors) {
+ var calendar = context.calendar, view = context.view;
+ for (var _i = 0, segs_3 = segs; _i < segs_3.length; _i++) {
+ var seg = segs_3[_i];
+ calendar.trigger('eventElRemove', seg.el);
+ }
+ if (calendar.hasPublicHandlers('eventDestroy')) {
+ for (var _a = 0, segs_4 = segs; _a < segs_4.length; _a++) {
+ var seg = segs_4[_a];
+ calendar.publiclyTrigger('eventDestroy', [
+ {
+ event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
+ isMirror: isMirrors,
+ el: seg.el,
+ view: view
+ }
+ ]);
+ }
+ }
+}
+// is-interactable
+function computeEventDraggable(context, eventDef, eventUi) {
+ var calendar = context.calendar, view = context.view;
+ var transformers = calendar.pluginSystem.hooks.isDraggableTransformers;
+ var val = eventUi.startEditable;
+ for (var _i = 0, transformers_1 = transformers; _i < transformers_1.length; _i++) {
+ var transformer = transformers_1[_i];
+ val = transformer(val, eventDef, eventUi, view);
+ }
+ return val;
+}
+function computeEventStartResizable(context, eventDef, eventUi) {
+ return eventUi.durationEditable && context.options.eventResizableFromStart;
+}
+function computeEventEndResizable(context, eventDef, eventUi) {
+ return eventUi.durationEditable;
+}
+
+// applies the mutation to ALL defs/instances within the event store
+function applyMutationToEventStore(eventStore, eventConfigBase, mutation, calendar) {
+ var eventConfigs = compileEventUis(eventStore.defs, eventConfigBase);
+ var dest = createEmptyEventStore();
+ for (var defId in eventStore.defs) {
+ var def = eventStore.defs[defId];
+ dest.defs[defId] = applyMutationToEventDef(def, eventConfigs[defId], mutation, calendar.pluginSystem.hooks.eventDefMutationAppliers, calendar);
+ }
+ for (var instanceId in eventStore.instances) {
+ var instance = eventStore.instances[instanceId];
+ var def = dest.defs[instance.defId]; // important to grab the newly modified def
+ dest.instances[instanceId] = applyMutationToEventInstance(instance, def, eventConfigs[instance.defId], mutation, calendar);
+ }
+ return dest;
+}
+function applyMutationToEventDef(eventDef, eventConfig, mutation, appliers, calendar) {
+ var standardProps = mutation.standardProps || {};
+ // if hasEnd has not been specified, guess a good value based on deltas.
+ // if duration will change, there's no way the default duration will persist,
+ // and thus, we need to mark the event as having a real end
+ if (standardProps.hasEnd == null &&
+ eventConfig.durationEditable &&
+ (mutation.startDelta || mutation.endDelta)) {
+ standardProps.hasEnd = true; // TODO: is this mutation okay?
+ }
+ var copy = __assign({}, eventDef, standardProps, { ui: __assign({}, eventDef.ui, standardProps.ui) });
+ if (mutation.extendedProps) {
+ copy.extendedProps = __assign({}, copy.extendedProps, mutation.extendedProps);
+ }
+ for (var _i = 0, appliers_1 = appliers; _i < appliers_1.length; _i++) {
+ var applier = appliers_1[_i];
+ applier(copy, mutation, calendar);
+ }
+ if (!copy.hasEnd && calendar.opt('forceEventDuration')) {
+ copy.hasEnd = true;
+ }
+ return copy;
+}
+function applyMutationToEventInstance(eventInstance, eventDef, // must first be modified by applyMutationToEventDef
+eventConfig, mutation, calendar) {
+ var dateEnv = calendar.dateEnv;
+ var forceAllDay = mutation.standardProps && mutation.standardProps.allDay === true;
+ var clearEnd = mutation.standardProps && mutation.standardProps.hasEnd === false;
+ var copy = __assign({}, eventInstance);
+ if (forceAllDay) {
+ copy.range = computeAlignedDayRange(copy.range);
+ }
+ if (mutation.datesDelta && eventConfig.startEditable) {
+ copy.range = {
+ start: dateEnv.add(copy.range.start, mutation.datesDelta),
+ end: dateEnv.add(copy.range.end, mutation.datesDelta)
+ };
+ }
+ if (mutation.startDelta && eventConfig.durationEditable) {
+ copy.range = {
+ start: dateEnv.add(copy.range.start, mutation.startDelta),
+ end: copy.range.end
+ };
+ }
+ if (mutation.endDelta && eventConfig.durationEditable) {
+ copy.range = {
+ start: copy.range.start,
+ end: dateEnv.add(copy.range.end, mutation.endDelta)
+ };
+ }
+ if (clearEnd) {
+ copy.range = {
+ start: copy.range.start,
+ end: calendar.getDefaultEventEnd(eventDef.allDay, copy.range.start)
+ };
+ }
+ // in case event was all-day but the supplied deltas were not
+ // better util for this?
+ if (eventDef.allDay) {
+ copy.range = {
+ start: startOfDay(copy.range.start),
+ end: startOfDay(copy.range.end)
+ };
+ }
+ // handle invalid durations
+ if (copy.range.end < copy.range.start) {
+ copy.range.end = calendar.getDefaultEventEnd(eventDef.allDay, copy.range.start);
+ }
+ return copy;
+}
+
+function reduceEventStore (eventStore, action, eventSources, dateProfile, calendar) {
+ switch (action.type) {
+ case 'RECEIVE_EVENTS': // raw
+ return receiveRawEvents(eventStore, eventSources[action.sourceId], action.fetchId, action.fetchRange, action.rawEvents, calendar);
+ case 'ADD_EVENTS': // already parsed, but not expanded
+ return addEvent(eventStore, action.eventStore, // new ones
+ dateProfile ? dateProfile.activeRange : null, calendar);
+ case 'MERGE_EVENTS': // already parsed and expanded
+ return mergeEventStores(eventStore, action.eventStore);
+ case 'PREV': // TODO: how do we track all actions that affect dateProfile :(
+ case 'NEXT':
+ case 'SET_DATE':
+ case 'SET_VIEW_TYPE':
+ if (dateProfile) {
+ return expandRecurring(eventStore, dateProfile.activeRange, calendar);
+ }
+ else {
+ return eventStore;
+ }
+ case 'CHANGE_TIMEZONE':
+ return rezoneDates(eventStore, action.oldDateEnv, calendar.dateEnv);
+ case 'MUTATE_EVENTS':
+ return applyMutationToRelated(eventStore, action.instanceId, action.mutation, action.fromApi, calendar);
+ case 'REMOVE_EVENT_INSTANCES':
+ return excludeInstances(eventStore, action.instances);
+ case 'REMOVE_EVENT_DEF':
+ return filterEventStoreDefs(eventStore, function (eventDef) {
+ return eventDef.defId !== action.defId;
+ });
+ case 'REMOVE_EVENT_SOURCE':
+ return excludeEventsBySourceId(eventStore, action.sourceId);
+ case 'REMOVE_ALL_EVENT_SOURCES':
+ return filterEventStoreDefs(eventStore, function (eventDef) {
+ return !eventDef.sourceId; // only keep events with no source id
+ });
+ case 'REMOVE_ALL_EVENTS':
+ return createEmptyEventStore();
+ case 'RESET_EVENTS':
+ return {
+ defs: eventStore.defs,
+ instances: eventStore.instances
+ };
+ default:
+ return eventStore;
+ }
+}
+function receiveRawEvents(eventStore, eventSource, fetchId, fetchRange, rawEvents, calendar) {
+ if (eventSource && // not already removed
+ fetchId === eventSource.latestFetchId // TODO: wish this logic was always in event-sources
+ ) {
+ var subset = parseEvents(transformRawEvents(rawEvents, eventSource, calendar), eventSource.sourceId, calendar);
+ if (fetchRange) {
+ subset = expandRecurring(subset, fetchRange, calendar);
+ }
+ return mergeEventStores(excludeEventsBySourceId(eventStore, eventSource.sourceId), subset);
+ }
+ return eventStore;
+}
+function addEvent(eventStore, subset, expandRange, calendar) {
+ if (expandRange) {
+ subset = expandRecurring(subset, expandRange, calendar);
+ }
+ return mergeEventStores(eventStore, subset);
+}
+function rezoneDates(eventStore, oldDateEnv, newDateEnv) {
+ var defs = eventStore.defs;
+ var instances = mapHash(eventStore.instances, function (instance) {
+ var def = defs[instance.defId];
+ if (def.allDay || def.recurringDef) {
+ return instance; // isn't dependent on timezone
+ }
+ else {
+ return __assign({}, instance, { range: {
+ start: newDateEnv.createMarker(oldDateEnv.toDate(instance.range.start, instance.forcedStartTzo)),
+ end: newDateEnv.createMarker(oldDateEnv.toDate(instance.range.end, instance.forcedEndTzo))
+ }, forcedStartTzo: newDateEnv.canComputeOffset ? null : instance.forcedStartTzo, forcedEndTzo: newDateEnv.canComputeOffset ? null : instance.forcedEndTzo });
+ }
+ });
+ return { defs: defs, instances: instances };
+}
+function applyMutationToRelated(eventStore, instanceId, mutation, fromApi, calendar) {
+ var relevant = getRelevantEvents(eventStore, instanceId);
+ var eventConfigBase = fromApi ?
+ { '': {
+ startEditable: true,
+ durationEditable: true,
+ constraints: [],
+ overlap: null,
+ allows: [],
+ backgroundColor: '',
+ borderColor: '',
+ textColor: '',
+ classNames: []
+ } } :
+ calendar.eventUiBases;
+ relevant = applyMutationToEventStore(relevant, eventConfigBase, mutation, calendar);
+ return mergeEventStores(eventStore, relevant);
+}
+function excludeEventsBySourceId(eventStore, sourceId) {
+ return filterEventStoreDefs(eventStore, function (eventDef) {
+ return eventDef.sourceId !== sourceId;
+ });
+}
+// QUESTION: why not just return instances? do a general object-property-exclusion util
+function excludeInstances(eventStore, removals) {
+ return {
+ defs: eventStore.defs,
+ instances: filterHash(eventStore.instances, function (instance) {
+ return !removals[instance.instanceId];
+ })
+ };
+}
+
+// high-level segmenting-aware tester functions
+// ------------------------------------------------------------------------------------------------------------------------
+function isInteractionValid(interaction, calendar) {
+ return isNewPropsValid({ eventDrag: interaction }, calendar); // HACK: the eventDrag props is used for ALL interactions
+}
+function isDateSelectionValid(dateSelection, calendar) {
+ return isNewPropsValid({ dateSelection: dateSelection }, calendar);
+}
+function isNewPropsValid(newProps, calendar) {
+ var view = calendar.view;
+ var props = __assign({ businessHours: view ? view.props.businessHours : createEmptyEventStore(), dateSelection: '', eventStore: calendar.state.eventStore, eventUiBases: calendar.eventUiBases, eventSelection: '', eventDrag: null, eventResize: null }, newProps);
+ return (calendar.pluginSystem.hooks.isPropsValid || isPropsValid)(props, calendar);
+}
+function isPropsValid(state, calendar, dateSpanMeta, filterConfig) {
+ if (dateSpanMeta === void 0) { dateSpanMeta = {}; }
+ if (state.eventDrag && !isInteractionPropsValid(state, calendar, dateSpanMeta, filterConfig)) {
+ return false;
+ }
+ if (state.dateSelection && !isDateSelectionPropsValid(state, calendar, dateSpanMeta, filterConfig)) {
+ return false;
+ }
+ return true;
+}
+// Moving Event Validation
+// ------------------------------------------------------------------------------------------------------------------------
+function isInteractionPropsValid(state, calendar, dateSpanMeta, filterConfig) {
+ var interaction = state.eventDrag; // HACK: the eventDrag props is used for ALL interactions
+ var subjectEventStore = interaction.mutatedEvents;
+ var subjectDefs = subjectEventStore.defs;
+ var subjectInstances = subjectEventStore.instances;
+ var subjectConfigs = compileEventUis(subjectDefs, interaction.isEvent ?
+ state.eventUiBases :
+ { '': calendar.selectionConfig } // if not a real event, validate as a selection
+ );
+ if (filterConfig) {
+ subjectConfigs = mapHash(subjectConfigs, filterConfig);
+ }
+ var otherEventStore = excludeInstances(state.eventStore, interaction.affectedEvents.instances); // exclude the subject events. TODO: exclude defs too?
+ var otherDefs = otherEventStore.defs;
+ var otherInstances = otherEventStore.instances;
+ var otherConfigs = compileEventUis(otherDefs, state.eventUiBases);
+ for (var subjectInstanceId in subjectInstances) {
+ var subjectInstance = subjectInstances[subjectInstanceId];
+ var subjectRange = subjectInstance.range;
+ var subjectConfig = subjectConfigs[subjectInstance.defId];
+ var subjectDef = subjectDefs[subjectInstance.defId];
+ // constraint
+ if (!allConstraintsPass(subjectConfig.constraints, subjectRange, otherEventStore, state.businessHours, calendar)) {
+ return false;
+ }
+ // overlap
+ var overlapFunc = calendar.opt('eventOverlap');
+ if (typeof overlapFunc !== 'function') {
+ overlapFunc = null;
+ }
+ for (var otherInstanceId in otherInstances) {
+ var otherInstance = otherInstances[otherInstanceId];
+ // intersect! evaluate
+ if (rangesIntersect(subjectRange, otherInstance.range)) {
+ var otherOverlap = otherConfigs[otherInstance.defId].overlap;
+ // consider the other event's overlap. only do this if the subject event is a "real" event
+ if (otherOverlap === false && interaction.isEvent) {
+ return false;
+ }
+ if (subjectConfig.overlap === false) {
+ return false;
+ }
+ if (overlapFunc && !overlapFunc(new EventApi(calendar, otherDefs[otherInstance.defId], otherInstance), // still event
+ new EventApi(calendar, subjectDef, subjectInstance) // moving event
+ )) {
+ return false;
+ }
+ }
+ }
+ // allow (a function)
+ var calendarEventStore = calendar.state.eventStore; // need global-to-calendar, not local to component (splittable)state
+ for (var _i = 0, _a = subjectConfig.allows; _i < _a.length; _i++) {
+ var subjectAllow = _a[_i];
+ var subjectDateSpan = __assign({}, dateSpanMeta, { range: subjectInstance.range, allDay: subjectDef.allDay });
+ var origDef = calendarEventStore.defs[subjectDef.defId];
+ var origInstance = calendarEventStore.instances[subjectInstanceId];
+ var eventApi = void 0;
+ if (origDef) { // was previously in the calendar
+ eventApi = new EventApi(calendar, origDef, origInstance);
+ }
+ else { // was an external event
+ eventApi = new EventApi(calendar, subjectDef); // no instance, because had no dates
+ }
+ if (!subjectAllow(calendar.buildDateSpanApi(subjectDateSpan), eventApi)) {
+ return false;
+ }
+ }
+ }
+ return true;
+}
+// Date Selection Validation
+// ------------------------------------------------------------------------------------------------------------------------
+function isDateSelectionPropsValid(state, calendar, dateSpanMeta, filterConfig) {
+ var relevantEventStore = state.eventStore;
+ var relevantDefs = relevantEventStore.defs;
+ var relevantInstances = relevantEventStore.instances;
+ var selection = state.dateSelection;
+ var selectionRange = selection.range;
+ var selectionConfig = calendar.selectionConfig;
+ if (filterConfig) {
+ selectionConfig = filterConfig(selectionConfig);
+ }
+ // constraint
+ if (!allConstraintsPass(selectionConfig.constraints, selectionRange, relevantEventStore, state.businessHours, calendar)) {
+ return false;
+ }
+ // overlap
+ var overlapFunc = calendar.opt('selectOverlap');
+ if (typeof overlapFunc !== 'function') {
+ overlapFunc = null;
+ }
+ for (var relevantInstanceId in relevantInstances) {
+ var relevantInstance = relevantInstances[relevantInstanceId];
+ // intersect! evaluate
+ if (rangesIntersect(selectionRange, relevantInstance.range)) {
+ if (selectionConfig.overlap === false) {
+ return false;
+ }
+ if (overlapFunc && !overlapFunc(new EventApi(calendar, relevantDefs[relevantInstance.defId], relevantInstance))) {
+ return false;
+ }
+ }
+ }
+ // allow (a function)
+ for (var _i = 0, _a = selectionConfig.allows; _i < _a.length; _i++) {
+ var selectionAllow = _a[_i];
+ var fullDateSpan = __assign({}, dateSpanMeta, selection);
+ if (!selectionAllow(calendar.buildDateSpanApi(fullDateSpan), null)) {
+ return false;
+ }
+ }
+ return true;
+}
+// Constraint Utils
+// ------------------------------------------------------------------------------------------------------------------------
+function allConstraintsPass(constraints, subjectRange, otherEventStore, businessHoursUnexpanded, calendar) {
+ for (var _i = 0, constraints_1 = constraints; _i < constraints_1.length; _i++) {
+ var constraint = constraints_1[_i];
+ if (!anyRangesContainRange(constraintToRanges(constraint, subjectRange, otherEventStore, businessHoursUnexpanded, calendar), subjectRange)) {
+ return false;
+ }
+ }
+ return true;
+}
+function constraintToRanges(constraint, subjectRange, // for expanding a recurring constraint, or expanding business hours
+otherEventStore, // for if constraint is an even group ID
+businessHoursUnexpanded, // for if constraint is 'businessHours'
+calendar // for expanding businesshours
+) {
+ if (constraint === 'businessHours') {
+ return eventStoreToRanges(expandRecurring(businessHoursUnexpanded, subjectRange, calendar));
+ }
+ else if (typeof constraint === 'string') { // an group ID
+ return eventStoreToRanges(filterEventStoreDefs(otherEventStore, function (eventDef) {
+ return eventDef.groupId === constraint;
+ }));
+ }
+ else if (typeof constraint === 'object' && constraint) { // non-null object
+ return eventStoreToRanges(expandRecurring(constraint, subjectRange, calendar));
+ }
+ return []; // if it's false
+}
+// TODO: move to event-store file?
+function eventStoreToRanges(eventStore) {
+ var instances = eventStore.instances;
+ var ranges = [];
+ for (var instanceId in instances) {
+ ranges.push(instances[instanceId].range);
+ }
+ return ranges;
+}
+// TODO: move to geom file?
+function anyRangesContainRange(outerRanges, innerRange) {
+ for (var _i = 0, outerRanges_1 = outerRanges; _i < outerRanges_1.length; _i++) {
+ var outerRange = outerRanges_1[_i];
+ if (rangeContainsRange(outerRange, innerRange)) {
+ return true;
+ }
+ }
+ return false;
+}
+// Parsing
+// ------------------------------------------------------------------------------------------------------------------------
+function normalizeConstraint(input, calendar) {
+ if (Array.isArray(input)) {
+ return parseEvents(input, '', calendar, true); // allowOpenRange=true
+ }
+ else if (typeof input === 'object' && input) { // non-null object
+ return parseEvents([input], '', calendar, true); // allowOpenRange=true
+ }
+ else if (input != null) {
+ return String(input);
+ }
+ else {
+ return null;
+ }
+}
+
+function htmlEscape(s) {
+ return (s + '').replace(/&/g, '&amp;')
+ .replace(/</g, '&lt;')
+ .replace(/>/g, '&gt;')
+ .replace(/'/g, '&#039;')
+ .replace(/"/g, '&quot;')
+ .replace(/\n/g, '<br />');
+}
+// Given a hash of CSS properties, returns a string of CSS.
+// Uses property names as-is (no camel-case conversion). Will not make statements for null/undefined values.
+function cssToStr(cssProps) {
+ var statements = [];
+ for (var name_1 in cssProps) {
+ var val = cssProps[name_1];
+ if (val != null && val !== '') {
+ statements.push(name_1 + ':' + val);
+ }
+ }
+ return statements.join(';');
+}
+// Given an object hash of HTML attribute names to values,
+// generates a string that can be injected between < > in HTML
+function attrsToStr(attrs) {
+ var parts = [];
+ for (var name_2 in attrs) {
+ var val = attrs[name_2];
+ if (val != null) {
+ parts.push(name_2 + '="' + htmlEscape(val) + '"');
+ }
+ }
+ return parts.join(' ');
+}
+function parseClassName(raw) {
+ if (Array.isArray(raw)) {
+ return raw;
+ }
+ else if (typeof raw === 'string') {
+ return raw.split(/\s+/);
+ }
+ else {
+ return [];
+ }
+}
+
+var UNSCOPED_EVENT_UI_PROPS = {
+ editable: Boolean,
+ startEditable: Boolean,
+ durationEditable: Boolean,
+ constraint: null,
+ overlap: null,
+ allow: null,
+ className: parseClassName,
+ classNames: parseClassName,
+ color: String,
+ backgroundColor: String,
+ borderColor: String,
+ textColor: String
+};
+function processUnscopedUiProps(rawProps, calendar, leftovers) {
+ var props = refineProps(rawProps, UNSCOPED_EVENT_UI_PROPS, {}, leftovers);
+ var constraint = normalizeConstraint(props.constraint, calendar);
+ return {
+ startEditable: props.startEditable != null ? props.startEditable : props.editable,
+ durationEditable: props.durationEditable != null ? props.durationEditable : props.editable,
+ constraints: constraint != null ? [constraint] : [],
+ overlap: props.overlap,
+ allows: props.allow != null ? [props.allow] : [],
+ backgroundColor: props.backgroundColor || props.color,
+ borderColor: props.borderColor || props.color,
+ textColor: props.textColor,
+ classNames: props.classNames.concat(props.className)
+ };
+}
+function processScopedUiProps(prefix, rawScoped, calendar, leftovers) {
+ var rawUnscoped = {};
+ var wasFound = {};
+ for (var key in UNSCOPED_EVENT_UI_PROPS) {
+ var scopedKey = prefix + capitaliseFirstLetter(key);
+ rawUnscoped[key] = rawScoped[scopedKey];
+ wasFound[scopedKey] = true;
+ }
+ if (prefix === 'event') {
+ rawUnscoped.editable = rawScoped.editable; // special case. there is no 'eventEditable', just 'editable'
+ }
+ if (leftovers) {
+ for (var key in rawScoped) {
+ if (!wasFound[key]) {
+ leftovers[key] = rawScoped[key];
+ }
+ }
+ }
+ return processUnscopedUiProps(rawUnscoped, calendar);
+}
+var EMPTY_EVENT_UI = {
+ startEditable: null,
+ durationEditable: null,
+ constraints: [],
+ overlap: null,
+ allows: [],
+ backgroundColor: '',
+ borderColor: '',
+ textColor: '',
+ classNames: []
+};
+// prevent against problems with <2 args!
+function combineEventUis(uis) {
+ return uis.reduce(combineTwoEventUis, EMPTY_EVENT_UI);
+}
+function combineTwoEventUis(item0, item1) {
+ return {
+ startEditable: item1.startEditable != null ? item1.startEditable : item0.startEditable,
+ durationEditable: item1.durationEditable != null ? item1.durationEditable : item0.durationEditable,
+ constraints: item0.constraints.concat(item1.constraints),
+ overlap: typeof item1.overlap === 'boolean' ? item1.overlap : item0.overlap,
+ allows: item0.allows.concat(item1.allows),
+ backgroundColor: item1.backgroundColor || item0.backgroundColor,
+ borderColor: item1.borderColor || item0.borderColor,
+ textColor: item1.textColor || item0.textColor,
+ classNames: item0.classNames.concat(item1.classNames)
+ };
+}
+
+var NON_DATE_PROPS = {
+ id: String,
+ groupId: String,
+ title: String,
+ url: String,
+ rendering: String,
+ extendedProps: null
+};
+var DATE_PROPS = {
+ start: null,
+ date: null,
+ end: null,
+ allDay: null
+};
+var uid = 0;
+function parseEvent(raw, sourceId, calendar, allowOpenRange) {
+ var allDayDefault = computeIsAllDayDefault(sourceId, calendar);
+ var leftovers0 = {};
+ var recurringRes = parseRecurring(raw, // raw, but with single-event stuff stripped out
+ allDayDefault, calendar.dateEnv, calendar.pluginSystem.hooks.recurringTypes, leftovers0 // will populate with non-recurring props
+ );
+ if (recurringRes) {
+ var def = parseEventDef(leftovers0, sourceId, recurringRes.allDay, Boolean(recurringRes.duration), calendar);
+ def.recurringDef = {
+ typeId: recurringRes.typeId,
+ typeData: recurringRes.typeData,
+ duration: recurringRes.duration
+ };
+ return { def: def, instance: null };
+ }
+ else {
+ var leftovers1 = {};
+ var singleRes = parseSingle(raw, allDayDefault, calendar, leftovers1, allowOpenRange);
+ if (singleRes) {
+ var def = parseEventDef(leftovers1, sourceId, singleRes.allDay, singleRes.hasEnd, calendar);
+ var instance = createEventInstance(def.defId, singleRes.range, singleRes.forcedStartTzo, singleRes.forcedEndTzo);
+ return { def: def, instance: instance };
+ }
+ }
+ return null;
+}
+/*
+Will NOT populate extendedProps with the leftover properties.
+Will NOT populate date-related props.
+The EventNonDateInput has been normalized (id => publicId, etc).
+*/
+function parseEventDef(raw, sourceId, allDay, hasEnd, calendar) {
+ var leftovers = {};
+ var def = pluckNonDateProps(raw, calendar, leftovers);
+ def.defId = String(uid++);
+ def.sourceId = sourceId;
+ def.allDay = allDay;
+ def.hasEnd = hasEnd;
+ for (var _i = 0, _a = calendar.pluginSystem.hooks.eventDefParsers; _i < _a.length; _i++) {
+ var eventDefParser = _a[_i];
+ var newLeftovers = {};
+ eventDefParser(def, leftovers, newLeftovers);
+ leftovers = newLeftovers;
+ }
+ def.extendedProps = __assign(leftovers, def.extendedProps || {});
+ // help out EventApi from having user modify props
+ Object.freeze(def.ui.classNames);
+ Object.freeze(def.extendedProps);
+ return def;
+}
+function createEventInstance(defId, range, forcedStartTzo, forcedEndTzo) {
+ return {
+ instanceId: String(uid++),
+ defId: defId,
+ range: range,
+ forcedStartTzo: forcedStartTzo == null ? null : forcedStartTzo,
+ forcedEndTzo: forcedEndTzo == null ? null : forcedEndTzo
+ };
+}
+function parseSingle(raw, allDayDefault, calendar, leftovers, allowOpenRange) {
+ var props = pluckDateProps(raw, leftovers);
+ var allDay = props.allDay;
+ var startMeta;
+ var startMarker = null;
+ var hasEnd = false;
+ var endMeta;
+ var endMarker = null;
+ startMeta = calendar.dateEnv.createMarkerMeta(props.start);
+ if (startMeta) {
+ startMarker = startMeta.marker;
+ }
+ else if (!allowOpenRange) {
+ return null;
+ }
+ if (props.end != null) {
+ endMeta = calendar.dateEnv.createMarkerMeta(props.end);
+ }
+ if (allDay == null) {
+ if (allDayDefault != null) {
+ allDay = allDayDefault;
+ }
+ else {
+ // fall back to the date props LAST
+ allDay = (!startMeta || startMeta.isTimeUnspecified) &&
+ (!endMeta || endMeta.isTimeUnspecified);
+ }
+ }
+ if (allDay && startMarker) {
+ startMarker = startOfDay(startMarker);
+ }
+ if (endMeta) {
+ endMarker = endMeta.marker;
+ if (allDay) {
+ endMarker = startOfDay(endMarker);
+ }
+ if (startMarker && endMarker <= startMarker) {
+ endMarker = null;
+ }
+ }
+ if (endMarker) {
+ hasEnd = true;
+ }
+ else if (!allowOpenRange) {
+ hasEnd = calendar.opt('forceEventDuration') || false;
+ endMarker = calendar.dateEnv.add(startMarker, allDay ?
+ calendar.defaultAllDayEventDuration :
+ calendar.defaultTimedEventDuration);
+ }
+ return {
+ allDay: allDay,
+ hasEnd: hasEnd,
+ range: { start: startMarker, end: endMarker },
+ forcedStartTzo: startMeta ? startMeta.forcedTzo : null,
+ forcedEndTzo: endMeta ? endMeta.forcedTzo : null
+ };
+}
+function pluckDateProps(raw, leftovers) {
+ var props = refineProps(raw, DATE_PROPS, {}, leftovers);
+ props.start = (props.start !== null) ? props.start : props.date;
+ delete props.date;
+ return props;
+}
+function pluckNonDateProps(raw, calendar, leftovers) {
+ var preLeftovers = {};
+ var props = refineProps(raw, NON_DATE_PROPS, {}, preLeftovers);
+ var ui = processUnscopedUiProps(preLeftovers, calendar, leftovers);
+ props.publicId = props.id;
+ delete props.id;
+ props.ui = ui;
+ return props;
+}
+function computeIsAllDayDefault(sourceId, calendar) {
+ var res = null;
+ if (sourceId) {
+ var source = calendar.state.eventSources[sourceId];
+ res = source.allDayDefault;
+ }
+ if (res == null) {
+ res = calendar.opt('allDayDefault');
+ }
+ return res;
+}
+
+var DEF_DEFAULTS = {
+ startTime: '09:00',
+ endTime: '17:00',
+ daysOfWeek: [1, 2, 3, 4, 5],
+ rendering: 'inverse-background',
+ classNames: 'fc-nonbusiness',
+ groupId: '_businessHours' // so multiple defs get grouped
+};
+/*
+TODO: pass around as EventDefHash!!!
+*/
+function parseBusinessHours(input, calendar) {
+ return parseEvents(refineInputs(input), '', calendar);
+}
+function refineInputs(input) {
+ var rawDefs;
+ if (input === true) {
+ rawDefs = [{}]; // will get DEF_DEFAULTS verbatim
+ }
+ else if (Array.isArray(input)) {
+ // if specifying an array, every sub-definition NEEDS a day-of-week
+ rawDefs = input.filter(function (rawDef) {
+ return rawDef.daysOfWeek;
+ });
+ }
+ else if (typeof input === 'object' && input) { // non-null object
+ rawDefs = [input];
+ }
+ else { // is probably false
+ rawDefs = [];
+ }
+ rawDefs = rawDefs.map(function (rawDef) {
+ return __assign({}, DEF_DEFAULTS, rawDef);
+ });
+ return rawDefs;
+}
+
+function memoizeRendering(renderFunc, unrenderFunc, dependencies) {
+ if (dependencies === void 0) { dependencies = []; }
+ var dependents = [];
+ var thisContext;
+ var prevArgs;
+ function unrender() {
+ if (prevArgs) {
+ for (var _i = 0, dependents_1 = dependents; _i < dependents_1.length; _i++) {
+ var dependent = dependents_1[_i];
+ dependent.unrender();
+ }
+ if (unrenderFunc) {
+ unrenderFunc.apply(thisContext, prevArgs);
+ }
+ prevArgs = null;
+ }
+ }
+ function res() {
+ if (!prevArgs || !isArraysEqual(prevArgs, arguments)) {
+ unrender();
+ thisContext = this;
+ prevArgs = arguments;
+ renderFunc.apply(this, arguments);
+ }
+ }
+ res.dependents = dependents;
+ res.unrender = unrender;
+ for (var _i = 0, dependencies_1 = dependencies; _i < dependencies_1.length; _i++) {
+ var dependency = dependencies_1[_i];
+ dependency.dependents.push(res);
+ }
+ return res;
+}
+
+var EMPTY_EVENT_STORE = createEmptyEventStore(); // for purecomponents. TODO: keep elsewhere
+var Splitter = /** @class */ (function () {
+ function Splitter() {
+ this.getKeysForEventDefs = memoize(this._getKeysForEventDefs);
+ this.splitDateSelection = memoize(this._splitDateSpan);
+ this.splitEventStore = memoize(this._splitEventStore);
+ this.splitIndividualUi = memoize(this._splitIndividualUi);
+ this.splitEventDrag = memoize(this._splitInteraction);
+ this.splitEventResize = memoize(this._splitInteraction);
+ this.eventUiBuilders = {}; // TODO: typescript protection
+ }
+ Splitter.prototype.splitProps = function (props) {
+ var _this = this;
+ var keyInfos = this.getKeyInfo(props);
+ var defKeys = this.getKeysForEventDefs(props.eventStore);
+ var dateSelections = this.splitDateSelection(props.dateSelection);
+ var individualUi = this.splitIndividualUi(props.eventUiBases, defKeys); // the individual *bases*
+ var eventStores = this.splitEventStore(props.eventStore, defKeys);
+ var eventDrags = this.splitEventDrag(props.eventDrag);
+ var eventResizes = this.splitEventResize(props.eventResize);
+ var splitProps = {};
+ this.eventUiBuilders = mapHash(keyInfos, function (info, key) {
+ return _this.eventUiBuilders[key] || memoize(buildEventUiForKey);
+ });
+ for (var key in keyInfos) {
+ var keyInfo = keyInfos[key];
+ var eventStore = eventStores[key] || EMPTY_EVENT_STORE;
+ var buildEventUi = this.eventUiBuilders[key];
+ splitProps[key] = {
+ businessHours: keyInfo.businessHours || props.businessHours,
+ dateSelection: dateSelections[key] || null,
+ eventStore: eventStore,
+ eventUiBases: buildEventUi(props.eventUiBases[''], keyInfo.ui, individualUi[key]),
+ eventSelection: eventStore.instances[props.eventSelection] ? props.eventSelection : '',
+ eventDrag: eventDrags[key] || null,
+ eventResize: eventResizes[key] || null
+ };
+ }
+ return splitProps;
+ };
+ Splitter.prototype._splitDateSpan = function (dateSpan) {
+ var dateSpans = {};
+ if (dateSpan) {
+ var keys = this.getKeysForDateSpan(dateSpan);
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
+ var key = keys_1[_i];
+ dateSpans[key] = dateSpan;
+ }
+ }
+ return dateSpans;
+ };
+ Splitter.prototype._getKeysForEventDefs = function (eventStore) {
+ var _this = this;
+ return mapHash(eventStore.defs, function (eventDef) {
+ return _this.getKeysForEventDef(eventDef);
+ });
+ };
+ Splitter.prototype._splitEventStore = function (eventStore, defKeys) {
+ var defs = eventStore.defs, instances = eventStore.instances;
+ var splitStores = {};
+ for (var defId in defs) {
+ for (var _i = 0, _a = defKeys[defId]; _i < _a.length; _i++) {
+ var key = _a[_i];
+ if (!splitStores[key]) {
+ splitStores[key] = createEmptyEventStore();
+ }
+ splitStores[key].defs[defId] = defs[defId];
+ }
+ }
+ for (var instanceId in instances) {
+ var instance = instances[instanceId];
+ for (var _b = 0, _c = defKeys[instance.defId]; _b < _c.length; _b++) {
+ var key = _c[_b];
+ if (splitStores[key]) { // must have already been created
+ splitStores[key].instances[instanceId] = instance;
+ }
+ }
+ }
+ return splitStores;
+ };
+ Splitter.prototype._splitIndividualUi = function (eventUiBases, defKeys) {
+ var splitHashes = {};
+ for (var defId in eventUiBases) {
+ if (defId) { // not the '' key
+ for (var _i = 0, _a = defKeys[defId]; _i < _a.length; _i++) {
+ var key = _a[_i];
+ if (!splitHashes[key]) {
+ splitHashes[key] = {};
+ }
+ splitHashes[key][defId] = eventUiBases[defId];
+ }
+ }
+ }
+ return splitHashes;
+ };
+ Splitter.prototype._splitInteraction = function (interaction) {
+ var splitStates = {};
+ if (interaction) {
+ var affectedStores_1 = this._splitEventStore(interaction.affectedEvents, this._getKeysForEventDefs(interaction.affectedEvents) // can't use cached. might be events from other calendar
+ );
+ // can't rely on defKeys because event data is mutated
+ var mutatedKeysByDefId = this._getKeysForEventDefs(interaction.mutatedEvents);
+ var mutatedStores_1 = this._splitEventStore(interaction.mutatedEvents, mutatedKeysByDefId);
+ var populate = function (key) {
+ if (!splitStates[key]) {
+ splitStates[key] = {
+ affectedEvents: affectedStores_1[key] || EMPTY_EVENT_STORE,
+ mutatedEvents: mutatedStores_1[key] || EMPTY_EVENT_STORE,
+ isEvent: interaction.isEvent,
+ origSeg: interaction.origSeg
+ };
+ }
+ };
+ for (var key in affectedStores_1) {
+ populate(key);
+ }
+ for (var key in mutatedStores_1) {
+ populate(key);
+ }
+ }
+ return splitStates;
+ };
+ return Splitter;
+}());
+function buildEventUiForKey(allUi, eventUiForKey, individualUi) {
+ var baseParts = [];
+ if (allUi) {
+ baseParts.push(allUi);
+ }
+ if (eventUiForKey) {
+ baseParts.push(eventUiForKey);
+ }
+ var stuff = {
+ '': combineEventUis(baseParts)
+ };
+ if (individualUi) {
+ __assign(stuff, individualUi);
+ }
+ return stuff;
+}
+
+// Generates HTML for an anchor to another view into the calendar.
+// Will either generate an <a> tag or a non-clickable <span> tag, depending on enabled settings.
+// `gotoOptions` can either be a DateMarker, or an object with the form:
+// { date, type, forceOff }
+// `type` is a view-type like "day" or "week". default value is "day".
+// `attrs` and `innerHtml` are use to generate the rest of the HTML tag.
+function buildGotoAnchorHtml(allOptions, dateEnv, gotoOptions, attrs, innerHtml) {
+ var date;
+ var type;
+ var forceOff;
+ var finalOptions;
+ if (gotoOptions instanceof Date) {
+ date = gotoOptions; // a single date-like input
+ }
+ else {
+ date = gotoOptions.date;
+ type = gotoOptions.type;
+ forceOff = gotoOptions.forceOff;
+ }
+ finalOptions = {
+ date: dateEnv.formatIso(date, { omitTime: true }),
+ type: type || 'day'
+ };
+ if (typeof attrs === 'string') {
+ innerHtml = attrs;
+ attrs = null;
+ }
+ attrs = attrs ? ' ' + attrsToStr(attrs) : ''; // will have a leading space
+ innerHtml = innerHtml || '';
+ if (!forceOff && allOptions.navLinks) {
+ return '<a' + attrs +
+ ' data-goto="' + htmlEscape(JSON.stringify(finalOptions)) + '">' +
+ innerHtml +
+ '</a>';
+ }
+ else {
+ return '<span' + attrs + '>' +
+ innerHtml +
+ '</span>';
+ }
+}
+function getAllDayHtml(allOptions) {
+ return allOptions.allDayHtml || htmlEscape(allOptions.allDayText);
+}
+// Computes HTML classNames for a single-day element
+function getDayClasses(date, dateProfile, context, noThemeHighlight) {
+ var calendar = context.calendar, options = context.options, theme = context.theme, dateEnv = context.dateEnv;
+ var classes = [];
+ var todayStart;
+ var todayEnd;
+ if (!rangeContainsMarker(dateProfile.activeRange, date)) {
+ classes.push('fc-disabled-day');
+ }
+ else {
+ classes.push('fc-' + DAY_IDS[date.getUTCDay()]);
+ if (options.monthMode &&
+ dateEnv.getMonth(date) !== dateEnv.getMonth(dateProfile.currentRange.start)) {
+ classes.push('fc-other-month');
+ }
+ todayStart = startOfDay(calendar.getNow());
+ todayEnd = addDays(todayStart, 1);
+ if (date < todayStart) {
+ classes.push('fc-past');
+ }
+ else if (date >= todayEnd) {
+ classes.push('fc-future');
+ }
+ else {
+ classes.push('fc-today');
+ if (noThemeHighlight !== true) {
+ classes.push(theme.getClass('today'));
+ }
+ }
+ }
+ return classes;
+}
+
+// given a function that resolves a result asynchronously.
+// the function can either call passed-in success and failure callbacks,
+// or it can return a promise.
+// if you need to pass additional params to func, bind them first.
+function unpromisify(func, success, failure) {
+ // guard against success/failure callbacks being called more than once
+ // and guard against a promise AND callback being used together.
+ var isResolved = false;
+ var wrappedSuccess = function () {
+ if (!isResolved) {
+ isResolved = true;
+ success.apply(this, arguments);
+ }
+ };
+ var wrappedFailure = function () {
+ if (!isResolved) {
+ isResolved = true;
+ if (failure) {
+ failure.apply(this, arguments);
+ }
+ }
+ };
+ var res = func(wrappedSuccess, wrappedFailure);
+ if (res && typeof res.then === 'function') {
+ res.then(wrappedSuccess, wrappedFailure);
+ }
+}
+
+var Mixin = /** @class */ (function () {
+ function Mixin() {
+ }
+ // mix into a CLASS
+ Mixin.mixInto = function (destClass) {
+ this.mixIntoObj(destClass.prototype);
+ };
+ // mix into ANY object
+ Mixin.mixIntoObj = function (destObj) {
+ var _this = this;
+ Object.getOwnPropertyNames(this.prototype).forEach(function (name) {
+ if (!destObj[name]) { // if destination doesn't already define it
+ destObj[name] = _this.prototype[name];
+ }
+ });
+ };
+ /*
+ will override existing methods
+ TODO: remove! not used anymore
+ */
+ Mixin.mixOver = function (destClass) {
+ var _this = this;
+ Object.getOwnPropertyNames(this.prototype).forEach(function (name) {
+ destClass.prototype[name] = _this.prototype[name];
+ });
+ };
+ return Mixin;
+}());
+
+/*
+USAGE:
+ import { default as EmitterMixin, EmitterInterface } from './EmitterMixin'
+in class:
+ on: EmitterInterface['on']
+ one: EmitterInterface['one']
+ off: EmitterInterface['off']
+ trigger: EmitterInterface['trigger']
+ triggerWith: EmitterInterface['triggerWith']
+ hasHandlers: EmitterInterface['hasHandlers']
+after class:
+ EmitterMixin.mixInto(TheClass)
+*/
+var EmitterMixin = /** @class */ (function (_super) {
+ __extends(EmitterMixin, _super);
+ function EmitterMixin() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ EmitterMixin.prototype.on = function (type, handler) {
+ addToHash(this._handlers || (this._handlers = {}), type, handler);
+ return this; // for chaining
+ };
+ // todo: add comments
+ EmitterMixin.prototype.one = function (type, handler) {
+ addToHash(this._oneHandlers || (this._oneHandlers = {}), type, handler);
+ return this; // for chaining
+ };
+ EmitterMixin.prototype.off = function (type, handler) {
+ if (this._handlers) {
+ removeFromHash(this._handlers, type, handler);
+ }
+ if (this._oneHandlers) {
+ removeFromHash(this._oneHandlers, type, handler);
+ }
+ return this; // for chaining
+ };
+ EmitterMixin.prototype.trigger = function (type) {
+ var args = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ args[_i - 1] = arguments[_i];
+ }
+ this.triggerWith(type, this, args);
+ return this; // for chaining
+ };
+ EmitterMixin.prototype.triggerWith = function (type, context, args) {
+ if (this._handlers) {
+ applyAll(this._handlers[type], context, args);
+ }
+ if (this._oneHandlers) {
+ applyAll(this._oneHandlers[type], context, args);
+ delete this._oneHandlers[type]; // will never fire again
+ }
+ return this; // for chaining
+ };
+ EmitterMixin.prototype.hasHandlers = function (type) {
+ return (this._handlers && this._handlers[type] && this._handlers[type].length) ||
+ (this._oneHandlers && this._oneHandlers[type] && this._oneHandlers[type].length);
+ };
+ return EmitterMixin;
+}(Mixin));
+function addToHash(hash, type, handler) {
+ (hash[type] || (hash[type] = []))
+ .push(handler);
+}
+function removeFromHash(hash, type, handler) {
+ if (handler) {
+ if (hash[type]) {
+ hash[type] = hash[type].filter(function (func) {
+ return func !== handler;
+ });
+ }
+ }
+ else {
+ delete hash[type]; // remove all handler funcs for this type
+ }
+}
+
+/*
+Records offset information for a set of elements, relative to an origin element.
+Can record the left/right OR the top/bottom OR both.
+Provides methods for querying the cache by position.
+*/
+var PositionCache = /** @class */ (function () {
+ function PositionCache(originEl, els, isHorizontal, isVertical) {
+ this.originEl = originEl;
+ this.els = els;
+ this.isHorizontal = isHorizontal;
+ this.isVertical = isVertical;
+ }
+ // Queries the els for coordinates and stores them.
+ // Call this method before using and of the get* methods below.
+ PositionCache.prototype.build = function () {
+ var originEl = this.originEl;
+ var originClientRect = this.originClientRect =
+ originEl.getBoundingClientRect(); // relative to viewport top-left
+ if (this.isHorizontal) {
+ this.buildElHorizontals(originClientRect.left);
+ }
+ if (this.isVertical) {
+ this.buildElVerticals(originClientRect.top);
+ }
+ };
+ // Populates the left/right internal coordinate arrays
+ PositionCache.prototype.buildElHorizontals = function (originClientLeft) {
+ var lefts = [];
+ var rights = [];
+ for (var _i = 0, _a = this.els; _i < _a.length; _i++) {
+ var el = _a[_i];
+ var rect = el.getBoundingClientRect();
+ lefts.push(rect.left - originClientLeft);
+ rights.push(rect.right - originClientLeft);
+ }
+ this.lefts = lefts;
+ this.rights = rights;
+ };
+ // Populates the top/bottom internal coordinate arrays
+ PositionCache.prototype.buildElVerticals = function (originClientTop) {
+ var tops = [];
+ var bottoms = [];
+ for (var _i = 0, _a = this.els; _i < _a.length; _i++) {
+ var el = _a[_i];
+ var rect = el.getBoundingClientRect();
+ tops.push(rect.top - originClientTop);
+ bottoms.push(rect.bottom - originClientTop);
+ }
+ this.tops = tops;
+ this.bottoms = bottoms;
+ };
+ // Given a left offset (from document left), returns the index of the el that it horizontally intersects.
+ // If no intersection is made, returns undefined.
+ PositionCache.prototype.leftToIndex = function (leftPosition) {
+ var lefts = this.lefts;
+ var rights = this.rights;
+ var len = lefts.length;
+ var i;
+ for (i = 0; i < len; i++) {
+ if (leftPosition >= lefts[i] && leftPosition < rights[i]) {
+ return i;
+ }
+ }
+ };
+ // Given a top offset (from document top), returns the index of the el that it vertically intersects.
+ // If no intersection is made, returns undefined.
+ PositionCache.prototype.topToIndex = function (topPosition) {
+ var tops = this.tops;
+ var bottoms = this.bottoms;
+ var len = tops.length;
+ var i;
+ for (i = 0; i < len; i++) {
+ if (topPosition >= tops[i] && topPosition < bottoms[i]) {
+ return i;
+ }
+ }
+ };
+ // Gets the width of the element at the given index
+ PositionCache.prototype.getWidth = function (leftIndex) {
+ return this.rights[leftIndex] - this.lefts[leftIndex];
+ };
+ // Gets the height of the element at the given index
+ PositionCache.prototype.getHeight = function (topIndex) {
+ return this.bottoms[topIndex] - this.tops[topIndex];
+ };
+ return PositionCache;
+}());
+
+/*
+An object for getting/setting scroll-related information for an element.
+Internally, this is done very differently for window versus DOM element,
+so this object serves as a common interface.
+*/
+var ScrollController = /** @class */ (function () {
+ function ScrollController() {
+ }
+ ScrollController.prototype.getMaxScrollTop = function () {
+ return this.getScrollHeight() - this.getClientHeight();
+ };
+ ScrollController.prototype.getMaxScrollLeft = function () {
+ return this.getScrollWidth() - this.getClientWidth();
+ };
+ ScrollController.prototype.canScrollVertically = function () {
+ return this.getMaxScrollTop() > 0;
+ };
+ ScrollController.prototype.canScrollHorizontally = function () {
+ return this.getMaxScrollLeft() > 0;
+ };
+ ScrollController.prototype.canScrollUp = function () {
+ return this.getScrollTop() > 0;
+ };
+ ScrollController.prototype.canScrollDown = function () {
+ return this.getScrollTop() < this.getMaxScrollTop();
+ };
+ ScrollController.prototype.canScrollLeft = function () {
+ return this.getScrollLeft() > 0;
+ };
+ ScrollController.prototype.canScrollRight = function () {
+ return this.getScrollLeft() < this.getMaxScrollLeft();
+ };
+ return ScrollController;
+}());
+var ElementScrollController = /** @class */ (function (_super) {
+ __extends(ElementScrollController, _super);
+ function ElementScrollController(el) {
+ var _this = _super.call(this) || this;
+ _this.el = el;
+ return _this;
+ }
+ ElementScrollController.prototype.getScrollTop = function () {
+ return this.el.scrollTop;
+ };
+ ElementScrollController.prototype.getScrollLeft = function () {
+ return this.el.scrollLeft;
+ };
+ ElementScrollController.prototype.setScrollTop = function (top) {
+ this.el.scrollTop = top;
+ };
+ ElementScrollController.prototype.setScrollLeft = function (left) {
+ this.el.scrollLeft = left;
+ };
+ ElementScrollController.prototype.getScrollWidth = function () {
+ return this.el.scrollWidth;
+ };
+ ElementScrollController.prototype.getScrollHeight = function () {
+ return this.el.scrollHeight;
+ };
+ ElementScrollController.prototype.getClientHeight = function () {
+ return this.el.clientHeight;
+ };
+ ElementScrollController.prototype.getClientWidth = function () {
+ return this.el.clientWidth;
+ };
+ return ElementScrollController;
+}(ScrollController));
+var WindowScrollController = /** @class */ (function (_super) {
+ __extends(WindowScrollController, _super);
+ function WindowScrollController() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ WindowScrollController.prototype.getScrollTop = function () {
+ return window.pageYOffset;
+ };
+ WindowScrollController.prototype.getScrollLeft = function () {
+ return window.pageXOffset;
+ };
+ WindowScrollController.prototype.setScrollTop = function (n) {
+ window.scroll(window.pageXOffset, n);
+ };
+ WindowScrollController.prototype.setScrollLeft = function (n) {
+ window.scroll(n, window.pageYOffset);
+ };
+ WindowScrollController.prototype.getScrollWidth = function () {
+ return document.documentElement.scrollWidth;
+ };
+ WindowScrollController.prototype.getScrollHeight = function () {
+ return document.documentElement.scrollHeight;
+ };
+ WindowScrollController.prototype.getClientHeight = function () {
+ return document.documentElement.clientHeight;
+ };
+ WindowScrollController.prototype.getClientWidth = function () {
+ return document.documentElement.clientWidth;
+ };
+ return WindowScrollController;
+}(ScrollController));
+
+/*
+Embodies a div that has potential scrollbars
+*/
+var ScrollComponent = /** @class */ (function (_super) {
+ __extends(ScrollComponent, _super);
+ function ScrollComponent(overflowX, overflowY) {
+ var _this = _super.call(this, createElement('div', {
+ className: 'fc-scroller'
+ })) || this;
+ _this.overflowX = overflowX;
+ _this.overflowY = overflowY;
+ _this.applyOverflow();
+ return _this;
+ }
+ // sets to natural height, unlocks overflow
+ ScrollComponent.prototype.clear = function () {
+ this.setHeight('auto');
+ this.applyOverflow();
+ };
+ ScrollComponent.prototype.destroy = function () {
+ removeElement(this.el);
+ };
+ // Overflow
+ // -----------------------------------------------------------------------------------------------------------------
+ ScrollComponent.prototype.applyOverflow = function () {
+ applyStyle(this.el, {
+ overflowX: this.overflowX,
+ overflowY: this.overflowY
+ });
+ };
+ // Causes any 'auto' overflow values to resolves to 'scroll' or 'hidden'.
+ // Useful for preserving scrollbar widths regardless of future resizes.
+ // Can pass in scrollbarWidths for optimization.
+ ScrollComponent.prototype.lockOverflow = function (scrollbarWidths) {
+ var overflowX = this.overflowX;
+ var overflowY = this.overflowY;
+ scrollbarWidths = scrollbarWidths || this.getScrollbarWidths();
+ if (overflowX === 'auto') {
+ overflowX = (scrollbarWidths.bottom || // horizontal scrollbars?
+ this.canScrollHorizontally() // OR scrolling pane with massless scrollbars?
+ ) ? 'scroll' : 'hidden';
+ }
+ if (overflowY === 'auto') {
+ overflowY = (scrollbarWidths.left || scrollbarWidths.right || // horizontal scrollbars?
+ this.canScrollVertically() // OR scrolling pane with massless scrollbars?
+ ) ? 'scroll' : 'hidden';
+ }
+ applyStyle(this.el, { overflowX: overflowX, overflowY: overflowY });
+ };
+ ScrollComponent.prototype.setHeight = function (height) {
+ applyStyleProp(this.el, 'height', height);
+ };
+ ScrollComponent.prototype.getScrollbarWidths = function () {
+ var edges = computeEdges(this.el);
+ return {
+ left: edges.scrollbarLeft,
+ right: edges.scrollbarRight,
+ bottom: edges.scrollbarBottom
+ };
+ };
+ return ScrollComponent;
+}(ElementScrollController));
+
+var Theme = /** @class */ (function () {
+ function Theme(calendarOptions) {
+ this.calendarOptions = calendarOptions;
+ this.processIconOverride();
+ }
+ Theme.prototype.processIconOverride = function () {
+ if (this.iconOverrideOption) {
+ this.setIconOverride(this.calendarOptions[this.iconOverrideOption]);
+ }
+ };
+ Theme.prototype.setIconOverride = function (iconOverrideHash) {
+ var iconClassesCopy;
+ var buttonName;
+ if (typeof iconOverrideHash === 'object' && iconOverrideHash) { // non-null object
+ iconClassesCopy = __assign({}, this.iconClasses);
+ for (buttonName in iconOverrideHash) {
+ iconClassesCopy[buttonName] = this.applyIconOverridePrefix(iconOverrideHash[buttonName]);
+ }
+ this.iconClasses = iconClassesCopy;
+ }
+ else if (iconOverrideHash === false) {
+ this.iconClasses = {};
+ }
+ };
+ Theme.prototype.applyIconOverridePrefix = function (className) {
+ var prefix = this.iconOverridePrefix;
+ if (prefix && className.indexOf(prefix) !== 0) { // if not already present
+ className = prefix + className;
+ }
+ return className;
+ };
+ Theme.prototype.getClass = function (key) {
+ return this.classes[key] || '';
+ };
+ Theme.prototype.getIconClass = function (buttonName) {
+ var className = this.iconClasses[buttonName];
+ if (className) {
+ return this.baseIconClass + ' ' + className;
+ }
+ return '';
+ };
+ Theme.prototype.getCustomButtonIconClass = function (customButtonProps) {
+ var className;
+ if (this.iconOverrideCustomButtonOption) {
+ className = customButtonProps[this.iconOverrideCustomButtonOption];
+ if (className) {
+ return this.baseIconClass + ' ' + this.applyIconOverridePrefix(className);
+ }
+ }
+ return '';
+ };
+ return Theme;
+}());
+Theme.prototype.classes = {};
+Theme.prototype.iconClasses = {};
+Theme.prototype.baseIconClass = '';
+Theme.prototype.iconOverridePrefix = '';
+
+var guid = 0;
+var ComponentContext = /** @class */ (function () {
+ function ComponentContext(calendar, theme, dateEnv, options, view) {
+ this.calendar = calendar;
+ this.theme = theme;
+ this.dateEnv = dateEnv;
+ this.options = options;
+ this.view = view;
+ this.isRtl = options.dir === 'rtl';
+ this.eventOrderSpecs = parseFieldSpecs(options.eventOrder);
+ this.nextDayThreshold = createDuration(options.nextDayThreshold);
+ }
+ ComponentContext.prototype.extend = function (options, view) {
+ return new ComponentContext(this.calendar, this.theme, this.dateEnv, options || this.options, view || this.view);
+ };
+ return ComponentContext;
+}());
+var Component = /** @class */ (function () {
+ function Component() {
+ this.everRendered = false;
+ this.uid = String(guid++);
+ }
+ Component.addEqualityFuncs = function (newFuncs) {
+ this.prototype.equalityFuncs = __assign({}, this.prototype.equalityFuncs, newFuncs);
+ };
+ Component.prototype.receiveProps = function (props, context) {
+ this.receiveContext(context);
+ var _a = recycleProps(this.props || {}, props, this.equalityFuncs), anyChanges = _a.anyChanges, comboProps = _a.comboProps;
+ this.props = comboProps;
+ if (anyChanges) {
+ if (this.everRendered) {
+ this.beforeUpdate();
+ }
+ this.render(comboProps, context);
+ if (this.everRendered) {
+ this.afterUpdate();
+ }
+ }
+ this.everRendered = true;
+ };
+ Component.prototype.receiveContext = function (context) {
+ var oldContext = this.context;
+ this.context = context;
+ if (!oldContext) {
+ this.firstContext(context);
+ }
+ };
+ Component.prototype.render = function (props, context) {
+ };
+ Component.prototype.firstContext = function (context) {
+ };
+ Component.prototype.beforeUpdate = function () {
+ };
+ Component.prototype.afterUpdate = function () {
+ };
+ // after destroy is called, this component won't ever be used again
+ Component.prototype.destroy = function () {
+ };
+ return Component;
+}());
+Component.prototype.equalityFuncs = {};
+/*
+Reuses old values when equal. If anything is unequal, returns newProps as-is.
+Great for PureComponent, but won't be feasible with React, so just eliminate and use React's DOM diffing.
+*/
+function recycleProps(oldProps, newProps, equalityFuncs) {
+ var comboProps = {}; // some old, some new
+ var anyChanges = false;
+ for (var key in newProps) {
+ if (key in oldProps && (oldProps[key] === newProps[key] ||
+ (equalityFuncs[key] && equalityFuncs[key](oldProps[key], newProps[key])))) {
+ // equal to old? use old prop
+ comboProps[key] = oldProps[key];
+ }
+ else {
+ comboProps[key] = newProps[key];
+ anyChanges = true;
+ }
+ }
+ for (var key in oldProps) {
+ if (!(key in newProps)) {
+ anyChanges = true;
+ break;
+ }
+ }
+ return { anyChanges: anyChanges, comboProps: comboProps };
+}
+
+/*
+PURPOSES:
+- hook up to fg, fill, and mirror renderers
+- interface for dragging and hits
+*/
+var DateComponent = /** @class */ (function (_super) {
+ __extends(DateComponent, _super);
+ function DateComponent(el) {
+ var _this = _super.call(this) || this;
+ _this.el = el;
+ return _this;
+ }
+ DateComponent.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ removeElement(this.el);
+ };
+ // Hit System
+ // -----------------------------------------------------------------------------------------------------------------
+ DateComponent.prototype.buildPositionCaches = function () {
+ };
+ DateComponent.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {
+ return null; // this should be abstract
+ };
+ // Validation
+ // -----------------------------------------------------------------------------------------------------------------
+ DateComponent.prototype.isInteractionValid = function (interaction) {
+ var calendar = this.context.calendar;
+ var dateProfile = this.props.dateProfile; // HACK
+ var instances = interaction.mutatedEvents.instances;
+ if (dateProfile) { // HACK for DayTile
+ for (var instanceId in instances) {
+ if (!rangeContainsRange(dateProfile.validRange, instances[instanceId].range)) {
+ return false;
+ }
+ }
+ }
+ return isInteractionValid(interaction, calendar);
+ };
+ DateComponent.prototype.isDateSelectionValid = function (selection) {
+ var calendar = this.context.calendar;
+ var dateProfile = this.props.dateProfile; // HACK
+ if (dateProfile && // HACK for DayTile
+ !rangeContainsRange(dateProfile.validRange, selection.range)) {
+ return false;
+ }
+ return isDateSelectionValid(selection, calendar);
+ };
+ // Pointer Interaction Utils
+ // -----------------------------------------------------------------------------------------------------------------
+ DateComponent.prototype.isValidSegDownEl = function (el) {
+ return !this.props.eventDrag && // HACK
+ !this.props.eventResize && // HACK
+ !elementClosest(el, '.fc-mirror') &&
+ (this.isPopover() || !this.isInPopover(el));
+ // ^above line ensures we don't detect a seg interaction within a nested component.
+ // it's a HACK because it only supports a popover as the nested component.
+ };
+ DateComponent.prototype.isValidDateDownEl = function (el) {
+ var segEl = elementClosest(el, this.fgSegSelector);
+ return (!segEl || segEl.classList.contains('fc-mirror')) &&
+ !elementClosest(el, '.fc-more') && // a "more.." link
+ !elementClosest(el, 'a[data-goto]') && // a clickable nav link
+ !this.isInPopover(el);
+ };
+ DateComponent.prototype.isPopover = function () {
+ return this.el.classList.contains('fc-popover');
+ };
+ DateComponent.prototype.isInPopover = function (el) {
+ return Boolean(elementClosest(el, '.fc-popover'));
+ };
+ return DateComponent;
+}(Component));
+DateComponent.prototype.fgSegSelector = '.fc-event-container > *';
+DateComponent.prototype.bgSegSelector = '.fc-bgevent:not(.fc-nonbusiness)';
+
+var uid$1 = 0;
+function createPlugin(input) {
+ return {
+ id: String(uid$1++),
+ deps: input.deps || [],
+ reducers: input.reducers || [],
+ eventDefParsers: input.eventDefParsers || [],
+ isDraggableTransformers: input.isDraggableTransformers || [],
+ eventDragMutationMassagers: input.eventDragMutationMassagers || [],
+ eventDefMutationAppliers: input.eventDefMutationAppliers || [],
+ dateSelectionTransformers: input.dateSelectionTransformers || [],
+ datePointTransforms: input.datePointTransforms || [],
+ dateSpanTransforms: input.dateSpanTransforms || [],
+ views: input.views || {},
+ viewPropsTransformers: input.viewPropsTransformers || [],
+ isPropsValid: input.isPropsValid || null,
+ externalDefTransforms: input.externalDefTransforms || [],
+ eventResizeJoinTransforms: input.eventResizeJoinTransforms || [],
+ viewContainerModifiers: input.viewContainerModifiers || [],
+ eventDropTransformers: input.eventDropTransformers || [],
+ componentInteractions: input.componentInteractions || [],
+ calendarInteractions: input.calendarInteractions || [],
+ themeClasses: input.themeClasses || {},
+ eventSourceDefs: input.eventSourceDefs || [],
+ cmdFormatter: input.cmdFormatter,
+ recurringTypes: input.recurringTypes || [],
+ namedTimeZonedImpl: input.namedTimeZonedImpl,
+ defaultView: input.defaultView || '',
+ elementDraggingImpl: input.elementDraggingImpl,
+ optionChangeHandlers: input.optionChangeHandlers || {}
+ };
+}
+var PluginSystem = /** @class */ (function () {
+ function PluginSystem() {
+ this.hooks = {
+ reducers: [],
+ eventDefParsers: [],
+ isDraggableTransformers: [],
+ eventDragMutationMassagers: [],
+ eventDefMutationAppliers: [],
+ dateSelectionTransformers: [],
+ datePointTransforms: [],
+ dateSpanTransforms: [],
+ views: {},
+ viewPropsTransformers: [],
+ isPropsValid: null,
+ externalDefTransforms: [],
+ eventResizeJoinTransforms: [],
+ viewContainerModifiers: [],
+ eventDropTransformers: [],
+ componentInteractions: [],
+ calendarInteractions: [],
+ themeClasses: {},
+ eventSourceDefs: [],
+ cmdFormatter: null,
+ recurringTypes: [],
+ namedTimeZonedImpl: null,
+ defaultView: '',
+ elementDraggingImpl: null,
+ optionChangeHandlers: {}
+ };
+ this.addedHash = {};
+ }
+ PluginSystem.prototype.add = function (plugin) {
+ if (!this.addedHash[plugin.id]) {
+ this.addedHash[plugin.id] = true;
+ for (var _i = 0, _a = plugin.deps; _i < _a.length; _i++) {
+ var dep = _a[_i];
+ this.add(dep);
+ }
+ this.hooks = combineHooks(this.hooks, plugin);
+ }
+ };
+ return PluginSystem;
+}());
+function combineHooks(hooks0, hooks1) {
+ return {
+ reducers: hooks0.reducers.concat(hooks1.reducers),
+ eventDefParsers: hooks0.eventDefParsers.concat(hooks1.eventDefParsers),
+ isDraggableTransformers: hooks0.isDraggableTransformers.concat(hooks1.isDraggableTransformers),
+ eventDragMutationMassagers: hooks0.eventDragMutationMassagers.concat(hooks1.eventDragMutationMassagers),
+ eventDefMutationAppliers: hooks0.eventDefMutationAppliers.concat(hooks1.eventDefMutationAppliers),
+ dateSelectionTransformers: hooks0.dateSelectionTransformers.concat(hooks1.dateSelectionTransformers),
+ datePointTransforms: hooks0.datePointTransforms.concat(hooks1.datePointTransforms),
+ dateSpanTransforms: hooks0.dateSpanTransforms.concat(hooks1.dateSpanTransforms),
+ views: __assign({}, hooks0.views, hooks1.views),
+ viewPropsTransformers: hooks0.viewPropsTransformers.concat(hooks1.viewPropsTransformers),
+ isPropsValid: hooks1.isPropsValid || hooks0.isPropsValid,
+ externalDefTransforms: hooks0.externalDefTransforms.concat(hooks1.externalDefTransforms),
+ eventResizeJoinTransforms: hooks0.eventResizeJoinTransforms.concat(hooks1.eventResizeJoinTransforms),
+ viewContainerModifiers: hooks0.viewContainerModifiers.concat(hooks1.viewContainerModifiers),
+ eventDropTransformers: hooks0.eventDropTransformers.concat(hooks1.eventDropTransformers),
+ calendarInteractions: hooks0.calendarInteractions.concat(hooks1.calendarInteractions),
+ componentInteractions: hooks0.componentInteractions.concat(hooks1.componentInteractions),
+ themeClasses: __assign({}, hooks0.themeClasses, hooks1.themeClasses),
+ eventSourceDefs: hooks0.eventSourceDefs.concat(hooks1.eventSourceDefs),
+ cmdFormatter: hooks1.cmdFormatter || hooks0.cmdFormatter,
+ recurringTypes: hooks0.recurringTypes.concat(hooks1.recurringTypes),
+ namedTimeZonedImpl: hooks1.namedTimeZonedImpl || hooks0.namedTimeZonedImpl,
+ defaultView: hooks0.defaultView || hooks1.defaultView,
+ elementDraggingImpl: hooks0.elementDraggingImpl || hooks1.elementDraggingImpl,
+ optionChangeHandlers: __assign({}, hooks0.optionChangeHandlers, hooks1.optionChangeHandlers)
+ };
+}
+
+var eventSourceDef = {
+ ignoreRange: true,
+ parseMeta: function (raw) {
+ if (Array.isArray(raw)) { // short form
+ return raw;
+ }
+ else if (Array.isArray(raw.events)) {
+ return raw.events;
+ }
+ return null;
+ },
+ fetch: function (arg, success) {
+ success({
+ rawEvents: arg.eventSource.meta
+ });
+ }
+};
+var ArrayEventSourcePlugin = createPlugin({
+ eventSourceDefs: [eventSourceDef]
+});
+
+var eventSourceDef$1 = {
+ parseMeta: function (raw) {
+ if (typeof raw === 'function') { // short form
+ return raw;
+ }
+ else if (typeof raw.events === 'function') {
+ return raw.events;
+ }
+ return null;
+ },
+ fetch: function (arg, success, failure) {
+ var dateEnv = arg.calendar.dateEnv;
+ var func = arg.eventSource.meta;
+ unpromisify(func.bind(null, {
+ start: dateEnv.toDate(arg.range.start),
+ end: dateEnv.toDate(arg.range.end),
+ startStr: dateEnv.formatIso(arg.range.start),
+ endStr: dateEnv.formatIso(arg.range.end),
+ timeZone: dateEnv.timeZone
+ }), function (rawEvents) {
+ success({ rawEvents: rawEvents }); // needs an object response
+ }, failure // send errorObj directly to failure callback
+ );
+ }
+};
+var FuncEventSourcePlugin = createPlugin({
+ eventSourceDefs: [eventSourceDef$1]
+});
+
+function requestJson(method, url, params, successCallback, failureCallback) {
+ method = method.toUpperCase();
+ var body = null;
+ if (method === 'GET') {
+ url = injectQueryStringParams(url, params);
+ }
+ else {
+ body = encodeParams(params);
+ }
+ var xhr = new XMLHttpRequest();
+ xhr.open(method, url, true);
+ if (method !== 'GET') {
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ }
+ xhr.onload = function () {
+ if (xhr.status >= 200 && xhr.status < 400) {
+ try {
+ var res = JSON.parse(xhr.responseText);
+ successCallback(res, xhr);
+ }
+ catch (err) {
+ failureCallback('Failure parsing JSON', xhr);
+ }
+ }
+ else {
+ failureCallback('Request failed', xhr);
+ }
+ };
+ xhr.onerror = function () {
+ failureCallback('Request failed', xhr);
+ };
+ xhr.send(body);
+}
+function injectQueryStringParams(url, params) {
+ return url +
+ (url.indexOf('?') === -1 ? '?' : '&') +
+ encodeParams(params);
+}
+function encodeParams(params) {
+ var parts = [];
+ for (var key in params) {
+ parts.push(encodeURIComponent(key) + '=' + encodeURIComponent(params[key]));
+ }
+ return parts.join('&');
+}
+
+var eventSourceDef$2 = {
+ parseMeta: function (raw) {
+ if (typeof raw === 'string') { // short form
+ raw = { url: raw };
+ }
+ else if (!raw || typeof raw !== 'object' || !raw.url) {
+ return null;
+ }
+ return {
+ url: raw.url,
+ method: (raw.method || 'GET').toUpperCase(),
+ extraParams: raw.extraParams,
+ startParam: raw.startParam,
+ endParam: raw.endParam,
+ timeZoneParam: raw.timeZoneParam
+ };
+ },
+ fetch: function (arg, success, failure) {
+ var meta = arg.eventSource.meta;
+ var requestParams = buildRequestParams(meta, arg.range, arg.calendar);
+ requestJson(meta.method, meta.url, requestParams, function (rawEvents, xhr) {
+ success({ rawEvents: rawEvents, xhr: xhr });
+ }, function (errorMessage, xhr) {
+ failure({ message: errorMessage, xhr: xhr });
+ });
+ }
+};
+var JsonFeedEventSourcePlugin = createPlugin({
+ eventSourceDefs: [eventSourceDef$2]
+});
+function buildRequestParams(meta, range, calendar) {
+ var dateEnv = calendar.dateEnv;
+ var startParam;
+ var endParam;
+ var timeZoneParam;
+ var customRequestParams;
+ var params = {};
+ startParam = meta.startParam;
+ if (startParam == null) {
+ startParam = calendar.opt('startParam');
+ }
+ endParam = meta.endParam;
+ if (endParam == null) {
+ endParam = calendar.opt('endParam');
+ }
+ timeZoneParam = meta.timeZoneParam;
+ if (timeZoneParam == null) {
+ timeZoneParam = calendar.opt('timeZoneParam');
+ }
+ // retrieve any outbound GET/POST data from the options
+ if (typeof meta.extraParams === 'function') {
+ // supplied as a function that returns a key/value object
+ customRequestParams = meta.extraParams();
+ }
+ else {
+ // probably supplied as a straight key/value object
+ customRequestParams = meta.extraParams || {};
+ }
+ __assign(params, customRequestParams);
+ params[startParam] = dateEnv.formatIso(range.start);
+ params[endParam] = dateEnv.formatIso(range.end);
+ if (dateEnv.timeZone !== 'local') {
+ params[timeZoneParam] = dateEnv.timeZone;
+ }
+ return params;
+}
+
+var recurring = {
+ parse: function (rawEvent, leftoverProps, dateEnv) {
+ var createMarker = dateEnv.createMarker.bind(dateEnv);
+ var processors = {
+ daysOfWeek: null,
+ startTime: createDuration,
+ endTime: createDuration,
+ startRecur: createMarker,
+ endRecur: createMarker
+ };
+ var props = refineProps(rawEvent, processors, {}, leftoverProps);
+ var anyValid = false;
+ for (var propName in props) {
+ if (props[propName] != null) {
+ anyValid = true;
+ break;
+ }
+ }
+ if (anyValid) {
+ var duration = null;
+ if ('duration' in leftoverProps) {
+ duration = createDuration(leftoverProps.duration);
+ delete leftoverProps.duration;
+ }
+ if (!duration && props.startTime && props.endTime) {
+ duration = subtractDurations(props.endTime, props.startTime);
+ }
+ return {
+ allDayGuess: Boolean(!props.startTime && !props.endTime),
+ duration: duration,
+ typeData: props // doesn't need endTime anymore but oh well
+ };
+ }
+ return null;
+ },
+ expand: function (typeData, framingRange, dateEnv) {
+ var clippedFramingRange = intersectRanges(framingRange, { start: typeData.startRecur, end: typeData.endRecur });
+ if (clippedFramingRange) {
+ return expandRanges(typeData.daysOfWeek, typeData.startTime, clippedFramingRange, dateEnv);
+ }
+ else {
+ return [];
+ }
+ }
+};
+var SimpleRecurrencePlugin = createPlugin({
+ recurringTypes: [recurring]
+});
+function expandRanges(daysOfWeek, startTime, framingRange, dateEnv) {
+ var dowHash = daysOfWeek ? arrayToHash(daysOfWeek) : null;
+ var dayMarker = startOfDay(framingRange.start);
+ var endMarker = framingRange.end;
+ var instanceStarts = [];
+ while (dayMarker < endMarker) {
+ var instanceStart
+ // if everyday, or this particular day-of-week
+ = void 0;
+ // if everyday, or this particular day-of-week
+ if (!dowHash || dowHash[dayMarker.getUTCDay()]) {
+ if (startTime) {
+ instanceStart = dateEnv.add(dayMarker, startTime);
+ }
+ else {
+ instanceStart = dayMarker;
+ }
+ instanceStarts.push(instanceStart);
+ }
+ dayMarker = addDays(dayMarker, 1);
+ }
+ return instanceStarts;
+}
+
+var DefaultOptionChangeHandlers = createPlugin({
+ optionChangeHandlers: {
+ events: function (events, calendar, deepEqual) {
+ handleEventSources([events], calendar, deepEqual);
+ },
+ eventSources: handleEventSources,
+ plugins: handlePlugins
+ }
+});
+function handleEventSources(inputs, calendar, deepEqual) {
+ var unfoundSources = hashValuesToArray(calendar.state.eventSources);
+ var newInputs = [];
+ for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {
+ var input = inputs_1[_i];
+ var inputFound = false;
+ for (var i = 0; i < unfoundSources.length; i++) {
+ if (deepEqual(unfoundSources[i]._raw, input)) {
+ unfoundSources.splice(i, 1); // delete
+ inputFound = true;
+ break;
+ }
+ }
+ if (!inputFound) {
+ newInputs.push(input);
+ }
+ }
+ for (var _a = 0, unfoundSources_1 = unfoundSources; _a < unfoundSources_1.length; _a++) {
+ var unfoundSource = unfoundSources_1[_a];
+ calendar.dispatch({
+ type: 'REMOVE_EVENT_SOURCE',
+ sourceId: unfoundSource.sourceId
+ });
+ }
+ for (var _b = 0, newInputs_1 = newInputs; _b < newInputs_1.length; _b++) {
+ var newInput = newInputs_1[_b];
+ calendar.addEventSource(newInput);
+ }
+}
+// shortcoming: won't remove plugins
+function handlePlugins(inputs, calendar) {
+ calendar.addPluginInputs(inputs); // will gracefully handle duplicates
+}
+
+var config = {}; // TODO: make these options
+var globalDefaults = {
+ defaultRangeSeparator: ' - ',
+ titleRangeSeparator: ' \u2013 ',
+ defaultTimedEventDuration: '01:00:00',
+ defaultAllDayEventDuration: { day: 1 },
+ forceEventDuration: false,
+ nextDayThreshold: '00:00:00',
+ // display
+ columnHeader: true,
+ defaultView: '',
+ aspectRatio: 1.35,
+ header: {
+ left: 'title',
+ center: '',
+ right: 'today prev,next'
+ },
+ weekends: true,
+ weekNumbers: false,
+ weekNumberCalculation: 'local',
+ editable: false,
+ // nowIndicator: false,
+ scrollTime: '06:00:00',
+ minTime: '00:00:00',
+ maxTime: '24:00:00',
+ showNonCurrentDates: true,
+ // event ajax
+ lazyFetching: true,
+ startParam: 'start',
+ endParam: 'end',
+ timeZoneParam: 'timeZone',
+ timeZone: 'local',
+ // allDayDefault: undefined,
+ // locale
+ locales: [],
+ locale: '',
+ // dir: will get this from the default locale
+ // buttonIcons: null,
+ // allows setting a min-height to the event segment to prevent short events overlapping each other
+ timeGridEventMinHeight: 0,
+ themeSystem: 'standard',
+ // eventResizableFromStart: false,
+ dragRevertDuration: 500,
+ dragScroll: true,
+ allDayMaintainDuration: false,
+ // selectable: false,
+ unselectAuto: true,
+ // selectMinDistance: 0,
+ dropAccept: '*',
+ eventOrder: 'start,-duration,allDay,title',
+ // ^ if start tie, longer events go before shorter. final tie-breaker is title text
+ // rerenderDelay: null,
+ eventLimit: false,
+ eventLimitClick: 'popover',
+ dayPopoverFormat: { month: 'long', day: 'numeric', year: 'numeric' },
+ handleWindowResize: true,
+ windowResizeDelay: 100,
+ longPressDelay: 1000,
+ eventDragMinDistance: 5 // only applies to mouse
+};
+var rtlDefaults = {
+ header: {
+ left: 'next,prev today',
+ center: '',
+ right: 'title'
+ },
+ buttonIcons: {
+ // TODO: make RTL support the responibility of the theme
+ prev: 'fc-icon-chevron-right',
+ next: 'fc-icon-chevron-left',
+ prevYear: 'fc-icon-chevrons-right',
+ nextYear: 'fc-icon-chevrons-left'
+ }
+};
+var complexOptions = [
+ 'header',
+ 'footer',
+ 'buttonText',
+ 'buttonIcons'
+];
+// Merges an array of option objects into a single object
+function mergeOptions(optionObjs) {
+ return mergeProps(optionObjs, complexOptions);
+}
+// TODO: move this stuff to a "plugin"-related file...
+var INTERNAL_PLUGINS = [
+ ArrayEventSourcePlugin,
+ FuncEventSourcePlugin,
+ JsonFeedEventSourcePlugin,
+ SimpleRecurrencePlugin,
+ DefaultOptionChangeHandlers
+];
+function refinePluginDefs(pluginInputs) {
+ var plugins = [];
+ for (var _i = 0, pluginInputs_1 = pluginInputs; _i < pluginInputs_1.length; _i++) {
+ var pluginInput = pluginInputs_1[_i];
+ if (typeof pluginInput === 'string') {
+ var globalName = 'FullCalendar' + capitaliseFirstLetter(pluginInput);
+ if (!window[globalName]) {
+ console.warn('Plugin file not loaded for ' + pluginInput);
+ }
+ else {
+ plugins.push(window[globalName].default); // is an ES6 module
+ }
+ }
+ else {
+ plugins.push(pluginInput);
+ }
+ }
+ return INTERNAL_PLUGINS.concat(plugins);
+}
+
+var RAW_EN_LOCALE = {
+ code: 'en',
+ week: {
+ dow: 0,
+ doy: 4 // 4 days need to be within the year to be considered the first week
+ },
+ dir: 'ltr',
+ buttonText: {
+ prev: 'prev',
+ next: 'next',
+ prevYear: 'prev year',
+ nextYear: 'next year',
+ year: 'year',
+ today: 'today',
+ month: 'month',
+ week: 'week',
+ day: 'day',
+ list: 'list'
+ },
+ weekLabel: 'W',
+ allDayText: 'all-day',
+ eventLimitText: 'more',
+ noEventsMessage: 'No events to display'
+};
+function parseRawLocales(explicitRawLocales) {
+ var defaultCode = explicitRawLocales.length > 0 ? explicitRawLocales[0].code : 'en';
+ var globalArray = window['FullCalendarLocalesAll'] || []; // from locales-all.js
+ var globalObject = window['FullCalendarLocales'] || {}; // from locales/*.js. keys are meaningless
+ var allRawLocales = globalArray.concat(// globalArray is low prio
+ hashValuesToArray(globalObject), // medium prio
+ explicitRawLocales // highest prio
+ );
+ var rawLocaleMap = {
+ en: RAW_EN_LOCALE // necessary?
+ };
+ for (var _i = 0, allRawLocales_1 = allRawLocales; _i < allRawLocales_1.length; _i++) {
+ var rawLocale = allRawLocales_1[_i];
+ rawLocaleMap[rawLocale.code] = rawLocale;
+ }
+ return {
+ map: rawLocaleMap,
+ defaultCode: defaultCode
+ };
+}
+function buildLocale(inputSingular, available) {
+ if (typeof inputSingular === 'object' && !Array.isArray(inputSingular)) {
+ return parseLocale(inputSingular.code, [inputSingular.code], inputSingular);
+ }
+ else {
+ return queryLocale(inputSingular, available);
+ }
+}
+function queryLocale(codeArg, available) {
+ var codes = [].concat(codeArg || []); // will convert to array
+ var raw = queryRawLocale(codes, available) || RAW_EN_LOCALE;
+ return parseLocale(codeArg, codes, raw);
+}
+function queryRawLocale(codes, available) {
+ for (var i = 0; i < codes.length; i++) {
+ var parts = codes[i].toLocaleLowerCase().split('-');
+ for (var j = parts.length; j > 0; j--) {
+ var simpleId = parts.slice(0, j).join('-');
+ if (available[simpleId]) {
+ return available[simpleId];
+ }
+ }
+ }
+ return null;
+}
+function parseLocale(codeArg, codes, raw) {
+ var merged = mergeProps([RAW_EN_LOCALE, raw], ['buttonText']);
+ delete merged.code; // don't want this part of the options
+ var week = merged.week;
+ delete merged.week;
+ return {
+ codeArg: codeArg,
+ codes: codes,
+ week: week,
+ simpleNumberFormat: new Intl.NumberFormat(codeArg),
+ options: merged
+ };
+}
+
+var OptionsManager = /** @class */ (function () {
+ function OptionsManager(overrides) {
+ this.overrides = __assign({}, overrides); // make a copy
+ this.dynamicOverrides = {};
+ this.compute();
+ }
+ OptionsManager.prototype.mutate = function (updates, removals, isDynamic) {
+ if (!Object.keys(updates).length && !removals.length) {
+ return;
+ }
+ var overrideHash = isDynamic ? this.dynamicOverrides : this.overrides;
+ __assign(overrideHash, updates);
+ for (var _i = 0, removals_1 = removals; _i < removals_1.length; _i++) {
+ var propName = removals_1[_i];
+ delete overrideHash[propName];
+ }
+ this.compute();
+ };
+ // Computes the flattened options hash for the calendar and assigns to `this.options`.
+ // Assumes this.overrides and this.dynamicOverrides have already been initialized.
+ OptionsManager.prototype.compute = function () {
+ // TODO: not a very efficient system
+ var locales = firstDefined(// explicit locale option given?
+ this.dynamicOverrides.locales, this.overrides.locales, globalDefaults.locales);
+ var locale = firstDefined(// explicit locales option given?
+ this.dynamicOverrides.locale, this.overrides.locale, globalDefaults.locale);
+ var available = parseRawLocales(locales);
+ var localeDefaults = buildLocale(locale || available.defaultCode, available.map).options;
+ var dir = firstDefined(// based on options computed so far, is direction RTL?
+ this.dynamicOverrides.dir, this.overrides.dir, localeDefaults.dir);
+ var dirDefaults = dir === 'rtl' ? rtlDefaults : {};
+ this.dirDefaults = dirDefaults;
+ this.localeDefaults = localeDefaults;
+ this.computed = mergeOptions([
+ globalDefaults,
+ dirDefaults,
+ localeDefaults,
+ this.overrides,
+ this.dynamicOverrides
+ ]);
+ };
+ return OptionsManager;
+}());
+
+var calendarSystemClassMap = {};
+function registerCalendarSystem(name, theClass) {
+ calendarSystemClassMap[name] = theClass;
+}
+function createCalendarSystem(name) {
+ return new calendarSystemClassMap[name]();
+}
+var GregorianCalendarSystem = /** @class */ (function () {
+ function GregorianCalendarSystem() {
+ }
+ GregorianCalendarSystem.prototype.getMarkerYear = function (d) {
+ return d.getUTCFullYear();
+ };
+ GregorianCalendarSystem.prototype.getMarkerMonth = function (d) {
+ return d.getUTCMonth();
+ };
+ GregorianCalendarSystem.prototype.getMarkerDay = function (d) {
+ return d.getUTCDate();
+ };
+ GregorianCalendarSystem.prototype.arrayToMarker = function (arr) {
+ return arrayToUtcDate(arr);
+ };
+ GregorianCalendarSystem.prototype.markerToArray = function (marker) {
+ return dateToUtcArray(marker);
+ };
+ return GregorianCalendarSystem;
+}());
+registerCalendarSystem('gregory', GregorianCalendarSystem);
+
+var ISO_RE = /^\s*(\d{4})(-(\d{2})(-(\d{2})([T ](\d{2}):(\d{2})(:(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;
+function parse(str) {
+ var m = ISO_RE.exec(str);
+ if (m) {
+ var marker = new Date(Date.UTC(Number(m[1]), m[3] ? Number(m[3]) - 1 : 0, Number(m[5] || 1), Number(m[7] || 0), Number(m[8] || 0), Number(m[10] || 0), m[12] ? Number('0.' + m[12]) * 1000 : 0));
+ if (isValidDate(marker)) {
+ var timeZoneOffset = null;
+ if (m[13]) {
+ timeZoneOffset = (m[15] === '-' ? -1 : 1) * (Number(m[16] || 0) * 60 +
+ Number(m[18] || 0));
+ }
+ return {
+ marker: marker,
+ isTimeUnspecified: !m[6],
+ timeZoneOffset: timeZoneOffset
+ };
+ }
+ }
+ return null;
+}
+
+var DateEnv = /** @class */ (function () {
+ function DateEnv(settings) {
+ var timeZone = this.timeZone = settings.timeZone;
+ var isNamedTimeZone = timeZone !== 'local' && timeZone !== 'UTC';
+ if (settings.namedTimeZoneImpl && isNamedTimeZone) {
+ this.namedTimeZoneImpl = new settings.namedTimeZoneImpl(timeZone);
+ }
+ this.canComputeOffset = Boolean(!isNamedTimeZone || this.namedTimeZoneImpl);
+ this.calendarSystem = createCalendarSystem(settings.calendarSystem);
+ this.locale = settings.locale;
+ this.weekDow = settings.locale.week.dow;
+ this.weekDoy = settings.locale.week.doy;
+ if (settings.weekNumberCalculation === 'ISO') {
+ this.weekDow = 1;
+ this.weekDoy = 4;
+ }
+ if (typeof settings.firstDay === 'number') {
+ this.weekDow = settings.firstDay;
+ }
+ if (typeof settings.weekNumberCalculation === 'function') {
+ this.weekNumberFunc = settings.weekNumberCalculation;
+ }
+ this.weekLabel = settings.weekLabel != null ? settings.weekLabel : settings.locale.options.weekLabel;
+ this.cmdFormatter = settings.cmdFormatter;
+ }
+ // Creating / Parsing
+ DateEnv.prototype.createMarker = function (input) {
+ var meta = this.createMarkerMeta(input);
+ if (meta === null) {
+ return null;
+ }
+ return meta.marker;
+ };
+ DateEnv.prototype.createNowMarker = function () {
+ if (this.canComputeOffset) {
+ return this.timestampToMarker(new Date().valueOf());
+ }
+ else {
+ // if we can't compute the current date val for a timezone,
+ // better to give the current local date vals than UTC
+ return arrayToUtcDate(dateToLocalArray(new Date()));
+ }
+ };
+ DateEnv.prototype.createMarkerMeta = function (input) {
+ if (typeof input === 'string') {
+ return this.parse(input);
+ }
+ var marker = null;
+ if (typeof input === 'number') {
+ marker = this.timestampToMarker(input);
+ }
+ else if (input instanceof Date) {
+ input = input.valueOf();
+ if (!isNaN(input)) {
+ marker = this.timestampToMarker(input);
+ }
+ }
+ else if (Array.isArray(input)) {
+ marker = arrayToUtcDate(input);
+ }
+ if (marker === null || !isValidDate(marker)) {
+ return null;
+ }
+ return { marker: marker, isTimeUnspecified: false, forcedTzo: null };
+ };
+ DateEnv.prototype.parse = function (s) {
+ var parts = parse(s);
+ if (parts === null) {
+ return null;
+ }
+ var marker = parts.marker;
+ var forcedTzo = null;
+ if (parts.timeZoneOffset !== null) {
+ if (this.canComputeOffset) {
+ marker = this.timestampToMarker(marker.valueOf() - parts.timeZoneOffset * 60 * 1000);
+ }
+ else {
+ forcedTzo = parts.timeZoneOffset;
+ }
+ }
+ return { marker: marker, isTimeUnspecified: parts.isTimeUnspecified, forcedTzo: forcedTzo };
+ };
+ // Accessors
+ DateEnv.prototype.getYear = function (marker) {
+ return this.calendarSystem.getMarkerYear(marker);
+ };
+ DateEnv.prototype.getMonth = function (marker) {
+ return this.calendarSystem.getMarkerMonth(marker);
+ };
+ // Adding / Subtracting
+ DateEnv.prototype.add = function (marker, dur) {
+ var a = this.calendarSystem.markerToArray(marker);
+ a[0] += dur.years;
+ a[1] += dur.months;
+ a[2] += dur.days;
+ a[6] += dur.milliseconds;
+ return this.calendarSystem.arrayToMarker(a);
+ };
+ DateEnv.prototype.subtract = function (marker, dur) {
+ var a = this.calendarSystem.markerToArray(marker);
+ a[0] -= dur.years;
+ a[1] -= dur.months;
+ a[2] -= dur.days;
+ a[6] -= dur.milliseconds;
+ return this.calendarSystem.arrayToMarker(a);
+ };
+ DateEnv.prototype.addYears = function (marker, n) {
+ var a = this.calendarSystem.markerToArray(marker);
+ a[0] += n;
+ return this.calendarSystem.arrayToMarker(a);
+ };
+ DateEnv.prototype.addMonths = function (marker, n) {
+ var a = this.calendarSystem.markerToArray(marker);
+ a[1] += n;
+ return this.calendarSystem.arrayToMarker(a);
+ };
+ // Diffing Whole Units
+ DateEnv.prototype.diffWholeYears = function (m0, m1) {
+ var calendarSystem = this.calendarSystem;
+ if (timeAsMs(m0) === timeAsMs(m1) &&
+ calendarSystem.getMarkerDay(m0) === calendarSystem.getMarkerDay(m1) &&
+ calendarSystem.getMarkerMonth(m0) === calendarSystem.getMarkerMonth(m1)) {
+ return calendarSystem.getMarkerYear(m1) - calendarSystem.getMarkerYear(m0);
+ }
+ return null;
+ };
+ DateEnv.prototype.diffWholeMonths = function (m0, m1) {
+ var calendarSystem = this.calendarSystem;
+ if (timeAsMs(m0) === timeAsMs(m1) &&
+ calendarSystem.getMarkerDay(m0) === calendarSystem.getMarkerDay(m1)) {
+ return (calendarSystem.getMarkerMonth(m1) - calendarSystem.getMarkerMonth(m0)) +
+ (calendarSystem.getMarkerYear(m1) - calendarSystem.getMarkerYear(m0)) * 12;
+ }
+ return null;
+ };
+ // Range / Duration
+ DateEnv.prototype.greatestWholeUnit = function (m0, m1) {
+ var n = this.diffWholeYears(m0, m1);
+ if (n !== null) {
+ return { unit: 'year', value: n };
+ }
+ n = this.diffWholeMonths(m0, m1);
+ if (n !== null) {
+ return { unit: 'month', value: n };
+ }
+ n = diffWholeWeeks(m0, m1);
+ if (n !== null) {
+ return { unit: 'week', value: n };
+ }
+ n = diffWholeDays(m0, m1);
+ if (n !== null) {
+ return { unit: 'day', value: n };
+ }
+ n = diffHours(m0, m1);
+ if (isInt(n)) {
+ return { unit: 'hour', value: n };
+ }
+ n = diffMinutes(m0, m1);
+ if (isInt(n)) {
+ return { unit: 'minute', value: n };
+ }
+ n = diffSeconds(m0, m1);
+ if (isInt(n)) {
+ return { unit: 'second', value: n };
+ }
+ return { unit: 'millisecond', value: m1.valueOf() - m0.valueOf() };
+ };
+ DateEnv.prototype.countDurationsBetween = function (m0, m1, d) {
+ // TODO: can use greatestWholeUnit
+ var diff;
+ if (d.years) {
+ diff = this.diffWholeYears(m0, m1);
+ if (diff !== null) {
+ return diff / asRoughYears(d);
+ }
+ }
+ if (d.months) {
+ diff = this.diffWholeMonths(m0, m1);
+ if (diff !== null) {
+ return diff / asRoughMonths(d);
+ }
+ }
+ if (d.days) {
+ diff = diffWholeDays(m0, m1);
+ if (diff !== null) {
+ return diff / asRoughDays(d);
+ }
+ }
+ return (m1.valueOf() - m0.valueOf()) / asRoughMs(d);
+ };
+ // Start-Of
+ DateEnv.prototype.startOf = function (m, unit) {
+ if (unit === 'year') {
+ return this.startOfYear(m);
+ }
+ else if (unit === 'month') {
+ return this.startOfMonth(m);
+ }
+ else if (unit === 'week') {
+ return this.startOfWeek(m);
+ }
+ else if (unit === 'day') {
+ return startOfDay(m);
+ }
+ else if (unit === 'hour') {
+ return startOfHour(m);
+ }
+ else if (unit === 'minute') {
+ return startOfMinute(m);
+ }
+ else if (unit === 'second') {
+ return startOfSecond(m);
+ }
+ };
+ DateEnv.prototype.startOfYear = function (m) {
+ return this.calendarSystem.arrayToMarker([
+ this.calendarSystem.getMarkerYear(m)
+ ]);
+ };
+ DateEnv.prototype.startOfMonth = function (m) {
+ return this.calendarSystem.arrayToMarker([
+ this.calendarSystem.getMarkerYear(m),
+ this.calendarSystem.getMarkerMonth(m)
+ ]);
+ };
+ DateEnv.prototype.startOfWeek = function (m) {
+ return this.calendarSystem.arrayToMarker([
+ this.calendarSystem.getMarkerYear(m),
+ this.calendarSystem.getMarkerMonth(m),
+ m.getUTCDate() - ((m.getUTCDay() - this.weekDow + 7) % 7)
+ ]);
+ };
+ // Week Number
+ DateEnv.prototype.computeWeekNumber = function (marker) {
+ if (this.weekNumberFunc) {
+ return this.weekNumberFunc(this.toDate(marker));
+ }
+ else {
+ return weekOfYear(marker, this.weekDow, this.weekDoy);
+ }
+ };
+ // TODO: choke on timeZoneName: long
+ DateEnv.prototype.format = function (marker, formatter, dateOptions) {
+ if (dateOptions === void 0) { dateOptions = {}; }
+ return formatter.format({
+ marker: marker,
+ timeZoneOffset: dateOptions.forcedTzo != null ?
+ dateOptions.forcedTzo :
+ this.offsetForMarker(marker)
+ }, this);
+ };
+ DateEnv.prototype.formatRange = function (start, end, formatter, dateOptions) {
+ if (dateOptions === void 0) { dateOptions = {}; }
+ if (dateOptions.isEndExclusive) {
+ end = addMs(end, -1);
+ }
+ return formatter.formatRange({
+ marker: start,
+ timeZoneOffset: dateOptions.forcedStartTzo != null ?
+ dateOptions.forcedStartTzo :
+ this.offsetForMarker(start)
+ }, {
+ marker: end,
+ timeZoneOffset: dateOptions.forcedEndTzo != null ?
+ dateOptions.forcedEndTzo :
+ this.offsetForMarker(end)
+ }, this);
+ };
+ DateEnv.prototype.formatIso = function (marker, extraOptions) {
+ if (extraOptions === void 0) { extraOptions = {}; }
+ var timeZoneOffset = null;
+ if (!extraOptions.omitTimeZoneOffset) {
+ if (extraOptions.forcedTzo != null) {
+ timeZoneOffset = extraOptions.forcedTzo;
+ }
+ else {
+ timeZoneOffset = this.offsetForMarker(marker);
+ }
+ }
+ return buildIsoString(marker, timeZoneOffset, extraOptions.omitTime);
+ };
+ // TimeZone
+ DateEnv.prototype.timestampToMarker = function (ms) {
+ if (this.timeZone === 'local') {
+ return arrayToUtcDate(dateToLocalArray(new Date(ms)));
+ }
+ else if (this.timeZone === 'UTC' || !this.namedTimeZoneImpl) {
+ return new Date(ms);
+ }
+ else {
+ return arrayToUtcDate(this.namedTimeZoneImpl.timestampToArray(ms));
+ }
+ };
+ DateEnv.prototype.offsetForMarker = function (m) {
+ if (this.timeZone === 'local') {
+ return -arrayToLocalDate(dateToUtcArray(m)).getTimezoneOffset(); // convert "inverse" offset to "normal" offset
+ }
+ else if (this.timeZone === 'UTC') {
+ return 0;
+ }
+ else if (this.namedTimeZoneImpl) {
+ return this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(m));
+ }
+ return null;
+ };
+ // Conversion
+ DateEnv.prototype.toDate = function (m, forcedTzo) {
+ if (this.timeZone === 'local') {
+ return arrayToLocalDate(dateToUtcArray(m));
+ }
+ else if (this.timeZone === 'UTC') {
+ return new Date(m.valueOf()); // make sure it's a copy
+ }
+ else if (!this.namedTimeZoneImpl) {
+ return new Date(m.valueOf() - (forcedTzo || 0));
+ }
+ else {
+ return new Date(m.valueOf() -
+ this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(m)) * 1000 * 60 // convert minutes -> ms
+ );
+ }
+ };
+ return DateEnv;
+}());
+
+var SIMPLE_SOURCE_PROPS = {
+ id: String,
+ allDayDefault: Boolean,
+ eventDataTransform: Function,
+ success: Function,
+ failure: Function
+};
+var uid$2 = 0;
+function doesSourceNeedRange(eventSource, calendar) {
+ var defs = calendar.pluginSystem.hooks.eventSourceDefs;
+ return !defs[eventSource.sourceDefId].ignoreRange;
+}
+function parseEventSource(raw, calendar) {
+ var defs = calendar.pluginSystem.hooks.eventSourceDefs;
+ for (var i = defs.length - 1; i >= 0; i--) { // later-added plugins take precedence
+ var def = defs[i];
+ var meta = def.parseMeta(raw);
+ if (meta) {
+ var res = parseEventSourceProps(typeof raw === 'object' ? raw : {}, meta, i, calendar);
+ res._raw = raw;
+ return res;
+ }
+ }
+ return null;
+}
+function parseEventSourceProps(raw, meta, sourceDefId, calendar) {
+ var leftovers0 = {};
+ var props = refineProps(raw, SIMPLE_SOURCE_PROPS, {}, leftovers0);
+ var leftovers1 = {};
+ var ui = processUnscopedUiProps(leftovers0, calendar, leftovers1);
+ props.isFetching = false;
+ props.latestFetchId = '';
+ props.fetchRange = null;
+ props.publicId = String(raw.id || '');
+ props.sourceId = String(uid$2++);
+ props.sourceDefId = sourceDefId;
+ props.meta = meta;
+ props.ui = ui;
+ props.extendedProps = leftovers1;
+ return props;
+}
+
+function reduceEventSources (eventSources, action, dateProfile, calendar) {
+ switch (action.type) {
+ case 'ADD_EVENT_SOURCES': // already parsed
+ return addSources(eventSources, action.sources, dateProfile ? dateProfile.activeRange : null, calendar);
+ case 'REMOVE_EVENT_SOURCE':
+ return removeSource(eventSources, action.sourceId);
+ case 'PREV': // TODO: how do we track all actions that affect dateProfile :(
+ case 'NEXT':
+ case 'SET_DATE':
+ case 'SET_VIEW_TYPE':
+ if (dateProfile) {
+ return fetchDirtySources(eventSources, dateProfile.activeRange, calendar);
+ }
+ else {
+ return eventSources;
+ }
+ case 'FETCH_EVENT_SOURCES':
+ case 'CHANGE_TIMEZONE':
+ return fetchSourcesByIds(eventSources, action.sourceIds ?
+ arrayToHash(action.sourceIds) :
+ excludeStaticSources(eventSources, calendar), dateProfile ? dateProfile.activeRange : null, calendar);
+ case 'RECEIVE_EVENTS':
+ case 'RECEIVE_EVENT_ERROR':
+ return receiveResponse(eventSources, action.sourceId, action.fetchId, action.fetchRange);
+ case 'REMOVE_ALL_EVENT_SOURCES':
+ return {};
+ default:
+ return eventSources;
+ }
+}
+var uid$3 = 0;
+function addSources(eventSourceHash, sources, fetchRange, calendar) {
+ var hash = {};
+ for (var _i = 0, sources_1 = sources; _i < sources_1.length; _i++) {
+ var source = sources_1[_i];
+ hash[source.sourceId] = source;
+ }
+ if (fetchRange) {
+ hash = fetchDirtySources(hash, fetchRange, calendar);
+ }
+ return __assign({}, eventSourceHash, hash);
+}
+function removeSource(eventSourceHash, sourceId) {
+ return filterHash(eventSourceHash, function (eventSource) {
+ return eventSource.sourceId !== sourceId;
+ });
+}
+function fetchDirtySources(sourceHash, fetchRange, calendar) {
+ return fetchSourcesByIds(sourceHash, filterHash(sourceHash, function (eventSource) {
+ return isSourceDirty(eventSource, fetchRange, calendar);
+ }), fetchRange, calendar);
+}
+function isSourceDirty(eventSource, fetchRange, calendar) {
+ if (!doesSourceNeedRange(eventSource, calendar)) {
+ return !eventSource.latestFetchId;
+ }
+ else {
+ return !calendar.opt('lazyFetching') ||
+ !eventSource.fetchRange ||
+ eventSource.isFetching || // always cancel outdated in-progress fetches
+ fetchRange.start < eventSource.fetchRange.start ||
+ fetchRange.end > eventSource.fetchRange.end;
+ }
+}
+function fetchSourcesByIds(prevSources, sourceIdHash, fetchRange, calendar) {
+ var nextSources = {};
+ for (var sourceId in prevSources) {
+ var source = prevSources[sourceId];
+ if (sourceIdHash[sourceId]) {
+ nextSources[sourceId] = fetchSource(source, fetchRange, calendar);
+ }
+ else {
+ nextSources[sourceId] = source;
+ }
+ }
+ return nextSources;
+}
+function fetchSource(eventSource, fetchRange, calendar) {
+ var sourceDef = calendar.pluginSystem.hooks.eventSourceDefs[eventSource.sourceDefId];
+ var fetchId = String(uid$3++);
+ sourceDef.fetch({
+ eventSource: eventSource,
+ calendar: calendar,
+ range: fetchRange
+ }, function (res) {
+ var rawEvents = res.rawEvents;
+ var calSuccess = calendar.opt('eventSourceSuccess');
+ var calSuccessRes;
+ var sourceSuccessRes;
+ if (eventSource.success) {
+ sourceSuccessRes = eventSource.success(rawEvents, res.xhr);
+ }
+ if (calSuccess) {
+ calSuccessRes = calSuccess(rawEvents, res.xhr);
+ }
+ rawEvents = sourceSuccessRes || calSuccessRes || rawEvents;
+ calendar.dispatch({
+ type: 'RECEIVE_EVENTS',
+ sourceId: eventSource.sourceId,
+ fetchId: fetchId,
+ fetchRange: fetchRange,
+ rawEvents: rawEvents
+ });
+ }, function (error) {
+ var callFailure = calendar.opt('eventSourceFailure');
+ console.warn(error.message, error);
+ if (eventSource.failure) {
+ eventSource.failure(error);
+ }
+ if (callFailure) {
+ callFailure(error);
+ }
+ calendar.dispatch({
+ type: 'RECEIVE_EVENT_ERROR',
+ sourceId: eventSource.sourceId,
+ fetchId: fetchId,
+ fetchRange: fetchRange,
+ error: error
+ });
+ });
+ return __assign({}, eventSource, { isFetching: true, latestFetchId: fetchId });
+}
+function receiveResponse(sourceHash, sourceId, fetchId, fetchRange) {
+ var _a;
+ var eventSource = sourceHash[sourceId];
+ if (eventSource && // not already removed
+ fetchId === eventSource.latestFetchId) {
+ return __assign({}, sourceHash, (_a = {}, _a[sourceId] = __assign({}, eventSource, { isFetching: false, fetchRange: fetchRange // also serves as a marker that at least one fetch has completed
+ }), _a));
+ }
+ return sourceHash;
+}
+function excludeStaticSources(eventSources, calendar) {
+ return filterHash(eventSources, function (eventSource) {
+ return doesSourceNeedRange(eventSource, calendar);
+ });
+}
+
+var DateProfileGenerator = /** @class */ (function () {
+ function DateProfileGenerator(viewSpec, calendar) {
+ this.viewSpec = viewSpec;
+ this.options = viewSpec.options;
+ this.dateEnv = calendar.dateEnv;
+ this.calendar = calendar;
+ this.initHiddenDays();
+ }
+ /* Date Range Computation
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Builds a structure with info about what the dates/ranges will be for the "prev" view.
+ DateProfileGenerator.prototype.buildPrev = function (currentDateProfile, currentDate) {
+ var dateEnv = this.dateEnv;
+ var prevDate = dateEnv.subtract(dateEnv.startOf(currentDate, currentDateProfile.currentRangeUnit), // important for start-of-month
+ currentDateProfile.dateIncrement);
+ return this.build(prevDate, -1);
+ };
+ // Builds a structure with info about what the dates/ranges will be for the "next" view.
+ DateProfileGenerator.prototype.buildNext = function (currentDateProfile, currentDate) {
+ var dateEnv = this.dateEnv;
+ var nextDate = dateEnv.add(dateEnv.startOf(currentDate, currentDateProfile.currentRangeUnit), // important for start-of-month
+ currentDateProfile.dateIncrement);
+ return this.build(nextDate, 1);
+ };
+ // Builds a structure holding dates/ranges for rendering around the given date.
+ // Optional direction param indicates whether the date is being incremented/decremented
+ // from its previous value. decremented = -1, incremented = 1 (default).
+ DateProfileGenerator.prototype.build = function (currentDate, direction, forceToValid) {
+ if (forceToValid === void 0) { forceToValid = false; }
+ var validRange;
+ var minTime = null;
+ var maxTime = null;
+ var currentInfo;
+ var isRangeAllDay;
+ var renderRange;
+ var activeRange;
+ var isValid;
+ validRange = this.buildValidRange();
+ validRange = this.trimHiddenDays(validRange);
+ if (forceToValid) {
+ currentDate = constrainMarkerToRange(currentDate, validRange);
+ }
+ currentInfo = this.buildCurrentRangeInfo(currentDate, direction);
+ isRangeAllDay = /^(year|month|week|day)$/.test(currentInfo.unit);
+ renderRange = this.buildRenderRange(this.trimHiddenDays(currentInfo.range), currentInfo.unit, isRangeAllDay);
+ renderRange = this.trimHiddenDays(renderRange);
+ activeRange = renderRange;
+ if (!this.options.showNonCurrentDates) {
+ activeRange = intersectRanges(activeRange, currentInfo.range);
+ }
+ minTime = createDuration(this.options.minTime);
+ maxTime = createDuration(this.options.maxTime);
+ activeRange = this.adjustActiveRange(activeRange, minTime, maxTime);
+ activeRange = intersectRanges(activeRange, validRange); // might return null
+ // it's invalid if the originally requested date is not contained,
+ // or if the range is completely outside of the valid range.
+ isValid = rangesIntersect(currentInfo.range, validRange);
+ return {
+ // constraint for where prev/next operations can go and where events can be dragged/resized to.
+ // an object with optional start and end properties.
+ validRange: validRange,
+ // range the view is formally responsible for.
+ // for example, a month view might have 1st-31st, excluding padded dates
+ currentRange: currentInfo.range,
+ // name of largest unit being displayed, like "month" or "week"
+ currentRangeUnit: currentInfo.unit,
+ isRangeAllDay: isRangeAllDay,
+ // dates that display events and accept drag-n-drop
+ // will be `null` if no dates accept events
+ activeRange: activeRange,
+ // date range with a rendered skeleton
+ // includes not-active days that need some sort of DOM
+ renderRange: renderRange,
+ // Duration object that denotes the first visible time of any given day
+ minTime: minTime,
+ // Duration object that denotes the exclusive visible end time of any given day
+ maxTime: maxTime,
+ isValid: isValid,
+ // how far the current date will move for a prev/next operation
+ dateIncrement: this.buildDateIncrement(currentInfo.duration)
+ // pass a fallback (might be null) ^
+ };
+ };
+ // Builds an object with optional start/end properties.
+ // Indicates the minimum/maximum dates to display.
+ // not responsible for trimming hidden days.
+ DateProfileGenerator.prototype.buildValidRange = function () {
+ return this.getRangeOption('validRange', this.calendar.getNow()) ||
+ { start: null, end: null }; // completely open-ended
+ };
+ // Builds a structure with info about the "current" range, the range that is
+ // highlighted as being the current month for example.
+ // See build() for a description of `direction`.
+ // Guaranteed to have `range` and `unit` properties. `duration` is optional.
+ DateProfileGenerator.prototype.buildCurrentRangeInfo = function (date, direction) {
+ var _a = this, viewSpec = _a.viewSpec, dateEnv = _a.dateEnv;
+ var duration = null;
+ var unit = null;
+ var range = null;
+ var dayCount;
+ if (viewSpec.duration) {
+ duration = viewSpec.duration;
+ unit = viewSpec.durationUnit;
+ range = this.buildRangeFromDuration(date, direction, duration, unit);
+ }
+ else if ((dayCount = this.options.dayCount)) {
+ unit = 'day';
+ range = this.buildRangeFromDayCount(date, direction, dayCount);
+ }
+ else if ((range = this.buildCustomVisibleRange(date))) {
+ unit = dateEnv.greatestWholeUnit(range.start, range.end).unit;
+ }
+ else {
+ duration = this.getFallbackDuration();
+ unit = greatestDurationDenominator(duration).unit;
+ range = this.buildRangeFromDuration(date, direction, duration, unit);
+ }
+ return { duration: duration, unit: unit, range: range };
+ };
+ DateProfileGenerator.prototype.getFallbackDuration = function () {
+ return createDuration({ day: 1 });
+ };
+ // Returns a new activeRange to have time values (un-ambiguate)
+ // minTime or maxTime causes the range to expand.
+ DateProfileGenerator.prototype.adjustActiveRange = function (range, minTime, maxTime) {
+ var dateEnv = this.dateEnv;
+ var start = range.start;
+ var end = range.end;
+ if (this.viewSpec.class.prototype.usesMinMaxTime) {
+ // expand active range if minTime is negative (why not when positive?)
+ if (asRoughDays(minTime) < 0) {
+ start = startOfDay(start); // necessary?
+ start = dateEnv.add(start, minTime);
+ }
+ // expand active range if maxTime is beyond one day (why not when positive?)
+ if (asRoughDays(maxTime) > 1) {
+ end = startOfDay(end); // necessary?
+ end = addDays(end, -1);
+ end = dateEnv.add(end, maxTime);
+ }
+ }
+ return { start: start, end: end };
+ };
+ // Builds the "current" range when it is specified as an explicit duration.
+ // `unit` is the already-computed greatestDurationDenominator unit of duration.
+ DateProfileGenerator.prototype.buildRangeFromDuration = function (date, direction, duration, unit) {
+ var dateEnv = this.dateEnv;
+ var alignment = this.options.dateAlignment;
+ var dateIncrementInput;
+ var dateIncrementDuration;
+ var start;
+ var end;
+ var res;
+ // compute what the alignment should be
+ if (!alignment) {
+ dateIncrementInput = this.options.dateIncrement;
+ if (dateIncrementInput) {
+ dateIncrementDuration = createDuration(dateIncrementInput);
+ // use the smaller of the two units
+ if (asRoughMs(dateIncrementDuration) < asRoughMs(duration)) {
+ alignment = greatestDurationDenominator(dateIncrementDuration, !getWeeksFromInput(dateIncrementInput)).unit;
+ }
+ else {
+ alignment = unit;
+ }
+ }
+ else {
+ alignment = unit;
+ }
+ }
+ // if the view displays a single day or smaller
+ if (asRoughDays(duration) <= 1) {
+ if (this.isHiddenDay(start)) {
+ start = this.skipHiddenDays(start, direction);
+ start = startOfDay(start);
+ }
+ }
+ function computeRes() {
+ start = dateEnv.startOf(date, alignment);
+ end = dateEnv.add(start, duration);
+ res = { start: start, end: end };
+ }
+ computeRes();
+ // if range is completely enveloped by hidden days, go past the hidden days
+ if (!this.trimHiddenDays(res)) {
+ date = this.skipHiddenDays(date, direction);
+ computeRes();
+ }
+ return res;
+ };
+ // Builds the "current" range when a dayCount is specified.
+ DateProfileGenerator.prototype.buildRangeFromDayCount = function (date, direction, dayCount) {
+ var dateEnv = this.dateEnv;
+ var customAlignment = this.options.dateAlignment;
+ var runningCount = 0;
+ var start = date;
+ var end;
+ if (customAlignment) {
+ start = dateEnv.startOf(start, customAlignment);
+ }
+ start = startOfDay(start);
+ start = this.skipHiddenDays(start, direction);
+ end = start;
+ do {
+ end = addDays(end, 1);
+ if (!this.isHiddenDay(end)) {
+ runningCount++;
+ }
+ } while (runningCount < dayCount);
+ return { start: start, end: end };
+ };
+ // Builds a normalized range object for the "visible" range,
+ // which is a way to define the currentRange and activeRange at the same time.
+ DateProfileGenerator.prototype.buildCustomVisibleRange = function (date) {
+ var dateEnv = this.dateEnv;
+ var visibleRange = this.getRangeOption('visibleRange', dateEnv.toDate(date));
+ if (visibleRange && (visibleRange.start == null || visibleRange.end == null)) {
+ return null;
+ }
+ return visibleRange;
+ };
+ // Computes the range that will represent the element/cells for *rendering*,
+ // but which may have voided days/times.
+ // not responsible for trimming hidden days.
+ DateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {
+ return currentRange;
+ };
+ // Compute the duration value that should be added/substracted to the current date
+ // when a prev/next operation happens.
+ DateProfileGenerator.prototype.buildDateIncrement = function (fallback) {
+ var dateIncrementInput = this.options.dateIncrement;
+ var customAlignment;
+ if (dateIncrementInput) {
+ return createDuration(dateIncrementInput);
+ }
+ else if ((customAlignment = this.options.dateAlignment)) {
+ return createDuration(1, customAlignment);
+ }
+ else if (fallback) {
+ return fallback;
+ }
+ else {
+ return createDuration({ days: 1 });
+ }
+ };
+ // Arguments after name will be forwarded to a hypothetical function value
+ // WARNING: passed-in arguments will be given to generator functions as-is and can cause side-effects.
+ // Always clone your objects if you fear mutation.
+ DateProfileGenerator.prototype.getRangeOption = function (name) {
+ var otherArgs = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ otherArgs[_i - 1] = arguments[_i];
+ }
+ var val = this.options[name];
+ if (typeof val === 'function') {
+ val = val.apply(null, otherArgs);
+ }
+ if (val) {
+ val = parseRange(val, this.dateEnv);
+ }
+ if (val) {
+ val = computeVisibleDayRange(val);
+ }
+ return val;
+ };
+ /* Hidden Days
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Initializes internal variables related to calculating hidden days-of-week
+ DateProfileGenerator.prototype.initHiddenDays = function () {
+ var hiddenDays = this.options.hiddenDays || []; // array of day-of-week indices that are hidden
+ var isHiddenDayHash = []; // is the day-of-week hidden? (hash with day-of-week-index -> bool)
+ var dayCnt = 0;
+ var i;
+ if (this.options.weekends === false) {
+ hiddenDays.push(0, 6); // 0=sunday, 6=saturday
+ }
+ for (i = 0; i < 7; i++) {
+ if (!(isHiddenDayHash[i] = hiddenDays.indexOf(i) !== -1)) {
+ dayCnt++;
+ }
+ }
+ if (!dayCnt) {
+ throw new Error('invalid hiddenDays'); // all days were hidden? bad.
+ }
+ this.isHiddenDayHash = isHiddenDayHash;
+ };
+ // Remove days from the beginning and end of the range that are computed as hidden.
+ // If the whole range is trimmed off, returns null
+ DateProfileGenerator.prototype.trimHiddenDays = function (range) {
+ var start = range.start;
+ var end = range.end;
+ if (start) {
+ start = this.skipHiddenDays(start);
+ }
+ if (end) {
+ end = this.skipHiddenDays(end, -1, true);
+ }
+ if (start == null || end == null || start < end) {
+ return { start: start, end: end };
+ }
+ return null;
+ };
+ // Is the current day hidden?
+ // `day` is a day-of-week index (0-6), or a Date (used for UTC)
+ DateProfileGenerator.prototype.isHiddenDay = function (day) {
+ if (day instanceof Date) {
+ day = day.getUTCDay();
+ }
+ return this.isHiddenDayHash[day];
+ };
+ // Incrementing the current day until it is no longer a hidden day, returning a copy.
+ // DOES NOT CONSIDER validRange!
+ // If the initial value of `date` is not a hidden day, don't do anything.
+ // Pass `isExclusive` as `true` if you are dealing with an end date.
+ // `inc` defaults to `1` (increment one day forward each time)
+ DateProfileGenerator.prototype.skipHiddenDays = function (date, inc, isExclusive) {
+ if (inc === void 0) { inc = 1; }
+ if (isExclusive === void 0) { isExclusive = false; }
+ while (this.isHiddenDayHash[(date.getUTCDay() + (isExclusive ? inc : 0) + 7) % 7]) {
+ date = addDays(date, inc);
+ }
+ return date;
+ };
+ return DateProfileGenerator;
+}());
+// TODO: find a way to avoid comparing DateProfiles. it's tedious
+function isDateProfilesEqual(p0, p1) {
+ return rangesEqual(p0.validRange, p1.validRange) &&
+ rangesEqual(p0.activeRange, p1.activeRange) &&
+ rangesEqual(p0.renderRange, p1.renderRange) &&
+ durationsEqual(p0.minTime, p1.minTime) &&
+ durationsEqual(p0.maxTime, p1.maxTime);
+ /*
+ TODO: compare more?
+ currentRange: DateRange
+ currentRangeUnit: string
+ isRangeAllDay: boolean
+ isValid: boolean
+ dateIncrement: Duration
+ */
+}
+
+function reduce (state, action, calendar) {
+ var viewType = reduceViewType(state.viewType, action);
+ var dateProfile = reduceDateProfile(state.dateProfile, action, state.currentDate, viewType, calendar);
+ var eventSources = reduceEventSources(state.eventSources, action, dateProfile, calendar);
+ var nextState = __assign({}, state, { viewType: viewType,
+ dateProfile: dateProfile, currentDate: reduceCurrentDate(state.currentDate, action, dateProfile), eventSources: eventSources, eventStore: reduceEventStore(state.eventStore, action, eventSources, dateProfile, calendar), dateSelection: reduceDateSelection(state.dateSelection, action, calendar), eventSelection: reduceSelectedEvent(state.eventSelection, action), eventDrag: reduceEventDrag(state.eventDrag, action, eventSources, calendar), eventResize: reduceEventResize(state.eventResize, action, eventSources, calendar), eventSourceLoadingLevel: computeLoadingLevel(eventSources), loadingLevel: computeLoadingLevel(eventSources) });
+ for (var _i = 0, _a = calendar.pluginSystem.hooks.reducers; _i < _a.length; _i++) {
+ var reducerFunc = _a[_i];
+ nextState = reducerFunc(nextState, action, calendar);
+ }
+ // console.log(action.type, nextState)
+ return nextState;
+}
+function reduceViewType(currentViewType, action) {
+ switch (action.type) {
+ case 'SET_VIEW_TYPE':
+ return action.viewType;
+ default:
+ return currentViewType;
+ }
+}
+function reduceDateProfile(currentDateProfile, action, currentDate, viewType, calendar) {
+ var newDateProfile;
+ switch (action.type) {
+ case 'PREV':
+ newDateProfile = calendar.dateProfileGenerators[viewType].buildPrev(currentDateProfile, currentDate);
+ break;
+ case 'NEXT':
+ newDateProfile = calendar.dateProfileGenerators[viewType].buildNext(currentDateProfile, currentDate);
+ break;
+ case 'SET_DATE':
+ if (!currentDateProfile.activeRange ||
+ !rangeContainsMarker(currentDateProfile.currentRange, action.dateMarker)) {
+ newDateProfile = calendar.dateProfileGenerators[viewType].build(action.dateMarker, undefined, true // forceToValid
+ );
+ }
+ break;
+ case 'SET_VIEW_TYPE':
+ var generator = calendar.dateProfileGenerators[viewType];
+ if (!generator) {
+ throw new Error(viewType ?
+ 'The FullCalendar view "' + viewType + '" does not exist. Make sure your plugins are loaded correctly.' :
+ 'No available FullCalendar view plugins.');
+ }
+ newDateProfile = generator.build(action.dateMarker || currentDate, undefined, true // forceToValid
+ );
+ break;
+ }
+ if (newDateProfile &&
+ newDateProfile.isValid &&
+ !(currentDateProfile && isDateProfilesEqual(currentDateProfile, newDateProfile))) {
+ return newDateProfile;
+ }
+ else {
+ return currentDateProfile;
+ }
+}
+function reduceCurrentDate(currentDate, action, dateProfile) {
+ switch (action.type) {
+ case 'PREV':
+ case 'NEXT':
+ if (!rangeContainsMarker(dateProfile.currentRange, currentDate)) {
+ return dateProfile.currentRange.start;
+ }
+ else {
+ return currentDate;
+ }
+ case 'SET_DATE':
+ case 'SET_VIEW_TYPE':
+ var newDate = action.dateMarker || currentDate;
+ if (dateProfile.activeRange && !rangeContainsMarker(dateProfile.activeRange, newDate)) {
+ return dateProfile.currentRange.start;
+ }
+ else {
+ return newDate;
+ }
+ default:
+ return currentDate;
+ }
+}
+function reduceDateSelection(currentSelection, action, calendar) {
+ switch (action.type) {
+ case 'SELECT_DATES':
+ return action.selection;
+ case 'UNSELECT_DATES':
+ return null;
+ default:
+ return currentSelection;
+ }
+}
+function reduceSelectedEvent(currentInstanceId, action) {
+ switch (action.type) {
+ case 'SELECT_EVENT':
+ return action.eventInstanceId;
+ case 'UNSELECT_EVENT':
+ return '';
+ default:
+ return currentInstanceId;
+ }
+}
+function reduceEventDrag(currentDrag, action, sources, calendar) {
+ switch (action.type) {
+ case 'SET_EVENT_DRAG':
+ var newDrag = action.state;
+ return {
+ affectedEvents: newDrag.affectedEvents,
+ mutatedEvents: newDrag.mutatedEvents,
+ isEvent: newDrag.isEvent,
+ origSeg: newDrag.origSeg
+ };
+ case 'UNSET_EVENT_DRAG':
+ return null;
+ default:
+ return currentDrag;
+ }
+}
+function reduceEventResize(currentResize, action, sources, calendar) {
+ switch (action.type) {
+ case 'SET_EVENT_RESIZE':
+ var newResize = action.state;
+ return {
+ affectedEvents: newResize.affectedEvents,
+ mutatedEvents: newResize.mutatedEvents,
+ isEvent: newResize.isEvent,
+ origSeg: newResize.origSeg
+ };
+ case 'UNSET_EVENT_RESIZE':
+ return null;
+ default:
+ return currentResize;
+ }
+}
+function computeLoadingLevel(eventSources) {
+ var cnt = 0;
+ for (var sourceId in eventSources) {
+ if (eventSources[sourceId].isFetching) {
+ cnt++;
+ }
+ }
+ return cnt;
+}
+
+var STANDARD_PROPS = {
+ start: null,
+ end: null,
+ allDay: Boolean
+};
+function parseDateSpan(raw, dateEnv, defaultDuration) {
+ var span = parseOpenDateSpan(raw, dateEnv);
+ var range = span.range;
+ if (!range.start) {
+ return null;
+ }
+ if (!range.end) {
+ if (defaultDuration == null) {
+ return null;
+ }
+ else {
+ range.end = dateEnv.add(range.start, defaultDuration);
+ }
+ }
+ return span;
+}
+/*
+TODO: somehow combine with parseRange?
+Will return null if the start/end props were present but parsed invalidly.
+*/
+function parseOpenDateSpan(raw, dateEnv) {
+ var leftovers = {};
+ var standardProps = refineProps(raw, STANDARD_PROPS, {}, leftovers);
+ var startMeta = standardProps.start ? dateEnv.createMarkerMeta(standardProps.start) : null;
+ var endMeta = standardProps.end ? dateEnv.createMarkerMeta(standardProps.end) : null;
+ var allDay = standardProps.allDay;
+ if (allDay == null) {
+ allDay = (startMeta && startMeta.isTimeUnspecified) &&
+ (!endMeta || endMeta.isTimeUnspecified);
+ }
+ // use this leftover object as the selection object
+ leftovers.range = {
+ start: startMeta ? startMeta.marker : null,
+ end: endMeta ? endMeta.marker : null
+ };
+ leftovers.allDay = allDay;
+ return leftovers;
+}
+function isDateSpansEqual(span0, span1) {
+ return rangesEqual(span0.range, span1.range) &&
+ span0.allDay === span1.allDay &&
+ isSpanPropsEqual(span0, span1);
+}
+// the NON-DATE-RELATED props
+function isSpanPropsEqual(span0, span1) {
+ for (var propName in span1) {
+ if (propName !== 'range' && propName !== 'allDay') {
+ if (span0[propName] !== span1[propName]) {
+ return false;
+ }
+ }
+ }
+ // are there any props that span0 has that span1 DOESN'T have?
+ // both have range/allDay, so no need to special-case.
+ for (var propName in span0) {
+ if (!(propName in span1)) {
+ return false;
+ }
+ }
+ return true;
+}
+function buildDateSpanApi(span, dateEnv) {
+ return {
+ start: dateEnv.toDate(span.range.start),
+ end: dateEnv.toDate(span.range.end),
+ startStr: dateEnv.formatIso(span.range.start, { omitTime: span.allDay }),
+ endStr: dateEnv.formatIso(span.range.end, { omitTime: span.allDay }),
+ allDay: span.allDay
+ };
+}
+function buildDatePointApi(span, dateEnv) {
+ return {
+ date: dateEnv.toDate(span.range.start),
+ dateStr: dateEnv.formatIso(span.range.start, { omitTime: span.allDay }),
+ allDay: span.allDay
+ };
+}
+function fabricateEventRange(dateSpan, eventUiBases, calendar) {
+ var def = parseEventDef({ editable: false }, '', // sourceId
+ dateSpan.allDay, true, // hasEnd
+ calendar);
+ return {
+ def: def,
+ ui: compileEventUi(def, eventUiBases),
+ instance: createEventInstance(def.defId, dateSpan.range),
+ range: dateSpan.range,
+ isStart: true,
+ isEnd: true
+ };
+}
+
+function compileViewDefs(defaultConfigs, overrideConfigs) {
+ var hash = {};
+ var viewType;
+ for (viewType in defaultConfigs) {
+ ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs);
+ }
+ for (viewType in overrideConfigs) {
+ ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs);
+ }
+ return hash;
+}
+function ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs) {
+ if (hash[viewType]) {
+ return hash[viewType];
+ }
+ var viewDef = buildViewDef(viewType, hash, defaultConfigs, overrideConfigs);
+ if (viewDef) {
+ hash[viewType] = viewDef;
+ }
+ return viewDef;
+}
+function buildViewDef(viewType, hash, defaultConfigs, overrideConfigs) {
+ var defaultConfig = defaultConfigs[viewType];
+ var overrideConfig = overrideConfigs[viewType];
+ var queryProp = function (name) {
+ return (defaultConfig && defaultConfig[name] !== null) ? defaultConfig[name] :
+ ((overrideConfig && overrideConfig[name] !== null) ? overrideConfig[name] : null);
+ };
+ var theClass = queryProp('class');
+ var superType = queryProp('superType');
+ if (!superType && theClass) {
+ superType =
+ findViewNameBySubclass(theClass, overrideConfigs) ||
+ findViewNameBySubclass(theClass, defaultConfigs);
+ }
+ var superDef = null;
+ if (superType) {
+ if (superType === viewType) {
+ throw new Error('Can\'t have a custom view type that references itself');
+ }
+ superDef = ensureViewDef(superType, hash, defaultConfigs, overrideConfigs);
+ }
+ if (!theClass && superDef) {
+ theClass = superDef.class;
+ }
+ if (!theClass) {
+ return null; // don't throw a warning, might be settings for a single-unit view
+ }
+ return {
+ type: viewType,
+ class: theClass,
+ defaults: __assign({}, (superDef ? superDef.defaults : {}), (defaultConfig ? defaultConfig.options : {})),
+ overrides: __assign({}, (superDef ? superDef.overrides : {}), (overrideConfig ? overrideConfig.options : {}))
+ };
+}
+function findViewNameBySubclass(viewSubclass, configs) {
+ var superProto = Object.getPrototypeOf(viewSubclass.prototype);
+ for (var viewType in configs) {
+ var parsed = configs[viewType];
+ // need DIRECT subclass, so instanceof won't do it
+ if (parsed.class && parsed.class.prototype === superProto) {
+ return viewType;
+ }
+ }
+ return '';
+}
+
+function parseViewConfigs(inputs) {
+ return mapHash(inputs, parseViewConfig);
+}
+var VIEW_DEF_PROPS = {
+ type: String,
+ class: null
+};
+function parseViewConfig(input) {
+ if (typeof input === 'function') {
+ input = { class: input };
+ }
+ var options = {};
+ var props = refineProps(input, VIEW_DEF_PROPS, {}, options);
+ return {
+ superType: props.type,
+ class: props.class,
+ options: options
+ };
+}
+
+function buildViewSpecs(defaultInputs, optionsManager) {
+ var defaultConfigs = parseViewConfigs(defaultInputs);
+ var overrideConfigs = parseViewConfigs(optionsManager.overrides.views);
+ var viewDefs = compileViewDefs(defaultConfigs, overrideConfigs);
+ return mapHash(viewDefs, function (viewDef) {
+ return buildViewSpec(viewDef, overrideConfigs, optionsManager);
+ });
+}
+function buildViewSpec(viewDef, overrideConfigs, optionsManager) {
+ var durationInput = viewDef.overrides.duration ||
+ viewDef.defaults.duration ||
+ optionsManager.dynamicOverrides.duration ||
+ optionsManager.overrides.duration;
+ var duration = null;
+ var durationUnit = '';
+ var singleUnit = '';
+ var singleUnitOverrides = {};
+ if (durationInput) {
+ duration = createDuration(durationInput);
+ if (duration) { // valid?
+ var denom = greatestDurationDenominator(duration, !getWeeksFromInput(durationInput));
+ durationUnit = denom.unit;
+ if (denom.value === 1) {
+ singleUnit = durationUnit;
+ singleUnitOverrides = overrideConfigs[durationUnit] ? overrideConfigs[durationUnit].options : {};
+ }
+ }
+ }
+ var queryButtonText = function (options) {
+ var buttonTextMap = options.buttonText || {};
+ var buttonTextKey = viewDef.defaults.buttonTextKey;
+ if (buttonTextKey != null && buttonTextMap[buttonTextKey] != null) {
+ return buttonTextMap[buttonTextKey];
+ }
+ if (buttonTextMap[viewDef.type] != null) {
+ return buttonTextMap[viewDef.type];
+ }
+ if (buttonTextMap[singleUnit] != null) {
+ return buttonTextMap[singleUnit];
+ }
+ };
+ return {
+ type: viewDef.type,
+ class: viewDef.class,
+ duration: duration,
+ durationUnit: durationUnit,
+ singleUnit: singleUnit,
+ options: __assign({}, globalDefaults, viewDef.defaults, optionsManager.dirDefaults, optionsManager.localeDefaults, optionsManager.overrides, singleUnitOverrides, viewDef.overrides, optionsManager.dynamicOverrides),
+ buttonTextOverride: queryButtonText(optionsManager.dynamicOverrides) ||
+ queryButtonText(optionsManager.overrides) || // constructor-specified buttonText lookup hash takes precedence
+ viewDef.overrides.buttonText,
+ buttonTextDefault: queryButtonText(optionsManager.localeDefaults) ||
+ queryButtonText(optionsManager.dirDefaults) ||
+ viewDef.defaults.buttonText ||
+ queryButtonText(globalDefaults) ||
+ viewDef.type // fall back to given view name
+ };
+}
+
+var Toolbar = /** @class */ (function (_super) {
+ __extends(Toolbar, _super);
+ function Toolbar(extraClassName) {
+ var _this = _super.call(this) || this;
+ _this._renderLayout = memoizeRendering(_this.renderLayout, _this.unrenderLayout);
+ _this._updateTitle = memoizeRendering(_this.updateTitle, null, [_this._renderLayout]);
+ _this._updateActiveButton = memoizeRendering(_this.updateActiveButton, null, [_this._renderLayout]);
+ _this._updateToday = memoizeRendering(_this.updateToday, null, [_this._renderLayout]);
+ _this._updatePrev = memoizeRendering(_this.updatePrev, null, [_this._renderLayout]);
+ _this._updateNext = memoizeRendering(_this.updateNext, null, [_this._renderLayout]);
+ _this.el = createElement('div', { className: 'fc-toolbar ' + extraClassName });
+ return _this;
+ }
+ Toolbar.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this._renderLayout.unrender(); // should unrender everything else
+ removeElement(this.el);
+ };
+ Toolbar.prototype.render = function (props) {
+ this._renderLayout(props.layout);
+ this._updateTitle(props.title);
+ this._updateActiveButton(props.activeButton);
+ this._updateToday(props.isTodayEnabled);
+ this._updatePrev(props.isPrevEnabled);
+ this._updateNext(props.isNextEnabled);
+ };
+ Toolbar.prototype.renderLayout = function (layout) {
+ var el = this.el;
+ this.viewsWithButtons = [];
+ appendToElement(el, this.renderSection('left', layout.left));
+ appendToElement(el, this.renderSection('center', layout.center));
+ appendToElement(el, this.renderSection('right', layout.right));
+ };
+ Toolbar.prototype.unrenderLayout = function () {
+ this.el.innerHTML = '';
+ };
+ Toolbar.prototype.renderSection = function (position, buttonStr) {
+ var _this = this;
+ var _a = this.context, theme = _a.theme, calendar = _a.calendar;
+ var optionsManager = calendar.optionsManager;
+ var viewSpecs = calendar.viewSpecs;
+ var sectionEl = createElement('div', { className: 'fc-' + position });
+ var calendarCustomButtons = optionsManager.computed.customButtons || {};
+ var calendarButtonTextOverrides = optionsManager.overrides.buttonText || {};
+ var calendarButtonText = optionsManager.computed.buttonText || {};
+ if (buttonStr) {
+ buttonStr.split(' ').forEach(function (buttonGroupStr, i) {
+ var groupChildren = [];
+ var isOnlyButtons = true;
+ var groupEl;
+ buttonGroupStr.split(',').forEach(function (buttonName, j) {
+ var customButtonProps;
+ var viewSpec;
+ var buttonClick;
+ var buttonIcon; // only one of these will be set
+ var buttonText; // "
+ var buttonInnerHtml;
+ var buttonClasses;
+ var buttonEl;
+ var buttonAriaAttr;
+ if (buttonName === 'title') {
+ groupChildren.push(htmlToElement('<h2>&nbsp;</h2>')); // we always want it to take up height
+ isOnlyButtons = false;
+ }
+ else {
+ if ((customButtonProps = calendarCustomButtons[buttonName])) {
+ buttonClick = function (ev) {
+ if (customButtonProps.click) {
+ customButtonProps.click.call(buttonEl, ev);
+ }
+ };
+ (buttonIcon = theme.getCustomButtonIconClass(customButtonProps)) ||
+ (buttonIcon = theme.getIconClass(buttonName)) ||
+ (buttonText = customButtonProps.text);
+ }
+ else if ((viewSpec = viewSpecs[buttonName])) {
+ _this.viewsWithButtons.push(buttonName);
+ buttonClick = function () {
+ calendar.changeView(buttonName);
+ };
+ (buttonText = viewSpec.buttonTextOverride) ||
+ (buttonIcon = theme.getIconClass(buttonName)) ||
+ (buttonText = viewSpec.buttonTextDefault);
+ }
+ else if (calendar[buttonName]) { // a calendar method
+ buttonClick = function () {
+ calendar[buttonName]();
+ };
+ (buttonText = calendarButtonTextOverrides[buttonName]) ||
+ (buttonIcon = theme.getIconClass(buttonName)) ||
+ (buttonText = calendarButtonText[buttonName]);
+ // ^ everything else is considered default
+ }
+ if (buttonClick) {
+ buttonClasses = [
+ 'fc-' + buttonName + '-button',
+ theme.getClass('button')
+ ];
+ if (buttonText) {
+ buttonInnerHtml = htmlEscape(buttonText);
+ buttonAriaAttr = '';
+ }
+ else if (buttonIcon) {
+ buttonInnerHtml = "<span class='" + buttonIcon + "'></span>";
+ buttonAriaAttr = ' aria-label="' + buttonName + '"';
+ }
+ buttonEl = htmlToElement(// type="button" so that it doesn't submit a form
+ '<button type="button" class="' + buttonClasses.join(' ') + '"' +
+ buttonAriaAttr +
+ '>' + buttonInnerHtml + '</button>');
+ buttonEl.addEventListener('click', buttonClick);
+ groupChildren.push(buttonEl);
+ }
+ }
+ });
+ if (groupChildren.length > 1) {
+ groupEl = document.createElement('div');
+ var buttonGroupClassName = theme.getClass('buttonGroup');
+ if (isOnlyButtons && buttonGroupClassName) {
+ groupEl.classList.add(buttonGroupClassName);
+ }
+ appendToElement(groupEl, groupChildren);
+ sectionEl.appendChild(groupEl);
+ }
+ else {
+ appendToElement(sectionEl, groupChildren); // 1 or 0 children
+ }
+ });
+ }
+ return sectionEl;
+ };
+ Toolbar.prototype.updateToday = function (isTodayEnabled) {
+ this.toggleButtonEnabled('today', isTodayEnabled);
+ };
+ Toolbar.prototype.updatePrev = function (isPrevEnabled) {
+ this.toggleButtonEnabled('prev', isPrevEnabled);
+ };
+ Toolbar.prototype.updateNext = function (isNextEnabled) {
+ this.toggleButtonEnabled('next', isNextEnabled);
+ };
+ Toolbar.prototype.updateTitle = function (text) {
+ findElements(this.el, 'h2').forEach(function (titleEl) {
+ titleEl.innerText = text;
+ });
+ };
+ Toolbar.prototype.updateActiveButton = function (buttonName) {
+ var theme = this.context.theme;
+ var className = theme.getClass('buttonActive');
+ findElements(this.el, 'button').forEach(function (buttonEl) {
+ if (buttonName && buttonEl.classList.contains('fc-' + buttonName + '-button')) {
+ buttonEl.classList.add(className);
+ }
+ else {
+ buttonEl.classList.remove(className);
+ }
+ });
+ };
+ Toolbar.prototype.toggleButtonEnabled = function (buttonName, bool) {
+ findElements(this.el, '.fc-' + buttonName + '-button').forEach(function (buttonEl) {
+ buttonEl.disabled = !bool;
+ });
+ };
+ return Toolbar;
+}(Component));
+
+var CalendarComponent = /** @class */ (function (_super) {
+ __extends(CalendarComponent, _super);
+ function CalendarComponent(el) {
+ var _this = _super.call(this) || this;
+ _this.elClassNames = [];
+ _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
+ _this.renderToolbars = memoizeRendering(_this._renderToolbars, _this._unrenderToolbars, [_this.renderSkeleton]);
+ _this.buildComponentContext = memoize(buildComponentContext);
+ _this.buildViewPropTransformers = memoize(buildViewPropTransformers);
+ _this.el = el;
+ _this.computeTitle = memoize(computeTitle);
+ _this.parseBusinessHours = memoize(function (input) {
+ return parseBusinessHours(input, _this.context.calendar);
+ });
+ return _this;
+ }
+ CalendarComponent.prototype.render = function (props, context) {
+ this.freezeHeight();
+ var title = this.computeTitle(props.dateProfile, props.viewSpec.options);
+ this.renderSkeleton(context);
+ this.renderToolbars(props.viewSpec, props.dateProfile, props.currentDate, title);
+ this.renderView(props, title);
+ this.updateSize();
+ this.thawHeight();
+ };
+ CalendarComponent.prototype.destroy = function () {
+ if (this.header) {
+ this.header.destroy();
+ }
+ if (this.footer) {
+ this.footer.destroy();
+ }
+ this.renderSkeleton.unrender(); // will call destroyView
+ _super.prototype.destroy.call(this);
+ };
+ CalendarComponent.prototype._renderSkeleton = function (context) {
+ this.updateElClassNames(context);
+ prependToElement(this.el, this.contentEl = createElement('div', { className: 'fc-view-container' }));
+ var calendar = context.calendar;
+ for (var _i = 0, _a = calendar.pluginSystem.hooks.viewContainerModifiers; _i < _a.length; _i++) {
+ var modifyViewContainer = _a[_i];
+ modifyViewContainer(this.contentEl, calendar);
+ }
+ };
+ CalendarComponent.prototype._unrenderSkeleton = function () {
+ // weird to have this here
+ if (this.view) {
+ this.savedScroll = this.view.queryScroll();
+ this.view.destroy();
+ this.view = null;
+ }
+ removeElement(this.contentEl);
+ this.removeElClassNames();
+ };
+ CalendarComponent.prototype.removeElClassNames = function () {
+ var classList = this.el.classList;
+ for (var _i = 0, _a = this.elClassNames; _i < _a.length; _i++) {
+ var className = _a[_i];
+ classList.remove(className);
+ }
+ this.elClassNames = [];
+ };
+ CalendarComponent.prototype.updateElClassNames = function (context) {
+ this.removeElClassNames();
+ var theme = context.theme, options = context.options;
+ this.elClassNames = [
+ 'fc',
+ 'fc-' + options.dir,
+ theme.getClass('widget')
+ ];
+ var classList = this.el.classList;
+ for (var _i = 0, _a = this.elClassNames; _i < _a.length; _i++) {
+ var className = _a[_i];
+ classList.add(className);
+ }
+ };
+ CalendarComponent.prototype._renderToolbars = function (viewSpec, dateProfile, currentDate, title) {
+ var _a = this, context = _a.context, header = _a.header, footer = _a.footer;
+ var options = context.options, calendar = context.calendar;
+ var headerLayout = options.header;
+ var footerLayout = options.footer;
+ var dateProfileGenerator = this.props.dateProfileGenerator;
+ var now = calendar.getNow();
+ var todayInfo = dateProfileGenerator.build(now);
+ var prevInfo = dateProfileGenerator.buildPrev(dateProfile, currentDate);
+ var nextInfo = dateProfileGenerator.buildNext(dateProfile, currentDate);
+ var toolbarProps = {
+ title: title,
+ activeButton: viewSpec.type,
+ isTodayEnabled: todayInfo.isValid && !rangeContainsMarker(dateProfile.currentRange, now),
+ isPrevEnabled: prevInfo.isValid,
+ isNextEnabled: nextInfo.isValid
+ };
+ if (headerLayout) {
+ if (!header) {
+ header = this.header = new Toolbar('fc-header-toolbar');
+ prependToElement(this.el, header.el);
+ }
+ header.receiveProps(__assign({ layout: headerLayout }, toolbarProps), context);
+ }
+ else if (header) {
+ header.destroy();
+ header = this.header = null;
+ }
+ if (footerLayout) {
+ if (!footer) {
+ footer = this.footer = new Toolbar('fc-footer-toolbar');
+ appendToElement(this.el, footer.el);
+ }
+ footer.receiveProps(__assign({ layout: footerLayout }, toolbarProps), context);
+ }
+ else if (footer) {
+ footer.destroy();
+ footer = this.footer = null;
+ }
+ };
+ CalendarComponent.prototype._unrenderToolbars = function () {
+ if (this.header) {
+ this.header.destroy();
+ this.header = null;
+ }
+ if (this.footer) {
+ this.footer.destroy();
+ this.footer = null;
+ }
+ };
+ CalendarComponent.prototype.renderView = function (props, title) {
+ var view = this.view;
+ var _a = this.context, calendar = _a.calendar, options = _a.options;
+ var viewSpec = props.viewSpec, dateProfileGenerator = props.dateProfileGenerator;
+ if (!view || view.viewSpec !== viewSpec) {
+ if (view) {
+ view.destroy();
+ }
+ view = this.view = new viewSpec['class'](viewSpec, this.contentEl);
+ if (this.savedScroll) {
+ view.addScroll(this.savedScroll, true);
+ this.savedScroll = null;
+ }
+ }
+ view.title = title; // for the API
+ var viewProps = {
+ dateProfileGenerator: dateProfileGenerator,
+ dateProfile: props.dateProfile,
+ businessHours: this.parseBusinessHours(viewSpec.options.businessHours),
+ eventStore: props.eventStore,
+ eventUiBases: props.eventUiBases,
+ dateSelection: props.dateSelection,
+ eventSelection: props.eventSelection,
+ eventDrag: props.eventDrag,
+ eventResize: props.eventResize
+ };
+ var transformers = this.buildViewPropTransformers(calendar.pluginSystem.hooks.viewPropsTransformers);
+ for (var _i = 0, transformers_1 = transformers; _i < transformers_1.length; _i++) {
+ var transformer = transformers_1[_i];
+ __assign(viewProps, transformer.transform(viewProps, viewSpec, props, options));
+ }
+ view.receiveProps(viewProps, this.buildComponentContext(this.context, viewSpec, view));
+ };
+ // Sizing
+ // -----------------------------------------------------------------------------------------------------------------
+ CalendarComponent.prototype.updateSize = function (isResize) {
+ if (isResize === void 0) { isResize = false; }
+ var view = this.view;
+ if (!view) {
+ return; // why?
+ }
+ if (isResize || this.isHeightAuto == null) {
+ this.computeHeightVars();
+ }
+ view.updateSize(isResize, this.viewHeight, this.isHeightAuto);
+ view.updateNowIndicator(); // we need to guarantee this will run after updateSize
+ view.popScroll(isResize);
+ };
+ CalendarComponent.prototype.computeHeightVars = function () {
+ var calendar = this.context.calendar; // yuck. need to handle dynamic options
+ var heightInput = calendar.opt('height');
+ var contentHeightInput = calendar.opt('contentHeight');
+ this.isHeightAuto = heightInput === 'auto' || contentHeightInput === 'auto';
+ if (typeof contentHeightInput === 'number') { // exists and not 'auto'
+ this.viewHeight = contentHeightInput;
+ }
+ else if (typeof contentHeightInput === 'function') { // exists and is a function
+ this.viewHeight = contentHeightInput();
+ }
+ else if (typeof heightInput === 'number') { // exists and not 'auto'
+ this.viewHeight = heightInput - this.queryToolbarsHeight();
+ }
+ else if (typeof heightInput === 'function') { // exists and is a function
+ this.viewHeight = heightInput() - this.queryToolbarsHeight();
+ }
+ else if (heightInput === 'parent') { // set to height of parent element
+ var parentEl = this.el.parentNode;
+ this.viewHeight = parentEl.getBoundingClientRect().height - this.queryToolbarsHeight();
+ }
+ else {
+ this.viewHeight = Math.round(this.contentEl.getBoundingClientRect().width /
+ Math.max(calendar.opt('aspectRatio'), .5));
+ }
+ };
+ CalendarComponent.prototype.queryToolbarsHeight = function () {
+ var height = 0;
+ if (this.header) {
+ height += computeHeightAndMargins(this.header.el);
+ }
+ if (this.footer) {
+ height += computeHeightAndMargins(this.footer.el);
+ }
+ return height;
+ };
+ // Height "Freezing"
+ // -----------------------------------------------------------------------------------------------------------------
+ CalendarComponent.prototype.freezeHeight = function () {
+ applyStyle(this.el, {
+ height: this.el.getBoundingClientRect().height,
+ overflow: 'hidden'
+ });
+ };
+ CalendarComponent.prototype.thawHeight = function () {
+ applyStyle(this.el, {
+ height: '',
+ overflow: ''
+ });
+ };
+ return CalendarComponent;
+}(Component));
+// Title and Date Formatting
+// -----------------------------------------------------------------------------------------------------------------
+// Computes what the title at the top of the calendar should be for this view
+function computeTitle(dateProfile, viewOptions) {
+ var range;
+ // for views that span a large unit of time, show the proper interval, ignoring stray days before and after
+ if (/^(year|month)$/.test(dateProfile.currentRangeUnit)) {
+ range = dateProfile.currentRange;
+ }
+ else { // for day units or smaller, use the actual day range
+ range = dateProfile.activeRange;
+ }
+ return this.context.dateEnv.formatRange(range.start, range.end, createFormatter(viewOptions.titleFormat || computeTitleFormat(dateProfile), viewOptions.titleRangeSeparator), { isEndExclusive: dateProfile.isRangeAllDay });
+}
+// Generates the format string that should be used to generate the title for the current date range.
+// Attempts to compute the most appropriate format if not explicitly specified with `titleFormat`.
+function computeTitleFormat(dateProfile) {
+ var currentRangeUnit = dateProfile.currentRangeUnit;
+ if (currentRangeUnit === 'year') {
+ return { year: 'numeric' };
+ }
+ else if (currentRangeUnit === 'month') {
+ return { year: 'numeric', month: 'long' }; // like "September 2014"
+ }
+ else {
+ var days = diffWholeDays(dateProfile.currentRange.start, dateProfile.currentRange.end);
+ if (days !== null && days > 1) {
+ // multi-day range. shorter, like "Sep 9 - 10 2014"
+ return { year: 'numeric', month: 'short', day: 'numeric' };
+ }
+ else {
+ // one day. longer, like "September 9 2014"
+ return { year: 'numeric', month: 'long', day: 'numeric' };
+ }
+ }
+}
+// build a context scoped to the view
+function buildComponentContext(context, viewSpec, view) {
+ return context.extend(viewSpec.options, view);
+}
+// Plugin
+// -----------------------------------------------------------------------------------------------------------------
+function buildViewPropTransformers(theClasses) {
+ return theClasses.map(function (theClass) {
+ return new theClass();
+ });
+}
+
+var Interaction = /** @class */ (function () {
+ function Interaction(settings) {
+ this.component = settings.component;
+ }
+ Interaction.prototype.destroy = function () {
+ };
+ return Interaction;
+}());
+function parseInteractionSettings(component, input) {
+ return {
+ component: component,
+ el: input.el,
+ useEventCenter: input.useEventCenter != null ? input.useEventCenter : true
+ };
+}
+function interactionSettingsToStore(settings) {
+ var _a;
+ return _a = {},
+ _a[settings.component.uid] = settings,
+ _a;
+}
+// global state
+var interactionSettingsStore = {};
+
+/*
+Detects when the user clicks on an event within a DateComponent
+*/
+var EventClicking = /** @class */ (function (_super) {
+ __extends(EventClicking, _super);
+ function EventClicking(settings) {
+ var _this = _super.call(this, settings) || this;
+ _this.handleSegClick = function (ev, segEl) {
+ var component = _this.component;
+ var _a = component.context, calendar = _a.calendar, view = _a.view;
+ var seg = getElSeg(segEl);
+ if (seg && // might be the <div> surrounding the more link
+ component.isValidSegDownEl(ev.target)) {
+ // our way to simulate a link click for elements that can't be <a> tags
+ // grab before trigger fired in case trigger trashes DOM thru rerendering
+ var hasUrlContainer = elementClosest(ev.target, '.fc-has-url');
+ var url = hasUrlContainer ? hasUrlContainer.querySelector('a[href]').href : '';
+ calendar.publiclyTrigger('eventClick', [
+ {
+ el: segEl,
+ event: new EventApi(component.context.calendar, seg.eventRange.def, seg.eventRange.instance),
+ jsEvent: ev,
+ view: view
+ }
+ ]);
+ if (url && !ev.defaultPrevented) {
+ window.location.href = url;
+ }
+ }
+ };
+ var component = settings.component;
+ _this.destroy = listenBySelector(component.el, 'click', component.fgSegSelector + ',' + component.bgSegSelector, _this.handleSegClick);
+ return _this;
+ }
+ return EventClicking;
+}(Interaction));
+
+/*
+Triggers events and adds/removes core classNames when the user's pointer
+enters/leaves event-elements of a component.
+*/
+var EventHovering = /** @class */ (function (_super) {
+ __extends(EventHovering, _super);
+ function EventHovering(settings) {
+ var _this = _super.call(this, settings) || this;
+ // for simulating an eventMouseLeave when the event el is destroyed while mouse is over it
+ _this.handleEventElRemove = function (el) {
+ if (el === _this.currentSegEl) {
+ _this.handleSegLeave(null, _this.currentSegEl);
+ }
+ };
+ _this.handleSegEnter = function (ev, segEl) {
+ if (getElSeg(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper
+ segEl.classList.add('fc-allow-mouse-resize');
+ _this.currentSegEl = segEl;
+ _this.triggerEvent('eventMouseEnter', ev, segEl);
+ }
+ };
+ _this.handleSegLeave = function (ev, segEl) {
+ if (_this.currentSegEl) {
+ segEl.classList.remove('fc-allow-mouse-resize');
+ _this.currentSegEl = null;
+ _this.triggerEvent('eventMouseLeave', ev, segEl);
+ }
+ };
+ var component = settings.component;
+ _this.removeHoverListeners = listenToHoverBySelector(component.el, component.fgSegSelector + ',' + component.bgSegSelector, _this.handleSegEnter, _this.handleSegLeave);
+ // how to make sure component already has context?
+ component.context.calendar.on('eventElRemove', _this.handleEventElRemove);
+ return _this;
+ }
+ EventHovering.prototype.destroy = function () {
+ this.removeHoverListeners();
+ this.component.context.calendar.off('eventElRemove', this.handleEventElRemove);
+ };
+ EventHovering.prototype.triggerEvent = function (publicEvName, ev, segEl) {
+ var component = this.component;
+ var _a = component.context, calendar = _a.calendar, view = _a.view;
+ var seg = getElSeg(segEl);
+ if (!ev || component.isValidSegDownEl(ev.target)) {
+ calendar.publiclyTrigger(publicEvName, [
+ {
+ el: segEl,
+ event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
+ jsEvent: ev,
+ view: view
+ }
+ ]);
+ }
+ };
+ return EventHovering;
+}(Interaction));
+
+var StandardTheme = /** @class */ (function (_super) {
+ __extends(StandardTheme, _super);
+ function StandardTheme() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ return StandardTheme;
+}(Theme));
+StandardTheme.prototype.classes = {
+ widget: 'fc-unthemed',
+ widgetHeader: 'fc-widget-header',
+ widgetContent: 'fc-widget-content',
+ buttonGroup: 'fc-button-group',
+ button: 'fc-button fc-button-primary',
+ buttonActive: 'fc-button-active',
+ popoverHeader: 'fc-widget-header',
+ popoverContent: 'fc-widget-content',
+ // day grid
+ headerRow: 'fc-widget-header',
+ dayRow: 'fc-widget-content',
+ // list view
+ listView: 'fc-widget-content'
+};
+StandardTheme.prototype.baseIconClass = 'fc-icon';
+StandardTheme.prototype.iconClasses = {
+ close: 'fc-icon-x',
+ prev: 'fc-icon-chevron-left',
+ next: 'fc-icon-chevron-right',
+ prevYear: 'fc-icon-chevrons-left',
+ nextYear: 'fc-icon-chevrons-right'
+};
+StandardTheme.prototype.iconOverrideOption = 'buttonIcons';
+StandardTheme.prototype.iconOverrideCustomButtonOption = 'icon';
+StandardTheme.prototype.iconOverridePrefix = 'fc-icon-';
+
+var Calendar = /** @class */ (function () {
+ function Calendar(el, overrides) {
+ var _this = this;
+ this.buildComponentContext = memoize(buildComponentContext$1);
+ this.parseRawLocales = memoize(parseRawLocales);
+ this.buildLocale = memoize(buildLocale);
+ this.buildDateEnv = memoize(buildDateEnv);
+ this.buildTheme = memoize(buildTheme);
+ this.buildEventUiSingleBase = memoize(this._buildEventUiSingleBase);
+ this.buildSelectionConfig = memoize(this._buildSelectionConfig);
+ this.buildEventUiBySource = memoizeOutput(buildEventUiBySource, isPropsEqual);
+ this.buildEventUiBases = memoize(buildEventUiBases);
+ this.interactionsStore = {};
+ this.actionQueue = [];
+ this.isReducing = false;
+ // isDisplaying: boolean = false // installed in DOM? accepting renders?
+ this.needsRerender = false; // needs a render?
+ this.isRendering = false; // currently in the executeRender function?
+ this.renderingPauseDepth = 0;
+ this.buildDelayedRerender = memoize(buildDelayedRerender);
+ this.afterSizingTriggers = {};
+ this.isViewUpdated = false;
+ this.isDatesUpdated = false;
+ this.isEventsUpdated = false;
+ this.el = el;
+ this.optionsManager = new OptionsManager(overrides || {});
+ this.pluginSystem = new PluginSystem();
+ // only do once. don't do in handleOptions. because can't remove plugins
+ this.addPluginInputs(this.optionsManager.computed.plugins || []);
+ this.handleOptions(this.optionsManager.computed);
+ this.publiclyTrigger('_init'); // for tests
+ this.hydrate();
+ this.calendarInteractions = this.pluginSystem.hooks.calendarInteractions
+ .map(function (calendarInteractionClass) {
+ return new calendarInteractionClass(_this);
+ });
+ }
+ Calendar.prototype.addPluginInputs = function (pluginInputs) {
+ var pluginDefs = refinePluginDefs(pluginInputs);
+ for (var _i = 0, pluginDefs_1 = pluginDefs; _i < pluginDefs_1.length; _i++) {
+ var pluginDef = pluginDefs_1[_i];
+ this.pluginSystem.add(pluginDef);
+ }
+ };
+ Object.defineProperty(Calendar.prototype, "view", {
+ // public API
+ get: function () {
+ return this.component ? this.component.view : null;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ // Public API for rendering
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.render = function () {
+ if (!this.component) {
+ this.component = new CalendarComponent(this.el);
+ this.renderableEventStore = createEmptyEventStore();
+ this.bindHandlers();
+ this.executeRender();
+ }
+ else {
+ this.requestRerender();
+ }
+ };
+ Calendar.prototype.destroy = function () {
+ if (this.component) {
+ this.unbindHandlers();
+ this.component.destroy(); // don't null-out. in case API needs access
+ this.component = null; // umm ???
+ for (var _i = 0, _a = this.calendarInteractions; _i < _a.length; _i++) {
+ var interaction = _a[_i];
+ interaction.destroy();
+ }
+ this.publiclyTrigger('_destroyed');
+ }
+ };
+ // Handlers
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.bindHandlers = function () {
+ var _this = this;
+ // event delegation for nav links
+ this.removeNavLinkListener = listenBySelector(this.el, 'click', 'a[data-goto]', function (ev, anchorEl) {
+ var gotoOptions = anchorEl.getAttribute('data-goto');
+ gotoOptions = gotoOptions ? JSON.parse(gotoOptions) : {};
+ var dateEnv = _this.dateEnv;
+ var dateMarker = dateEnv.createMarker(gotoOptions.date);
+ var viewType = gotoOptions.type;
+ // property like "navLinkDayClick". might be a string or a function
+ var customAction = _this.viewOpt('navLink' + capitaliseFirstLetter(viewType) + 'Click');
+ if (typeof customAction === 'function') {
+ customAction(dateEnv.toDate(dateMarker), ev);
+ }
+ else {
+ if (typeof customAction === 'string') {
+ viewType = customAction;
+ }
+ _this.zoomTo(dateMarker, viewType);
+ }
+ });
+ if (this.opt('handleWindowResize')) {
+ window.addEventListener('resize', this.windowResizeProxy = debounce(// prevents rapid calls
+ this.windowResize.bind(this), this.opt('windowResizeDelay')));
+ }
+ };
+ Calendar.prototype.unbindHandlers = function () {
+ this.removeNavLinkListener();
+ if (this.windowResizeProxy) {
+ window.removeEventListener('resize', this.windowResizeProxy);
+ this.windowResizeProxy = null;
+ }
+ };
+ // Dispatcher
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.hydrate = function () {
+ var _this = this;
+ this.state = this.buildInitialState();
+ var rawSources = this.opt('eventSources') || [];
+ var singleRawSource = this.opt('events');
+ var sources = []; // parsed
+ if (singleRawSource) {
+ rawSources.unshift(singleRawSource);
+ }
+ for (var _i = 0, rawSources_1 = rawSources; _i < rawSources_1.length; _i++) {
+ var rawSource = rawSources_1[_i];
+ var source = parseEventSource(rawSource, this);
+ if (source) {
+ sources.push(source);
+ }
+ }
+ this.batchRendering(function () {
+ _this.dispatch({ type: 'INIT' }); // pass in sources here?
+ _this.dispatch({ type: 'ADD_EVENT_SOURCES', sources: sources });
+ _this.dispatch({
+ type: 'SET_VIEW_TYPE',
+ viewType: _this.opt('defaultView') || _this.pluginSystem.hooks.defaultView
+ });
+ });
+ };
+ Calendar.prototype.buildInitialState = function () {
+ return {
+ viewType: null,
+ loadingLevel: 0,
+ eventSourceLoadingLevel: 0,
+ currentDate: this.getInitialDate(),
+ dateProfile: null,
+ eventSources: {},
+ eventStore: createEmptyEventStore(),
+ dateSelection: null,
+ eventSelection: '',
+ eventDrag: null,
+ eventResize: null
+ };
+ };
+ Calendar.prototype.dispatch = function (action) {
+ this.actionQueue.push(action);
+ if (!this.isReducing) {
+ this.isReducing = true;
+ var oldState = this.state;
+ while (this.actionQueue.length) {
+ this.state = this.reduce(this.state, this.actionQueue.shift(), this);
+ }
+ var newState = this.state;
+ this.isReducing = false;
+ if (!oldState.loadingLevel && newState.loadingLevel) {
+ this.publiclyTrigger('loading', [true]);
+ }
+ else if (oldState.loadingLevel && !newState.loadingLevel) {
+ this.publiclyTrigger('loading', [false]);
+ }
+ var view = this.component && this.component.view;
+ if (oldState.eventStore !== newState.eventStore) {
+ if (oldState.eventStore) {
+ this.isEventsUpdated = true;
+ }
+ }
+ if (oldState.dateProfile !== newState.dateProfile) {
+ if (oldState.dateProfile && view) { // why would view be null!?
+ this.publiclyTrigger('datesDestroy', [
+ {
+ view: view,
+ el: view.el
+ }
+ ]);
+ }
+ this.isDatesUpdated = true;
+ }
+ if (oldState.viewType !== newState.viewType) {
+ if (oldState.viewType && view) { // why would view be null!?
+ this.publiclyTrigger('viewSkeletonDestroy', [
+ {
+ view: view,
+ el: view.el
+ }
+ ]);
+ }
+ this.isViewUpdated = true;
+ }
+ this.requestRerender();
+ }
+ };
+ Calendar.prototype.reduce = function (state, action, calendar) {
+ return reduce(state, action, calendar);
+ };
+ // Render Queue
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.requestRerender = function () {
+ this.needsRerender = true;
+ this.delayedRerender(); // will call a debounced-version of tryRerender
+ };
+ Calendar.prototype.tryRerender = function () {
+ if (this.component && // must be accepting renders
+ this.needsRerender && // indicates that a rerender was requested
+ !this.renderingPauseDepth && // not paused
+ !this.isRendering // not currently in the render loop
+ ) {
+ this.executeRender();
+ }
+ };
+ Calendar.prototype.batchRendering = function (func) {
+ this.renderingPauseDepth++;
+ func();
+ this.renderingPauseDepth--;
+ if (this.needsRerender) {
+ this.requestRerender();
+ }
+ };
+ // Rendering
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.executeRender = function () {
+ // clear these BEFORE the render so that new values will accumulate during render
+ this.needsRerender = false;
+ this.isRendering = true;
+ this.renderComponent();
+ this.isRendering = false;
+ // received a rerender request while rendering
+ if (this.needsRerender) {
+ this.delayedRerender();
+ }
+ };
+ /*
+ don't call this directly. use executeRender instead
+ */
+ Calendar.prototype.renderComponent = function () {
+ var _a = this, state = _a.state, component = _a.component;
+ var viewType = state.viewType;
+ var viewSpec = this.viewSpecs[viewType];
+ if (!viewSpec) {
+ throw new Error("View type \"" + viewType + "\" is not valid");
+ }
+ // if event sources are still loading and progressive rendering hasn't been enabled,
+ // keep rendering the last fully loaded set of events
+ var renderableEventStore = this.renderableEventStore =
+ (state.eventSourceLoadingLevel && !this.opt('progressiveEventRendering')) ?
+ this.renderableEventStore :
+ state.eventStore;
+ var eventUiSingleBase = this.buildEventUiSingleBase(viewSpec.options);
+ var eventUiBySource = this.buildEventUiBySource(state.eventSources);
+ var eventUiBases = this.eventUiBases = this.buildEventUiBases(renderableEventStore.defs, eventUiSingleBase, eventUiBySource);
+ component.receiveProps(__assign({}, state, { viewSpec: viewSpec, dateProfileGenerator: this.dateProfileGenerators[viewType], dateProfile: state.dateProfile, eventStore: renderableEventStore, eventUiBases: eventUiBases, dateSelection: state.dateSelection, eventSelection: state.eventSelection, eventDrag: state.eventDrag, eventResize: state.eventResize }), this.buildComponentContext(this.theme, this.dateEnv, this.optionsManager.computed));
+ if (this.isViewUpdated) {
+ this.isViewUpdated = false;
+ this.publiclyTrigger('viewSkeletonRender', [
+ {
+ view: component.view,
+ el: component.view.el
+ }
+ ]);
+ }
+ if (this.isDatesUpdated) {
+ this.isDatesUpdated = false;
+ this.publiclyTrigger('datesRender', [
+ {
+ view: component.view,
+ el: component.view.el
+ }
+ ]);
+ }
+ if (this.isEventsUpdated) {
+ this.isEventsUpdated = false;
+ }
+ this.releaseAfterSizingTriggers();
+ };
+ // Options
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.setOption = function (name, val) {
+ var _a;
+ this.mutateOptions((_a = {}, _a[name] = val, _a), [], true);
+ };
+ Calendar.prototype.getOption = function (name) {
+ return this.optionsManager.computed[name];
+ };
+ Calendar.prototype.opt = function (name) {
+ return this.optionsManager.computed[name];
+ };
+ Calendar.prototype.viewOpt = function (name) {
+ return this.viewOpts()[name];
+ };
+ Calendar.prototype.viewOpts = function () {
+ return this.viewSpecs[this.state.viewType].options;
+ };
+ /*
+ handles option changes (like a diff)
+ */
+ Calendar.prototype.mutateOptions = function (updates, removals, isDynamic, deepEqual) {
+ var _this = this;
+ var changeHandlers = this.pluginSystem.hooks.optionChangeHandlers;
+ var normalUpdates = {};
+ var specialUpdates = {};
+ var oldDateEnv = this.dateEnv; // do this before handleOptions
+ var isTimeZoneDirty = false;
+ var isSizeDirty = false;
+ var anyDifficultOptions = Boolean(removals.length);
+ for (var name_1 in updates) {
+ if (changeHandlers[name_1]) {
+ specialUpdates[name_1] = updates[name_1];
+ }
+ else {
+ normalUpdates[name_1] = updates[name_1];
+ }
+ }
+ for (var name_2 in normalUpdates) {
+ if (/^(height|contentHeight|aspectRatio)$/.test(name_2)) {
+ isSizeDirty = true;
+ }
+ else if (/^(defaultDate|defaultView)$/.test(name_2)) ;
+ else {
+ anyDifficultOptions = true;
+ if (name_2 === 'timeZone') {
+ isTimeZoneDirty = true;
+ }
+ }
+ }
+ this.optionsManager.mutate(normalUpdates, removals, isDynamic);
+ if (anyDifficultOptions) {
+ this.handleOptions(this.optionsManager.computed);
+ }
+ this.batchRendering(function () {
+ if (anyDifficultOptions) {
+ if (isTimeZoneDirty) {
+ _this.dispatch({
+ type: 'CHANGE_TIMEZONE',
+ oldDateEnv: oldDateEnv
+ });
+ }
+ /* HACK
+ has the same effect as calling this.requestRerender()
+ but recomputes the state's dateProfile
+ */
+ _this.dispatch({
+ type: 'SET_VIEW_TYPE',
+ viewType: _this.state.viewType
+ });
+ }
+ else if (isSizeDirty) {
+ _this.updateSize();
+ }
+ // special updates
+ if (deepEqual) {
+ for (var name_3 in specialUpdates) {
+ changeHandlers[name_3](specialUpdates[name_3], _this, deepEqual);
+ }
+ }
+ });
+ };
+ /*
+ rebuilds things based off of a complete set of refined options
+ */
+ Calendar.prototype.handleOptions = function (options) {
+ var _this = this;
+ var pluginHooks = this.pluginSystem.hooks;
+ this.defaultAllDayEventDuration = createDuration(options.defaultAllDayEventDuration);
+ this.defaultTimedEventDuration = createDuration(options.defaultTimedEventDuration);
+ this.delayedRerender = this.buildDelayedRerender(options.rerenderDelay);
+ this.theme = this.buildTheme(options);
+ var available = this.parseRawLocales(options.locales);
+ this.availableRawLocales = available.map;
+ var locale = this.buildLocale(options.locale || available.defaultCode, available.map);
+ this.dateEnv = this.buildDateEnv(locale, options.timeZone, pluginHooks.namedTimeZonedImpl, options.firstDay, options.weekNumberCalculation, options.weekLabel, pluginHooks.cmdFormatter);
+ this.selectionConfig = this.buildSelectionConfig(options); // needs dateEnv. do after :(
+ // ineffecient to do every time?
+ this.viewSpecs = buildViewSpecs(pluginHooks.views, this.optionsManager);
+ // ineffecient to do every time?
+ this.dateProfileGenerators = mapHash(this.viewSpecs, function (viewSpec) {
+ return new viewSpec.class.prototype.dateProfileGeneratorClass(viewSpec, _this);
+ });
+ };
+ Calendar.prototype.getAvailableLocaleCodes = function () {
+ return Object.keys(this.availableRawLocales);
+ };
+ Calendar.prototype._buildSelectionConfig = function (rawOpts) {
+ return processScopedUiProps('select', rawOpts, this);
+ };
+ Calendar.prototype._buildEventUiSingleBase = function (rawOpts) {
+ if (rawOpts.editable) { // so 'editable' affected events
+ rawOpts = __assign({}, rawOpts, { eventEditable: true });
+ }
+ return processScopedUiProps('event', rawOpts, this);
+ };
+ // Trigger
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.hasPublicHandlers = function (name) {
+ return this.hasHandlers(name) ||
+ this.opt(name); // handler specified in options
+ };
+ Calendar.prototype.publiclyTrigger = function (name, args) {
+ var optHandler = this.opt(name);
+ this.triggerWith(name, this, args);
+ if (optHandler) {
+ return optHandler.apply(this, args);
+ }
+ };
+ Calendar.prototype.publiclyTriggerAfterSizing = function (name, args) {
+ var afterSizingTriggers = this.afterSizingTriggers;
+ (afterSizingTriggers[name] || (afterSizingTriggers[name] = [])).push(args);
+ };
+ Calendar.prototype.releaseAfterSizingTriggers = function () {
+ var afterSizingTriggers = this.afterSizingTriggers;
+ for (var name_4 in afterSizingTriggers) {
+ for (var _i = 0, _a = afterSizingTriggers[name_4]; _i < _a.length; _i++) {
+ var args = _a[_i];
+ this.publiclyTrigger(name_4, args);
+ }
+ }
+ this.afterSizingTriggers = {};
+ };
+ // View
+ // -----------------------------------------------------------------------------------------------------------------
+ // Returns a boolean about whether the view is okay to instantiate at some point
+ Calendar.prototype.isValidViewType = function (viewType) {
+ return Boolean(this.viewSpecs[viewType]);
+ };
+ Calendar.prototype.changeView = function (viewType, dateOrRange) {
+ var dateMarker = null;
+ if (dateOrRange) {
+ if (dateOrRange.start && dateOrRange.end) { // a range
+ this.optionsManager.mutate({ visibleRange: dateOrRange }, []); // will not rerender
+ this.handleOptions(this.optionsManager.computed); // ...but yuck
+ }
+ else { // a date
+ dateMarker = this.dateEnv.createMarker(dateOrRange); // just like gotoDate
+ }
+ }
+ this.unselect();
+ this.dispatch({
+ type: 'SET_VIEW_TYPE',
+ viewType: viewType,
+ dateMarker: dateMarker
+ });
+ };
+ // Forces navigation to a view for the given date.
+ // `viewType` can be a specific view name or a generic one like "week" or "day".
+ // needs to change
+ Calendar.prototype.zoomTo = function (dateMarker, viewType) {
+ var spec;
+ viewType = viewType || 'day'; // day is default zoom
+ spec = this.viewSpecs[viewType] ||
+ this.getUnitViewSpec(viewType);
+ this.unselect();
+ if (spec) {
+ this.dispatch({
+ type: 'SET_VIEW_TYPE',
+ viewType: spec.type,
+ dateMarker: dateMarker
+ });
+ }
+ else {
+ this.dispatch({
+ type: 'SET_DATE',
+ dateMarker: dateMarker
+ });
+ }
+ };
+ // Given a duration singular unit, like "week" or "day", finds a matching view spec.
+ // Preference is given to views that have corresponding buttons.
+ Calendar.prototype.getUnitViewSpec = function (unit) {
+ var component = this.component;
+ var viewTypes = [];
+ var i;
+ var spec;
+ // put views that have buttons first. there will be duplicates, but oh
+ if (component.header) {
+ viewTypes.push.apply(viewTypes, component.header.viewsWithButtons);
+ }
+ if (component.footer) {
+ viewTypes.push.apply(viewTypes, component.footer.viewsWithButtons);
+ }
+ for (var viewType in this.viewSpecs) {
+ viewTypes.push(viewType);
+ }
+ for (i = 0; i < viewTypes.length; i++) {
+ spec = this.viewSpecs[viewTypes[i]];
+ if (spec) {
+ if (spec.singleUnit === unit) {
+ return spec;
+ }
+ }
+ }
+ };
+ // Current Date
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.getInitialDate = function () {
+ var defaultDateInput = this.opt('defaultDate');
+ // compute the initial ambig-timezone date
+ if (defaultDateInput != null) {
+ return this.dateEnv.createMarker(defaultDateInput);
+ }
+ else {
+ return this.getNow(); // getNow already returns unzoned
+ }
+ };
+ Calendar.prototype.prev = function () {
+ this.unselect();
+ this.dispatch({ type: 'PREV' });
+ };
+ Calendar.prototype.next = function () {
+ this.unselect();
+ this.dispatch({ type: 'NEXT' });
+ };
+ Calendar.prototype.prevYear = function () {
+ this.unselect();
+ this.dispatch({
+ type: 'SET_DATE',
+ dateMarker: this.dateEnv.addYears(this.state.currentDate, -1)
+ });
+ };
+ Calendar.prototype.nextYear = function () {
+ this.unselect();
+ this.dispatch({
+ type: 'SET_DATE',
+ dateMarker: this.dateEnv.addYears(this.state.currentDate, 1)
+ });
+ };
+ Calendar.prototype.today = function () {
+ this.unselect();
+ this.dispatch({
+ type: 'SET_DATE',
+ dateMarker: this.getNow()
+ });
+ };
+ Calendar.prototype.gotoDate = function (zonedDateInput) {
+ this.unselect();
+ this.dispatch({
+ type: 'SET_DATE',
+ dateMarker: this.dateEnv.createMarker(zonedDateInput)
+ });
+ };
+ Calendar.prototype.incrementDate = function (deltaInput) {
+ var delta = createDuration(deltaInput);
+ if (delta) { // else, warn about invalid input?
+ this.unselect();
+ this.dispatch({
+ type: 'SET_DATE',
+ dateMarker: this.dateEnv.add(this.state.currentDate, delta)
+ });
+ }
+ };
+ // for external API
+ Calendar.prototype.getDate = function () {
+ return this.dateEnv.toDate(this.state.currentDate);
+ };
+ // Date Formatting Utils
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.formatDate = function (d, formatter) {
+ var dateEnv = this.dateEnv;
+ return dateEnv.format(dateEnv.createMarker(d), createFormatter(formatter));
+ };
+ // `settings` is for formatter AND isEndExclusive
+ Calendar.prototype.formatRange = function (d0, d1, settings) {
+ var dateEnv = this.dateEnv;
+ return dateEnv.formatRange(dateEnv.createMarker(d0), dateEnv.createMarker(d1), createFormatter(settings, this.opt('defaultRangeSeparator')), settings);
+ };
+ Calendar.prototype.formatIso = function (d, omitTime) {
+ var dateEnv = this.dateEnv;
+ return dateEnv.formatIso(dateEnv.createMarker(d), { omitTime: omitTime });
+ };
+ // Sizing
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.windowResize = function (ev) {
+ if (!this.isHandlingWindowResize &&
+ this.component && // why?
+ ev.target === window // not a jqui resize event
+ ) {
+ this.isHandlingWindowResize = true;
+ this.updateSize();
+ this.publiclyTrigger('windowResize', [this.view]);
+ this.isHandlingWindowResize = false;
+ }
+ };
+ Calendar.prototype.updateSize = function () {
+ if (this.component) { // when?
+ this.component.updateSize(true);
+ }
+ };
+ // Component Registration
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.registerInteractiveComponent = function (component, settingsInput) {
+ var settings = parseInteractionSettings(component, settingsInput);
+ var DEFAULT_INTERACTIONS = [
+ EventClicking,
+ EventHovering
+ ];
+ var interactionClasses = DEFAULT_INTERACTIONS.concat(this.pluginSystem.hooks.componentInteractions);
+ var interactions = interactionClasses.map(function (interactionClass) {
+ return new interactionClass(settings);
+ });
+ this.interactionsStore[component.uid] = interactions;
+ interactionSettingsStore[component.uid] = settings;
+ };
+ Calendar.prototype.unregisterInteractiveComponent = function (component) {
+ for (var _i = 0, _a = this.interactionsStore[component.uid]; _i < _a.length; _i++) {
+ var listener = _a[_i];
+ listener.destroy();
+ }
+ delete this.interactionsStore[component.uid];
+ delete interactionSettingsStore[component.uid];
+ };
+ // Date Selection / Event Selection / DayClick
+ // -----------------------------------------------------------------------------------------------------------------
+ // this public method receives start/end dates in any format, with any timezone
+ // NOTE: args were changed from v3
+ Calendar.prototype.select = function (dateOrObj, endDate) {
+ var selectionInput;
+ if (endDate == null) {
+ if (dateOrObj.start != null) {
+ selectionInput = dateOrObj;
+ }
+ else {
+ selectionInput = {
+ start: dateOrObj,
+ end: null
+ };
+ }
+ }
+ else {
+ selectionInput = {
+ start: dateOrObj,
+ end: endDate
+ };
+ }
+ var selection = parseDateSpan(selectionInput, this.dateEnv, createDuration({ days: 1 }) // TODO: cache this?
+ );
+ if (selection) { // throw parse error otherwise?
+ this.dispatch({ type: 'SELECT_DATES', selection: selection });
+ this.triggerDateSelect(selection);
+ }
+ };
+ // public method
+ Calendar.prototype.unselect = function (pev) {
+ if (this.state.dateSelection) {
+ this.dispatch({ type: 'UNSELECT_DATES' });
+ this.triggerDateUnselect(pev);
+ }
+ };
+ Calendar.prototype.triggerDateSelect = function (selection, pev) {
+ var arg = __assign({}, this.buildDateSpanApi(selection), { jsEvent: pev ? pev.origEvent : null, view: this.view });
+ this.publiclyTrigger('select', [arg]);
+ };
+ Calendar.prototype.triggerDateUnselect = function (pev) {
+ this.publiclyTrigger('unselect', [
+ {
+ jsEvent: pev ? pev.origEvent : null,
+ view: this.view
+ }
+ ]);
+ };
+ // TODO: receive pev?
+ Calendar.prototype.triggerDateClick = function (dateSpan, dayEl, view, ev) {
+ var arg = __assign({}, this.buildDatePointApi(dateSpan), { dayEl: dayEl, jsEvent: ev, // Is this always a mouse event? See #4655
+ view: view });
+ this.publiclyTrigger('dateClick', [arg]);
+ };
+ Calendar.prototype.buildDatePointApi = function (dateSpan) {
+ var props = {};
+ for (var _i = 0, _a = this.pluginSystem.hooks.datePointTransforms; _i < _a.length; _i++) {
+ var transform = _a[_i];
+ __assign(props, transform(dateSpan, this));
+ }
+ __assign(props, buildDatePointApi(dateSpan, this.dateEnv));
+ return props;
+ };
+ Calendar.prototype.buildDateSpanApi = function (dateSpan) {
+ var props = {};
+ for (var _i = 0, _a = this.pluginSystem.hooks.dateSpanTransforms; _i < _a.length; _i++) {
+ var transform = _a[_i];
+ __assign(props, transform(dateSpan, this));
+ }
+ __assign(props, buildDateSpanApi(dateSpan, this.dateEnv));
+ return props;
+ };
+ // Date Utils
+ // -----------------------------------------------------------------------------------------------------------------
+ // Returns a DateMarker for the current date, as defined by the client's computer or from the `now` option
+ Calendar.prototype.getNow = function () {
+ var now = this.opt('now');
+ if (typeof now === 'function') {
+ now = now();
+ }
+ if (now == null) {
+ return this.dateEnv.createNowMarker();
+ }
+ return this.dateEnv.createMarker(now);
+ };
+ // Event-Date Utilities
+ // -----------------------------------------------------------------------------------------------------------------
+ // Given an event's allDay status and start date, return what its fallback end date should be.
+ // TODO: rename to computeDefaultEventEnd
+ Calendar.prototype.getDefaultEventEnd = function (allDay, marker) {
+ var end = marker;
+ if (allDay) {
+ end = startOfDay(end);
+ end = this.dateEnv.add(end, this.defaultAllDayEventDuration);
+ }
+ else {
+ end = this.dateEnv.add(end, this.defaultTimedEventDuration);
+ }
+ return end;
+ };
+ // Public Events API
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.addEvent = function (eventInput, sourceInput) {
+ if (eventInput instanceof EventApi) {
+ var def = eventInput._def;
+ var instance = eventInput._instance;
+ // not already present? don't want to add an old snapshot
+ if (!this.state.eventStore.defs[def.defId]) {
+ this.dispatch({
+ type: 'ADD_EVENTS',
+ eventStore: eventTupleToStore({ def: def, instance: instance }) // TODO: better util for two args?
+ });
+ }
+ return eventInput;
+ }
+ var sourceId;
+ if (sourceInput instanceof EventSourceApi) {
+ sourceId = sourceInput.internalEventSource.sourceId;
+ }
+ else if (sourceInput != null) {
+ var sourceApi = this.getEventSourceById(sourceInput); // TODO: use an internal function
+ if (!sourceApi) {
+ console.warn('Could not find an event source with ID "' + sourceInput + '"'); // TODO: test
+ return null;
+ }
+ else {
+ sourceId = sourceApi.internalEventSource.sourceId;
+ }
+ }
+ var tuple = parseEvent(eventInput, sourceId, this);
+ if (tuple) {
+ this.dispatch({
+ type: 'ADD_EVENTS',
+ eventStore: eventTupleToStore(tuple)
+ });
+ return new EventApi(this, tuple.def, tuple.def.recurringDef ? null : tuple.instance);
+ }
+ return null;
+ };
+ // TODO: optimize
+ Calendar.prototype.getEventById = function (id) {
+ var _a = this.state.eventStore, defs = _a.defs, instances = _a.instances;
+ id = String(id);
+ for (var defId in defs) {
+ var def = defs[defId];
+ if (def.publicId === id) {
+ if (def.recurringDef) {
+ return new EventApi(this, def, null);
+ }
+ else {
+ for (var instanceId in instances) {
+ var instance = instances[instanceId];
+ if (instance.defId === def.defId) {
+ return new EventApi(this, def, instance);
+ }
+ }
+ }
+ }
+ }
+ return null;
+ };
+ Calendar.prototype.getEvents = function () {
+ var _a = this.state.eventStore, defs = _a.defs, instances = _a.instances;
+ var eventApis = [];
+ for (var id in instances) {
+ var instance = instances[id];
+ var def = defs[instance.defId];
+ eventApis.push(new EventApi(this, def, instance));
+ }
+ return eventApis;
+ };
+ Calendar.prototype.removeAllEvents = function () {
+ this.dispatch({ type: 'REMOVE_ALL_EVENTS' });
+ };
+ Calendar.prototype.rerenderEvents = function () {
+ this.dispatch({ type: 'RESET_EVENTS' });
+ };
+ // Public Event Sources API
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.getEventSources = function () {
+ var sourceHash = this.state.eventSources;
+ var sourceApis = [];
+ for (var internalId in sourceHash) {
+ sourceApis.push(new EventSourceApi(this, sourceHash[internalId]));
+ }
+ return sourceApis;
+ };
+ Calendar.prototype.getEventSourceById = function (id) {
+ var sourceHash = this.state.eventSources;
+ id = String(id);
+ for (var sourceId in sourceHash) {
+ if (sourceHash[sourceId].publicId === id) {
+ return new EventSourceApi(this, sourceHash[sourceId]);
+ }
+ }
+ return null;
+ };
+ Calendar.prototype.addEventSource = function (sourceInput) {
+ if (sourceInput instanceof EventSourceApi) {
+ // not already present? don't want to add an old snapshot
+ if (!this.state.eventSources[sourceInput.internalEventSource.sourceId]) {
+ this.dispatch({
+ type: 'ADD_EVENT_SOURCES',
+ sources: [sourceInput.internalEventSource]
+ });
+ }
+ return sourceInput;
+ }
+ var eventSource = parseEventSource(sourceInput, this);
+ if (eventSource) { // TODO: error otherwise?
+ this.dispatch({ type: 'ADD_EVENT_SOURCES', sources: [eventSource] });
+ return new EventSourceApi(this, eventSource);
+ }
+ return null;
+ };
+ Calendar.prototype.removeAllEventSources = function () {
+ this.dispatch({ type: 'REMOVE_ALL_EVENT_SOURCES' });
+ };
+ Calendar.prototype.refetchEvents = function () {
+ this.dispatch({ type: 'FETCH_EVENT_SOURCES' });
+ };
+ // Scroll
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.scrollToTime = function (timeInput) {
+ var duration = createDuration(timeInput);
+ if (duration) {
+ this.component.view.scrollToDuration(duration);
+ }
+ };
+ return Calendar;
+}());
+EmitterMixin.mixInto(Calendar);
+// for memoizers
+// -----------------------------------------------------------------------------------------------------------------
+function buildComponentContext$1(theme, dateEnv, options) {
+ return new ComponentContext(this, theme, dateEnv, options, null);
+}
+function buildDateEnv(locale, timeZone, namedTimeZoneImpl, firstDay, weekNumberCalculation, weekLabel, cmdFormatter) {
+ return new DateEnv({
+ calendarSystem: 'gregory',
+ timeZone: timeZone,
+ namedTimeZoneImpl: namedTimeZoneImpl,
+ locale: locale,
+ weekNumberCalculation: weekNumberCalculation,
+ firstDay: firstDay,
+ weekLabel: weekLabel,
+ cmdFormatter: cmdFormatter
+ });
+}
+function buildTheme(calendarOptions) {
+ var themeClass = this.pluginSystem.hooks.themeClasses[calendarOptions.themeSystem] || StandardTheme;
+ return new themeClass(calendarOptions);
+}
+function buildDelayedRerender(wait) {
+ var func = this.tryRerender.bind(this);
+ if (wait != null) {
+ func = debounce(func, wait);
+ }
+ return func;
+}
+function buildEventUiBySource(eventSources) {
+ return mapHash(eventSources, function (eventSource) {
+ return eventSource.ui;
+ });
+}
+function buildEventUiBases(eventDefs, eventUiSingleBase, eventUiBySource) {
+ var eventUiBases = { '': eventUiSingleBase };
+ for (var defId in eventDefs) {
+ var def = eventDefs[defId];
+ if (def.sourceId && eventUiBySource[def.sourceId]) {
+ eventUiBases[defId] = eventUiBySource[def.sourceId];
+ }
+ }
+ return eventUiBases;
+}
+
+var View = /** @class */ (function (_super) {
+ __extends(View, _super);
+ function View(viewSpec, parentEl) {
+ var _this = _super.call(this, createElement('div', { className: 'fc-view fc-' + viewSpec.type + '-view' })) || this;
+ _this.renderDatesMem = memoizeRendering(_this.renderDatesWrap, _this.unrenderDatesWrap);
+ _this.renderBusinessHoursMem = memoizeRendering(_this.renderBusinessHours, _this.unrenderBusinessHours, [_this.renderDatesMem]);
+ _this.renderDateSelectionMem = memoizeRendering(_this.renderDateSelectionWrap, _this.unrenderDateSelectionWrap, [_this.renderDatesMem]);
+ _this.renderEventsMem = memoizeRendering(_this.renderEvents, _this.unrenderEvents, [_this.renderDatesMem]);
+ _this.renderEventSelectionMem = memoizeRendering(_this.renderEventSelectionWrap, _this.unrenderEventSelectionWrap, [_this.renderEventsMem]);
+ _this.renderEventDragMem = memoizeRendering(_this.renderEventDragWrap, _this.unrenderEventDragWrap, [_this.renderDatesMem]);
+ _this.renderEventResizeMem = memoizeRendering(_this.renderEventResizeWrap, _this.unrenderEventResizeWrap, [_this.renderDatesMem]);
+ _this.viewSpec = viewSpec;
+ _this.type = viewSpec.type;
+ parentEl.appendChild(_this.el);
+ _this.initialize();
+ return _this;
+ }
+ View.prototype.initialize = function () {
+ };
+ Object.defineProperty(View.prototype, "activeStart", {
+ // Date Setting/Unsetting
+ // -----------------------------------------------------------------------------------------------------------------
+ get: function () {
+ return this.context.dateEnv.toDate(this.props.dateProfile.activeRange.start);
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(View.prototype, "activeEnd", {
+ get: function () {
+ return this.context.dateEnv.toDate(this.props.dateProfile.activeRange.end);
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(View.prototype, "currentStart", {
+ get: function () {
+ return this.context.dateEnv.toDate(this.props.dateProfile.currentRange.start);
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(View.prototype, "currentEnd", {
+ get: function () {
+ return this.context.dateEnv.toDate(this.props.dateProfile.currentRange.end);
+ },
+ enumerable: true,
+ configurable: true
+ });
+ // General Rendering
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.render = function (props, context) {
+ this.renderDatesMem(props.dateProfile);
+ this.renderBusinessHoursMem(props.businessHours);
+ this.renderDateSelectionMem(props.dateSelection);
+ this.renderEventsMem(props.eventStore);
+ this.renderEventSelectionMem(props.eventSelection);
+ this.renderEventDragMem(props.eventDrag);
+ this.renderEventResizeMem(props.eventResize);
+ };
+ View.prototype.beforeUpdate = function () {
+ this.addScroll(this.queryScroll());
+ };
+ View.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderDatesMem.unrender(); // should unrender everything else
+ };
+ // Sizing
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.updateSize = function (isResize, viewHeight, isAuto) {
+ var calendar = this.context.calendar;
+ if (isResize) {
+ this.addScroll(this.queryScroll()); // NOTE: same code as in beforeUpdate
+ }
+ if (isResize || // HACKS...
+ calendar.isViewUpdated ||
+ calendar.isDatesUpdated ||
+ calendar.isEventsUpdated) {
+ // sort of the catch-all sizing
+ // anything that might cause dimension changes
+ this.updateBaseSize(isResize, viewHeight, isAuto);
+ }
+ // NOTE: popScroll is called by CalendarComponent
+ };
+ View.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {
+ };
+ // Date Rendering
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.renderDatesWrap = function (dateProfile) {
+ this.renderDates(dateProfile);
+ this.addScroll({
+ duration: createDuration(this.context.options.scrollTime)
+ });
+ };
+ View.prototype.unrenderDatesWrap = function () {
+ this.stopNowIndicator();
+ this.unrenderDates();
+ };
+ View.prototype.renderDates = function (dateProfile) { };
+ View.prototype.unrenderDates = function () { };
+ // Business Hours
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.renderBusinessHours = function (businessHours) { };
+ View.prototype.unrenderBusinessHours = function () { };
+ // Date Selection
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.renderDateSelectionWrap = function (selection) {
+ if (selection) {
+ this.renderDateSelection(selection);
+ }
+ };
+ View.prototype.unrenderDateSelectionWrap = function (selection) {
+ if (selection) {
+ this.unrenderDateSelection(selection);
+ }
+ };
+ View.prototype.renderDateSelection = function (selection) { };
+ View.prototype.unrenderDateSelection = function (selection) { };
+ // Event Rendering
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.renderEvents = function (eventStore) { };
+ View.prototype.unrenderEvents = function () { };
+ // util for subclasses
+ View.prototype.sliceEvents = function (eventStore, allDay) {
+ var props = this.props;
+ return sliceEventStore(eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? this.context.nextDayThreshold : null).fg;
+ };
+ // Event Selection
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.renderEventSelectionWrap = function (instanceId) {
+ if (instanceId) {
+ this.renderEventSelection(instanceId);
+ }
+ };
+ View.prototype.unrenderEventSelectionWrap = function (instanceId) {
+ if (instanceId) {
+ this.unrenderEventSelection(instanceId);
+ }
+ };
+ View.prototype.renderEventSelection = function (instanceId) { };
+ View.prototype.unrenderEventSelection = function (instanceId) { };
+ // Event Drag
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.renderEventDragWrap = function (state) {
+ if (state) {
+ this.renderEventDrag(state);
+ }
+ };
+ View.prototype.unrenderEventDragWrap = function (state) {
+ if (state) {
+ this.unrenderEventDrag(state);
+ }
+ };
+ View.prototype.renderEventDrag = function (state) { };
+ View.prototype.unrenderEventDrag = function (state) { };
+ // Event Resize
+ // -----------------------------------------------------------------------------------------------------------------
+ View.prototype.renderEventResizeWrap = function (state) {
+ if (state) {
+ this.renderEventResize(state);
+ }
+ };
+ View.prototype.unrenderEventResizeWrap = function (state) {
+ if (state) {
+ this.unrenderEventResize(state);
+ }
+ };
+ View.prototype.renderEventResize = function (state) { };
+ View.prototype.unrenderEventResize = function (state) { };
+ /* Now Indicator
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Immediately render the current time indicator and begins re-rendering it at an interval,
+ // which is defined by this.getNowIndicatorUnit().
+ // TODO: somehow do this for the current whole day's background too
+ // USAGE: must be called manually from subclasses' render methods! don't need to call stopNowIndicator tho
+ View.prototype.startNowIndicator = function (dateProfile, dateProfileGenerator) {
+ var _this = this;
+ var _a = this.context, calendar = _a.calendar, dateEnv = _a.dateEnv, options = _a.options;
+ var unit;
+ var update;
+ var delay; // ms wait value
+ if (options.nowIndicator && !this.initialNowDate) {
+ unit = this.getNowIndicatorUnit(dateProfile, dateProfileGenerator);
+ if (unit) {
+ update = this.updateNowIndicator.bind(this);
+ this.initialNowDate = calendar.getNow();
+ this.initialNowQueriedMs = new Date().valueOf();
+ // wait until the beginning of the next interval
+ delay = dateEnv.add(dateEnv.startOf(this.initialNowDate, unit), createDuration(1, unit)).valueOf() - this.initialNowDate.valueOf();
+ // TODO: maybe always use setTimeout, waiting until start of next unit
+ this.nowIndicatorTimeoutID = setTimeout(function () {
+ _this.nowIndicatorTimeoutID = null;
+ update();
+ if (unit === 'second') {
+ delay = 1000; // every second
+ }
+ else {
+ delay = 1000 * 60; // otherwise, every minute
+ }
+ _this.nowIndicatorIntervalID = setInterval(update, delay); // update every interval
+ }, delay);
+ }
+ // rendering will be initiated in updateSize
+ }
+ };
+ // rerenders the now indicator, computing the new current time from the amount of time that has passed
+ // since the initial getNow call.
+ View.prototype.updateNowIndicator = function () {
+ if (this.props.dateProfile && // a way to determine if dates were rendered yet
+ this.initialNowDate // activated before?
+ ) {
+ this.unrenderNowIndicator(); // won't unrender if unnecessary
+ this.renderNowIndicator(addMs(this.initialNowDate, new Date().valueOf() - this.initialNowQueriedMs));
+ this.isNowIndicatorRendered = true;
+ }
+ };
+ // Immediately unrenders the view's current time indicator and stops any re-rendering timers.
+ // Won't cause side effects if indicator isn't rendered.
+ View.prototype.stopNowIndicator = function () {
+ if (this.nowIndicatorTimeoutID) {
+ clearTimeout(this.nowIndicatorTimeoutID);
+ this.nowIndicatorTimeoutID = null;
+ }
+ if (this.nowIndicatorIntervalID) {
+ clearInterval(this.nowIndicatorIntervalID);
+ this.nowIndicatorIntervalID = null;
+ }
+ if (this.isNowIndicatorRendered) {
+ this.unrenderNowIndicator();
+ this.isNowIndicatorRendered = false;
+ }
+ };
+ View.prototype.getNowIndicatorUnit = function (dateProfile, dateProfileGenerator) {
+ // subclasses should implement
+ };
+ // Renders a current time indicator at the given datetime
+ View.prototype.renderNowIndicator = function (date) {
+ // SUBCLASSES MUST PASS TO CHILDREN!
+ };
+ // Undoes the rendering actions from renderNowIndicator
+ View.prototype.unrenderNowIndicator = function () {
+ // SUBCLASSES MUST PASS TO CHILDREN!
+ };
+ /* Scroller
+ ------------------------------------------------------------------------------------------------------------------*/
+ View.prototype.addScroll = function (scroll, isForced) {
+ if (isForced) {
+ scroll.isForced = isForced;
+ }
+ __assign(this.queuedScroll || (this.queuedScroll = {}), scroll);
+ };
+ View.prototype.popScroll = function (isResize) {
+ this.applyQueuedScroll(isResize);
+ this.queuedScroll = null;
+ };
+ View.prototype.applyQueuedScroll = function (isResize) {
+ if (this.queuedScroll) {
+ this.applyScroll(this.queuedScroll, isResize);
+ }
+ };
+ View.prototype.queryScroll = function () {
+ var scroll = {};
+ if (this.props.dateProfile) { // dates rendered yet?
+ __assign(scroll, this.queryDateScroll());
+ }
+ return scroll;
+ };
+ View.prototype.applyScroll = function (scroll, isResize) {
+ var duration = scroll.duration, isForced = scroll.isForced;
+ if (duration != null && !isForced) {
+ delete scroll.duration;
+ if (this.props.dateProfile) { // dates rendered yet?
+ __assign(scroll, this.computeDateScroll(duration));
+ }
+ }
+ if (this.props.dateProfile) { // dates rendered yet?
+ this.applyDateScroll(scroll);
+ }
+ };
+ View.prototype.computeDateScroll = function (duration) {
+ return {}; // subclasses must implement
+ };
+ View.prototype.queryDateScroll = function () {
+ return {}; // subclasses must implement
+ };
+ View.prototype.applyDateScroll = function (scroll) {
+ // subclasses must implement
+ };
+ // for API
+ View.prototype.scrollToDuration = function (duration) {
+ this.applyScroll({ duration: duration }, false);
+ };
+ return View;
+}(DateComponent));
+EmitterMixin.mixInto(View);
+View.prototype.usesMinMaxTime = false;
+View.prototype.dateProfileGeneratorClass = DateProfileGenerator;
+
+var FgEventRenderer = /** @class */ (function () {
+ function FgEventRenderer() {
+ this.segs = [];
+ this.isSizeDirty = false;
+ }
+ FgEventRenderer.prototype.renderSegs = function (context, segs, mirrorInfo) {
+ this.context = context;
+ this.rangeUpdated(); // called too frequently :(
+ // render an `.el` on each seg
+ // returns a subset of the segs. segs that were actually rendered
+ segs = this.renderSegEls(segs, mirrorInfo);
+ this.segs = segs;
+ this.attachSegs(segs, mirrorInfo);
+ this.isSizeDirty = true;
+ triggerRenderedSegs(this.context, this.segs, Boolean(mirrorInfo));
+ };
+ FgEventRenderer.prototype.unrender = function (context, _segs, mirrorInfo) {
+ triggerWillRemoveSegs(this.context, this.segs, Boolean(mirrorInfo));
+ this.detachSegs(this.segs);
+ this.segs = [];
+ };
+ // Updates values that rely on options and also relate to range
+ FgEventRenderer.prototype.rangeUpdated = function () {
+ var options = this.context.options;
+ var displayEventTime;
+ var displayEventEnd;
+ this.eventTimeFormat = createFormatter(options.eventTimeFormat || this.computeEventTimeFormat(), options.defaultRangeSeparator);
+ displayEventTime = options.displayEventTime;
+ if (displayEventTime == null) {
+ displayEventTime = this.computeDisplayEventTime(); // might be based off of range
+ }
+ displayEventEnd = options.displayEventEnd;
+ if (displayEventEnd == null) {
+ displayEventEnd = this.computeDisplayEventEnd(); // might be based off of range
+ }
+ this.displayEventTime = displayEventTime;
+ this.displayEventEnd = displayEventEnd;
+ };
+ // Renders and assigns an `el` property for each foreground event segment.
+ // Only returns segments that successfully rendered.
+ FgEventRenderer.prototype.renderSegEls = function (segs, mirrorInfo) {
+ var html = '';
+ var i;
+ if (segs.length) { // don't build an empty html string
+ // build a large concatenation of event segment HTML
+ for (i = 0; i < segs.length; i++) {
+ html += this.renderSegHtml(segs[i], mirrorInfo);
+ }
+ // Grab individual elements from the combined HTML string. Use each as the default rendering.
+ // Then, compute the 'el' for each segment. An el might be null if the eventRender callback returned false.
+ htmlToElements(html).forEach(function (el, i) {
+ var seg = segs[i];
+ if (el) {
+ seg.el = el;
+ }
+ });
+ segs = filterSegsViaEls(this.context, segs, Boolean(mirrorInfo));
+ }
+ return segs;
+ };
+ // Generic utility for generating the HTML classNames for an event segment's element
+ FgEventRenderer.prototype.getSegClasses = function (seg, isDraggable, isResizable, mirrorInfo) {
+ var classes = [
+ 'fc-event',
+ seg.isStart ? 'fc-start' : 'fc-not-start',
+ seg.isEnd ? 'fc-end' : 'fc-not-end'
+ ].concat(seg.eventRange.ui.classNames);
+ if (isDraggable) {
+ classes.push('fc-draggable');
+ }
+ if (isResizable) {
+ classes.push('fc-resizable');
+ }
+ if (mirrorInfo) {
+ classes.push('fc-mirror');
+ if (mirrorInfo.isDragging) {
+ classes.push('fc-dragging');
+ }
+ if (mirrorInfo.isResizing) {
+ classes.push('fc-resizing');
+ }
+ }
+ return classes;
+ };
+ // Compute the text that should be displayed on an event's element.
+ // `range` can be the Event object itself, or something range-like, with at least a `start`.
+ // If event times are disabled, or the event has no time, will return a blank string.
+ // If not specified, formatter will default to the eventTimeFormat setting,
+ // and displayEnd will default to the displayEventEnd setting.
+ FgEventRenderer.prototype.getTimeText = function (eventRange, formatter, displayEnd) {
+ var def = eventRange.def, instance = eventRange.instance;
+ return this._getTimeText(instance.range.start, def.hasEnd ? instance.range.end : null, def.allDay, formatter, displayEnd, instance.forcedStartTzo, instance.forcedEndTzo);
+ };
+ FgEventRenderer.prototype._getTimeText = function (start, end, allDay, formatter, displayEnd, forcedStartTzo, forcedEndTzo) {
+ var dateEnv = this.context.dateEnv;
+ if (formatter == null) {
+ formatter = this.eventTimeFormat;
+ }
+ if (displayEnd == null) {
+ displayEnd = this.displayEventEnd;
+ }
+ if (this.displayEventTime && !allDay) {
+ if (displayEnd && end) {
+ return dateEnv.formatRange(start, end, formatter, {
+ forcedStartTzo: forcedStartTzo,
+ forcedEndTzo: forcedEndTzo
+ });
+ }
+ else {
+ return dateEnv.format(start, formatter, {
+ forcedTzo: forcedStartTzo
+ });
+ }
+ }
+ return '';
+ };
+ FgEventRenderer.prototype.computeEventTimeFormat = function () {
+ return {
+ hour: 'numeric',
+ minute: '2-digit',
+ omitZeroMinute: true
+ };
+ };
+ FgEventRenderer.prototype.computeDisplayEventTime = function () {
+ return true;
+ };
+ FgEventRenderer.prototype.computeDisplayEventEnd = function () {
+ return true;
+ };
+ // Utility for generating event skin-related CSS properties
+ FgEventRenderer.prototype.getSkinCss = function (ui) {
+ return {
+ 'background-color': ui.backgroundColor,
+ 'border-color': ui.borderColor,
+ color: ui.textColor
+ };
+ };
+ FgEventRenderer.prototype.sortEventSegs = function (segs) {
+ var specs = this.context.eventOrderSpecs;
+ var objs = segs.map(buildSegCompareObj);
+ objs.sort(function (obj0, obj1) {
+ return compareByFieldSpecs(obj0, obj1, specs);
+ });
+ return objs.map(function (c) {
+ return c._seg;
+ });
+ };
+ FgEventRenderer.prototype.computeSizes = function (force) {
+ if (force || this.isSizeDirty) {
+ this.computeSegSizes(this.segs);
+ }
+ };
+ FgEventRenderer.prototype.assignSizes = function (force) {
+ if (force || this.isSizeDirty) {
+ this.assignSegSizes(this.segs);
+ this.isSizeDirty = false;
+ }
+ };
+ FgEventRenderer.prototype.computeSegSizes = function (segs) {
+ };
+ FgEventRenderer.prototype.assignSegSizes = function (segs) {
+ };
+ // Manipulation on rendered segs
+ FgEventRenderer.prototype.hideByHash = function (hash) {
+ if (hash) {
+ for (var _i = 0, _a = this.segs; _i < _a.length; _i++) {
+ var seg = _a[_i];
+ if (hash[seg.eventRange.instance.instanceId]) {
+ seg.el.style.visibility = 'hidden';
+ }
+ }
+ }
+ };
+ FgEventRenderer.prototype.showByHash = function (hash) {
+ if (hash) {
+ for (var _i = 0, _a = this.segs; _i < _a.length; _i++) {
+ var seg = _a[_i];
+ if (hash[seg.eventRange.instance.instanceId]) {
+ seg.el.style.visibility = '';
+ }
+ }
+ }
+ };
+ FgEventRenderer.prototype.selectByInstanceId = function (instanceId) {
+ if (instanceId) {
+ for (var _i = 0, _a = this.segs; _i < _a.length; _i++) {
+ var seg = _a[_i];
+ var eventInstance = seg.eventRange.instance;
+ if (eventInstance && eventInstance.instanceId === instanceId &&
+ seg.el // necessary?
+ ) {
+ seg.el.classList.add('fc-selected');
+ }
+ }
+ }
+ };
+ FgEventRenderer.prototype.unselectByInstanceId = function (instanceId) {
+ if (instanceId) {
+ for (var _i = 0, _a = this.segs; _i < _a.length; _i++) {
+ var seg = _a[_i];
+ if (seg.el) { // necessary?
+ seg.el.classList.remove('fc-selected');
+ }
+ }
+ }
+ };
+ return FgEventRenderer;
+}());
+// returns a object with all primitive props that can be compared
+function buildSegCompareObj(seg) {
+ var eventDef = seg.eventRange.def;
+ var range = seg.eventRange.instance.range;
+ var start = range.start ? range.start.valueOf() : 0; // TODO: better support for open-range events
+ var end = range.end ? range.end.valueOf() : 0; // "
+ return __assign({}, eventDef.extendedProps, eventDef, { id: eventDef.publicId, start: start,
+ end: end, duration: end - start, allDay: Number(eventDef.allDay), _seg: seg // for later retrieval
+ });
+}
+
+/*
+TODO: when refactoring this class, make a new FillRenderer instance for each `type`
+*/
+var FillRenderer = /** @class */ (function () {
+ function FillRenderer() {
+ this.fillSegTag = 'div';
+ this.dirtySizeFlags = {};
+ this.containerElsByType = {};
+ this.segsByType = {};
+ }
+ FillRenderer.prototype.getSegsByType = function (type) {
+ return this.segsByType[type] || [];
+ };
+ FillRenderer.prototype.renderSegs = function (type, context, segs) {
+ var _a;
+ this.context = context;
+ var renderedSegs = this.renderSegEls(type, segs); // assignes `.el` to each seg. returns successfully rendered segs
+ var containerEls = this.attachSegs(type, renderedSegs);
+ if (containerEls) {
+ (_a = (this.containerElsByType[type] || (this.containerElsByType[type] = []))).push.apply(_a, containerEls);
+ }
+ this.segsByType[type] = renderedSegs;
+ if (type === 'bgEvent') {
+ triggerRenderedSegs(context, renderedSegs, false); // isMirror=false
+ }
+ this.dirtySizeFlags[type] = true;
+ };
+ // Unrenders a specific type of fill that is currently rendered on the grid
+ FillRenderer.prototype.unrender = function (type, context) {
+ var segs = this.segsByType[type];
+ if (segs) {
+ if (type === 'bgEvent') {
+ triggerWillRemoveSegs(context, segs, false); // isMirror=false
+ }
+ this.detachSegs(type, segs);
+ }
+ };
+ // Renders and assigns an `el` property for each fill segment. Generic enough to work with different types.
+ // Only returns segments that successfully rendered.
+ FillRenderer.prototype.renderSegEls = function (type, segs) {
+ var _this = this;
+ var html = '';
+ var i;
+ if (segs.length) {
+ // build a large concatenation of segment HTML
+ for (i = 0; i < segs.length; i++) {
+ html += this.renderSegHtml(type, segs[i]);
+ }
+ // Grab individual elements from the combined HTML string. Use each as the default rendering.
+ // Then, compute the 'el' for each segment.
+ htmlToElements(html).forEach(function (el, i) {
+ var seg = segs[i];
+ if (el) {
+ seg.el = el;
+ }
+ });
+ if (type === 'bgEvent') {
+ segs = filterSegsViaEls(this.context, segs, false // isMirror. background events can never be mirror elements
+ );
+ }
+ // correct element type? (would be bad if a non-TD were inserted into a table for example)
+ segs = segs.filter(function (seg) {
+ return elementMatches(seg.el, _this.fillSegTag);
+ });
+ }
+ return segs;
+ };
+ // Builds the HTML needed for one fill segment. Generic enough to work with different types.
+ FillRenderer.prototype.renderSegHtml = function (type, seg) {
+ var css = null;
+ var classNames = [];
+ if (type !== 'highlight' && type !== 'businessHours') {
+ css = {
+ 'background-color': seg.eventRange.ui.backgroundColor
+ };
+ }
+ if (type !== 'highlight') {
+ classNames = classNames.concat(seg.eventRange.ui.classNames);
+ }
+ if (type === 'businessHours') {
+ classNames.push('fc-bgevent');
+ }
+ else {
+ classNames.push('fc-' + type.toLowerCase());
+ }
+ return '<' + this.fillSegTag +
+ (classNames.length ? ' class="' + classNames.join(' ') + '"' : '') +
+ (css ? ' style="' + cssToStr(css) + '"' : '') +
+ '></' + this.fillSegTag + '>';
+ };
+ FillRenderer.prototype.detachSegs = function (type, segs) {
+ var containerEls = this.containerElsByType[type];
+ if (containerEls) {
+ containerEls.forEach(removeElement);
+ delete this.containerElsByType[type];
+ }
+ };
+ FillRenderer.prototype.computeSizes = function (force) {
+ for (var type in this.segsByType) {
+ if (force || this.dirtySizeFlags[type]) {
+ this.computeSegSizes(this.segsByType[type]);
+ }
+ }
+ };
+ FillRenderer.prototype.assignSizes = function (force) {
+ for (var type in this.segsByType) {
+ if (force || this.dirtySizeFlags[type]) {
+ this.assignSegSizes(this.segsByType[type]);
+ }
+ }
+ this.dirtySizeFlags = {};
+ };
+ FillRenderer.prototype.computeSegSizes = function (segs) {
+ };
+ FillRenderer.prototype.assignSegSizes = function (segs) {
+ };
+ return FillRenderer;
+}());
+
+var NamedTimeZoneImpl = /** @class */ (function () {
+ function NamedTimeZoneImpl(timeZoneName) {
+ this.timeZoneName = timeZoneName;
+ }
+ return NamedTimeZoneImpl;
+}());
+
+/*
+An abstraction for a dragging interaction originating on an event.
+Does higher-level things than PointerDragger, such as possibly:
+- a "mirror" that moves with the pointer
+- a minimum number of pixels or other criteria for a true drag to begin
+
+subclasses must emit:
+- pointerdown
+- dragstart
+- dragmove
+- pointerup
+- dragend
+*/
+var ElementDragging = /** @class */ (function () {
+ function ElementDragging(el) {
+ this.emitter = new EmitterMixin();
+ }
+ ElementDragging.prototype.destroy = function () {
+ };
+ ElementDragging.prototype.setMirrorIsVisible = function (bool) {
+ // optional if subclass doesn't want to support a mirror
+ };
+ ElementDragging.prototype.setMirrorNeedsRevert = function (bool) {
+ // optional if subclass doesn't want to support a mirror
+ };
+ ElementDragging.prototype.setAutoScrollEnabled = function (bool) {
+ // optional
+ };
+ return ElementDragging;
+}());
+
+function formatDate(dateInput, settings) {
+ if (settings === void 0) { settings = {}; }
+ var dateEnv = buildDateEnv$1(settings);
+ var formatter = createFormatter(settings);
+ var dateMeta = dateEnv.createMarkerMeta(dateInput);
+ if (!dateMeta) { // TODO: warning?
+ return '';
+ }
+ return dateEnv.format(dateMeta.marker, formatter, {
+ forcedTzo: dateMeta.forcedTzo
+ });
+}
+function formatRange(startInput, endInput, settings // mixture of env and formatter settings
+) {
+ var dateEnv = buildDateEnv$1(typeof settings === 'object' && settings ? settings : {}); // pass in if non-null object
+ var formatter = createFormatter(settings, globalDefaults.defaultRangeSeparator);
+ var startMeta = dateEnv.createMarkerMeta(startInput);
+ var endMeta = dateEnv.createMarkerMeta(endInput);
+ if (!startMeta || !endMeta) { // TODO: warning?
+ return '';
+ }
+ return dateEnv.formatRange(startMeta.marker, endMeta.marker, formatter, {
+ forcedStartTzo: startMeta.forcedTzo,
+ forcedEndTzo: endMeta.forcedTzo,
+ isEndExclusive: settings.isEndExclusive
+ });
+}
+// TODO: more DRY and optimized
+function buildDateEnv$1(settings) {
+ var locale = buildLocale(settings.locale || 'en', parseRawLocales([]).map); // TODO: don't hardcode 'en' everywhere
+ // ensure required settings
+ settings = __assign({ timeZone: globalDefaults.timeZone, calendarSystem: 'gregory' }, settings, { locale: locale });
+ return new DateEnv(settings);
+}
+
+var DRAG_META_PROPS = {
+ startTime: createDuration,
+ duration: createDuration,
+ create: Boolean,
+ sourceId: String
+};
+var DRAG_META_DEFAULTS = {
+ create: true
+};
+function parseDragMeta(raw) {
+ var leftoverProps = {};
+ var refined = refineProps(raw, DRAG_META_PROPS, DRAG_META_DEFAULTS, leftoverProps);
+ refined.leftoverProps = leftoverProps;
+ return refined;
+}
+
+// Computes a default column header formatting string if `colFormat` is not explicitly defined
+function computeFallbackHeaderFormat(datesRepDistinctDays, dayCnt) {
+ // if more than one week row, or if there are a lot of columns with not much space,
+ // put just the day numbers will be in each cell
+ if (!datesRepDistinctDays || dayCnt > 10) {
+ return { weekday: 'short' }; // "Sat"
+ }
+ else if (dayCnt > 1) {
+ return { weekday: 'short', month: 'numeric', day: 'numeric', omitCommas: true }; // "Sat 11/12"
+ }
+ else {
+ return { weekday: 'long' }; // "Saturday"
+ }
+}
+function renderDateCell(dateMarker, dateProfile, datesRepDistinctDays, colCnt, colHeadFormat, context, colspan, otherAttrs) {
+ var dateEnv = context.dateEnv, theme = context.theme, options = context.options;
+ var isDateValid = rangeContainsMarker(dateProfile.activeRange, dateMarker); // TODO: called too frequently. cache somehow.
+ var classNames = [
+ 'fc-day-header',
+ theme.getClass('widgetHeader')
+ ];
+ var innerHtml;
+ if (typeof options.columnHeaderHtml === 'function') {
+ innerHtml = options.columnHeaderHtml(dateEnv.toDate(dateMarker));
+ }
+ else if (typeof options.columnHeaderText === 'function') {
+ innerHtml = htmlEscape(options.columnHeaderText(dateEnv.toDate(dateMarker)));
+ }
+ else {
+ innerHtml = htmlEscape(dateEnv.format(dateMarker, colHeadFormat));
+ }
+ // if only one row of days, the classNames on the header can represent the specific days beneath
+ if (datesRepDistinctDays) {
+ classNames = classNames.concat(
+ // includes the day-of-week class
+ // noThemeHighlight=true (don't highlight the header)
+ getDayClasses(dateMarker, dateProfile, context, true));
+ }
+ else {
+ classNames.push('fc-' + DAY_IDS[dateMarker.getUTCDay()]); // only add the day-of-week class
+ }
+ return '' +
+ '<th class="' + classNames.join(' ') + '"' +
+ ((isDateValid && datesRepDistinctDays) ?
+ ' data-date="' + dateEnv.formatIso(dateMarker, { omitTime: true }) + '"' :
+ '') +
+ (colspan > 1 ?
+ ' colspan="' + colspan + '"' :
+ '') +
+ (otherAttrs ?
+ ' ' + otherAttrs :
+ '') +
+ '>' +
+ (isDateValid ?
+ // don't make a link if the heading could represent multiple days, or if there's only one day (forceOff)
+ buildGotoAnchorHtml(options, dateEnv, { date: dateMarker, forceOff: !datesRepDistinctDays || colCnt === 1 }, innerHtml) :
+ // if not valid, display text, but no link
+ innerHtml) +
+ '</th>';
+}
+
+var DayHeader = /** @class */ (function (_super) {
+ __extends(DayHeader, _super);
+ function DayHeader(parentEl) {
+ var _this = _super.call(this) || this;
+ _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
+ _this.parentEl = parentEl;
+ return _this;
+ }
+ DayHeader.prototype.render = function (props, context) {
+ var dates = props.dates, datesRepDistinctDays = props.datesRepDistinctDays;
+ var parts = [];
+ this.renderSkeleton(context);
+ if (props.renderIntroHtml) {
+ parts.push(props.renderIntroHtml());
+ }
+ var colHeadFormat = createFormatter(context.options.columnHeaderFormat ||
+ computeFallbackHeaderFormat(datesRepDistinctDays, dates.length));
+ for (var _i = 0, dates_1 = dates; _i < dates_1.length; _i++) {
+ var date = dates_1[_i];
+ parts.push(renderDateCell(date, props.dateProfile, datesRepDistinctDays, dates.length, colHeadFormat, context));
+ }
+ if (context.isRtl) {
+ parts.reverse();
+ }
+ this.thead.innerHTML = '<tr>' + parts.join('') + '</tr>';
+ };
+ DayHeader.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderSkeleton.unrender();
+ };
+ DayHeader.prototype._renderSkeleton = function (context) {
+ var theme = context.theme;
+ var parentEl = this.parentEl;
+ parentEl.innerHTML = ''; // because might be nbsp
+ parentEl.appendChild(this.el = htmlToElement('<div class="fc-row ' + theme.getClass('headerRow') + '">' +
+ '<table class="' + theme.getClass('tableGrid') + '">' +
+ '<thead></thead>' +
+ '</table>' +
+ '</div>'));
+ this.thead = this.el.querySelector('thead');
+ };
+ DayHeader.prototype._unrenderSkeleton = function () {
+ removeElement(this.el);
+ };
+ return DayHeader;
+}(Component));
+
+var DaySeries = /** @class */ (function () {
+ function DaySeries(range, dateProfileGenerator) {
+ var date = range.start;
+ var end = range.end;
+ var indices = [];
+ var dates = [];
+ var dayIndex = -1;
+ while (date < end) { // loop each day from start to end
+ if (dateProfileGenerator.isHiddenDay(date)) {
+ indices.push(dayIndex + 0.5); // mark that it's between indices
+ }
+ else {
+ dayIndex++;
+ indices.push(dayIndex);
+ dates.push(date);
+ }
+ date = addDays(date, 1);
+ }
+ this.dates = dates;
+ this.indices = indices;
+ this.cnt = dates.length;
+ }
+ DaySeries.prototype.sliceRange = function (range) {
+ var firstIndex = this.getDateDayIndex(range.start); // inclusive first index
+ var lastIndex = this.getDateDayIndex(addDays(range.end, -1)); // inclusive last index
+ var clippedFirstIndex = Math.max(0, firstIndex);
+ var clippedLastIndex = Math.min(this.cnt - 1, lastIndex);
+ // deal with in-between indices
+ clippedFirstIndex = Math.ceil(clippedFirstIndex); // in-between starts round to next cell
+ clippedLastIndex = Math.floor(clippedLastIndex); // in-between ends round to prev cell
+ if (clippedFirstIndex <= clippedLastIndex) {
+ return {
+ firstIndex: clippedFirstIndex,
+ lastIndex: clippedLastIndex,
+ isStart: firstIndex === clippedFirstIndex,
+ isEnd: lastIndex === clippedLastIndex
+ };
+ }
+ else {
+ return null;
+ }
+ };
+ // Given a date, returns its chronolocial cell-index from the first cell of the grid.
+ // If the date lies between cells (because of hiddenDays), returns a floating-point value between offsets.
+ // If before the first offset, returns a negative number.
+ // If after the last offset, returns an offset past the last cell offset.
+ // Only works for *start* dates of cells. Will not work for exclusive end dates for cells.
+ DaySeries.prototype.getDateDayIndex = function (date) {
+ var indices = this.indices;
+ var dayOffset = Math.floor(diffDays(this.dates[0], date));
+ if (dayOffset < 0) {
+ return indices[0] - 1;
+ }
+ else if (dayOffset >= indices.length) {
+ return indices[indices.length - 1] + 1;
+ }
+ else {
+ return indices[dayOffset];
+ }
+ };
+ return DaySeries;
+}());
+
+var DayTable = /** @class */ (function () {
+ function DayTable(daySeries, breakOnWeeks) {
+ var dates = daySeries.dates;
+ var daysPerRow;
+ var firstDay;
+ var rowCnt;
+ if (breakOnWeeks) {
+ // count columns until the day-of-week repeats
+ firstDay = dates[0].getUTCDay();
+ for (daysPerRow = 1; daysPerRow < dates.length; daysPerRow++) {
+ if (dates[daysPerRow].getUTCDay() === firstDay) {
+ break;
+ }
+ }
+ rowCnt = Math.ceil(dates.length / daysPerRow);
+ }
+ else {
+ rowCnt = 1;
+ daysPerRow = dates.length;
+ }
+ this.rowCnt = rowCnt;
+ this.colCnt = daysPerRow;
+ this.daySeries = daySeries;
+ this.cells = this.buildCells();
+ this.headerDates = this.buildHeaderDates();
+ }
+ DayTable.prototype.buildCells = function () {
+ var rows = [];
+ for (var row = 0; row < this.rowCnt; row++) {
+ var cells = [];
+ for (var col = 0; col < this.colCnt; col++) {
+ cells.push(this.buildCell(row, col));
+ }
+ rows.push(cells);
+ }
+ return rows;
+ };
+ DayTable.prototype.buildCell = function (row, col) {
+ return {
+ date: this.daySeries.dates[row * this.colCnt + col]
+ };
+ };
+ DayTable.prototype.buildHeaderDates = function () {
+ var dates = [];
+ for (var col = 0; col < this.colCnt; col++) {
+ dates.push(this.cells[0][col].date);
+ }
+ return dates;
+ };
+ DayTable.prototype.sliceRange = function (range) {
+ var colCnt = this.colCnt;
+ var seriesSeg = this.daySeries.sliceRange(range);
+ var segs = [];
+ if (seriesSeg) {
+ var firstIndex = seriesSeg.firstIndex, lastIndex = seriesSeg.lastIndex;
+ var index = firstIndex;
+ while (index <= lastIndex) {
+ var row = Math.floor(index / colCnt);
+ var nextIndex = Math.min((row + 1) * colCnt, lastIndex + 1);
+ segs.push({
+ row: row,
+ firstCol: index % colCnt,
+ lastCol: (nextIndex - 1) % colCnt,
+ isStart: seriesSeg.isStart && index === firstIndex,
+ isEnd: seriesSeg.isEnd && (nextIndex - 1) === lastIndex
+ });
+ index = nextIndex;
+ }
+ }
+ return segs;
+ };
+ return DayTable;
+}());
+
+var Slicer = /** @class */ (function () {
+ function Slicer() {
+ this.sliceBusinessHours = memoize(this._sliceBusinessHours);
+ this.sliceDateSelection = memoize(this._sliceDateSpan);
+ this.sliceEventStore = memoize(this._sliceEventStore);
+ this.sliceEventDrag = memoize(this._sliceInteraction);
+ this.sliceEventResize = memoize(this._sliceInteraction);
+ }
+ Slicer.prototype.sliceProps = function (props, dateProfile, nextDayThreshold, calendar, component) {
+ var extraArgs = [];
+ for (var _i = 5; _i < arguments.length; _i++) {
+ extraArgs[_i - 5] = arguments[_i];
+ }
+ var eventUiBases = props.eventUiBases;
+ var eventSegs = this.sliceEventStore.apply(this, [props.eventStore, eventUiBases, dateProfile, nextDayThreshold, component].concat(extraArgs));
+ return {
+ dateSelectionSegs: this.sliceDateSelection.apply(this, [props.dateSelection, eventUiBases, component].concat(extraArgs)),
+ businessHourSegs: this.sliceBusinessHours.apply(this, [props.businessHours, dateProfile, nextDayThreshold, calendar, component].concat(extraArgs)),
+ fgEventSegs: eventSegs.fg,
+ bgEventSegs: eventSegs.bg,
+ eventDrag: this.sliceEventDrag.apply(this, [props.eventDrag, eventUiBases, dateProfile, nextDayThreshold, component].concat(extraArgs)),
+ eventResize: this.sliceEventResize.apply(this, [props.eventResize, eventUiBases, dateProfile, nextDayThreshold, component].concat(extraArgs)),
+ eventSelection: props.eventSelection
+ }; // TODO: give interactionSegs?
+ };
+ Slicer.prototype.sliceNowDate = function (// does not memoize
+ date, component) {
+ var extraArgs = [];
+ for (var _i = 2; _i < arguments.length; _i++) {
+ extraArgs[_i - 2] = arguments[_i];
+ }
+ return this._sliceDateSpan.apply(this, [{ range: { start: date, end: addMs(date, 1) }, allDay: false },
+ {},
+ component].concat(extraArgs));
+ };
+ Slicer.prototype._sliceBusinessHours = function (businessHours, dateProfile, nextDayThreshold, calendar, component) {
+ var extraArgs = [];
+ for (var _i = 5; _i < arguments.length; _i++) {
+ extraArgs[_i - 5] = arguments[_i];
+ }
+ if (!businessHours) {
+ return [];
+ }
+ return this._sliceEventStore.apply(this, [expandRecurring(businessHours, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), calendar),
+ {},
+ dateProfile,
+ nextDayThreshold,
+ component].concat(extraArgs)).bg;
+ };
+ Slicer.prototype._sliceEventStore = function (eventStore, eventUiBases, dateProfile, nextDayThreshold, component) {
+ var extraArgs = [];
+ for (var _i = 5; _i < arguments.length; _i++) {
+ extraArgs[_i - 5] = arguments[_i];
+ }
+ if (eventStore) {
+ var rangeRes = sliceEventStore(eventStore, eventUiBases, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), nextDayThreshold);
+ return {
+ bg: this.sliceEventRanges(rangeRes.bg, component, extraArgs),
+ fg: this.sliceEventRanges(rangeRes.fg, component, extraArgs)
+ };
+ }
+ else {
+ return { bg: [], fg: [] };
+ }
+ };
+ Slicer.prototype._sliceInteraction = function (interaction, eventUiBases, dateProfile, nextDayThreshold, component) {
+ var extraArgs = [];
+ for (var _i = 5; _i < arguments.length; _i++) {
+ extraArgs[_i - 5] = arguments[_i];
+ }
+ if (!interaction) {
+ return null;
+ }
+ var rangeRes = sliceEventStore(interaction.mutatedEvents, eventUiBases, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), nextDayThreshold);
+ return {
+ segs: this.sliceEventRanges(rangeRes.fg, component, extraArgs),
+ affectedInstances: interaction.affectedEvents.instances,
+ isEvent: interaction.isEvent,
+ sourceSeg: interaction.origSeg
+ };
+ };
+ Slicer.prototype._sliceDateSpan = function (dateSpan, eventUiBases, component) {
+ var extraArgs = [];
+ for (var _i = 3; _i < arguments.length; _i++) {
+ extraArgs[_i - 3] = arguments[_i];
+ }
+ if (!dateSpan) {
+ return [];
+ }
+ var eventRange = fabricateEventRange(dateSpan, eventUiBases, component.context.calendar);
+ var segs = this.sliceRange.apply(this, [dateSpan.range].concat(extraArgs));
+ for (var _a = 0, segs_1 = segs; _a < segs_1.length; _a++) {
+ var seg = segs_1[_a];
+ seg.component = component;
+ seg.eventRange = eventRange;
+ }
+ return segs;
+ };
+ /*
+ "complete" seg means it has component and eventRange
+ */
+ Slicer.prototype.sliceEventRanges = function (eventRanges, component, // TODO: kill
+ extraArgs) {
+ var segs = [];
+ for (var _i = 0, eventRanges_1 = eventRanges; _i < eventRanges_1.length; _i++) {
+ var eventRange = eventRanges_1[_i];
+ segs.push.apply(segs, this.sliceEventRange(eventRange, component, extraArgs));
+ }
+ return segs;
+ };
+ /*
+ "complete" seg means it has component and eventRange
+ */
+ Slicer.prototype.sliceEventRange = function (eventRange, component, // TODO: kill
+ extraArgs) {
+ var segs = this.sliceRange.apply(this, [eventRange.range].concat(extraArgs));
+ for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {
+ var seg = segs_2[_i];
+ seg.component = component;
+ seg.eventRange = eventRange;
+ seg.isStart = eventRange.isStart && seg.isStart;
+ seg.isEnd = eventRange.isEnd && seg.isEnd;
+ }
+ return segs;
+ };
+ return Slicer;
+}());
+/*
+for incorporating minTime/maxTime if appropriate
+TODO: should be part of DateProfile!
+TimelineDateProfile already does this btw
+*/
+function computeActiveRange(dateProfile, isComponentAllDay) {
+ var range = dateProfile.activeRange;
+ if (isComponentAllDay) {
+ return range;
+ }
+ return {
+ start: addMs(range.start, dateProfile.minTime.milliseconds),
+ end: addMs(range.end, dateProfile.maxTime.milliseconds - 864e5) // 864e5 = ms in a day
+ };
+}
+
+// exports
+// --------------------------------------------------------------------------------------------------
+var version = '4.4.2';
+
+export { Calendar, Component, ComponentContext, DateComponent, DateEnv, DateProfileGenerator, DayHeader, DaySeries, DayTable, ElementDragging, ElementScrollController, EmitterMixin, EventApi, FgEventRenderer, FillRenderer, Interaction, Mixin, NamedTimeZoneImpl, PositionCache, ScrollComponent, ScrollController, Slicer, Splitter, Theme, View, WindowScrollController, addDays, addDurations, addMs, addWeeks, allowContextMenu, allowSelection, appendToElement, applyAll, applyMutationToEventStore, applyStyle, applyStyleProp, asRoughMinutes, asRoughMs, asRoughSeconds, buildGotoAnchorHtml, buildSegCompareObj, capitaliseFirstLetter, combineEventUis, compareByFieldSpec, compareByFieldSpecs, compareNumbers, compensateScroll, computeClippingRect, computeEdges, computeEventDraggable, computeEventEndResizable, computeEventStartResizable, computeFallbackHeaderFormat, computeHeightAndMargins, computeInnerRect, computeRect, computeVisibleDayRange, config, constrainPoint, createDuration, createElement, createEmptyEventStore, createEventInstance, createFormatter, createPlugin, cssToStr, debounce, diffDates, diffDayAndTime, diffDays, diffPoints, diffWeeks, diffWholeDays, diffWholeWeeks, disableCursor, distributeHeight, elementClosest, elementMatches, enableCursor, eventTupleToStore, filterEventStoreDefs, filterHash, findChildren, findElements, flexibleCompare, forceClassName, formatDate, formatIsoTimeString, formatRange, getAllDayHtml, getClippingParents, getDayClasses, getElSeg, getRectCenter, getRelevantEvents, globalDefaults, greatestDurationDenominator, hasBgRendering, htmlEscape, htmlToElement, insertAfterElement, interactionSettingsStore, interactionSettingsToStore, intersectRanges, intersectRects, isArraysEqual, isDateSpansEqual, isInt, isInteractionValid, isMultiDayRange, isPropsEqual, isPropsValid, isSingleDay, isValidDate, listenBySelector, mapHash, matchCellWidths, memoize, memoizeOutput, memoizeRendering, mergeEventStores, multiplyDuration, padStart, parseBusinessHours, parseDragMeta, parseEventDef, parseFieldSpecs, parse as parseMarker, pointInsideRect, prependToElement, preventContextMenu, preventDefault, preventSelection, processScopedUiProps, rangeContainsMarker, rangeContainsRange, rangesEqual, rangesIntersect, refineProps, removeElement, removeExact, renderDateCell, requestJson, sliceEventStore, startOfDay, subtractInnerElHeight, translateRect, uncompensateScroll, undistributeHeight, unpromisify, version, whenTransitionDone, wholeDivideDurations };
diff --git a/library/fullcalendar/packages/core/main.js b/library/fullcalendar/packages/core/main.js
index 8225f1a9e..2cb657a60 100644
--- a/library/fullcalendar/packages/core/main.js
+++ b/library/fullcalendar/packages/core/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar Core Package v4.0.2
+FullCalendar Core Package v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -276,6 +277,7 @@ Docs & License: https://fullcalendar.io/
var borderRight = parseInt(computedStyle.borderRightWidth, 10) || 0;
var borderTop = parseInt(computedStyle.borderTopWidth, 10) || 0;
var borderBottom = parseInt(computedStyle.borderBottomWidth, 10) || 0;
+ // must use offset(Width|Height) because compatible with client(Width|Height)
var scrollbarLeftRight = sanitizeScrollbarWidth(el.offsetWidth - el.clientWidth - borderLeft - borderRight);
var scrollbarBottom = sanitizeScrollbarWidth(el.offsetHeight - el.clientHeight - borderTop - borderBottom);
var res = {
@@ -337,9 +339,11 @@ Docs & License: https://fullcalendar.io/
};
}
function computeHeightAndMargins(el) {
+ return el.getBoundingClientRect().height + computeVMargins(el);
+ }
+ function computeVMargins(el) {
var computed = window.getComputedStyle(el);
- return el.getBoundingClientRect().height +
- parseInt(computed.marginTop, 10) +
+ return parseInt(computed.marginTop, 10) +
parseInt(computed.marginBottom, 10);
}
// does not return window
@@ -800,11 +804,12 @@ Docs & License: https://fullcalendar.io/
// important to query for heights in a single first pass (to avoid reflow oscillation).
els.forEach(function (el, i) {
var minOffset = i === els.length - 1 ? minOffset2 : minOffset1;
- var naturalOffset = computeHeightAndMargins(el);
+ var naturalHeight = el.getBoundingClientRect().height;
+ var naturalOffset = naturalHeight + computeVMargins(el);
if (naturalOffset < minOffset) {
flexEls.push(el);
flexOffsets.push(naturalOffset);
- flexHeights.push(el.offsetHeight);
+ flexHeights.push(naturalHeight);
}
else {
// this element stretches past recommended height (non-expandable). mark the space as occupied.
@@ -842,7 +847,7 @@ Docs & License: https://fullcalendar.io/
els.forEach(function (el) {
var innerEl = el.firstChild; // hopefully an element
if (innerEl instanceof HTMLElement) {
- var innerWidth_1 = innerEl.offsetWidth;
+ var innerWidth_1 = innerEl.getBoundingClientRect().width;
if (innerWidth_1 > maxInnerWidth) {
maxInnerWidth = innerWidth_1;
}
@@ -864,7 +869,9 @@ Docs & License: https://fullcalendar.io/
};
applyStyle(outerEl, reflowStyleProps);
applyStyle(innerEl, reflowStyleProps);
- var diff = outerEl.offsetHeight - innerEl.offsetHeight; // grab the dimensions
+ var diff = // grab the dimensions
+ outerEl.getBoundingClientRect().height -
+ innerEl.getBoundingClientRect().height;
// undo hack
var resetStyleProps = { position: '', left: '' };
applyStyle(outerEl, resetStyleProps);
@@ -1071,16 +1078,6 @@ Docs & License: https://fullcalendar.io/
}
return refined;
}
- /*
- Get a snapshot of an object, so we can compare it to later revisions.
- Intentionally only works with arrays, jaja
- */
- function freezeRaw(raw) {
- if (Array.isArray(raw)) {
- return Array.prototype.slice.call(raw);
- }
- return raw;
- }
/* Date stuff that doesn't belong in datelib core
----------------------------------------------------------------------------------------------------------------------*/
// given a timed range, computes an all-day range that has the same exact duration,
@@ -1134,18 +1131,18 @@ Docs & License: https://fullcalendar.io/
}
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
@@ -1203,9 +1200,12 @@ Docs & License: https://fullcalendar.io/
/*
Event MUST have a recurringDef
*/
- function expandRecurringRanges(eventDef, framingRange, dateEnv, recurringTypes) {
+ function expandRecurringRanges(eventDef, duration, framingRange, dateEnv, recurringTypes) {
var typeDef = recurringTypes[eventDef.recurringDef.typeId];
- var markers = typeDef.expand(eventDef.recurringDef.typeData, framingRange, dateEnv);
+ var markers = typeDef.expand(eventDef.recurringDef.typeData, {
+ start: dateEnv.subtract(framingRange.start, duration),
+ end: framingRange.end
+ }, dateEnv);
// the recurrence plugins don't guarantee that all-day events are start-of-day, so we have to
if (eventDef.allDay) {
markers = markers.map(startOfDay);
@@ -1213,6 +1213,7 @@ Docs & License: https://fullcalendar.io/
return markers;
}
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
// Merges an array of objects into a single object.
// The second argument allows for an array of property names who's object values will be merged together.
function mergeProps(propObjs, complexProps) {
@@ -1286,6 +1287,23 @@ Docs & License: https://fullcalendar.io/
}
return a;
}
+ function isPropsEqual(obj0, obj1) {
+ for (var key in obj0) {
+ if (hasOwnProperty.call(obj0, key)) {
+ if (!(key in obj1)) {
+ return false;
+ }
+ }
+ }
+ for (var key in obj1) {
+ if (hasOwnProperty.call(obj1, key)) {
+ if (obj0[key] !== obj1[key]) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
function parseEvents(rawEvents, sourceId, calendar, allowOpenRange) {
var eventStore = createEmptyEventStore();
@@ -1316,13 +1334,13 @@ Docs & License: https://fullcalendar.io/
for (var defId in defs) {
var def = defs[defId];
if (def.recurringDef) {
- var starts = expandRecurringRanges(def, framingRange, calendar.dateEnv, calendar.pluginSystem.hooks.recurringTypes);
var duration = def.recurringDef.duration;
if (!duration) {
duration = def.allDay ?
calendar.defaultAllDayEventDuration :
calendar.defaultTimedEventDuration;
}
+ var starts = expandRecurringRanges(def, duration, framingRange, calendar.dateEnv, calendar.pluginSystem.hooks.recurringTypes);
for (var _i = 0, starts_1 = starts; _i < starts_1.length; _i++) {
var start = starts_1[_i];
var instance = createEventInstance(defId, {
@@ -2035,13 +2053,12 @@ Docs & License: https://fullcalendar.io/
if (start && this._instance) { // TODO: warning if parsed bad
var instanceRange = this._instance.range;
var startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity); // what if parsed bad!?
- var endDelta = null;
if (options.maintainDuration) {
- var origDuration = diffDates(instanceRange.start, instanceRange.end, dateEnv, options.granularity);
- var newDuration = diffDates(start, instanceRange.end, dateEnv, options.granularity);
- endDelta = subtractDurations(origDuration, newDuration);
+ this.mutate({ datesDelta: startDelta });
+ }
+ else {
+ this.mutate({ startDelta: startDelta });
}
- this.mutate({ startDelta: startDelta, endDelta: endDelta });
}
};
EventApi.prototype.setEnd = function (endInput, options) {
@@ -2089,11 +2106,16 @@ Docs & License: https://fullcalendar.io/
var startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity);
if (end) {
var endDelta = diffDates(instanceRange.end, end, dateEnv, options.granularity);
- this.mutate({ startDelta: startDelta, endDelta: endDelta, standardProps: standardProps });
+ if (durationsEqual(startDelta, endDelta)) {
+ this.mutate({ datesDelta: startDelta, standardProps: standardProps });
+ }
+ else {
+ this.mutate({ startDelta: startDelta, endDelta: endDelta, standardProps: standardProps });
+ }
}
- else {
+ else { // means "clear the end"
standardProps.hasEnd = false;
- this.mutate({ startDelta: startDelta, standardProps: standardProps });
+ this.mutate({ datesDelta: startDelta, standardProps: standardProps });
}
}
};
@@ -2112,7 +2134,7 @@ Docs & License: https://fullcalendar.io/
EventApi.prototype.moveDates = function (deltaInput) {
var delta = createDuration(deltaInput);
if (delta) { // TODO: warning if parsed bad
- this.mutate({ startDelta: delta, endDelta: delta });
+ this.mutate({ datesDelta: delta });
}
};
EventApi.prototype.setAllDay = function (allDay, options) {
@@ -2370,12 +2392,13 @@ Docs & License: https://fullcalendar.io/
function hasBgRendering(def) {
return def.rendering === 'background' || def.rendering === 'inverse-background';
}
- function filterSegsViaEls(view, segs, isMirror) {
- if (view.hasPublicHandlers('eventRender')) {
+ function filterSegsViaEls(context, segs, isMirror) {
+ var calendar = context.calendar, view = context.view;
+ if (calendar.hasPublicHandlers('eventRender')) {
segs = segs.filter(function (seg) {
- var custom = view.publiclyTrigger('eventRender', [
+ var custom = calendar.publiclyTrigger('eventRender', [
{
- event: new EventApi(view.calendar, seg.eventRange.def, seg.eventRange.instance),
+ event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
isMirror: isMirror,
isStart: seg.isStart,
isEnd: seg.isEnd,
@@ -2422,6 +2445,65 @@ Docs & License: https://fullcalendar.io/
uis.push(eventDef.ui);
return combineEventUis(uis);
}
+ // triggers
+ function triggerRenderedSegs(context, segs, isMirrors) {
+ var calendar = context.calendar, view = context.view;
+ if (calendar.hasPublicHandlers('eventPositioned')) {
+ for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {
+ var seg = segs_2[_i];
+ calendar.publiclyTriggerAfterSizing('eventPositioned', [
+ {
+ event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
+ isMirror: isMirrors,
+ isStart: seg.isStart,
+ isEnd: seg.isEnd,
+ el: seg.el,
+ view: view
+ }
+ ]);
+ }
+ }
+ if (!calendar.state.eventSourceLoadingLevel) { // avoid initial empty state while pending
+ calendar.afterSizingTriggers._eventsPositioned = [null]; // fire once
+ }
+ }
+ function triggerWillRemoveSegs(context, segs, isMirrors) {
+ var calendar = context.calendar, view = context.view;
+ for (var _i = 0, segs_3 = segs; _i < segs_3.length; _i++) {
+ var seg = segs_3[_i];
+ calendar.trigger('eventElRemove', seg.el);
+ }
+ if (calendar.hasPublicHandlers('eventDestroy')) {
+ for (var _a = 0, segs_4 = segs; _a < segs_4.length; _a++) {
+ var seg = segs_4[_a];
+ calendar.publiclyTrigger('eventDestroy', [
+ {
+ event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
+ isMirror: isMirrors,
+ el: seg.el,
+ view: view
+ }
+ ]);
+ }
+ }
+ }
+ // is-interactable
+ function computeEventDraggable(context, eventDef, eventUi) {
+ var calendar = context.calendar, view = context.view;
+ var transformers = calendar.pluginSystem.hooks.isDraggableTransformers;
+ var val = eventUi.startEditable;
+ for (var _i = 0, transformers_1 = transformers; _i < transformers_1.length; _i++) {
+ var transformer = transformers_1[_i];
+ val = transformer(val, eventDef, eventUi, view);
+ }
+ return val;
+ }
+ function computeEventStartResizable(context, eventDef, eventUi) {
+ return eventUi.durationEditable && context.options.eventResizableFromStart;
+ }
+ function computeEventEndResizable(context, eventDef, eventUi) {
+ return eventUi.durationEditable;
+ }
// applies the mutation to ALL defs/instances within the event store
function applyMutationToEventStore(eventStore, eventConfigBase, mutation, calendar) {
@@ -2445,7 +2527,7 @@ Docs & License: https://fullcalendar.io/
// and thus, we need to mark the event as having a real end
if (standardProps.hasEnd == null &&
eventConfig.durationEditable &&
- willDeltasAffectDuration(eventConfig.startEditable ? mutation.startDelta : null, mutation.endDelta || null)) {
+ (mutation.startDelta || mutation.endDelta)) {
standardProps.hasEnd = true; // TODO: is this mutation okay?
}
var copy = __assign({}, eventDef, standardProps, { ui: __assign({}, eventDef.ui, standardProps.ui) });
@@ -2461,21 +2543,6 @@ Docs & License: https://fullcalendar.io/
}
return copy;
}
- function willDeltasAffectDuration(startDelta, endDelta) {
- if (startDelta && !asRoughMs(startDelta)) {
- startDelta = null;
- }
- if (endDelta && !asRoughMs(endDelta)) {
- endDelta = null;
- }
- if (!startDelta && !endDelta) {
- return false;
- }
- if (Boolean(startDelta) !== Boolean(endDelta)) {
- return true;
- }
- return !durationsEqual(startDelta, endDelta);
- }
function applyMutationToEventInstance(eventInstance, eventDef, // must first be modified by applyMutationToEventDef
eventConfig, mutation, calendar) {
var dateEnv = calendar.dateEnv;
@@ -2485,25 +2552,28 @@ Docs & License: https://fullcalendar.io/
if (forceAllDay) {
copy.range = computeAlignedDayRange(copy.range);
}
- if (mutation.startDelta && eventConfig.startEditable) {
+ if (mutation.datesDelta && eventConfig.startEditable) {
+ copy.range = {
+ start: dateEnv.add(copy.range.start, mutation.datesDelta),
+ end: dateEnv.add(copy.range.end, mutation.datesDelta)
+ };
+ }
+ if (mutation.startDelta && eventConfig.durationEditable) {
copy.range = {
start: dateEnv.add(copy.range.start, mutation.startDelta),
end: copy.range.end
};
}
- if (clearEnd) {
+ if (mutation.endDelta && eventConfig.durationEditable) {
copy.range = {
start: copy.range.start,
- end: calendar.getDefaultEventEnd(eventDef.allDay, copy.range.start)
+ end: dateEnv.add(copy.range.end, mutation.endDelta)
};
}
- else if (mutation.endDelta &&
- (eventConfig.durationEditable ||
- !willDeltasAffectDuration(// TODO: nonDRY logic above
- eventConfig.startEditable ? mutation.startDelta : null, mutation.endDelta))) {
+ if (clearEnd) {
copy.range = {
start: copy.range.start,
- end: dateEnv.add(copy.range.end, mutation.endDelta)
+ end: calendar.getDefaultEventEnd(eventDef.allDay, copy.range.start)
};
}
// in case event was all-day but the supplied deltas were not
@@ -2709,11 +2779,12 @@ Docs & License: https://fullcalendar.io/
}
}
// allow (a function)
+ var calendarEventStore = calendar.state.eventStore; // need global-to-calendar, not local to component (splittable)state
for (var _i = 0, _a = subjectConfig.allows; _i < _a.length; _i++) {
var subjectAllow = _a[_i];
var subjectDateSpan = __assign({}, dateSpanMeta, { range: subjectInstance.range, allDay: subjectDef.allDay });
- var origDef = state.eventStore.defs[subjectDef.defId];
- var origInstance = state.eventStore.instances[subjectInstanceId];
+ var origDef = calendarEventStore.defs[subjectDef.defId];
+ var origInstance = calendarEventStore.instances[subjectInstanceId];
var eventApi = void 0;
if (origDef) { // was previously in the calendar
eventApi = new EventApi(calendar, origDef, origInstance);
@@ -3187,90 +3258,6 @@ Docs & License: https://fullcalendar.io/
return res;
}
- function isValuesSimilar(val0, val1, depth) {
- if (depth === void 0) { depth = 1; }
- if (val0 === val1) {
- return true;
- }
- else if (Array.isArray(val0) && Array.isArray(val1)) {
- return isArraysSimilar(val0, val1, depth);
- }
- else if (typeof val0 === 'object' && val0 && typeof val1 === 'object' && val1) { // non-null objects
- return isObjectsSimilar(val0, val1, depth);
- }
- else {
- return false;
- }
- }
- function isArraysSimilar(a0, a1, depth) {
- if (depth === void 0) { depth = 1; }
- if (a0 === a1) {
- return true;
- }
- else if (depth > 0) {
- if (a0.length !== a1.length) {
- return false;
- }
- else {
- for (var i = 0; i < a0.length; i++) {
- if (!isValuesSimilar(a0[i], a1[i], depth - 1)) {
- return false;
- }
- }
- return true;
- }
- }
- else {
- return false;
- }
- }
- function isObjectsSimilar(obj0, obj1, depth) {
- if (depth === void 0) { depth = 1; }
- if (obj0 === obj1) {
- return true;
- }
- else if (depth > 0) {
- for (var prop in obj0) {
- if (!(prop in obj1)) {
- return false;
- }
- }
- for (var prop in obj1) {
- if (!(prop in obj0)) {
- return false;
- }
- else {
- if (!isValuesSimilar(obj0[prop], obj1[prop], depth - 1)) {
- return false;
- }
- }
- }
- return true;
- }
- else {
- return false;
- }
- }
- function computeChangedProps(obj0, obj1, depth) {
- if (depth === void 0) { depth = 1; }
- var res = {};
- for (var prop in obj1) {
- if (!(prop in obj0) ||
- !isValuesSimilar(obj0[prop], obj1[prop], depth - 1)) {
- res[prop] = obj1[prop];
- }
- }
- return res;
- }
- function anyKeysRemoved(obj0, obj1) {
- for (var prop in obj0) {
- if (!(prop in obj1)) {
- return true;
- }
- }
- return false;
- }
-
var EMPTY_EVENT_STORE = createEmptyEventStore(); // for purecomponents. TODO: keep elsewhere
var Splitter = /** @class */ (function () {
function Splitter() {
@@ -3418,8 +3405,7 @@ Docs & License: https://fullcalendar.io/
// { date, type, forceOff }
// `type` is a view-type like "day" or "week". default value is "day".
// `attrs` and `innerHtml` are use to generate the rest of the HTML tag.
- function buildGotoAnchorHtml(component, gotoOptions, attrs, innerHtml) {
- var dateEnv = component.dateEnv;
+ function buildGotoAnchorHtml(allOptions, dateEnv, gotoOptions, attrs, innerHtml) {
var date;
var type;
var forceOff;
@@ -3442,7 +3428,7 @@ Docs & License: https://fullcalendar.io/
}
attrs = attrs ? ' ' + attrsToStr(attrs) : ''; // will have a leading space
innerHtml = innerHtml || '';
- if (!forceOff && component.opt('navLinks')) {
+ if (!forceOff && allOptions.navLinks) {
return '<a' + attrs +
' data-goto="' + htmlEscape(JSON.stringify(finalOptions)) + '">' +
innerHtml +
@@ -3454,12 +3440,12 @@ Docs & License: https://fullcalendar.io/
'</span>';
}
}
- function getAllDayHtml(component) {
- return component.opt('allDayHtml') || htmlEscape(component.opt('allDayText'));
+ function getAllDayHtml(allOptions) {
+ return allOptions.allDayHtml || htmlEscape(allOptions.allDayText);
}
// Computes HTML classNames for a single-day element
function getDayClasses(date, dateProfile, context, noThemeHighlight) {
- var calendar = context.calendar, view = context.view, theme = context.theme, dateEnv = context.dateEnv;
+ var calendar = context.calendar, options = context.options, theme = context.theme, dateEnv = context.dateEnv;
var classes = [];
var todayStart;
var todayEnd;
@@ -3468,7 +3454,7 @@ Docs & License: https://fullcalendar.io/
}
else {
classes.push('fc-' + DAY_IDS[date.getUTCDay()]);
- if (view.opt('monthMode') &&
+ if (options.monthMode &&
dateEnv.getMonth(date) !== dateEnv.getMonth(dateProfile.currentRange.start)) {
classes.push('fc-other-month');
}
@@ -3933,34 +3919,59 @@ Docs & License: https://fullcalendar.io/
Theme.prototype.iconOverridePrefix = '';
var guid = 0;
+ var ComponentContext = /** @class */ (function () {
+ function ComponentContext(calendar, theme, dateEnv, options, view) {
+ this.calendar = calendar;
+ this.theme = theme;
+ this.dateEnv = dateEnv;
+ this.options = options;
+ this.view = view;
+ this.isRtl = options.dir === 'rtl';
+ this.eventOrderSpecs = parseFieldSpecs(options.eventOrder);
+ this.nextDayThreshold = createDuration(options.nextDayThreshold);
+ }
+ ComponentContext.prototype.extend = function (options, view) {
+ return new ComponentContext(this.calendar, this.theme, this.dateEnv, options || this.options, view || this.view);
+ };
+ return ComponentContext;
+ }());
var Component = /** @class */ (function () {
- function Component(context, isView) {
- // HACK to populate view at top of component instantiation call chain
- if (isView) {
- context.view = this;
- }
+ function Component() {
+ this.everRendered = false;
this.uid = String(guid++);
- this.context = context;
- this.dateEnv = context.dateEnv;
- this.theme = context.theme;
- this.view = context.view;
- this.calendar = context.calendar;
- this.isRtl = this.opt('dir') === 'rtl';
}
Component.addEqualityFuncs = function (newFuncs) {
this.prototype.equalityFuncs = __assign({}, this.prototype.equalityFuncs, newFuncs);
};
- Component.prototype.opt = function (name) {
- return this.context.options[name];
- };
- Component.prototype.receiveProps = function (props) {
+ Component.prototype.receiveProps = function (props, context) {
+ this.receiveContext(context);
var _a = recycleProps(this.props || {}, props, this.equalityFuncs), anyChanges = _a.anyChanges, comboProps = _a.comboProps;
this.props = comboProps;
if (anyChanges) {
- this.render(comboProps);
+ if (this.everRendered) {
+ this.beforeUpdate();
+ }
+ this.render(comboProps, context);
+ if (this.everRendered) {
+ this.afterUpdate();
+ }
+ }
+ this.everRendered = true;
+ };
+ Component.prototype.receiveContext = function (context) {
+ var oldContext = this.context;
+ this.context = context;
+ if (!oldContext) {
+ this.firstContext(context);
}
};
- Component.prototype.render = function (props) {
+ Component.prototype.render = function (props, context) {
+ };
+ Component.prototype.firstContext = function (context) {
+ };
+ Component.prototype.beforeUpdate = function () {
+ };
+ Component.prototype.afterUpdate = function () {
};
// after destroy is called, this component won't ever be used again
Component.prototype.destroy = function () {
@@ -4002,8 +4013,8 @@ Docs & License: https://fullcalendar.io/
*/
var DateComponent = /** @class */ (function (_super) {
__extends(DateComponent, _super);
- function DateComponent(context, el, isView) {
- var _this = _super.call(this, context, isView) || this;
+ function DateComponent(el) {
+ var _this = _super.call(this) || this;
_this.el = el;
return _this;
}
@@ -4011,47 +4022,17 @@ Docs & License: https://fullcalendar.io/
_super.prototype.destroy.call(this);
removeElement(this.el);
};
- // TODO: WHAT ABOUT (sourceSeg && sourceSeg.component.doesDragMirror)
- //
- // Event Drag-n-Drop Rendering (for both events and external elements)
- // ---------------------------------------------------------------------------------------------------------------
- /*
- renderEventDragSegs(state: EventSegUiInteractionState) {
- if (state) {
- let { isEvent, segs, sourceSeg } = state
-
- if (this.eventRenderer) {
- this.eventRenderer.hideByHash(state.affectedInstances)
- }
-
- // if the user is dragging something that is considered an event with real event data,
- // and this component likes to do drag mirrors OR the component where the seg came from
- // likes to do drag mirrors, then render a drag mirror.
- if (isEvent && (this.doesDragMirror || sourceSeg && sourceSeg.component.doesDragMirror)) {
- if (this.mirrorRenderer) {
- this.mirrorRenderer.renderSegs(segs, { isDragging: true, sourceSeg })
- }
- }
-
- // if it would be impossible to render a drag mirror OR this component likes to render
- // highlights, then render a highlight.
- if (!isEvent || this.doesDragHighlight) {
- if (this.fillRenderer) {
- this.fillRenderer.renderSegs('highlight', segs)
- }
- }
- }
- }
- */
// Hit System
// -----------------------------------------------------------------------------------------------------------------
+ DateComponent.prototype.buildPositionCaches = function () {
+ };
DateComponent.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {
return null; // this should be abstract
};
// Validation
// -----------------------------------------------------------------------------------------------------------------
DateComponent.prototype.isInteractionValid = function (interaction) {
- var calendar = this.calendar;
+ var calendar = this.context.calendar;
var dateProfile = this.props.dateProfile; // HACK
var instances = interaction.mutatedEvents.instances;
if (dateProfile) { // HACK for DayTile
@@ -4064,68 +4045,13 @@ Docs & License: https://fullcalendar.io/
return isInteractionValid(interaction, calendar);
};
DateComponent.prototype.isDateSelectionValid = function (selection) {
+ var calendar = this.context.calendar;
var dateProfile = this.props.dateProfile; // HACK
if (dateProfile && // HACK for DayTile
!rangeContainsRange(dateProfile.validRange, selection.range)) {
return false;
}
- return isDateSelectionValid(selection, this.calendar);
- };
- // Triggering
- // -----------------------------------------------------------------------------------------------------------------
- // TODO: move to Calendar
- DateComponent.prototype.publiclyTrigger = function (name, args) {
- var calendar = this.calendar;
- return calendar.publiclyTrigger(name, args);
- };
- DateComponent.prototype.publiclyTriggerAfterSizing = function (name, args) {
- var calendar = this.calendar;
- return calendar.publiclyTriggerAfterSizing(name, args);
- };
- DateComponent.prototype.hasPublicHandlers = function (name) {
- var calendar = this.calendar;
- return calendar.hasPublicHandlers(name);
- };
- DateComponent.prototype.triggerRenderedSegs = function (segs, isMirrors) {
- var calendar = this.calendar;
- if (this.hasPublicHandlers('eventPositioned')) {
- for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {
- var seg = segs_1[_i];
- this.publiclyTriggerAfterSizing('eventPositioned', [
- {
- event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
- isMirror: isMirrors,
- isStart: seg.isStart,
- isEnd: seg.isEnd,
- el: seg.el,
- view: this // ?
- }
- ]);
- }
- }
- if (!calendar.state.loadingLevel) { // avoid initial empty state while pending
- calendar.afterSizingTriggers._eventsPositioned = [null]; // fire once
- }
- };
- DateComponent.prototype.triggerWillRemoveSegs = function (segs, isMirrors) {
- var calendar = this.calendar;
- for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {
- var seg = segs_2[_i];
- calendar.trigger('eventElRemove', seg.el);
- }
- if (this.hasPublicHandlers('eventDestroy')) {
- for (var _a = 0, segs_3 = segs; _a < segs_3.length; _a++) {
- var seg = segs_3[_a];
- this.publiclyTrigger('eventDestroy', [
- {
- event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
- isMirror: isMirrors,
- el: seg.el,
- view: this // ?
- }
- ]);
- }
- }
+ return isDateSelectionValid(selection, calendar);
};
// Pointer Interaction Utils
// -----------------------------------------------------------------------------------------------------------------
@@ -4162,6 +4088,7 @@ Docs & License: https://fullcalendar.io/
deps: input.deps || [],
reducers: input.reducers || [],
eventDefParsers: input.eventDefParsers || [],
+ isDraggableTransformers: input.isDraggableTransformers || [],
eventDragMutationMassagers: input.eventDragMutationMassagers || [],
eventDefMutationAppliers: input.eventDefMutationAppliers || [],
dateSelectionTransformers: input.dateSelectionTransformers || [],
@@ -4191,6 +4118,7 @@ Docs & License: https://fullcalendar.io/
this.hooks = {
reducers: [],
eventDefParsers: [],
+ isDraggableTransformers: [],
eventDragMutationMassagers: [],
eventDefMutationAppliers: [],
dateSelectionTransformers: [],
@@ -4232,6 +4160,7 @@ Docs & License: https://fullcalendar.io/
return {
reducers: hooks0.reducers.concat(hooks1.reducers),
eventDefParsers: hooks0.eventDefParsers.concat(hooks1.eventDefParsers),
+ isDraggableTransformers: hooks0.isDraggableTransformers.concat(hooks1.isDraggableTransformers),
eventDragMutationMassagers: hooks0.eventDragMutationMassagers.concat(hooks1.eventDragMutationMassagers),
eventDefMutationAppliers: hooks0.eventDefMutationAppliers.concat(hooks1.eventDefMutationAppliers),
dateSelectionTransformers: hooks0.dateSelectionTransformers.concat(hooks1.dateSelectionTransformers),
@@ -4439,11 +4368,17 @@ Docs & License: https://fullcalendar.io/
}
}
if (anyValid) {
+ var duration = null;
+ if ('duration' in leftoverProps) {
+ duration = createDuration(leftoverProps.duration);
+ delete leftoverProps.duration;
+ }
+ if (!duration && props.startTime && props.endTime) {
+ duration = subtractDurations(props.endTime, props.startTime);
+ }
return {
allDayGuess: Boolean(!props.startTime && !props.endTime),
- duration: (props.startTime && props.endTime) ?
- subtractDurations(props.endTime, props.startTime) :
- null,
+ duration: duration,
typeData: props // doesn't need endTime anymore but oh well
};
}
@@ -4488,21 +4423,21 @@ Docs & License: https://fullcalendar.io/
var DefaultOptionChangeHandlers = createPlugin({
optionChangeHandlers: {
- events: function (events, calendar) {
- handleEventSources([events], calendar);
+ events: function (events, calendar, deepEqual) {
+ handleEventSources([events], calendar, deepEqual);
},
eventSources: handleEventSources,
plugins: handlePlugins
}
});
- function handleEventSources(inputs, calendar) {
+ function handleEventSources(inputs, calendar, deepEqual) {
var unfoundSources = hashValuesToArray(calendar.state.eventSources);
var newInputs = [];
for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {
var input = inputs_1[_i];
var inputFound = false;
for (var i = 0; i < unfoundSources.length; i++) {
- if (isValuesSimilar(unfoundSources[i]._raw, input, 2)) {
+ if (deepEqual(unfoundSources[i]._raw, input)) {
unfoundSources.splice(i, 1); // delete
inputFound = true;
break;
@@ -4730,16 +4665,16 @@ Docs & License: https://fullcalendar.io/
this.dynamicOverrides = {};
this.compute();
}
- OptionsManager.prototype.add = function (props) {
- __assign(this.overrides, props);
- this.compute();
- };
- OptionsManager.prototype.addDynamic = function (props) {
- __assign(this.dynamicOverrides, props);
- this.compute();
- };
- OptionsManager.prototype.reset = function (props) {
- this.overrides = props;
+ OptionsManager.prototype.mutate = function (updates, removals, isDynamic) {
+ if (!Object.keys(updates).length && !removals.length) {
+ return;
+ }
+ var overrideHash = isDynamic ? this.dynamicOverrides : this.overrides;
+ __assign(overrideHash, updates);
+ for (var _i = 0, removals_1 = removals; _i < removals_1.length; _i++) {
+ var propName = removals_1[_i];
+ delete overrideHash[propName];
+ }
this.compute();
};
// Computes the flattened options hash for the calendar and assigns to `this.options`.
@@ -4797,39 +4732,25 @@ Docs & License: https://fullcalendar.io/
}());
registerCalendarSystem('gregory', GregorianCalendarSystem);
- var ISO_START = /^\s*\d{4}-\d\d-\d\d([T ]\d)?/;
- var ISO_TZO_RE = /(?:(Z)|([-+])(\d\d)(?::(\d\d))?)$/;
+ var ISO_RE = /^\s*(\d{4})(-(\d{2})(-(\d{2})([T ](\d{2}):(\d{2})(:(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;
function parse(str) {
- var timeZoneOffset = null;
- var isTimeUnspecified = false;
- var m = ISO_START.exec(str);
+ var m = ISO_RE.exec(str);
if (m) {
- isTimeUnspecified = !m[1];
- if (isTimeUnspecified) {
- str += 'T00:00:00Z';
- }
- else {
- str = str.replace(ISO_TZO_RE, function (whole, z, sign, minutes, seconds) {
- if (z) {
- timeZoneOffset = 0;
- }
- else {
- timeZoneOffset = (parseInt(minutes, 10) * 60 +
- parseInt(seconds || 0, 10)) * (sign === '-' ? -1 : 1);
- }
- return '';
- }) + 'Z'; // otherwise will parse in local
+ var marker = new Date(Date.UTC(Number(m[1]), m[3] ? Number(m[3]) - 1 : 0, Number(m[5] || 1), Number(m[7] || 0), Number(m[8] || 0), Number(m[10] || 0), m[12] ? Number('0.' + m[12]) * 1000 : 0));
+ if (isValidDate(marker)) {
+ var timeZoneOffset = null;
+ if (m[13]) {
+ timeZoneOffset = (m[15] === '-' ? -1 : 1) * (Number(m[16] || 0) * 60 +
+ Number(m[18] || 0));
+ }
+ return {
+ marker: marker,
+ isTimeUnspecified: !m[6],
+ timeZoneOffset: timeZoneOffset
+ };
}
}
- var marker = new Date(str);
- if (!isValidDate(marker)) {
- return null;
- }
- return {
- marker: marker,
- isTimeUnspecified: isTimeUnspecified,
- timeZoneOffset: timeZoneOffset
- };
+ return null;
}
var DateEnv = /** @class */ (function () {
@@ -4848,7 +4769,7 @@ Docs & License: https://fullcalendar.io/
this.weekDow = 1;
this.weekDoy = 4;
}
- else if (typeof settings.firstDay === 'number') {
+ if (typeof settings.firstDay === 'number') {
this.weekDow = settings.firstDay;
}
if (typeof settings.weekNumberCalculation === 'function') {
@@ -5176,7 +5097,7 @@ Docs & License: https://fullcalendar.io/
var meta = def.parseMeta(raw);
if (meta) {
var res = parseEventSourceProps(typeof raw === 'object' ? raw : {}, meta, i, calendar);
- res._raw = freezeRaw(raw);
+ res._raw = raw;
return res;
}
}
@@ -5258,6 +5179,7 @@ Docs & License: https://fullcalendar.io/
else {
return !calendar.opt('lazyFetching') ||
!eventSource.fetchRange ||
+ eventSource.isFetching || // always cancel outdated in-progress fetches
fetchRange.start < eventSource.fetchRange.start ||
fetchRange.end > eventSource.fetchRange.end;
}
@@ -5325,7 +5247,8 @@ Docs & License: https://fullcalendar.io/
var eventSource = sourceHash[sourceId];
if (eventSource && // not already removed
fetchId === eventSource.latestFetchId) {
- return __assign({}, sourceHash, (_a = {}, _a[sourceId] = __assign({}, eventSource, { isFetching: false, fetchRange: fetchRange }), _a));
+ return __assign({}, sourceHash, (_a = {}, _a[sourceId] = __assign({}, eventSource, { isFetching: false, fetchRange: fetchRange // also serves as a marker that at least one fetch has completed
+ }), _a));
}
return sourceHash;
}
@@ -5662,10 +5585,19 @@ Docs & License: https://fullcalendar.io/
}());
// TODO: find a way to avoid comparing DateProfiles. it's tedious
function isDateProfilesEqual(p0, p1) {
- return rangesEqual(p0.activeRange, p1.activeRange) &&
- rangesEqual(p0.validRange, p1.validRange) &&
+ return rangesEqual(p0.validRange, p1.validRange) &&
+ rangesEqual(p0.activeRange, p1.activeRange) &&
+ rangesEqual(p0.renderRange, p1.renderRange) &&
durationsEqual(p0.minTime, p1.minTime) &&
durationsEqual(p0.maxTime, p1.maxTime);
+ /*
+ TODO: compare more?
+ currentRange: DateRange
+ currentRangeUnit: string
+ isRangeAllDay: boolean
+ isValid: boolean
+ dateIncrement: Duration
+ */
}
function reduce (state, action, calendar) {
@@ -5941,7 +5873,13 @@ Docs & License: https://fullcalendar.io/
findViewNameBySubclass(theClass, overrideConfigs) ||
findViewNameBySubclass(theClass, defaultConfigs);
}
- var superDef = superType ? ensureViewDef(superType, hash, defaultConfigs, overrideConfigs) : null;
+ var superDef = null;
+ if (superType) {
+ if (superType === viewType) {
+ throw new Error('Can\'t have a custom view type that references itself');
+ }
+ superDef = ensureViewDef(superType, hash, defaultConfigs, overrideConfigs);
+ }
if (!theClass && superDef) {
theClass = superDef.class;
}
@@ -6048,8 +5986,8 @@ Docs & License: https://fullcalendar.io/
var Toolbar = /** @class */ (function (_super) {
__extends(Toolbar, _super);
- function Toolbar(context, extraClassName) {
- var _this = _super.call(this, context) || this;
+ function Toolbar(extraClassName) {
+ var _this = _super.call(this) || this;
_this._renderLayout = memoizeRendering(_this.renderLayout, _this.unrenderLayout);
_this._updateTitle = memoizeRendering(_this.updateTitle, null, [_this._renderLayout]);
_this._updateActiveButton = memoizeRendering(_this.updateActiveButton, null, [_this._renderLayout]);
@@ -6084,7 +6022,7 @@ Docs & License: https://fullcalendar.io/
};
Toolbar.prototype.renderSection = function (position, buttonStr) {
var _this = this;
- var _a = this, theme = _a.theme, calendar = _a.calendar;
+ var _a = this.context, theme = _a.theme, calendar = _a.calendar;
var optionsManager = calendar.optionsManager;
var viewSpecs = calendar.viewSpecs;
var sectionEl = createElement('div', { className: 'fc-' + position });
@@ -6192,7 +6130,8 @@ Docs & License: https://fullcalendar.io/
});
};
Toolbar.prototype.updateActiveButton = function (buttonName) {
- var className = this.theme.getClass('buttonActive');
+ var theme = this.context.theme;
+ var className = theme.getClass('buttonActive');
findElements(this.el, 'button').forEach(function (buttonEl) {
if (buttonName && buttonEl.classList.contains('fc-' + buttonName + '-button')) {
buttonEl.classList.add(className);
@@ -6212,24 +6151,29 @@ Docs & License: https://fullcalendar.io/
var CalendarComponent = /** @class */ (function (_super) {
__extends(CalendarComponent, _super);
- function CalendarComponent(context, el) {
- var _this = _super.call(this, context) || this;
- _this._renderToolbars = memoizeRendering(_this.renderToolbars);
+ function CalendarComponent(el) {
+ var _this = _super.call(this) || this;
+ _this.elClassNames = [];
+ _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
+ _this.renderToolbars = memoizeRendering(_this._renderToolbars, _this._unrenderToolbars, [_this.renderSkeleton]);
+ _this.buildComponentContext = memoize(buildComponentContext);
_this.buildViewPropTransformers = memoize(buildViewPropTransformers);
_this.el = el;
- prependToElement(el, _this.contentEl = createElement('div', { className: 'fc-view-container' }));
- var calendar = _this.calendar;
- for (var _i = 0, _a = calendar.pluginSystem.hooks.viewContainerModifiers; _i < _a.length; _i++) {
- var modifyViewContainer = _a[_i];
- modifyViewContainer(_this.contentEl, calendar);
- }
- _this.toggleElClassNames(true);
_this.computeTitle = memoize(computeTitle);
_this.parseBusinessHours = memoize(function (input) {
- return parseBusinessHours(input, _this.calendar);
+ return parseBusinessHours(input, _this.context.calendar);
});
return _this;
}
+ CalendarComponent.prototype.render = function (props, context) {
+ this.freezeHeight();
+ var title = this.computeTitle(props.dateProfile, props.viewSpec.options);
+ this.renderSkeleton(context);
+ this.renderToolbars(props.viewSpec, props.dateProfile, props.currentDate, title);
+ this.renderView(props, title);
+ this.updateSize();
+ this.thawHeight();
+ };
CalendarComponent.prototype.destroy = function () {
if (this.header) {
this.header.destroy();
@@ -6237,40 +6181,57 @@ Docs & License: https://fullcalendar.io/
if (this.footer) {
this.footer.destroy();
}
+ this.renderSkeleton.unrender(); // will call destroyView
+ _super.prototype.destroy.call(this);
+ };
+ CalendarComponent.prototype._renderSkeleton = function (context) {
+ this.updateElClassNames(context);
+ prependToElement(this.el, this.contentEl = createElement('div', { className: 'fc-view-container' }));
+ var calendar = context.calendar;
+ for (var _i = 0, _a = calendar.pluginSystem.hooks.viewContainerModifiers; _i < _a.length; _i++) {
+ var modifyViewContainer = _a[_i];
+ modifyViewContainer(this.contentEl, calendar);
+ }
+ };
+ CalendarComponent.prototype._unrenderSkeleton = function () {
+ // weird to have this here
if (this.view) {
+ this.savedScroll = this.view.queryScroll();
this.view.destroy();
+ this.view = null;
}
removeElement(this.contentEl);
- this.toggleElClassNames(false);
- _super.prototype.destroy.call(this);
+ this.removeElClassNames();
};
- CalendarComponent.prototype.toggleElClassNames = function (bool) {
+ CalendarComponent.prototype.removeElClassNames = function () {
var classList = this.el.classList;
- var dirClassName = 'fc-' + this.opt('dir');
- var themeClassName = this.theme.getClass('widget');
- if (bool) {
- classList.add('fc');
- classList.add(dirClassName);
- classList.add(themeClassName);
- }
- else {
- classList.remove('fc');
- classList.remove(dirClassName);
- classList.remove(themeClassName);
- }
- };
- CalendarComponent.prototype.render = function (props) {
- this.freezeHeight();
- var title = this.computeTitle(props.dateProfile, props.viewSpec.options);
- this._renderToolbars(props.viewSpec, props.dateProfile, props.currentDate, props.dateProfileGenerator, title);
- this.renderView(props, title);
- this.updateSize();
- this.thawHeight();
- };
- CalendarComponent.prototype.renderToolbars = function (viewSpec, dateProfile, currentDate, dateProfileGenerator, title) {
- var headerLayout = this.opt('header');
- var footerLayout = this.opt('footer');
- var now = this.calendar.getNow();
+ for (var _i = 0, _a = this.elClassNames; _i < _a.length; _i++) {
+ var className = _a[_i];
+ classList.remove(className);
+ }
+ this.elClassNames = [];
+ };
+ CalendarComponent.prototype.updateElClassNames = function (context) {
+ this.removeElClassNames();
+ var theme = context.theme, options = context.options;
+ this.elClassNames = [
+ 'fc',
+ 'fc-' + options.dir,
+ theme.getClass('widget')
+ ];
+ var classList = this.el.classList;
+ for (var _i = 0, _a = this.elClassNames; _i < _a.length; _i++) {
+ var className = _a[_i];
+ classList.add(className);
+ }
+ };
+ CalendarComponent.prototype._renderToolbars = function (viewSpec, dateProfile, currentDate, title) {
+ var _a = this, context = _a.context, header = _a.header, footer = _a.footer;
+ var options = context.options, calendar = context.calendar;
+ var headerLayout = options.header;
+ var footerLayout = options.footer;
+ var dateProfileGenerator = this.props.dateProfileGenerator;
+ var now = calendar.getNow();
var todayInfo = dateProfileGenerator.build(now);
var prevInfo = dateProfileGenerator.buildPrev(dateProfile, currentDate);
var nextInfo = dateProfileGenerator.buildNext(dateProfile, currentDate);
@@ -6282,48 +6243,55 @@ Docs & License: https://fullcalendar.io/
isNextEnabled: nextInfo.isValid
};
if (headerLayout) {
- if (!this.header) {
- this.header = new Toolbar(this.context, 'fc-header-toolbar');
- prependToElement(this.el, this.header.el);
+ if (!header) {
+ header = this.header = new Toolbar('fc-header-toolbar');
+ prependToElement(this.el, header.el);
}
- this.header.receiveProps(__assign({ layout: headerLayout }, toolbarProps));
+ header.receiveProps(__assign({ layout: headerLayout }, toolbarProps), context);
}
- else if (this.header) {
- this.header.destroy();
- this.header = null;
+ else if (header) {
+ header.destroy();
+ header = this.header = null;
}
if (footerLayout) {
- if (!this.footer) {
- this.footer = new Toolbar(this.context, 'fc-footer-toolbar');
- appendToElement(this.el, this.footer.el);
+ if (!footer) {
+ footer = this.footer = new Toolbar('fc-footer-toolbar');
+ appendToElement(this.el, footer.el);
}
- this.footer.receiveProps(__assign({ layout: footerLayout }, toolbarProps));
+ footer.receiveProps(__assign({ layout: footerLayout }, toolbarProps), context);
+ }
+ else if (footer) {
+ footer.destroy();
+ footer = this.footer = null;
+ }
+ };
+ CalendarComponent.prototype._unrenderToolbars = function () {
+ if (this.header) {
+ this.header.destroy();
+ this.header = null;
}
- else if (this.footer) {
+ if (this.footer) {
this.footer.destroy();
this.footer = null;
}
};
CalendarComponent.prototype.renderView = function (props, title) {
var view = this.view;
+ var _a = this.context, calendar = _a.calendar, options = _a.options;
var viewSpec = props.viewSpec, dateProfileGenerator = props.dateProfileGenerator;
if (!view || view.viewSpec !== viewSpec) {
if (view) {
view.destroy();
}
- view = this.view = new viewSpec['class']({
- calendar: this.calendar,
- view: null,
- dateEnv: this.dateEnv,
- theme: this.theme,
- options: viewSpec.options
- }, viewSpec, dateProfileGenerator, this.contentEl);
- }
- else {
- view.addScroll(view.queryScroll());
+ view = this.view = new viewSpec['class'](viewSpec, this.contentEl);
+ if (this.savedScroll) {
+ view.addScroll(this.savedScroll, true);
+ this.savedScroll = null;
+ }
}
view.title = title; // for the API
var viewProps = {
+ dateProfileGenerator: dateProfileGenerator,
dateProfile: props.dateProfile,
businessHours: this.parseBusinessHours(viewSpec.options.businessHours),
eventStore: props.eventStore,
@@ -6333,20 +6301,20 @@ Docs & License: https://fullcalendar.io/
eventDrag: props.eventDrag,
eventResize: props.eventResize
};
- var transformers = this.buildViewPropTransformers(this.calendar.pluginSystem.hooks.viewPropsTransformers);
+ var transformers = this.buildViewPropTransformers(calendar.pluginSystem.hooks.viewPropsTransformers);
for (var _i = 0, transformers_1 = transformers; _i < transformers_1.length; _i++) {
var transformer = transformers_1[_i];
- __assign(viewProps, transformer.transform(viewProps, viewSpec, props, view));
+ __assign(viewProps, transformer.transform(viewProps, viewSpec, props, options));
}
- view.receiveProps(viewProps);
+ view.receiveProps(viewProps, this.buildComponentContext(this.context, viewSpec, view));
};
// Sizing
// -----------------------------------------------------------------------------------------------------------------
CalendarComponent.prototype.updateSize = function (isResize) {
if (isResize === void 0) { isResize = false; }
var view = this.view;
- if (isResize) {
- view.addScroll(view.queryScroll());
+ if (!view) {
+ return; // why?
}
if (isResize || this.isHeightAuto == null) {
this.computeHeightVars();
@@ -6356,7 +6324,7 @@ Docs & License: https://fullcalendar.io/
view.popScroll(isResize);
};
CalendarComponent.prototype.computeHeightVars = function () {
- var calendar = this.calendar; // yuck. need to handle dynamic options
+ var calendar = this.context.calendar; // yuck. need to handle dynamic options
var heightInput = calendar.opt('height');
var contentHeightInput = calendar.opt('contentHeight');
this.isHeightAuto = heightInput === 'auto' || contentHeightInput === 'auto';
@@ -6373,10 +6341,11 @@ Docs & License: https://fullcalendar.io/
this.viewHeight = heightInput() - this.queryToolbarsHeight();
}
else if (heightInput === 'parent') { // set to height of parent element
- this.viewHeight = this.el.parentNode.offsetHeight - this.queryToolbarsHeight();
+ var parentEl = this.el.parentNode;
+ this.viewHeight = parentEl.getBoundingClientRect().height - this.queryToolbarsHeight();
}
else {
- this.viewHeight = Math.round(this.contentEl.offsetWidth /
+ this.viewHeight = Math.round(this.contentEl.getBoundingClientRect().width /
Math.max(calendar.opt('aspectRatio'), .5));
}
};
@@ -6394,7 +6363,7 @@ Docs & License: https://fullcalendar.io/
// -----------------------------------------------------------------------------------------------------------------
CalendarComponent.prototype.freezeHeight = function () {
applyStyle(this.el, {
- height: this.el.offsetHeight,
+ height: this.el.getBoundingClientRect().height,
overflow: 'hidden'
});
};
@@ -6418,7 +6387,7 @@ Docs & License: https://fullcalendar.io/
else { // for day units or smaller, use the actual day range
range = dateProfile.activeRange;
}
- return this.dateEnv.formatRange(range.start, range.end, createFormatter(viewOptions.titleFormat || computeTitleFormat(dateProfile), viewOptions.titleRangeSeparator), { isEndExclusive: dateProfile.isRangeAllDay });
+ return this.context.dateEnv.formatRange(range.start, range.end, createFormatter(viewOptions.titleFormat || computeTitleFormat(dateProfile), viewOptions.titleRangeSeparator), { isEndExclusive: dateProfile.isRangeAllDay });
}
// Generates the format string that should be used to generate the title for the current date range.
// Attempts to compute the most appropriate format if not explicitly specified with `titleFormat`.
@@ -6442,6 +6411,10 @@ Docs & License: https://fullcalendar.io/
}
}
}
+ // build a context scoped to the view
+ function buildComponentContext(context, viewSpec, view) {
+ return context.extend(viewSpec.options, view);
+ }
// Plugin
// -----------------------------------------------------------------------------------------------------------------
function buildViewPropTransformers(theClasses) {
@@ -6483,6 +6456,7 @@ Docs & License: https://fullcalendar.io/
var _this = _super.call(this, settings) || this;
_this.handleSegClick = function (ev, segEl) {
var component = _this.component;
+ var _a = component.context, calendar = _a.calendar, view = _a.view;
var seg = getElSeg(segEl);
if (seg && // might be the <div> surrounding the more link
component.isValidSegDownEl(ev.target)) {
@@ -6490,12 +6464,12 @@ Docs & License: https://fullcalendar.io/
// grab before trigger fired in case trigger trashes DOM thru rerendering
var hasUrlContainer = elementClosest(ev.target, '.fc-has-url');
var url = hasUrlContainer ? hasUrlContainer.querySelector('a[href]').href : '';
- component.publiclyTrigger('eventClick', [
+ calendar.publiclyTrigger('eventClick', [
{
el: segEl,
- event: new EventApi(component.calendar, seg.eventRange.def, seg.eventRange.instance),
+ event: new EventApi(component.context.calendar, seg.eventRange.def, seg.eventRange.instance),
jsEvent: ev,
- view: component.view
+ view: view
}
]);
if (url && !ev.defaultPrevented) {
@@ -6540,23 +6514,25 @@ Docs & License: https://fullcalendar.io/
};
var component = settings.component;
_this.removeHoverListeners = listenToHoverBySelector(component.el, component.fgSegSelector + ',' + component.bgSegSelector, _this.handleSegEnter, _this.handleSegLeave);
- component.calendar.on('eventElRemove', _this.handleEventElRemove);
+ // how to make sure component already has context?
+ component.context.calendar.on('eventElRemove', _this.handleEventElRemove);
return _this;
}
EventHovering.prototype.destroy = function () {
this.removeHoverListeners();
- this.component.calendar.off('eventElRemove', this.handleEventElRemove);
+ this.component.context.calendar.off('eventElRemove', this.handleEventElRemove);
};
EventHovering.prototype.triggerEvent = function (publicEvName, ev, segEl) {
var component = this.component;
+ var _a = component.context, calendar = _a.calendar, view = _a.view;
var seg = getElSeg(segEl);
if (!ev || component.isValidSegDownEl(ev.target)) {
- component.publiclyTrigger(publicEvName, [
+ calendar.publiclyTrigger(publicEvName, [
{
el: segEl,
- event: new EventApi(this.component.calendar, seg.eventRange.def, seg.eventRange.instance),
+ event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),
jsEvent: ev,
- view: component.view
+ view: view
}
]);
}
@@ -6601,20 +6577,20 @@ Docs & License: https://fullcalendar.io/
var Calendar = /** @class */ (function () {
function Calendar(el, overrides) {
var _this = this;
+ this.buildComponentContext = memoize(buildComponentContext$1);
this.parseRawLocales = memoize(parseRawLocales);
this.buildLocale = memoize(buildLocale);
this.buildDateEnv = memoize(buildDateEnv);
this.buildTheme = memoize(buildTheme);
this.buildEventUiSingleBase = memoize(this._buildEventUiSingleBase);
this.buildSelectionConfig = memoize(this._buildSelectionConfig);
- this.buildEventUiBySource = memoizeOutput(buildEventUiBySource, isObjectsSimilar);
+ this.buildEventUiBySource = memoizeOutput(buildEventUiBySource, isPropsEqual);
this.buildEventUiBases = memoize(buildEventUiBases);
this.interactionsStore = {};
this.actionQueue = [];
this.isReducing = false;
// isDisplaying: boolean = false // installed in DOM? accepting renders?
this.needsRerender = false; // needs a render?
- this.needsFullRerender = false;
this.isRendering = false; // currently in the executeRender function?
this.renderingPauseDepth = 0;
this.buildDelayedRerender = memoize(buildDelayedRerender);
@@ -6654,12 +6630,13 @@ Docs & License: https://fullcalendar.io/
// -----------------------------------------------------------------------------------------------------------------
Calendar.prototype.render = function () {
if (!this.component) {
+ this.component = new CalendarComponent(this.el);
this.renderableEventStore = createEmptyEventStore();
this.bindHandlers();
this.executeRender();
}
else {
- this.requestRerender(true);
+ this.requestRerender();
}
};
Calendar.prototype.destroy = function () {
@@ -6768,12 +6745,12 @@ Docs & License: https://fullcalendar.io/
this.publiclyTrigger('loading', [false]);
}
var view = this.component && this.component.view;
- if (oldState.eventStore !== newState.eventStore || this.needsFullRerender) {
+ if (oldState.eventStore !== newState.eventStore) {
if (oldState.eventStore) {
this.isEventsUpdated = true;
}
}
- if (oldState.dateProfile !== newState.dateProfile || this.needsFullRerender) {
+ if (oldState.dateProfile !== newState.dateProfile) {
if (oldState.dateProfile && view) { // why would view be null!?
this.publiclyTrigger('datesDestroy', [
{
@@ -6784,7 +6761,7 @@ Docs & License: https://fullcalendar.io/
}
this.isDatesUpdated = true;
}
- if (oldState.viewType !== newState.viewType || this.needsFullRerender) {
+ if (oldState.viewType !== newState.viewType) {
if (oldState.viewType && view) { // why would view be null!?
this.publiclyTrigger('viewSkeletonDestroy', [
{
@@ -6803,10 +6780,8 @@ Docs & License: https://fullcalendar.io/
};
// Render Queue
// -----------------------------------------------------------------------------------------------------------------
- Calendar.prototype.requestRerender = function (needsFull) {
- if (needsFull === void 0) { needsFull = false; }
+ Calendar.prototype.requestRerender = function () {
this.needsRerender = true;
- this.needsFullRerender = this.needsFullRerender || needsFull;
this.delayedRerender(); // will call a debounced-version of tryRerender
};
Calendar.prototype.tryRerender = function () {
@@ -6829,12 +6804,10 @@ Docs & License: https://fullcalendar.io/
// Rendering
// -----------------------------------------------------------------------------------------------------------------
Calendar.prototype.executeRender = function () {
- var needsFullRerender = this.needsFullRerender; // save before clearing
// clear these BEFORE the render so that new values will accumulate during render
this.needsRerender = false;
- this.needsFullRerender = false;
this.isRendering = true;
- this.renderComponent(needsFullRerender);
+ this.renderComponent();
this.isRendering = false;
// received a rerender request while rendering
if (this.needsRerender) {
@@ -6844,11 +6817,10 @@ Docs & License: https://fullcalendar.io/
/*
don't call this directly. use executeRender instead
*/
- Calendar.prototype.renderComponent = function (needsFull) {
+ Calendar.prototype.renderComponent = function () {
var _a = this, state = _a.state, component = _a.component;
var viewType = state.viewType;
var viewSpec = this.viewSpecs[viewType];
- var savedScroll = (needsFull && component) ? component.view.queryScroll() : null;
if (!viewSpec) {
throw new Error("View type \"" + viewType + "\" is not valid");
}
@@ -6861,23 +6833,7 @@ Docs & License: https://fullcalendar.io/
var eventUiSingleBase = this.buildEventUiSingleBase(viewSpec.options);
var eventUiBySource = this.buildEventUiBySource(state.eventSources);
var eventUiBases = this.eventUiBases = this.buildEventUiBases(renderableEventStore.defs, eventUiSingleBase, eventUiBySource);
- if (needsFull || !component) {
- if (component) {
- component.freezeHeight(); // next component will unfreeze it
- component.destroy();
- }
- component = this.component = new CalendarComponent({
- calendar: this,
- view: null,
- dateEnv: this.dateEnv,
- theme: this.theme,
- options: this.optionsManager.computed
- }, this.el);
- }
- component.receiveProps(__assign({}, state, { viewSpec: viewSpec, dateProfile: state.dateProfile, dateProfileGenerator: this.dateProfileGenerators[viewType], eventStore: renderableEventStore, eventUiBases: eventUiBases, dateSelection: state.dateSelection, eventSelection: state.eventSelection, eventDrag: state.eventDrag, eventResize: state.eventResize }));
- if (savedScroll) {
- component.view.applyScroll(savedScroll, false);
- }
+ component.receiveProps(__assign({}, state, { viewSpec: viewSpec, dateProfileGenerator: this.dateProfileGenerators[viewType], dateProfile: state.dateProfile, eventStore: renderableEventStore, eventUiBases: eventUiBases, dateSelection: state.dateSelection, eventSelection: state.eventSelection, eventDrag: state.eventDrag, eventResize: state.eventResize }), this.buildComponentContext(this.theme, this.dateEnv, this.optionsManager.computed));
if (this.isViewUpdated) {
this.isViewUpdated = false;
this.publiclyTrigger('viewSkeletonRender', [
@@ -6903,98 +6859,60 @@ Docs & License: https://fullcalendar.io/
};
// Options
// -----------------------------------------------------------------------------------------------------------------
- /*
- Not meant for public API
- */
- Calendar.prototype.resetOptions = function (options) {
- var _this = this;
- var changeHandlers = this.pluginSystem.hooks.optionChangeHandlers;
- var oldOptions = this.optionsManager.overrides;
- var oldNormalOptions = {};
- var normalOptions = {};
- var specialOptions = {};
- for (var name_1 in oldOptions) {
- if (!changeHandlers[name_1]) {
- oldNormalOptions[name_1] = oldOptions[name_1];
- }
- }
- for (var name_2 in options) {
- if (changeHandlers[name_2]) {
- specialOptions[name_2] = options[name_2];
- }
- else {
- normalOptions[name_2] = options[name_2];
- }
- }
- this.batchRendering(function () {
- if (anyKeysRemoved(oldNormalOptions, normalOptions)) {
- _this.processOptions(options, 'reset');
- }
- else {
- _this.processOptions(computeChangedProps(oldNormalOptions, normalOptions));
- }
- // handle special options last
- for (var name_3 in specialOptions) {
- changeHandlers[name_3](specialOptions[name_3], _this);
- }
- });
+ Calendar.prototype.setOption = function (name, val) {
+ var _a;
+ this.mutateOptions((_a = {}, _a[name] = val, _a), [], true);
+ };
+ Calendar.prototype.getOption = function (name) {
+ return this.optionsManager.computed[name];
+ };
+ Calendar.prototype.opt = function (name) {
+ return this.optionsManager.computed[name];
+ };
+ Calendar.prototype.viewOpt = function (name) {
+ return this.viewOpts()[name];
+ };
+ Calendar.prototype.viewOpts = function () {
+ return this.viewSpecs[this.state.viewType].options;
};
/*
- Not meant for public API. Won't give the same precedence that setOption does
+ handles option changes (like a diff)
*/
- Calendar.prototype.setOptions = function (options) {
+ Calendar.prototype.mutateOptions = function (updates, removals, isDynamic, deepEqual) {
var _this = this;
var changeHandlers = this.pluginSystem.hooks.optionChangeHandlers;
- var normalOptions = {};
- var specialOptions = {};
- for (var name_4 in options) {
- if (changeHandlers[name_4]) {
- specialOptions[name_4] = options[name_4];
+ var normalUpdates = {};
+ var specialUpdates = {};
+ var oldDateEnv = this.dateEnv; // do this before handleOptions
+ var isTimeZoneDirty = false;
+ var isSizeDirty = false;
+ var anyDifficultOptions = Boolean(removals.length);
+ for (var name_1 in updates) {
+ if (changeHandlers[name_1]) {
+ specialUpdates[name_1] = updates[name_1];
}
else {
- normalOptions[name_4] = options[name_4];
+ normalUpdates[name_1] = updates[name_1];
}
}
- this.batchRendering(function () {
- _this.processOptions(normalOptions);
- // handle special options last
- for (var name_5 in specialOptions) {
- changeHandlers[name_5](specialOptions[name_5], _this);
- }
- });
- };
- Calendar.prototype.processOptions = function (options, mode) {
- var _this = this;
- var oldDateEnv = this.dateEnv; // do this before handleOptions
- var isTimeZoneDirty = false;
- var isSizeDirty = false;
- var anyDifficultOptions = false;
- for (var name_6 in options) {
- if (/^(height|contentHeight|aspectRatio)$/.test(name_6)) {
+ for (var name_2 in normalUpdates) {
+ if (/^(height|contentHeight|aspectRatio)$/.test(name_2)) {
isSizeDirty = true;
}
- else if (/^(defaultDate|defaultView)$/.test(name_6)) ;
+ else if (/^(defaultDate|defaultView)$/.test(name_2)) ;
else {
anyDifficultOptions = true;
- if (name_6 === 'timeZone') {
+ if (name_2 === 'timeZone') {
isTimeZoneDirty = true;
}
}
}
- if (mode === 'reset') {
- anyDifficultOptions = true;
- this.optionsManager.reset(options);
- }
- else if (mode === 'dynamic') {
- this.optionsManager.addDynamic(options); // takes higher precedence
- }
- else {
- this.optionsManager.add(options);
- }
+ this.optionsManager.mutate(normalUpdates, removals, isDynamic);
if (anyDifficultOptions) {
- this.handleOptions(this.optionsManager.computed); // only for "difficult" options
- this.needsFullRerender = true;
- this.batchRendering(function () {
+ this.handleOptions(this.optionsManager.computed);
+ }
+ this.batchRendering(function () {
+ if (anyDifficultOptions) {
if (isTimeZoneDirty) {
_this.dispatch({
type: 'CHANGE_TIMEZONE',
@@ -7002,34 +6920,24 @@ Docs & License: https://fullcalendar.io/
});
}
/* HACK
- has the same effect as calling this.requestRerender(true)
+ has the same effect as calling this.requestRerender()
but recomputes the state's dateProfile
*/
_this.dispatch({
type: 'SET_VIEW_TYPE',
viewType: _this.state.viewType
});
- });
- }
- if (isSizeDirty) {
- this.updateSize();
- }
- };
- Calendar.prototype.setOption = function (name, val) {
- var _a;
- this.processOptions((_a = {}, _a[name] = val, _a), 'dynamic');
- };
- Calendar.prototype.getOption = function (name) {
- return this.optionsManager.computed[name];
- };
- Calendar.prototype.opt = function (name) {
- return this.optionsManager.computed[name];
- };
- Calendar.prototype.viewOpt = function (name) {
- return this.viewOpts()[name];
- };
- Calendar.prototype.viewOpts = function () {
- return this.viewSpecs[this.state.viewType].options;
+ }
+ else if (isSizeDirty) {
+ _this.updateSize();
+ }
+ // special updates
+ if (deepEqual) {
+ for (var name_3 in specialUpdates) {
+ changeHandlers[name_3](specialUpdates[name_3], _this, deepEqual);
+ }
+ }
+ });
};
/*
rebuilds things based off of a complete set of refined options
@@ -7084,10 +6992,10 @@ Docs & License: https://fullcalendar.io/
};
Calendar.prototype.releaseAfterSizingTriggers = function () {
var afterSizingTriggers = this.afterSizingTriggers;
- for (var name_7 in afterSizingTriggers) {
- for (var _i = 0, _a = afterSizingTriggers[name_7]; _i < _a.length; _i++) {
+ for (var name_4 in afterSizingTriggers) {
+ for (var _i = 0, _a = afterSizingTriggers[name_4]; _i < _a.length; _i++) {
var args = _a[_i];
- this.publiclyTrigger(name_7, args);
+ this.publiclyTrigger(name_4, args);
}
}
this.afterSizingTriggers = {};
@@ -7102,7 +7010,7 @@ Docs & License: https://fullcalendar.io/
var dateMarker = null;
if (dateOrRange) {
if (dateOrRange.start && dateOrRange.end) { // a range
- this.optionsManager.addDynamic({ visibleRange: dateOrRange }); // will not rerender
+ this.optionsManager.mutate({ visibleRange: dateOrRange }, []); // will not rerender
this.handleOptions(this.optionsManager.computed); // ...but yuck
}
else { // a date
@@ -7142,11 +7050,17 @@ Docs & License: https://fullcalendar.io/
// Given a duration singular unit, like "week" or "day", finds a matching view spec.
// Preference is given to views that have corresponding buttons.
Calendar.prototype.getUnitViewSpec = function (unit) {
- var viewTypes;
+ var component = this.component;
+ var viewTypes = [];
var i;
var spec;
- // put views that have buttons first. there will be duplicates, but oh well
- viewTypes = this.component.header.viewsWithButtons; // TODO: include footer as well?
+ // put views that have buttons first. there will be duplicates, but oh
+ if (component.header) {
+ viewTypes.push.apply(viewTypes, component.header.viewsWithButtons);
+ }
+ if (component.footer) {
+ viewTypes.push.apply(viewTypes, component.footer.viewsWithButtons);
+ }
for (var viewType in this.viewSpecs) {
viewTypes.push(viewType);
}
@@ -7315,9 +7229,7 @@ Docs & License: https://fullcalendar.io/
}
};
Calendar.prototype.triggerDateSelect = function (selection, pev) {
- var arg = this.buildDateSpanApi(selection);
- arg.jsEvent = pev ? pev.origEvent : null;
- arg.view = this.view;
+ var arg = __assign({}, this.buildDateSpanApi(selection), { jsEvent: pev ? pev.origEvent : null, view: this.view });
this.publiclyTrigger('select', [arg]);
};
Calendar.prototype.triggerDateUnselect = function (pev) {
@@ -7330,10 +7242,8 @@ Docs & License: https://fullcalendar.io/
};
// TODO: receive pev?
Calendar.prototype.triggerDateClick = function (dateSpan, dayEl, view, ev) {
- var arg = this.buildDatePointApi(dateSpan);
- arg.dayEl = dayEl;
- arg.jsEvent = ev;
- arg.view = view;
+ var arg = __assign({}, this.buildDatePointApi(dateSpan), { dayEl: dayEl, jsEvent: ev, // Is this always a mouse event? See #4655
+ view: view });
this.publiclyTrigger('dateClick', [arg]);
};
Calendar.prototype.buildDatePointApi = function (dateSpan) {
@@ -7503,11 +7413,22 @@ Docs & License: https://fullcalendar.io/
Calendar.prototype.refetchEvents = function () {
this.dispatch({ type: 'FETCH_EVENT_SOURCES' });
};
+ // Scroll
+ // -----------------------------------------------------------------------------------------------------------------
+ Calendar.prototype.scrollToTime = function (timeInput) {
+ var duration = createDuration(timeInput);
+ if (duration) {
+ this.component.view.scrollToDuration(duration);
+ }
+ };
return Calendar;
}());
EmitterMixin.mixInto(Calendar);
// for memoizers
// -----------------------------------------------------------------------------------------------------------------
+ function buildComponentContext$1(theme, dateEnv, options) {
+ return new ComponentContext(this, theme, dateEnv, options, null);
+ }
function buildDateEnv(locale, timeZone, namedTimeZoneImpl, firstDay, weekNumberCalculation, weekLabel, cmdFormatter) {
return new DateEnv({
calendarSystem: 'gregory',
@@ -7549,9 +7470,8 @@ Docs & License: https://fullcalendar.io/
var View = /** @class */ (function (_super) {
__extends(View, _super);
- function View(context, viewSpec, dateProfileGenerator, parentEl) {
- var _this = _super.call(this, context, createElement('div', { className: 'fc-view fc-' + viewSpec.type + '-view' }), true // isView (HACK)
- ) || this;
+ function View(viewSpec, parentEl) {
+ var _this = _super.call(this, createElement('div', { className: 'fc-view fc-' + viewSpec.type + '-view' })) || this;
_this.renderDatesMem = memoizeRendering(_this.renderDatesWrap, _this.unrenderDatesWrap);
_this.renderBusinessHoursMem = memoizeRendering(_this.renderBusinessHours, _this.unrenderBusinessHours, [_this.renderDatesMem]);
_this.renderDateSelectionMem = memoizeRendering(_this.renderDateSelectionWrap, _this.unrenderDateSelectionWrap, [_this.renderDatesMem]);
@@ -7560,10 +7480,7 @@ Docs & License: https://fullcalendar.io/
_this.renderEventDragMem = memoizeRendering(_this.renderEventDragWrap, _this.unrenderEventDragWrap, [_this.renderDatesMem]);
_this.renderEventResizeMem = memoizeRendering(_this.renderEventResizeWrap, _this.unrenderEventResizeWrap, [_this.renderDatesMem]);
_this.viewSpec = viewSpec;
- _this.dateProfileGenerator = dateProfileGenerator;
_this.type = viewSpec.type;
- _this.eventOrderSpecs = parseFieldSpecs(_this.opt('eventOrder'));
- _this.nextDayThreshold = createDuration(_this.opt('nextDayThreshold'));
parentEl.appendChild(_this.el);
_this.initialize();
return _this;
@@ -7574,35 +7491,35 @@ Docs & License: https://fullcalendar.io/
// Date Setting/Unsetting
// -----------------------------------------------------------------------------------------------------------------
get: function () {
- return this.dateEnv.toDate(this.props.dateProfile.activeRange.start);
+ return this.context.dateEnv.toDate(this.props.dateProfile.activeRange.start);
},
enumerable: true,
configurable: true
});
Object.defineProperty(View.prototype, "activeEnd", {
get: function () {
- return this.dateEnv.toDate(this.props.dateProfile.activeRange.end);
+ return this.context.dateEnv.toDate(this.props.dateProfile.activeRange.end);
},
enumerable: true,
configurable: true
});
Object.defineProperty(View.prototype, "currentStart", {
get: function () {
- return this.dateEnv.toDate(this.props.dateProfile.currentRange.start);
+ return this.context.dateEnv.toDate(this.props.dateProfile.currentRange.start);
},
enumerable: true,
configurable: true
});
Object.defineProperty(View.prototype, "currentEnd", {
get: function () {
- return this.dateEnv.toDate(this.props.dateProfile.currentRange.end);
+ return this.context.dateEnv.toDate(this.props.dateProfile.currentRange.end);
},
enumerable: true,
configurable: true
});
// General Rendering
// -----------------------------------------------------------------------------------------------------------------
- View.prototype.render = function (props) {
+ View.prototype.render = function (props, context) {
this.renderDatesMem(props.dateProfile);
this.renderBusinessHoursMem(props.businessHours);
this.renderDateSelectionMem(props.dateSelection);
@@ -7611,6 +7528,9 @@ Docs & License: https://fullcalendar.io/
this.renderEventDragMem(props.eventDrag);
this.renderEventResizeMem(props.eventResize);
};
+ View.prototype.beforeUpdate = function () {
+ this.addScroll(this.queryScroll());
+ };
View.prototype.destroy = function () {
_super.prototype.destroy.call(this);
this.renderDatesMem.unrender(); // should unrender everything else
@@ -7618,12 +7538,19 @@ Docs & License: https://fullcalendar.io/
// Sizing
// -----------------------------------------------------------------------------------------------------------------
View.prototype.updateSize = function (isResize, viewHeight, isAuto) {
- var calendar = this.calendar;
- if (isResize || calendar.isViewUpdated || calendar.isDatesUpdated || calendar.isEventsUpdated) {
+ var calendar = this.context.calendar;
+ if (isResize) {
+ this.addScroll(this.queryScroll()); // NOTE: same code as in beforeUpdate
+ }
+ if (isResize || // HACKS...
+ calendar.isViewUpdated ||
+ calendar.isDatesUpdated ||
+ calendar.isEventsUpdated) {
// sort of the catch-all sizing
// anything that might cause dimension changes
this.updateBaseSize(isResize, viewHeight, isAuto);
}
+ // NOTE: popScroll is called by CalendarComponent
};
View.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {
};
@@ -7631,8 +7558,9 @@ Docs & License: https://fullcalendar.io/
// -----------------------------------------------------------------------------------------------------------------
View.prototype.renderDatesWrap = function (dateProfile) {
this.renderDates(dateProfile);
- this.addScroll({ isDateInit: true });
- this.startNowIndicator(dateProfile); // shouldn't render yet because updateSize will be called soon
+ this.addScroll({
+ duration: createDuration(this.context.options.scrollTime)
+ });
};
View.prototype.unrenderDatesWrap = function () {
this.stopNowIndicator();
@@ -7665,7 +7593,7 @@ Docs & License: https://fullcalendar.io/
// util for subclasses
View.prototype.sliceEvents = function (eventStore, allDay) {
var props = this.props;
- return sliceEventStore(eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? this.nextDayThreshold : null).fg;
+ return sliceEventStore(eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? this.context.nextDayThreshold : null).fg;
};
// Event Selection
// -----------------------------------------------------------------------------------------------------------------
@@ -7714,17 +7642,18 @@ Docs & License: https://fullcalendar.io/
// Immediately render the current time indicator and begins re-rendering it at an interval,
// which is defined by this.getNowIndicatorUnit().
// TODO: somehow do this for the current whole day's background too
- View.prototype.startNowIndicator = function (dateProfile) {
+ // USAGE: must be called manually from subclasses' render methods! don't need to call stopNowIndicator tho
+ View.prototype.startNowIndicator = function (dateProfile, dateProfileGenerator) {
var _this = this;
- var dateEnv = this.dateEnv;
+ var _a = this.context, calendar = _a.calendar, dateEnv = _a.dateEnv, options = _a.options;
var unit;
var update;
var delay; // ms wait value
- if (this.opt('nowIndicator')) {
- unit = this.getNowIndicatorUnit(dateProfile);
+ if (options.nowIndicator && !this.initialNowDate) {
+ unit = this.getNowIndicatorUnit(dateProfile, dateProfileGenerator);
if (unit) {
update = this.updateNowIndicator.bind(this);
- this.initialNowDate = this.calendar.getNow();
+ this.initialNowDate = calendar.getNow();
this.initialNowQueriedMs = new Date().valueOf();
// wait until the beginning of the next interval
delay = dateEnv.add(dateEnv.startOf(this.initialNowDate, unit), createDuration(1, unit)).valueOf() - this.initialNowDate.valueOf();
@@ -7758,20 +7687,20 @@ Docs & License: https://fullcalendar.io/
// Immediately unrenders the view's current time indicator and stops any re-rendering timers.
// Won't cause side effects if indicator isn't rendered.
View.prototype.stopNowIndicator = function () {
+ if (this.nowIndicatorTimeoutID) {
+ clearTimeout(this.nowIndicatorTimeoutID);
+ this.nowIndicatorTimeoutID = null;
+ }
+ if (this.nowIndicatorIntervalID) {
+ clearInterval(this.nowIndicatorIntervalID);
+ this.nowIndicatorIntervalID = null;
+ }
if (this.isNowIndicatorRendered) {
- if (this.nowIndicatorTimeoutID) {
- clearTimeout(this.nowIndicatorTimeoutID);
- this.nowIndicatorTimeoutID = null;
- }
- if (this.nowIndicatorIntervalID) {
- clearInterval(this.nowIndicatorIntervalID);
- this.nowIndicatorIntervalID = null;
- }
this.unrenderNowIndicator();
this.isNowIndicatorRendered = false;
}
};
- View.prototype.getNowIndicatorUnit = function (dateProfile) {
+ View.prototype.getNowIndicatorUnit = function (dateProfile, dateProfileGenerator) {
// subclasses should implement
};
// Renders a current time indicator at the given datetime
@@ -7784,16 +7713,20 @@ Docs & License: https://fullcalendar.io/
};
/* Scroller
------------------------------------------------------------------------------------------------------------------*/
- View.prototype.addScroll = function (scroll) {
- var queuedScroll = this.queuedScroll || (this.queuedScroll = {});
- __assign(queuedScroll, scroll);
+ View.prototype.addScroll = function (scroll, isForced) {
+ if (isForced) {
+ scroll.isForced = isForced;
+ }
+ __assign(this.queuedScroll || (this.queuedScroll = {}), scroll);
};
View.prototype.popScroll = function (isResize) {
this.applyQueuedScroll(isResize);
this.queuedScroll = null;
};
View.prototype.applyQueuedScroll = function (isResize) {
- this.applyScroll(this.queuedScroll || {}, isResize);
+ if (this.queuedScroll) {
+ this.applyScroll(this.queuedScroll, isResize);
+ }
};
View.prototype.queryScroll = function () {
var scroll = {};
@@ -7803,17 +7736,18 @@ Docs & License: https://fullcalendar.io/
return scroll;
};
View.prototype.applyScroll = function (scroll, isResize) {
- if (scroll.isDateInit) {
- delete scroll.isDateInit;
+ var duration = scroll.duration, isForced = scroll.isForced;
+ if (duration != null && !isForced) {
+ delete scroll.duration;
if (this.props.dateProfile) { // dates rendered yet?
- __assign(scroll, this.computeInitialDateScroll());
+ __assign(scroll, this.computeDateScroll(duration));
}
}
if (this.props.dateProfile) { // dates rendered yet?
this.applyDateScroll(scroll);
}
};
- View.prototype.computeInitialDateScroll = function () {
+ View.prototype.computeDateScroll = function (duration) {
return {}; // subclasses must implement
};
View.prototype.queryDateScroll = function () {
@@ -7822,6 +7756,10 @@ Docs & License: https://fullcalendar.io/
View.prototype.applyDateScroll = function (scroll) {
// subclasses must implement
};
+ // for API
+ View.prototype.scrollToDuration = function (duration) {
+ this.applyScroll({ duration: duration }, false);
+ };
return View;
}(DateComponent));
EmitterMixin.mixInto(View);
@@ -7829,12 +7767,12 @@ Docs & License: https://fullcalendar.io/
View.prototype.dateProfileGeneratorClass = DateProfileGenerator;
var FgEventRenderer = /** @class */ (function () {
- function FgEventRenderer(context) {
+ function FgEventRenderer() {
this.segs = [];
this.isSizeDirty = false;
- this.context = context;
}
- FgEventRenderer.prototype.renderSegs = function (segs, mirrorInfo) {
+ FgEventRenderer.prototype.renderSegs = function (context, segs, mirrorInfo) {
+ this.context = context;
this.rangeUpdated(); // called too frequently :(
// render an `.el` on each seg
// returns a subset of the segs. segs that were actually rendered
@@ -7842,10 +7780,10 @@ Docs & License: https://fullcalendar.io/
this.segs = segs;
this.attachSegs(segs, mirrorInfo);
this.isSizeDirty = true;
- this.context.view.triggerRenderedSegs(this.segs, Boolean(mirrorInfo));
+ triggerRenderedSegs(this.context, this.segs, Boolean(mirrorInfo));
};
- FgEventRenderer.prototype.unrender = function (_segs, mirrorInfo) {
- this.context.view.triggerWillRemoveSegs(this.segs, Boolean(mirrorInfo));
+ FgEventRenderer.prototype.unrender = function (context, _segs, mirrorInfo) {
+ triggerWillRemoveSegs(this.context, this.segs, Boolean(mirrorInfo));
this.detachSegs(this.segs);
this.segs = [];
};
@@ -7884,7 +7822,7 @@ Docs & License: https://fullcalendar.io/
seg.el = el;
}
});
- segs = filterSegsViaEls(this.context.view, segs, Boolean(mirrorInfo));
+ segs = filterSegsViaEls(this.context, segs, Boolean(mirrorInfo));
}
return segs;
};
@@ -7966,7 +7904,7 @@ Docs & License: https://fullcalendar.io/
};
};
FgEventRenderer.prototype.sortEventSegs = function (segs) {
- var specs = this.context.view.eventOrderSpecs;
+ var specs = this.context.eventOrderSpecs;
var objs = segs.map(buildSegCompareObj);
objs.sort(function (obj0, obj1) {
return compareByFieldSpecs(obj0, obj1, specs);
@@ -8047,19 +7985,22 @@ Docs & License: https://fullcalendar.io/
});
}
+ /*
+ TODO: when refactoring this class, make a new FillRenderer instance for each `type`
+ */
var FillRenderer = /** @class */ (function () {
- function FillRenderer(context) {
+ function FillRenderer() {
this.fillSegTag = 'div';
this.dirtySizeFlags = {};
- this.context = context;
this.containerElsByType = {};
this.segsByType = {};
}
FillRenderer.prototype.getSegsByType = function (type) {
return this.segsByType[type] || [];
};
- FillRenderer.prototype.renderSegs = function (type, segs) {
+ FillRenderer.prototype.renderSegs = function (type, context, segs) {
var _a;
+ this.context = context;
var renderedSegs = this.renderSegEls(type, segs); // assignes `.el` to each seg. returns successfully rendered segs
var containerEls = this.attachSegs(type, renderedSegs);
if (containerEls) {
@@ -8067,16 +8008,16 @@ Docs & License: https://fullcalendar.io/
}
this.segsByType[type] = renderedSegs;
if (type === 'bgEvent') {
- this.context.view.triggerRenderedSegs(renderedSegs, false); // isMirror=false
+ triggerRenderedSegs(context, renderedSegs, false); // isMirror=false
}
this.dirtySizeFlags[type] = true;
};
// Unrenders a specific type of fill that is currently rendered on the grid
- FillRenderer.prototype.unrender = function (type) {
+ FillRenderer.prototype.unrender = function (type, context) {
var segs = this.segsByType[type];
if (segs) {
if (type === 'bgEvent') {
- this.context.view.triggerWillRemoveSegs(segs, false); // isMirror=false
+ triggerWillRemoveSegs(context, segs, false); // isMirror=false
}
this.detachSegs(type, segs);
}
@@ -8101,7 +8042,7 @@ Docs & License: https://fullcalendar.io/
}
});
if (type === 'bgEvent') {
- segs = filterSegsViaEls(this.context.view, segs, false // isMirror. background events can never be mirror elements
+ segs = filterSegsViaEls(this.context, segs, false // isMirror. background events can never be mirror elements
);
}
// correct element type? (would be bad if a non-TD were inserted into a table for example)
@@ -8267,7 +8208,7 @@ Docs & License: https://fullcalendar.io/
}
}
function renderDateCell(dateMarker, dateProfile, datesRepDistinctDays, colCnt, colHeadFormat, context, colspan, otherAttrs) {
- var view = context.view, dateEnv = context.dateEnv, theme = context.theme, options = context.options;
+ var dateEnv = context.dateEnv, theme = context.theme, options = context.options;
var isDateValid = rangeContainsMarker(dateProfile.activeRange, dateMarker); // TODO: called too frequently. cache somehow.
var classNames = [
'fc-day-header',
@@ -8307,7 +8248,7 @@ Docs & License: https://fullcalendar.io/
'>' +
(isDateValid ?
// don't make a link if the heading could represent multiple days, or if there's only one day (forceOff)
- buildGotoAnchorHtml(view, { date: dateMarker, forceOff: !datesRepDistinctDays || colCnt === 1 }, innerHtml) :
+ buildGotoAnchorHtml(options, dateEnv, { date: dateMarker, forceOff: !datesRepDistinctDays || colCnt === 1 }, innerHtml) :
// if not valid, display text, but no link
innerHtml) +
'</th>';
@@ -8315,37 +8256,48 @@ Docs & License: https://fullcalendar.io/
var DayHeader = /** @class */ (function (_super) {
__extends(DayHeader, _super);
- function DayHeader(context, parentEl) {
- var _this = _super.call(this, context) || this;
- parentEl.innerHTML = ''; // because might be nbsp
- parentEl.appendChild(_this.el = htmlToElement('<div class="fc-row ' + _this.theme.getClass('headerRow') + '">' +
- '<table class="' + _this.theme.getClass('tableGrid') + '">' +
- '<thead></thead>' +
- '</table>' +
- '</div>'));
- _this.thead = _this.el.querySelector('thead');
+ function DayHeader(parentEl) {
+ var _this = _super.call(this) || this;
+ _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
+ _this.parentEl = parentEl;
return _this;
}
- DayHeader.prototype.destroy = function () {
- removeElement(this.el);
- };
- DayHeader.prototype.render = function (props) {
+ DayHeader.prototype.render = function (props, context) {
var dates = props.dates, datesRepDistinctDays = props.datesRepDistinctDays;
var parts = [];
+ this.renderSkeleton(context);
if (props.renderIntroHtml) {
parts.push(props.renderIntroHtml());
}
- var colHeadFormat = createFormatter(this.opt('columnHeaderFormat') ||
+ var colHeadFormat = createFormatter(context.options.columnHeaderFormat ||
computeFallbackHeaderFormat(datesRepDistinctDays, dates.length));
for (var _i = 0, dates_1 = dates; _i < dates_1.length; _i++) {
var date = dates_1[_i];
- parts.push(renderDateCell(date, props.dateProfile, datesRepDistinctDays, dates.length, colHeadFormat, this.context));
+ parts.push(renderDateCell(date, props.dateProfile, datesRepDistinctDays, dates.length, colHeadFormat, context));
}
- if (this.isRtl) {
+ if (context.isRtl) {
parts.reverse();
}
this.thead.innerHTML = '<tr>' + parts.join('') + '</tr>';
};
+ DayHeader.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderSkeleton.unrender();
+ };
+ DayHeader.prototype._renderSkeleton = function (context) {
+ var theme = context.theme;
+ var parentEl = this.parentEl;
+ parentEl.innerHTML = ''; // because might be nbsp
+ parentEl.appendChild(this.el = htmlToElement('<div class="fc-row ' + theme.getClass('headerRow') + '">' +
+ '<table class="' + theme.getClass('tableGrid') + '">' +
+ '<thead></thead>' +
+ '</table>' +
+ '</div>'));
+ this.thead = this.el.querySelector('thead');
+ };
+ DayHeader.prototype._unrenderSkeleton = function () {
+ removeElement(this.el);
+ };
return DayHeader;
}(Component));
@@ -8494,16 +8446,16 @@ Docs & License: https://fullcalendar.io/
this.sliceEventDrag = memoize(this._sliceInteraction);
this.sliceEventResize = memoize(this._sliceInteraction);
}
- Slicer.prototype.sliceProps = function (props, dateProfile, nextDayThreshold, component) {
+ Slicer.prototype.sliceProps = function (props, dateProfile, nextDayThreshold, calendar, component) {
var extraArgs = [];
- for (var _i = 4; _i < arguments.length; _i++) {
- extraArgs[_i - 4] = arguments[_i];
+ for (var _i = 5; _i < arguments.length; _i++) {
+ extraArgs[_i - 5] = arguments[_i];
}
var eventUiBases = props.eventUiBases;
var eventSegs = this.sliceEventStore.apply(this, [props.eventStore, eventUiBases, dateProfile, nextDayThreshold, component].concat(extraArgs));
return {
dateSelectionSegs: this.sliceDateSelection.apply(this, [props.dateSelection, eventUiBases, component].concat(extraArgs)),
- businessHourSegs: this.sliceBusinessHours.apply(this, [props.businessHours, dateProfile, nextDayThreshold, component].concat(extraArgs)),
+ businessHourSegs: this.sliceBusinessHours.apply(this, [props.businessHours, dateProfile, nextDayThreshold, calendar, component].concat(extraArgs)),
fgEventSegs: eventSegs.fg,
bgEventSegs: eventSegs.bg,
eventDrag: this.sliceEventDrag.apply(this, [props.eventDrag, eventUiBases, dateProfile, nextDayThreshold, component].concat(extraArgs)),
@@ -8521,15 +8473,15 @@ Docs & License: https://fullcalendar.io/
{},
component].concat(extraArgs));
};
- Slicer.prototype._sliceBusinessHours = function (businessHours, dateProfile, nextDayThreshold, component) {
+ Slicer.prototype._sliceBusinessHours = function (businessHours, dateProfile, nextDayThreshold, calendar, component) {
var extraArgs = [];
- for (var _i = 4; _i < arguments.length; _i++) {
- extraArgs[_i - 4] = arguments[_i];
+ for (var _i = 5; _i < arguments.length; _i++) {
+ extraArgs[_i - 5] = arguments[_i];
}
if (!businessHours) {
return [];
}
- return this._sliceEventStore.apply(this, [expandRecurring(businessHours, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), component.calendar),
+ return this._sliceEventStore.apply(this, [expandRecurring(businessHours, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), calendar),
{},
dateProfile,
nextDayThreshold,
@@ -8575,7 +8527,7 @@ Docs & License: https://fullcalendar.io/
if (!dateSpan) {
return [];
}
- var eventRange = fabricateEventRange(dateSpan, eventUiBases, component.calendar);
+ var eventRange = fabricateEventRange(dateSpan, eventUiBases, component.context.calendar);
var segs = this.sliceRange.apply(this, [dateSpan.range].concat(extraArgs));
for (var _a = 0, segs_1 = segs; _a < segs_1.length; _a++) {
var seg = segs_1[_a];
@@ -8631,10 +8583,11 @@ Docs & License: https://fullcalendar.io/
// exports
// --------------------------------------------------------------------------------------------------
- var version = '4.0.2';
+ var version = '4.4.2';
exports.Calendar = Calendar;
exports.Component = Component;
+ exports.ComponentContext = ComponentContext;
exports.DateComponent = DateComponent;
exports.DateEnv = DateEnv;
exports.DateProfileGenerator = DateProfileGenerator;
@@ -8682,6 +8635,9 @@ Docs & License: https://fullcalendar.io/
exports.compensateScroll = compensateScroll;
exports.computeClippingRect = computeClippingRect;
exports.computeEdges = computeEdges;
+ exports.computeEventDraggable = computeEventDraggable;
+ exports.computeEventEndResizable = computeEventEndResizable;
+ exports.computeEventStartResizable = computeEventStartResizable;
exports.computeFallbackHeaderFormat = computeFallbackHeaderFormat;
exports.computeHeightAndMargins = computeHeightAndMargins;
exports.computeInnerRect = computeInnerRect;
@@ -8719,7 +8675,6 @@ Docs & License: https://fullcalendar.io/
exports.formatDate = formatDate;
exports.formatIsoTimeString = formatIsoTimeString;
exports.formatRange = formatRange;
- exports.freezeRaw = freezeRaw;
exports.getAllDayHtml = getAllDayHtml;
exports.getClippingParents = getClippingParents;
exports.getDayClasses = getDayClasses;
@@ -8741,11 +8696,10 @@ Docs & License: https://fullcalendar.io/
exports.isInt = isInt;
exports.isInteractionValid = isInteractionValid;
exports.isMultiDayRange = isMultiDayRange;
- exports.isObjectsSimilar = isObjectsSimilar;
+ exports.isPropsEqual = isPropsEqual;
exports.isPropsValid = isPropsValid;
exports.isSingleDay = isSingleDay;
exports.isValidDate = isValidDate;
- exports.isValuesSimilar = isValuesSimilar;
exports.listenBySelector = listenBySelector;
exports.mapHash = mapHash;
exports.matchCellWidths = matchCellWidths;
diff --git a/library/fullcalendar/packages/core/main.min.css b/library/fullcalendar/packages/core/main.min.css
index 3ac6b3e2f..8948b534b 100644
--- a/library/fullcalendar/packages/core/main.min.css
+++ b/library/fullcalendar/packages/core/main.min.css
@@ -1,5 +1 @@
-/*!
-FullCalendar Core Package v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/.fc-button:not(:disabled),.fc-event.fc-draggable,.fc-event[href],.fc-popover .fc-header .fc-close,a.fc-more,a[data-goto]{cursor:pointer}.fc-bg,.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-highlight{background:#bce8f1;opacity:.3}.fc-bgevent{background:#8fdf82;opacity:.3}.fc-nonbusiness{background:#d7d7d7}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:2px 4px}.fc-rtl .fc-popover .fc-header{flex-direction:row-reverse}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{opacity:.65;font-size:1.1em}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg table,.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-bg,.fc-bgevent-skeleton,.fc-highlight-skeleton,.fc-mirror-skeleton{position:absolute;top:0;left:0;right:0}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-mirror-skeleton{z-index:5}.fc .fc-row .fc-content-skeleton table,.fc .fc-row .fc-content-skeleton td,.fc .fc-row .fc-mirror-skeleton td{background:0 0;border-color:transparent}.fc-row .fc-content-skeleton td,.fc-row .fc-mirror-skeleton td{border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-mirror-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.4;border-radius:3px;border:1px solid #3788d8}.fc-event,.fc-event-dot{background-color:#3788d8}.fc-event,.fc-event:hover{color:#fff;text-decoration:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4;display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-event.fc-dragging.fc-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event.fc-dragging:not(.fc-selected){opacity:.75}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-mirror-skeleton tr:first-child>td>.fc-day-grid-event{margin-top:0}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-button,.fc-icon{display:inline-block;font-weight:400;text-align:center}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed td.fc-today{background:#fcf8e3}.fc-unthemed .fc-disabled-day{background:#d7d7d7;opacity:.3}@font-face{font-family:fcicons;src:url("data:application/x-font-ttf;charset=utf-8;base64,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") format("truetype");font-weight:400;font-style:normal}.fc-icon{font-family:fcicons!important;speak:none;font-style:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em}.fc-icon-chevron-left:before{content:"\e900"}.fc-icon-chevron-right:before{content:"\e901"}.fc-icon-chevrons-left:before{content:"\e902"}.fc-icon-chevrons-right:before{content:"\e903"}.fc-icon-minus-square:before{content:"\e904"}.fc-icon-plus-square:before{content:"\e905"}.fc-icon-x:before{content:"\e906"}.fc-button{overflow:visible;text-transform:none;margin:0;font-family:inherit}.fc-button::-moz-focus-inner{padding:0;border-style:none}.fc-button{-webkit-appearance:button;color:#212529;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:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc-button:hover{color:#212529;text-decoration:none}.fc-button:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(44,62,80,.25);box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc-button:disabled{opacity:.65}.fc-button-primary{color:#fff;background-color:#2C3E50;border-color:#2C3E50}.fc-button-primary:hover{color:#fff;background-color:#1e2b37;border-color:#1a252f}.fc-button-primary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(76,91,106,.5);box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button-primary:disabled{color:#fff;background-color:#2C3E50;border-color:#2C3E50}.fc-button-primary:not(:disabled).fc-button-active,.fc-button-primary:not(:disabled):active{color:#fff;background-color:#1a252f;border-color:#151e27}.fc-button-primary:not(:disabled).fc-button-active:focus,.fc-button-primary:not(:disabled):active:focus{-webkit-box-shadow:0 0 0 .2rem rgba(76,91,106,.5);box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc-button-group{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.fc-button-group>.fc-button{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.fc-button-group>.fc-button.fc-button-active,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button:focus,.fc-button-group>.fc-button:hover{z-index:1}.fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-list-item:hover td{background-color:#f5f5f5}.fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-toolbar h2{font-size:1.75em;margin:0}.fc-view-container{position:relative}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}@media print{.fc-bg,.fc-bgevent-container,.fc-bgevent-skeleton,.fc-business-container,.fc-event .fc-resizer,.fc-highlight-container,.fc-highlight-skeleton,.fc-mirror-container,.fc-mirror-skeleton{display:none}.fc tbody .fc-row,.fc-time-grid{min-height:0!important}.fc-time-grid .fc-event.fc-not-end:after,.fc-time-grid .fc-event.fc-not-start:before{content:"..."}.fc{max-width:100%!important}.fc-event{background:#fff!important;color:#000!important;page-break-inside:avoid}.fc hr,.fc tbody,.fc td,.fc th,.fc thead,.fc-row{border-color:#ccc!important;background:#fff!important}.fc tbody .fc-row{height:auto!important}.fc tbody .fc-row .fc-content-skeleton{position:static;padding-bottom:0!important}.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td{padding-bottom:1em}.fc tbody .fc-row .fc-content-skeleton table{height:1em}.fc-more,.fc-more-cell{display:none!important}.fc tr.fc-limited{display:table-row!important}.fc td.fc-limited{display:table-cell!important}.fc-popover,.fc-timeGrid-view .fc-axis{display:none}.fc-slats,.fc-time-grid hr{display:none!important}.fc button,.fc-button-group,.fc-time-grid .fc-event .fc-time span{display:none}.fc-time-grid .fc-content-skeleton{position:static}.fc-time-grid .fc-content-skeleton table{height:4em}.fc-time-grid .fc-event-container{margin:0!important}.fc-time-grid .fc-event{position:static!important;margin:3px 2px!important}.fc-time-grid .fc-event.fc-not-end{border-bottom-width:1px!important}.fc-time-grid .fc-event.fc-not-start{border-top-width:1px!important}.fc-time-grid .fc-event .fc-time{white-space:normal!important}.fc-time-grid .fc-event .fc-time:after{content:attr(data-full)}.fc-day-grid-container,.fc-scroller,.fc-time-grid-container{overflow:visible!important;height:auto!important}.fc-row{border:0!important;margin:0!important}} \ No newline at end of file
+@charset "UTF-8";.fc-button:not(:disabled),.fc-event.fc-draggable,.fc-event[href],.fc-popover .fc-header .fc-close,a.fc-more,a[data-goto]{cursor:pointer}.fc-bg,.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-highlight{background:#bce8f1;opacity:.3}.fc-bgevent{background:#8fdf82;opacity:.3}.fc-nonbusiness{background:#d7d7d7}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:2px 4px}.fc-rtl .fc-popover .fc-header{flex-direction:row-reverse}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{opacity:.65;font-size:1.1em}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg table,.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-bg,.fc-bgevent-skeleton,.fc-highlight-skeleton,.fc-mirror-skeleton{position:absolute;top:0;left:0;right:0}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-mirror-skeleton{z-index:5}.fc .fc-row .fc-content-skeleton table,.fc .fc-row .fc-content-skeleton td,.fc .fc-row .fc-mirror-skeleton td{background:0 0;border-color:transparent}.fc-row .fc-content-skeleton td,.fc-row .fc-mirror-skeleton td{border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-mirror-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.4;border-radius:3px;border:1px solid #3788d8}.fc-event,.fc-event-dot{background-color:#3788d8}.fc-event,.fc-event:hover{color:#fff;text-decoration:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4;display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-event.fc-dragging.fc-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event.fc-dragging:not(.fc-selected){opacity:.75}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-mirror-skeleton tr:first-child>td>.fc-day-grid-event{margin-top:0}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-button,.fc-icon{display:inline-block;font-weight:400;text-align:center}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed td.fc-today{background:#fcf8e3}.fc-unthemed .fc-disabled-day{background:#d7d7d7;opacity:.3}@font-face{font-family:fcicons;src:url("data:application/x-font-ttf;charset=utf-8;base64,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") format("truetype");font-weight:400;font-style:normal}.fc-icon{font-family:fcicons!important;speak:none;font-style:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em}.fc-icon-chevron-left:before{content:""}.fc-icon-chevron-right:before{content:""}.fc-icon-chevrons-left:before{content:""}.fc-icon-chevrons-right:before{content:""}.fc-icon-minus-square:before{content:""}.fc-icon-plus-square:before{content:""}.fc-icon-x:before{content:""}.fc-button{overflow:visible;text-transform:none;margin:0;font-family:inherit}.fc-button::-moz-focus-inner{padding:0;border-style:none}.fc-button{-webkit-appearance:button;color:#212529;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:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc-button:hover{color:#212529;text-decoration:none}.fc-button:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(44,62,80,.25);box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc-button:disabled{opacity:.65}.fc-button-primary{color:#fff;background-color:#2C3E50;border-color:#2C3E50}.fc-button-primary:hover{color:#fff;background-color:#1e2b37;border-color:#1a252f}.fc-button-primary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(76,91,106,.5);box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button-primary:disabled{color:#fff;background-color:#2C3E50;border-color:#2C3E50}.fc-button-primary:not(:disabled).fc-button-active,.fc-button-primary:not(:disabled):active{color:#fff;background-color:#1a252f;border-color:#151e27}.fc-button-primary:not(:disabled).fc-button-active:focus,.fc-button-primary:not(:disabled):active:focus{-webkit-box-shadow:0 0 0 .2rem rgba(76,91,106,.5);box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc-button-group{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.fc-button-group>.fc-button{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.fc-button-group>.fc-button.fc-button-active,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button:focus,.fc-button-group>.fc-button:hover{z-index:1}.fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-list-item:hover td{background-color:#f5f5f5}.fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-toolbar h2{font-size:1.75em;margin:0}.fc-view-container{position:relative}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}@media print{.fc-bg,.fc-bgevent-container,.fc-bgevent-skeleton,.fc-business-container,.fc-event .fc-resizer,.fc-highlight-container,.fc-highlight-skeleton,.fc-mirror-container,.fc-mirror-skeleton{display:none}.fc tbody .fc-row,.fc-time-grid{min-height:0!important}.fc-time-grid .fc-event.fc-not-end:after,.fc-time-grid .fc-event.fc-not-start:before{content:"..."}.fc{max-width:100%!important}.fc-event{background:#fff!important;color:#000!important;page-break-inside:avoid}.fc hr,.fc tbody,.fc td,.fc th,.fc thead,.fc-row{border-color:#ccc!important;background:#fff!important}.fc tbody .fc-row{height:auto!important}.fc tbody .fc-row .fc-content-skeleton{position:static;padding-bottom:0!important}.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td{padding-bottom:1em}.fc tbody .fc-row .fc-content-skeleton table{height:1em}.fc-more,.fc-more-cell{display:none!important}.fc tr.fc-limited{display:table-row!important}.fc td.fc-limited{display:table-cell!important}.fc-popover,.fc-timeGrid-view .fc-axis{display:none}.fc-slats,.fc-time-grid hr{display:none!important}.fc button,.fc-button-group,.fc-time-grid .fc-event .fc-time span{display:none}.fc-time-grid .fc-content-skeleton{position:static}.fc-time-grid .fc-content-skeleton table{height:4em}.fc-time-grid .fc-event-container{margin:0!important}.fc-time-grid .fc-event{position:static!important;margin:3px 2px!important}.fc-time-grid .fc-event.fc-not-end{border-bottom-width:1px!important}.fc-time-grid .fc-event.fc-not-start{border-top-width:1px!important}.fc-time-grid .fc-event .fc-time{white-space:normal!important}.fc-time-grid .fc-event .fc-time:after{content:attr(data-full)}.fc-day-grid-container,.fc-scroller,.fc-time-grid-container{overflow:visible!important;height:auto!important}.fc-row{border:0!important;margin:0!important}} \ No newline at end of file
diff --git a/library/fullcalendar/packages/core/main.min.js b/library/fullcalendar/packages/core/main.min.js
index a961abf95..8745717dd 100644
--- a/library/fullcalendar/packages/core/main.min.js
+++ b/library/fullcalendar/packages/core/main.min.js
@@ -1,9 +1,6 @@
/*!
-FullCalendar Core Package v4.0.2
+FullCalendar Core Package v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):(e=e||self,t(e.FullCalendar={}))}(this,function(e){"use strict";function t(e,t,n){var r=document.createElement(e);if(t)for(var i in t)"style"===i?g(r,t[i]):mi[i]?r[i]=t[i]:r.setAttribute(i,t[i]);return"string"==typeof n?r.innerHTML=n:null!=n&&a(r,n),r}function n(e){e=e.trim();var t=document.createElement(o(e));return t.innerHTML=e,t.firstChild}function r(e){return Array.prototype.slice.call(i(e))}function i(e){e=e.trim();var t=document.createElement(o(e));return t.innerHTML=e,t.childNodes}function o(e){return Ei[e.substr(0,3)]||"div"}function a(e,t){for(var n=l(t),r=0;r<n.length;r++)e.appendChild(n[r])}function s(e,t){for(var n=l(t),r=e.firstChild||null,i=0;i<n.length;i++)e.insertBefore(n[i],r)}function u(e,t){for(var n=l(t),r=e.nextSibling||null,i=0;i<n.length;i++)e.parentNode.insertBefore(n[i],r)}function l(e){return"string"==typeof e?r(e):e instanceof Node?[e]:Array.prototype.slice.call(e)}function c(e){e.parentNode&&e.parentNode.removeChild(e)}function d(e,t){return Di.call(e,t)}function f(e,t){return Si.call(e,t)}function p(e,t){for(var n=e instanceof HTMLElement?[e]:e,r=[],i=0;i<n.length;i++)for(var o=n[i].querySelectorAll(t),a=0;a<o.length;a++)r.push(o[a]);return r}function h(e,t){for(var n=e instanceof HTMLElement?[e]:e,r=[],i=0;i<n.length;i++)for(var o=n[i].children,a=0;a<o.length;a++){var s=o[a];t&&!f(s,t)||r.push(s)}return r}function v(e,t,n){n?e.classList.add(t):e.classList.remove(t)}function g(e,t){for(var n in t)y(e,n,t[n])}function y(e,t,n){null==n?e.style[t]="":"number"==typeof n&&bi.test(t)?e.style[t]=n+"px":e.style[t]=n}function m(e,t){return e.left>=t.left&&e.left<t.right&&e.top>=t.top&&e.top<t.bottom}function E(e,t){var n={left:Math.max(e.left,t.left),right:Math.min(e.right,t.right),top:Math.max(e.top,t.top),bottom:Math.min(e.bottom,t.bottom)};return n.left<n.right&&n.top<n.bottom&&n}function S(e,t,n){return{left:e.left+t,right:e.right+t,top:e.top+n,bottom:e.bottom+n}}function D(e,t){return{left:Math.min(Math.max(e.left,t.left),t.right),top:Math.min(Math.max(e.top,t.top),t.bottom)}}function b(e){return{left:(e.left+e.right)/2,top:(e.top+e.bottom)/2}}function T(e,t){return{left:e.left-t.left,top:e.top-t.top}}function w(){return null===Ti&&(Ti=R()),Ti}function R(){var e=t("div",{style:{position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}},"<div></div>");document.body.appendChild(e);var n=e.firstChild,r=n.getBoundingClientRect().left>e.getBoundingClientRect().left;return c(e),r}function I(e){return e=Math.max(0,e),e=Math.round(e)}function C(e,t){void 0===t&&(t=!1);var n=window.getComputedStyle(e),r=parseInt(n.borderLeftWidth,10)||0,i=parseInt(n.borderRightWidth,10)||0,o=parseInt(n.borderTopWidth,10)||0,a=parseInt(n.borderBottomWidth,10)||0,s=I(e.offsetWidth-e.clientWidth-r-i),u=I(e.offsetHeight-e.clientHeight-o-a),l={borderLeft:r,borderRight:i,borderTop:o,borderBottom:a,scrollbarBottom:u,scrollbarLeft:0,scrollbarRight:0};return w()&&"rtl"===n.direction?l.scrollbarLeft=s:l.scrollbarRight=s,t&&(l.paddingLeft=parseInt(n.paddingLeft,10)||0,l.paddingRight=parseInt(n.paddingRight,10)||0,l.paddingTop=parseInt(n.paddingTop,10)||0,l.paddingBottom=parseInt(n.paddingBottom,10)||0),l}function M(e,t){void 0===t&&(t=!1);var n=k(e),r=C(e,t),i={left:n.left+r.borderLeft+r.scrollbarLeft,right:n.right-r.borderRight-r.scrollbarRight,top:n.top+r.borderTop,bottom:n.bottom-r.borderBottom-r.scrollbarBottom};return t&&(i.left+=r.paddingLeft,i.right-=r.paddingRight,i.top+=r.paddingTop,i.bottom-=r.paddingBottom),i}function k(e){var t=e.getBoundingClientRect();return{left:t.left+window.pageXOffset,top:t.top+window.pageYOffset,right:t.right+window.pageXOffset,bottom:t.bottom+window.pageYOffset}}function O(){return{left:window.pageXOffset,right:window.pageXOffset+document.documentElement.clientWidth,top:window.pageYOffset,bottom:window.pageYOffset+document.documentElement.clientHeight}}function _(e){var t=window.getComputedStyle(e);return e.getBoundingClientRect().height+parseInt(t.marginTop,10)+parseInt(t.marginBottom,10)}function P(e){for(var t=[];e instanceof HTMLElement;){var n=window.getComputedStyle(e);if("fixed"===n.position)break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&t.push(e),e=e.parentNode}return t}function H(e){return P(e).map(function(e){return M(e)}).concat(O()).reduce(function(e,t){return E(e,t)||t})}function x(e){e.preventDefault()}function N(e,t,n,r){function i(e){var t=d(e.target,n);t&&r.call(t,e,t)}return e.addEventListener(t,i),function(){e.removeEventListener(t,i)}}function z(e,t,n,r){var i;return N(e,"mouseover",t,function(e,t){if(t!==i){i=t,n(e,t);var o=function(e){i=null,r(e,t),t.removeEventListener("mouseleave",o)};t.addEventListener("mouseleave",o)}})}function U(e,t){var n=function(r){t(r),wi.forEach(function(t){e.removeEventListener(t,n)})};wi.forEach(function(t){e.addEventListener(t,n)})}function L(e,t){var n=ie(e);return n[2]+=7*t,oe(n)}function A(e,t){var n=ie(e);return n[2]+=t,oe(n)}function V(e,t){var n=ie(e);return n[6]+=t,oe(n)}function B(e,t){return F(e,t)/7}function F(e,t){return(t.valueOf()-e.valueOf())/864e5}function W(e,t){return(t.valueOf()-e.valueOf())/36e5}function Z(e,t){return(t.valueOf()-e.valueOf())/6e4}function j(e,t){return(t.valueOf()-e.valueOf())/1e3}function Y(e,t){var n=X(e),r=X(t);return{years:0,months:0,days:Math.round(F(n,r)),milliseconds:t.valueOf()-r.valueOf()-(e.valueOf()-n.valueOf())}}function q(e,t){var n=G(e,t);return null!==n&&n%7==0?n/7:null}function G(e,t){return se(e)===se(t)?Math.round(F(e,t)):null}function X(e){return oe([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()])}function J(e){return oe([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours()])}function K(e){return oe([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes()])}function Q(e){return oe([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds()])}function $(e,t,n){var r=e.getUTCFullYear(),i=ee(e,r,t,n);if(i<1)return ee(e,r-1,t,n);var o=ee(e,r+1,t,n);return o>=1?Math.min(i,o):i}function ee(e,t,n,r){var i=oe([t,0,1+te(t,n,r)]),o=X(e),a=Math.round(F(i,o));return Math.floor(a/7)+1}function te(e,t,n){var r=7+t-n;return-(7+oe([e,0,r]).getUTCDay()-t)%7+r-1}function ne(e){return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()]}function re(e){return new Date(e[0],e[1]||0,null==e[2]?1:e[2],e[3]||0,e[4]||0,e[5]||0)}function ie(e){return[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()]}function oe(e){return 1===e.length&&(e=e.concat([0])),new Date(Date.UTC.apply(Date,e))}function ae(e){return!isNaN(e.valueOf())}function se(e){return 1e3*e.getUTCHours()*60*60+1e3*e.getUTCMinutes()*60+1e3*e.getUTCSeconds()+e.getUTCMilliseconds()}function ue(e,t){var n;return"string"==typeof e?le(e):"object"==typeof e&&e?ce(e):"number"==typeof e?ce((n={},n[t||"milliseconds"]=e,n)):null}function le(e){var t=Ci.exec(e);if(t){var n=t[1]?-1:1;return{years:0,months:0,days:n*(t[2]?parseInt(t[2],10):0),milliseconds:n*(60*(t[3]?parseInt(t[3],10):0)*60*1e3+60*(t[4]?parseInt(t[4],10):0)*1e3+1e3*(t[5]?parseInt(t[5],10):0)+(t[6]?parseInt(t[6],10):0))}}return null}function ce(e){return{years:e.years||e.year||0,months:e.months||e.month||0,days:(e.days||e.day||0)+7*de(e),milliseconds:60*(e.hours||e.hour||0)*60*1e3+60*(e.minutes||e.minute||0)*1e3+1e3*(e.seconds||e.second||0)+(e.milliseconds||e.millisecond||e.ms||0)}}function de(e){return e.weeks||e.week||0}function fe(e,t){return e.years===t.years&&e.months===t.months&&e.days===t.days&&e.milliseconds===t.milliseconds}function pe(e){return 0===e.years&&0===e.months&&1===e.days&&0===e.milliseconds}function he(e,t){return{years:e.years+t.years,months:e.months+t.months,days:e.days+t.days,milliseconds:e.milliseconds+t.milliseconds}}function ve(e,t){return{years:e.years-t.years,months:e.months-t.months,days:e.days-t.days,milliseconds:e.milliseconds-t.milliseconds}}function ge(e,t){return{years:e.years*t,months:e.months*t,days:e.days*t,milliseconds:e.milliseconds*t}}function ye(e){return Ee(e)/365}function me(e){return Ee(e)/30}function Ee(e){return be(e)/864e5}function Se(e){return be(e)/6e4}function De(e){return be(e)/1e3}function be(e){return 31536e6*e.years+2592e6*e.months+864e5*e.days+e.milliseconds}function Te(e,t){for(var n=null,r=0;r<Ii.length;r++){var i=Ii[r];if(t[i]){var o=e[i]/t[i];if(!Ze(o)||null!==n&&n!==o)return null;n=o}else if(e[i])return null}return n}function we(e,t){var n=e.milliseconds;if(n){if(n%1e3!=0)return{unit:"millisecond",value:n};if(n%6e4!=0)return{unit:"second",value:n/1e3};if(n%36e5!=0)return{unit:"minute",value:n/6e4};if(n)return{unit:"hour",value:n/36e5}}return e.days?t||e.days%7!=0?{unit:"day",value:e.days}:{unit:"week",value:e.days/7}:e.months?{unit:"month",value:e.months}:e.years?{unit:"year",value:e.years}:{unit:"millisecond",value:0}}function Re(e,t){t.left&&g(e,{borderLeftWidth:1,marginLeft:t.left-1}),t.right&&g(e,{borderRightWidth:1,marginRight:t.right-1})}function Ie(e){g(e,{marginLeft:"",marginRight:"",borderLeftWidth:"",borderRightWidth:""})}function Ce(){document.body.classList.add("fc-not-allowed")}function Me(){document.body.classList.remove("fc-not-allowed")}function ke(e,t,n){var r=Math.floor(t/e.length),i=Math.floor(t-r*(e.length-1)),o=[],a=[],s=[],u=0;Oe(e),e.forEach(function(t,n){var l=n===e.length-1?i:r,c=_(t);c<l?(o.push(t),a.push(c),s.push(t.offsetHeight)):u+=c}),n&&(t-=u,r=Math.floor(t/o.length),i=Math.floor(t-r*(o.length-1))),o.forEach(function(e,t){var n=t===o.length-1?i:r,u=a[t],l=s[t],c=n-(u-l);u<n&&(e.style.height=c+"px")})}function Oe(e){e.forEach(function(e){e.style.height=""})}function _e(e){var t=0;return e.forEach(function(e){var n=e.firstChild;if(n instanceof HTMLElement){var r=n.offsetWidth;r>t&&(t=r)}}),t++,e.forEach(function(e){e.style.width=t+"px"}),t}function Pe(e,t){var n={position:"relative",left:-1};g(e,n),g(t,n);var r=e.offsetHeight-t.offsetHeight,i={position:"",left:""};return g(e,i),g(t,i),r}function He(e){e.classList.add("fc-unselectable"),e.addEventListener("selectstart",x)}function xe(e){e.classList.remove("fc-unselectable"),e.removeEventListener("selectstart",x)}function Ne(e){e.addEventListener("contextmenu",x)}function ze(e){e.removeEventListener("contextmenu",x)}function Ue(e){var t,n,r=[],i=[];for("string"==typeof e?i=e.split(/\s*,\s*/):"function"==typeof e?i=[e]:Array.isArray(e)&&(i=e),t=0;t<i.length;t++)n=i[t],"string"==typeof n?r.push("-"===n.charAt(0)?{field:n.substring(1),order:-1}:{field:n,order:1}):"function"==typeof n&&r.push({func:n});return r}function Le(e,t,n){var r,i;for(r=0;r<n.length;r++)if(i=Ae(e,t,n[r]))return i;return 0}function Ae(e,t,n){return n.func?n.func(e,t):Ve(e[n.field],t[n.field])*(n.order||1)}function Ve(e,t){return e||t?null==t?-1:null==e?1:"string"==typeof e||"string"==typeof t?String(e).localeCompare(String(t)):e-t:0}function Be(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Fe(e,t){var n=String(e);return"000".substr(0,t-n.length)+n}function We(e,t){return e-t}function Ze(e){return e%1==0}function je(e,t,n){if("function"==typeof e&&(e=[e]),e){var r=void 0,i=void 0;for(r=0;r<e.length;r++)i=e[r].apply(t,n)||i;return i}}function Ye(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=0;n<e.length;n++)if(void 0!==e[n])return e[n]}function qe(e,t){var n,r,i,o,a,s=function(){var u=(new Date).valueOf()-o;u<t?n=setTimeout(s,t-u):(n=null,a=e.apply(i,r),i=r=null)};return function(){return i=this,r=arguments,o=(new Date).valueOf(),n||(n=setTimeout(s,t)),a}}function Ge(e,t,n,r){void 0===n&&(n={});var i={};for(var o in t){var a=t[o];void 0!==e[o]?a===Function?i[o]="function"==typeof e[o]?e[o]:null:i[o]=a?a(e[o]):e[o]:void 0!==n[o]?i[o]=n[o]:a===String?i[o]="":a&&a!==Number&&a!==Boolean&&a!==Function?i[o]=a(null):i[o]=null}if(r)for(var o in e)void 0===t[o]&&(r[o]=e[o]);return i}function Xe(e){return Array.isArray(e)?Array.prototype.slice.call(e):e}function Je(e){var t=Math.floor(F(e.start,e.end))||1,n=X(e.start);return{start:n,end:A(n,t)}}function Ke(e,t){void 0===t&&(t=ue(0));var n=null,r=null;if(e.end){r=X(e.end);var i=e.end.valueOf()-r.valueOf();i&&i>=be(t)&&(r=A(r,1))}return e.start&&(n=X(e.start),r&&r<=n&&(r=A(n,1))),{start:n,end:r}}function Qe(e){var t=Ke(e);return F(t.start,t.end)>1}function $e(e,t,n,r){return"year"===r?ue(n.diffWholeYears(e,t),"year"):"month"===r?ue(n.diffWholeMonths(e,t),"month"):Y(e,t)}function et(e,t){function n(){this.constructor=e}Mi(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function tt(e,t,n,r,i){for(var o=0;o<r.length;o++){var a={},s=r[o].parse(e,a,n);if(s){var u=a.allDay;return delete a.allDay,null==u&&null==(u=t)&&null==(u=s.allDayGuess)&&(u=!1),ki(i,a),{allDay:u,duration:s.duration,typeData:s.typeData,typeId:o}}}return null}function nt(e,t,n,r){var i=r[e.recurringDef.typeId],o=i.expand(e.recurringDef.typeData,t,n);return e.allDay&&(o=o.map(X)),o}function rt(e,t){var n,r,i,o,a,s,u={};if(t)for(n=0;n<t.length;n++){for(r=t[n],i=[],o=e.length-1;o>=0;o--)if("object"==typeof(a=e[o][r])&&a)i.unshift(a);else if(void 0!==a){u[r]=a;break}i.length&&(u[r]=rt(i))}for(n=e.length-1;n>=0;n--){s=e[n];for(r in s)r in u||(u[r]=s[r])}return u}function it(e,t){var n={};for(var r in e)t(e[r],r)&&(n[r]=e[r]);return n}function ot(e,t){var n={};for(var r in e)n[r]=t(e[r],r);return n}function at(e){for(var t={},n=0,r=e;n<r.length;n++){t[r[n]]=!0}return t}function st(e){var t=[];for(var n in e)t.push(e[n]);return t}function ut(e,t,n,r){for(var i=vt(),o=0,a=e;o<a.length;o++){var s=a[o],u=On(s,t,n,r);u&&lt(u,i)}return i}function lt(e,t){return void 0===t&&(t=vt()),t.defs[e.def.defId]=e.def,e.instance&&(t.instances[e.instance.instanceId]=e.instance),t}function ct(e,t,n){var r=n.dateEnv,i=e.defs,o=e.instances;o=it(o,function(e){return!i[e.defId].recurringDef});for(var a in i){var s=i[a];if(s.recurringDef){var u=nt(s,t,n.dateEnv,n.pluginSystem.hooks.recurringTypes),l=s.recurringDef.duration;l||(l=s.allDay?n.defaultAllDayEventDuration:n.defaultTimedEventDuration);for(var c=0,d=u;c<d.length;c++){var f=d[c],p=Pn(a,{start:f,end:r.add(f,l)});o[p.instanceId]=p}}}return{defs:i,instances:o}}function dt(e,t){var n=e.instances[t];if(n){var r=e.defs[n.defId],i=yt(e,function(e){return ft(r,e)});return i.defs[r.defId]=r,i.instances[n.instanceId]=n,i}return vt()}function ft(e,t){return Boolean(e.groupId&&e.groupId===t.groupId)}function pt(e,t,n){var r=n.opt("eventDataTransform"),i=t?t.eventDataTransform:null;return i&&(e=ht(e,i)),r&&(e=ht(e,r)),e}function ht(e,t){var n;if(t){n=[];for(var r=0,i=e;r<i.length;r++){var o=i[r],a=t(o);a?n.push(a):null==a&&n.push(o)}}else n=e;return n}function vt(){return{defs:{},instances:{}}}function gt(e,t){return{defs:ki({},e.defs,t.defs),instances:ki({},e.instances,t.instances)}}function yt(e,t){var n=it(e.defs,t),r=it(e.instances,function(e){return n[e.defId]});return{defs:n,instances:r}}function mt(e,t){var n=null,r=null;return e.start&&(n=t.createMarker(e.start)),e.end&&(r=t.createMarker(e.end)),n||r?n&&r&&r<n?null:{start:n,end:r}:null}function Et(e,t){var n,r,i=[],o=t.start;for(e.sort(St),n=0;n<e.length;n++)r=e[n],r.start>o&&i.push({start:o,end:r.start}),r.end>o&&(o=r.end);return o<t.end&&i.push({start:o,end:t.end}),i}function St(e,t){return e.start.valueOf()-t.start.valueOf()}function Dt(e,t){var n=e.start,r=e.end,i=null;return null!==t.start&&(n=null===n?t.start:new Date(Math.max(n.valueOf(),t.start.valueOf()))),null!=t.end&&(r=null===r?t.end:new Date(Math.min(r.valueOf(),t.end.valueOf()))),(null===n||null===r||n<r)&&(i={start:n,end:r}),i}function bt(e,t){return(null===e.start?null:e.start.valueOf())===(null===t.start?null:t.start.valueOf())&&(null===e.end?null:e.end.valueOf())===(null===t.end?null:t.end.valueOf())}function Tt(e,t){return(null===e.end||null===t.start||e.end>t.start)&&(null===e.start||null===t.end||e.start<t.end)}function wt(e,t){return(null===e.start||null!==t.start&&t.start>=e.start)&&(null===e.end||null!==t.end&&t.end<=e.end)}function Rt(e,t){return(null===e.start||t>=e.start)&&(null===e.end||t<e.end)}function It(e,t){return null!=t.start&&e<t.start?t.start:null!=t.end&&e>=t.end?new Date(t.end.valueOf()-1):e}function Ct(e,t){for(var n=0,r=0;r<e.length;)e[r]===t?(e.splice(r,1),n++):r++;return n}function Mt(e,t){var n,r=e.length;if(r!==t.length)return!1;for(n=0;n<r;n++)if(e[n]!==t[n])return!1;return!0}function kt(e){var t,n;return function(){return t&&Mt(t,arguments)||(t=arguments,n=e.apply(this,arguments)),n}}function Ot(e,t){var n=null;return function(){var r=e.apply(this,arguments);return(null===n||n!==r&&!t(n,r))&&(n=r),n}}function _t(e,t,n){var r=Object.keys(e).length;return 1===r&&"short"===e.timeZoneName?function(e){return Wt(e.timeZoneOffset)}:0===r&&t.week?function(e){return zt(n.computeWeekNumber(e.marker),n.weekLabel,n.locale,t.week)}:Pt(e,t,n)}function Pt(e,t,n){e=ki({},e),t=ki({},t),Ht(e,t),e.timeZone="UTC";var r,i=new Intl.DateTimeFormat(n.locale.codes,e);if(t.omitZeroMinute){var o=ki({},e);delete o.minute,r=new Intl.DateTimeFormat(n.locale.codes,o)}return function(o){var a,s=o.marker;return a=r&&!s.getUTCMinutes()?r:i,xt(a.format(s),o,e,t,n)}}function Ht(e,t){e.timeZoneName&&(e.hour||(e.hour="2-digit"),e.minute||(e.minute="2-digit")),"long"===e.timeZoneName&&(e.timeZoneName="short"),t.omitZeroMinute&&(e.second||e.millisecond)&&delete t.omitZeroMinute}function xt(e,t,n,r,i){return e=e.replace(Ni,""),"short"===n.timeZoneName&&(e=Nt(e,"UTC"===i.timeZone||null==t.timeZoneOffset?"UTC":Wt(t.timeZoneOffset))),r.omitCommas&&(e=e.replace(Hi,"").trim()),r.omitZeroMinute&&(e=e.replace(":00","")),!1===r.meridiem?e=e.replace(Pi,"").trim():"narrow"===r.meridiem?e=e.replace(Pi,function(e,t){return t.toLocaleLowerCase()}):"short"===r.meridiem?e=e.replace(Pi,function(e,t){return t.toLocaleLowerCase()+"m"}):"lowercase"===r.meridiem&&(e=e.replace(Pi,function(e){return e.toLocaleLowerCase()})),e=e.replace(xi," "),e=e.trim()}function Nt(e,t){var n=!1;return e=e.replace(zi,function(){return n=!0,t}),n||(e+=" "+t),e}function zt(e,t,n,r){var i=[];return"narrow"===r?i.push(t):"short"===r&&i.push(t," "),i.push(n.simpleNumberFormat.format(e)),n.options.isRtl&&i.reverse(),i.join("")}function Ut(e,t,n){return n.getMarkerYear(e)!==n.getMarkerYear(t)?5:n.getMarkerMonth(e)!==n.getMarkerMonth(t)?4:n.getMarkerDay(e)!==n.getMarkerDay(t)?2:se(e)!==se(t)?1:0}function Lt(e,t){var n={};for(var r in e)r in _i&&!(_i[r]<=t)||(n[r]=e[r]);return n}function At(e,t,n,r){for(var i=0;i<e.length;){var o=e.indexOf(t,i);if(-1===o)break;var a=e.substr(0,o);i=o+t.length;for(var s=e.substr(i),u=0;u<n.length;){var l=n.indexOf(r,u);if(-1===l)break;var c=n.substr(0,l);u=l+r.length;var d=n.substr(u);if(a===c&&s===d)return{before:a,after:s}}}return null}function Vt(e,t){return"object"==typeof e&&e?("string"==typeof t&&(e=ki({separator:t},e)),new Ui(e)):"string"==typeof e?new Li(e,t):"function"==typeof e?new Ai(e):void 0}function Bt(e,t,n){void 0===n&&(n=!1);var r=e.toISOString();return r=r.replace(".000",""),n&&(r=r.replace("T00:00:00Z","")),r.length>10&&(null==t?r=r.replace("Z",""):0!==t&&(r=r.replace("Z",Wt(t,!0)))),r}function Ft(e){return Fe(e.getUTCHours(),2)+":"+Fe(e.getUTCMinutes(),2)+":"+Fe(e.getUTCSeconds(),2)}function Wt(e,t){void 0===t&&(t=!1);var n=e<0?"-":"+",r=Math.abs(e),i=Math.floor(r/60),o=Math.round(r%60);return t?n+Fe(i,2)+":"+Fe(o,2):"GMT"+n+i+(o?":"+Fe(o,2):"")}function Zt(e,t,n,r){var i=jt(e,n.calendarSystem);return{date:i,start:i,end:t?jt(t,n.calendarSystem):null,timeZone:n.timeZone,localeCodes:n.locale.codes,separator:r}}function jt(e,t){var n=t.markerToArray(e.marker);return{marker:e.marker,timeZoneOffset:e.timeZoneOffset,array:n,year:n[0],month:n[1],day:n[2],hour:n[3],minute:n[4],second:n[5],millisecond:n[6]}}function Yt(e,t,n,r){var i={},o={},a={},s=[],u=[],l=Kt(e.defs,t);for(var c in e.defs){var d=e.defs[c];"inverse-background"===d.rendering&&(d.groupId?(i[d.groupId]=[],a[d.groupId]||(a[d.groupId]=d)):o[c]=[])}for(var f in e.instances){var p=e.instances[f],d=e.defs[p.defId],h=l[d.defId],v=p.range,g=!d.allDay&&r?Ke(v,r):v,y=Dt(g,n);y&&("inverse-background"===d.rendering?d.groupId?i[d.groupId].push(y):o[p.defId].push(y):("background"===d.rendering?s:u).push({def:d,ui:h,instance:p,range:y,isStart:g.start&&g.start.valueOf()===y.start.valueOf(),isEnd:g.end&&g.end.valueOf()===y.end.valueOf()}))}for(var m in i)for(var E=i[m],S=Et(E,n),D=0,b=S;D<b.length;D++){var T=b[D],d=a[m],h=l[d.defId];s.push({def:d,ui:h,instance:null,range:T,isStart:!1,isEnd:!1})}for(var c in o)for(var E=o[c],S=Et(E,n),w=0,R=S;w<R.length;w++){var T=R[w];s.push({def:e.defs[c],ui:l[c],instance:null,range:T,isStart:!1,isEnd:!1})}return{bg:s,fg:u}}function qt(e){return"background"===e.rendering||"inverse-background"===e.rendering}function Gt(e,t,n){e.hasPublicHandlers("eventRender")&&(t=t.filter(function(t){var r=e.publiclyTrigger("eventRender",[{event:new Bi(e.calendar,t.eventRange.def,t.eventRange.instance),isMirror:n,isStart:t.isStart,isEnd:t.isEnd,el:t.el,view:e}]);return!1!==r&&(r&&!0!==r&&(t.el=r),!0)}));for(var r=0,i=t;r<i.length;r++){var o=i[r];Xt(o.el,o)}return t}function Xt(e,t){e.fcSeg=t}function Jt(e){return e.fcSeg||null}function Kt(e,t){return ot(e,function(e){return Qt(e,t)})}function Qt(e,t){var n=[];return t[""]&&n.push(t[""]),t[e.defId]&&n.push(t[e.defId]),n.push(e.ui),Mn(n)}function $t(e,t,n,r){var i=Kt(e.defs,t),o=vt();for(var a in e.defs){var s=e.defs[a];o.defs[a]=en(s,i[a],n,r.pluginSystem.hooks.eventDefMutationAppliers,r)}for(var u in e.instances){var l=e.instances[u],s=o.defs[l.defId];o.instances[u]=nn(l,s,i[l.defId],n,r)}return o}function en(e,t,n,r,i){var o=n.standardProps||{};null==o.hasEnd&&t.durationEditable&&tn(t.startEditable?n.startDelta:null,n.endDelta||null)&&(o.hasEnd=!0);var a=ki({},e,o,{ui:ki({},e.ui,o.ui)});n.extendedProps&&(a.extendedProps=ki({},a.extendedProps,n.extendedProps));for(var s=0,u=r;s<u.length;s++){(0,u[s])(a,n,i)}return!a.hasEnd&&i.opt("forceEventDuration")&&(a.hasEnd=!0),a}function tn(e,t){return e&&!be(e)&&(e=null),t&&!be(t)&&(t=null),!(!e&&!t)&&(Boolean(e)!==Boolean(t)||!fe(e,t))}function nn(e,t,n,r,i){var o=i.dateEnv,a=r.standardProps&&!0===r.standardProps.allDay,s=r.standardProps&&!1===r.standardProps.hasEnd,u=ki({},e);return a&&(u.range=Je(u.range)),r.startDelta&&n.startEditable&&(u.range={start:o.add(u.range.start,r.startDelta),end:u.range.end}),s?u.range={start:u.range.start,end:i.getDefaultEventEnd(t.allDay,u.range.start)}:!r.endDelta||!n.durationEditable&&tn(n.startEditable?r.startDelta:null,r.endDelta)||(u.range={start:u.range.start,end:o.add(u.range.end,r.endDelta)}),t.allDay&&(u.range={start:X(u.range.start),end:X(u.range.end)}),u.range.end<u.range.start&&(u.range.end=i.getDefaultEventEnd(t.allDay,u.range.start)),u}function rn(e,t,n,r,i){switch(t.type){case"RECEIVE_EVENTS":return on(e,n[t.sourceId],t.fetchId,t.fetchRange,t.rawEvents,i);case"ADD_EVENTS":return an(e,t.eventStore,r?r.activeRange:null,i);case"MERGE_EVENTS":return gt(e,t.eventStore);case"PREV":case"NEXT":case"SET_DATE":case"SET_VIEW_TYPE":return r?ct(e,r.activeRange,i):e;case"CHANGE_TIMEZONE":return sn(e,t.oldDateEnv,i.dateEnv);case"MUTATE_EVENTS":return un(e,t.instanceId,t.mutation,t.fromApi,i);case"REMOVE_EVENT_INSTANCES":return cn(e,t.instances);case"REMOVE_EVENT_DEF":return yt(e,function(e){return e.defId!==t.defId});case"REMOVE_EVENT_SOURCE":return ln(e,t.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return yt(e,function(e){return!e.sourceId});case"REMOVE_ALL_EVENTS":return vt();case"RESET_EVENTS":return{defs:e.defs,instances:e.instances};default:return e}}function on(e,t,n,r,i,o){if(t&&n===t.latestFetchId){var a=ut(pt(i,t,o),t.sourceId,o);return r&&(a=ct(a,r,o)),gt(ln(e,t.sourceId),a)}return e}function an(e,t,n,r){return n&&(t=ct(t,n,r)),gt(e,t)}function sn(e,t,n){var r=e.defs,i=ot(e.instances,function(e){var i=r[e.defId];return i.allDay||i.recurringDef?e:ki({},e,{range:{start:n.createMarker(t.toDate(e.range.start,e.forcedStartTzo)),end:n.createMarker(t.toDate(e.range.end,e.forcedEndTzo))},forcedStartTzo:n.canComputeOffset?null:e.forcedStartTzo,forcedEndTzo:n.canComputeOffset?null:e.forcedEndTzo})});return{defs:r,instances:i}}function un(e,t,n,r,i){var o=dt(e,t);return o=$t(o,r?{"":{startEditable:!0,durationEditable:!0,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]}}:i.eventUiBases,n,i),gt(e,o)}function ln(e,t){return yt(e,function(e){return e.sourceId!==t})}function cn(e,t){return{defs:e.defs,instances:it(e.instances,function(e){return!t[e.instanceId]})}}function dn(e,t){return pn({eventDrag:e},t)}function fn(e,t){return pn({dateSelection:e},t)}function pn(e,t){var n=t.view,r=ki({businessHours:n?n.props.businessHours:vt(),dateSelection:"",eventStore:t.state.eventStore,eventUiBases:t.eventUiBases,eventSelection:"",eventDrag:null,eventResize:null},e);return(t.pluginSystem.hooks.isPropsValid||hn)(r,t)}function hn(e,t,n,r){return void 0===n&&(n={}),!(e.eventDrag&&!vn(e,t,n,r))&&!(e.dateSelection&&!gn(e,t,n,r))}function vn(e,t,n,r){var i=e.eventDrag,o=i.mutatedEvents,a=o.defs,s=o.instances,u=Kt(a,i.isEvent?e.eventUiBases:{"":t.selectionConfig});r&&(u=ot(u,r));var l=cn(e.eventStore,i.affectedEvents.instances),c=l.defs,d=l.instances,f=Kt(c,e.eventUiBases);for(var p in s){var h=s[p],v=h.range,g=u[h.defId],y=a[h.defId];if(!yn(g.constraints,v,l,e.businessHours,t))return!1;var m=t.opt("eventOverlap");"function"!=typeof m&&(m=null);for(var E in d){var S=d[E];if(Tt(v,S.range)){if(!1===f[S.defId].overlap&&i.isEvent)return!1;if(!1===g.overlap)return!1;if(m&&!m(new Bi(t,c[S.defId],S),new Bi(t,y,h)))return!1}}for(var D=0,b=g.allows;D<b.length;D++){var T=b[D],w=ki({},n,{range:h.range,allDay:y.allDay}),R=e.eventStore.defs[y.defId],I=e.eventStore.instances[p],C=void 0;if(C=R?new Bi(t,R,I):new Bi(t,y),!T(t.buildDateSpanApi(w),C))return!1}}return!0}function gn(e,t,n,r){var i=e.eventStore,o=i.defs,a=i.instances,s=e.dateSelection,u=s.range,l=t.selectionConfig;if(r&&(l=r(l)),!yn(l.constraints,u,i,e.businessHours,t))return!1;var c=t.opt("selectOverlap");"function"!=typeof c&&(c=null);for(var d in a){var f=a[d];if(Tt(u,f.range)){if(!1===l.overlap)return!1;if(c&&!c(new Bi(t,o[f.defId],f)))return!1}}for(var p=0,h=l.allows;p<h.length;p++){var v=h[p],g=ki({},n,s);if(!v(t.buildDateSpanApi(g),null))return!1}return!0}function yn(e,t,n,r,i){for(var o=0,a=e;o<a.length;o++){if(!Sn(mn(a[o],t,n,r,i),t))return!1}return!0}function mn(e,t,n,r,i){return"businessHours"===e?En(ct(r,t,i)):"string"==typeof e?En(yt(n,function(t){return t.groupId===e})):"object"==typeof e&&e?En(ct(e,t,i)):[]}function En(e){var t=e.instances,n=[];for(var r in t)n.push(t[r].range);return n}function Sn(e,t){for(var n=0,r=e;n<r.length;n++){if(wt(r[n],t))return!0}return!1}function Dn(e,t){return Array.isArray(e)?ut(e,"",t,!0):"object"==typeof e&&e?ut([e],"",t,!0):null!=e?String(e):null}function bn(e){return(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Tn(e){var t=[];for(var n in e){var r=e[n];null!=r&&""!==r&&t.push(n+":"+r)}return t.join(";")}function wn(e){var t=[];for(var n in e){var r=e[n];null!=r&&t.push(n+'="'+bn(r)+'"')}return t.join(" ")}function Rn(e){return Array.isArray(e)?e:"string"==typeof e?e.split(/\s+/):[]}function In(e,t,n){var r=Ge(e,Fi,{},n),i=Dn(r.constraint,t);return{startEditable:null!=r.startEditable?r.startEditable:r.editable,durationEditable:null!=r.durationEditable?r.durationEditable:r.editable,constraints:null!=i?[i]:[],overlap:r.overlap,allows:null!=r.allow?[r.allow]:[],backgroundColor:r.backgroundColor||r.color,borderColor:r.borderColor||r.color,textColor:r.textColor,classNames:r.classNames.concat(r.className)}}function Cn(e,t,n,r){var i={},o={};for(var a in Fi){var s=e+Be(a);i[a]=t[s],o[s]=!0}if("event"===e&&(i.editable=t.editable),r)for(var a in t)o[a]||(r[a]=t[a]);return In(i,n)}function Mn(e){return e.reduce(kn,Wi)}function kn(e,t){return{startEditable:null!=t.startEditable?t.startEditable:e.startEditable,durationEditable:null!=t.durationEditable?t.durationEditable:e.durationEditable,constraints:e.constraints.concat(t.constraints),overlap:"boolean"==typeof t.overlap?t.overlap:e.overlap,allows:e.allows.concat(t.allows),backgroundColor:t.backgroundColor||e.backgroundColor,borderColor:t.borderColor||e.borderColor,textColor:t.textColor||e.textColor,classNames:e.classNames.concat(t.classNames)}}function On(e,t,n,r){var i=zn(t,n),o={},a=tt(e,i,n.dateEnv,n.pluginSystem.hooks.recurringTypes,o);if(a){var s=_n(o,t,a.allDay,Boolean(a.duration),n);return s.recurringDef={typeId:a.typeId,typeData:a.typeData,duration:a.duration},{def:s,instance:null}}var u={},l=Hn(e,i,n,u,r);if(l){var s=_n(u,t,l.allDay,l.hasEnd,n);return{def:s,instance:Pn(s.defId,l.range,l.forcedStartTzo,l.forcedEndTzo)}}return null}function _n(e,t,n,r,i){var o={},a=Nn(e,i,o);a.defId=String(Yi++),a.sourceId=t,a.allDay=n,a.hasEnd=r;for(var s=0,u=i.pluginSystem.hooks.eventDefParsers;s<u.length;s++){var l=u[s],c={};l(a,o,c),o=c}return a.extendedProps=ki(o,a.extendedProps||{}),Object.freeze(a.ui.classNames),Object.freeze(a.extendedProps),a}function Pn(e,t,n,r){return{instanceId:String(Yi++),defId:e,range:t,forcedStartTzo:null==n?null:n,forcedEndTzo:null==r?null:r}}function Hn(e,t,n,r,i){var o,a,s=xn(e,r),u=s.allDay,l=null,c=!1,d=null;if(o=n.dateEnv.createMarkerMeta(s.start))l=o.marker;else if(!i)return null;return null!=s.end&&(a=n.dateEnv.createMarkerMeta(s.end)),null==u&&(u=null!=t?t:(!o||o.isTimeUnspecified)&&(!a||a.isTimeUnspecified)),u&&l&&(l=X(l)),a&&(d=a.marker,u&&(d=X(d)),l&&d<=l&&(d=null)),d?c=!0:i||(c=n.opt("forceEventDuration")||!1,d=n.dateEnv.add(l,u?n.defaultAllDayEventDuration:n.defaultTimedEventDuration)),{allDay:u,hasEnd:c,range:{start:l,end:d},forcedStartTzo:o?o.forcedTzo:null,forcedEndTzo:a?a.forcedTzo:null}}function xn(e,t){var n=Ge(e,ji,{},t);return n.start=null!==n.start?n.start:n.date,delete n.date,n}function Nn(e,t,n){var r={},i=Ge(e,Zi,{},r),o=In(r,t,n);return i.publicId=i.id,delete i.id,i.ui=o,i}function zn(e,t){var n=null;if(e){n=t.state.eventSources[e].allDayDefault}return null==n&&(n=t.opt("allDayDefault")),n}function Un(e,t){return ut(Ln(e),"",t)}function Ln(e){var t;return t=!0===e?[{}]:Array.isArray(e)?e.filter(function(e){return e.daysOfWeek}):"object"==typeof e&&e?[e]:[],t=t.map(function(e){return ki({},qi,e)})}function An(e,t,n){function r(){if(a){for(var e=0,n=s;e<n.length;e++){n[e].unrender()}t&&t.apply(o,a),a=null}}function i(){a&&Mt(a,arguments)||(r(),o=this,a=arguments,e.apply(this,arguments))}void 0===n&&(n=[]);var o,a,s=[];i.dependents=s,i.unrender=r;for(var u=0,l=n;u<l.length;u++){l[u].dependents.push(i)}return i}function Vn(e,t,n){return void 0===n&&(n=1),e===t||(Array.isArray(e)&&Array.isArray(t)?Bn(e,t,n):!("object"!=typeof e||!e||"object"!=typeof t||!t)&&Fn(e,t,n))}function Bn(e,t,n){if(void 0===n&&(n=1),e===t)return!0;if(n>0){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(!Vn(e[r],t[r],n-1))return!1;return!0}return!1}function Fn(e,t,n){if(void 0===n&&(n=1),e===t)return!0;if(n>0){for(var r in e)if(!(r in t))return!1;for(var r in t){if(!(r in e))return!1;if(!Vn(e[r],t[r],n-1))return!1}return!0}return!1}function Wn(e,t,n){void 0===n&&(n=1);var r={};for(var i in t)i in e&&Vn(e[i],t[i],n-1)||(r[i]=t[i]);return r}function Zn(e,t){for(var n in e)if(!(n in t))return!0;return!1}function jn(e,t,n){var r=[];e&&r.push(e),t&&r.push(t);var i={"":Mn(r)};return n&&ki(i,n),i}function Yn(e,t,n,r){var i,o,a,s,u=e.dateEnv;return t instanceof Date?i=t:(i=t.date,o=t.type,a=t.forceOff),s={date:u.formatIso(i,{omitTime:!0}),type:o||"day"},"string"==typeof n&&(r=n,n=null),n=n?" "+wn(n):"",r=r||"",!a&&e.opt("navLinks")?"<a"+n+' data-goto="'+bn(JSON.stringify(s))+'">'+r+"</a>":"<span"+n+">"+r+"</span>"}function qn(e){return e.opt("allDayHtml")||bn(e.opt("allDayText"))}
-function Gn(e,t,n,r){var i,o,a=n.calendar,s=n.view,u=n.theme,l=n.dateEnv,c=[];return Rt(t.activeRange,e)?(c.push("fc-"+Ri[e.getUTCDay()]),s.opt("monthMode")&&l.getMonth(e)!==l.getMonth(t.currentRange.start)&&c.push("fc-other-month"),i=X(a.getNow()),o=A(i,1),e<i?c.push("fc-past"):e>=o?c.push("fc-future"):(c.push("fc-today"),!0!==r&&c.push(u.getClass("today")))):c.push("fc-disabled-day"),c}function Xn(e,t,n){var r=!1,i=function(){r||(r=!0,t.apply(this,arguments))},o=function(){r||(r=!0,n&&n.apply(this,arguments))},a=e(i,o);a&&"function"==typeof a.then&&a.then(i,o)}function Jn(e,t,n){(e[t]||(e[t]=[])).push(n)}function Kn(e,t,n){n?e[t]&&(e[t]=e[t].filter(function(e){return e!==n})):delete e[t]}function Qn(e,t,n){var r={},i=!1;for(var o in t)o in e&&(e[o]===t[o]||n[o]&&n[o](e[o],t[o]))?r[o]=e[o]:(r[o]=t[o],i=!0);for(var o in e)if(!(o in t)){i=!0;break}return{anyChanges:i,comboProps:r}}function $n(e){return{id:String(so++),deps:e.deps||[],reducers:e.reducers||[],eventDefParsers:e.eventDefParsers||[],eventDragMutationMassagers:e.eventDragMutationMassagers||[],eventDefMutationAppliers:e.eventDefMutationAppliers||[],dateSelectionTransformers:e.dateSelectionTransformers||[],datePointTransforms:e.datePointTransforms||[],dateSpanTransforms:e.dateSpanTransforms||[],views:e.views||{},viewPropsTransformers:e.viewPropsTransformers||[],isPropsValid:e.isPropsValid||null,externalDefTransforms:e.externalDefTransforms||[],eventResizeJoinTransforms:e.eventResizeJoinTransforms||[],viewContainerModifiers:e.viewContainerModifiers||[],eventDropTransformers:e.eventDropTransformers||[],componentInteractions:e.componentInteractions||[],calendarInteractions:e.calendarInteractions||[],themeClasses:e.themeClasses||{},eventSourceDefs:e.eventSourceDefs||[],cmdFormatter:e.cmdFormatter,recurringTypes:e.recurringTypes||[],namedTimeZonedImpl:e.namedTimeZonedImpl,defaultView:e.defaultView||"",elementDraggingImpl:e.elementDraggingImpl,optionChangeHandlers:e.optionChangeHandlers||{}}}function er(e,t){return{reducers:e.reducers.concat(t.reducers),eventDefParsers:e.eventDefParsers.concat(t.eventDefParsers),eventDragMutationMassagers:e.eventDragMutationMassagers.concat(t.eventDragMutationMassagers),eventDefMutationAppliers:e.eventDefMutationAppliers.concat(t.eventDefMutationAppliers),dateSelectionTransformers:e.dateSelectionTransformers.concat(t.dateSelectionTransformers),datePointTransforms:e.datePointTransforms.concat(t.datePointTransforms),dateSpanTransforms:e.dateSpanTransforms.concat(t.dateSpanTransforms),views:ki({},e.views,t.views),viewPropsTransformers:e.viewPropsTransformers.concat(t.viewPropsTransformers),isPropsValid:t.isPropsValid||e.isPropsValid,externalDefTransforms:e.externalDefTransforms.concat(t.externalDefTransforms),eventResizeJoinTransforms:e.eventResizeJoinTransforms.concat(t.eventResizeJoinTransforms),viewContainerModifiers:e.viewContainerModifiers.concat(t.viewContainerModifiers),eventDropTransformers:e.eventDropTransformers.concat(t.eventDropTransformers),calendarInteractions:e.calendarInteractions.concat(t.calendarInteractions),componentInteractions:e.componentInteractions.concat(t.componentInteractions),themeClasses:ki({},e.themeClasses,t.themeClasses),eventSourceDefs:e.eventSourceDefs.concat(t.eventSourceDefs),cmdFormatter:t.cmdFormatter||e.cmdFormatter,recurringTypes:e.recurringTypes.concat(t.recurringTypes),namedTimeZonedImpl:t.namedTimeZonedImpl||e.namedTimeZonedImpl,defaultView:e.defaultView||t.defaultView,elementDraggingImpl:e.elementDraggingImpl||t.elementDraggingImpl,optionChangeHandlers:ki({},e.optionChangeHandlers,t.optionChangeHandlers)}}function tr(e,t,n,r,i){e=e.toUpperCase();var o=null;"GET"===e?t=nr(t,n):o=rr(n);var a=new XMLHttpRequest;a.open(e,t,!0),"GET"!==e&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.onload=function(){if(a.status>=200&&a.status<400)try{var e=JSON.parse(a.responseText);r(e,a)}catch(e){i("Failure parsing JSON",a)}else i("Request failed",a)},a.onerror=function(){i("Request failed",a)},a.send(o)}function nr(e,t){return e+(-1===e.indexOf("?")?"?":"&")+rr(t)}function rr(e){var t=[];for(var n in e)t.push(encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t.join("&")}function ir(e,t,n){var r,i,o,a,s=n.dateEnv,u={};return r=e.startParam,null==r&&(r=n.opt("startParam")),i=e.endParam,null==i&&(i=n.opt("endParam")),o=e.timeZoneParam,null==o&&(o=n.opt("timeZoneParam")),a="function"==typeof e.extraParams?e.extraParams():e.extraParams||{},ki(u,a),u[r]=s.formatIso(t.start),u[i]=s.formatIso(t.end),"local"!==s.timeZone&&(u[o]=s.timeZone),u}function or(e,t,n,r){for(var i=e?at(e):null,o=X(n.start),a=n.end,s=[];o<a;){var u=void 0;i&&!i[o.getUTCDay()]||(u=t?r.add(o,t):o,s.push(u)),o=A(o,1)}return s}function ar(e,t){for(var n=st(t.state.eventSources),r=[],i=0,o=e;i<o.length;i++){for(var a=o[i],s=!1,u=0;u<n.length;u++)if(Vn(n[u]._raw,a,2)){n.splice(u,1),s=!0;break}s||r.push(a)}for(var l=0,c=n;l<c.length;l++){var d=c[l];t.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:d.sourceId})}for(var f=0,p=r;f<p.length;f++){var h=p[f];t.addEventSource(h)}}function sr(e,t){t.addPluginInputs(e)}function ur(e){return rt(e,bo)}function lr(e){for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];if("string"==typeof i){var o="FullCalendar"+Be(i);window[o]?t.push(window[o].default):console.warn("Plugin file not loaded for "+i)}else t.push(i)}return To.concat(t)}function cr(e){for(var t=e.length>0?e[0].code:"en",n=window.FullCalendarLocalesAll||[],r=window.FullCalendarLocales||{},i=n.concat(st(r),e),o={en:wo},a=0,s=i;a<s.length;a++){var u=s[a];o[u.code]=u}return{map:o,defaultCode:t}}function dr(e,t){return"object"!=typeof e||Array.isArray(e)?fr(e,t):hr(e.code,[e.code],e)}function fr(e,t){var n=[].concat(e||[]);return hr(e,n,pr(n,t)||wo)}function pr(e,t){for(var n=0;n<e.length;n++)for(var r=e[n].toLocaleLowerCase().split("-"),i=r.length;i>0;i--){var o=r.slice(0,i).join("-");if(t[o])return t[o]}return null}function hr(e,t,n){var r=rt([wo,n],["buttonText"]);delete r.code;var i=r.week;return delete r.week,{codeArg:e,codes:t,week:i,simpleNumberFormat:new Intl.NumberFormat(e),options:r}}function vr(e){return new Io[e]}function gr(e){var t=null,n=!1,r=Mo.exec(e);r&&(n=!r[1],n?e+="T00:00:00Z":e=e.replace(ko,function(e,n,r,i,o){return t=n?0:(60*parseInt(i,10)+parseInt(o||0,10))*("-"===r?-1:1),""})+"Z");var i=new Date(e);return ae(i)?{marker:i,isTimeUnspecified:n,timeZoneOffset:t}:null}function yr(e,t){return!t.pluginSystem.hooks.eventSourceDefs[e.sourceDefId].ignoreRange}function mr(e,t){for(var n=t.pluginSystem.hooks.eventSourceDefs,r=n.length-1;r>=0;r--){var i=n[r],o=i.parseMeta(e);if(o){var a=Er("object"==typeof e?e:{},o,r,t);return a._raw=Xe(e),a}}return null}function Er(e,t,n,r){var i={},o=Ge(e,_o,{},i),a={},s=In(i,r,a);return o.isFetching=!1,o.latestFetchId="",o.fetchRange=null,o.publicId=String(e.id||""),o.sourceId=String(Po++),o.sourceDefId=n,o.meta=t,o.ui=s,o.extendedProps=a,o}function Sr(e,t,n,r){switch(t.type){case"ADD_EVENT_SOURCES":return Dr(e,t.sources,n?n.activeRange:null,r);case"REMOVE_EVENT_SOURCE":return br(e,t.sourceId);case"PREV":case"NEXT":case"SET_DATE":case"SET_VIEW_TYPE":return n?Tr(e,n.activeRange,r):e;case"FETCH_EVENT_SOURCES":case"CHANGE_TIMEZONE":return Rr(e,t.sourceIds?at(t.sourceIds):Mr(e,r),n?n.activeRange:null,r);case"RECEIVE_EVENTS":case"RECEIVE_EVENT_ERROR":return Cr(e,t.sourceId,t.fetchId,t.fetchRange);case"REMOVE_ALL_EVENT_SOURCES":return{};default:return e}}function Dr(e,t,n,r){for(var i={},o=0,a=t;o<a.length;o++){var s=a[o];i[s.sourceId]=s}return n&&(i=Tr(i,n,r)),ki({},e,i)}function br(e,t){return it(e,function(e){return e.sourceId!==t})}function Tr(e,t,n){return Rr(e,it(e,function(e){return wr(e,t,n)}),t,n)}function wr(e,t,n){return yr(e,n)?!n.opt("lazyFetching")||!e.fetchRange||t.start<e.fetchRange.start||t.end>e.fetchRange.end:!e.latestFetchId}function Rr(e,t,n,r){var i={};for(var o in e){var a=e[o];t[o]?i[o]=Ir(a,n,r):i[o]=a}return i}function Ir(e,t,n){var r=n.pluginSystem.hooks.eventSourceDefs[e.sourceDefId],i=String(Ho++);return r.fetch({eventSource:e,calendar:n,range:t},function(r){var o,a,s=r.rawEvents,u=n.opt("eventSourceSuccess");e.success&&(a=e.success(s,r.xhr)),u&&(o=u(s,r.xhr)),s=a||o||s,n.dispatch({type:"RECEIVE_EVENTS",sourceId:e.sourceId,fetchId:i,fetchRange:t,rawEvents:s})},function(r){var o=n.opt("eventSourceFailure");console.warn(r.message,r),e.failure&&e.failure(r),o&&o(r),n.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:e.sourceId,fetchId:i,fetchRange:t,error:r})}),ki({},e,{isFetching:!0,latestFetchId:i})}function Cr(e,t,n,r){var i,o=e[t];return o&&n===o.latestFetchId?ki({},e,(i={},i[t]=ki({},o,{isFetching:!1,fetchRange:r}),i)):e}function Mr(e,t){return it(e,function(e){return yr(e,t)})}function kr(e,t){return bt(e.activeRange,t.activeRange)&&bt(e.validRange,t.validRange)&&fe(e.minTime,t.minTime)&&fe(e.maxTime,t.maxTime)}function Or(e,t,n){for(var r=_r(e.viewType,t),i=Pr(e.dateProfile,t,e.currentDate,r,n),o=Sr(e.eventSources,t,i,n),a=ki({},e,{viewType:r,dateProfile:i,currentDate:Hr(e.currentDate,t,i),eventSources:o,eventStore:rn(e.eventStore,t,o,i,n),dateSelection:xr(e.dateSelection,t,n),eventSelection:Nr(e.eventSelection,t),eventDrag:zr(e.eventDrag,t,o,n),eventResize:Ur(e.eventResize,t,o,n),eventSourceLoadingLevel:Lr(o),loadingLevel:Lr(o)}),s=0,u=n.pluginSystem.hooks.reducers;s<u.length;s++){a=(0,u[s])(a,t,n)}return a}function _r(e,t){switch(t.type){case"SET_VIEW_TYPE":return t.viewType;default:return e}}function Pr(e,t,n,r,i){var o;switch(t.type){case"PREV":o=i.dateProfileGenerators[r].buildPrev(e,n);break;case"NEXT":o=i.dateProfileGenerators[r].buildNext(e,n);break;case"SET_DATE":e.activeRange&&Rt(e.currentRange,t.dateMarker)||(o=i.dateProfileGenerators[r].build(t.dateMarker,void 0,!0));break;case"SET_VIEW_TYPE":var a=i.dateProfileGenerators[r];if(!a)throw new Error(r?'The FullCalendar view "'+r+'" does not exist. Make sure your plugins are loaded correctly.':"No available FullCalendar view plugins.");o=a.build(t.dateMarker||n,void 0,!0)}return!o||!o.isValid||e&&kr(e,o)?e:o}function Hr(e,t,n){switch(t.type){case"PREV":case"NEXT":return Rt(n.currentRange,e)?e:n.currentRange.start;case"SET_DATE":case"SET_VIEW_TYPE":var r=t.dateMarker||e;return n.activeRange&&!Rt(n.activeRange,r)?n.currentRange.start:r;default:return e}}function xr(e,t,n){switch(t.type){case"SELECT_DATES":return t.selection;case"UNSELECT_DATES":return null;default:return e}}function Nr(e,t){switch(t.type){case"SELECT_EVENT":return t.eventInstanceId;case"UNSELECT_EVENT":return"";default:return e}}function zr(e,t,n,r){switch(t.type){case"SET_EVENT_DRAG":var i=t.state;return{affectedEvents:i.affectedEvents,mutatedEvents:i.mutatedEvents,isEvent:i.isEvent,origSeg:i.origSeg};case"UNSET_EVENT_DRAG":return null;default:return e}}function Ur(e,t,n,r){switch(t.type){case"SET_EVENT_RESIZE":var i=t.state;return{affectedEvents:i.affectedEvents,mutatedEvents:i.mutatedEvents,isEvent:i.isEvent,origSeg:i.origSeg};case"UNSET_EVENT_RESIZE":return null;default:return e}}function Lr(e){var t=0;for(var n in e)e[n].isFetching&&t++;return t}function Ar(e,t,n){var r=Vr(e,t),i=r.range;if(!i.start)return null;if(!i.end){if(null==n)return null;i.end=t.add(i.start,n)}return r}function Vr(e,t){var n={},r=Ge(e,No,{},n),i=r.start?t.createMarkerMeta(r.start):null,o=r.end?t.createMarkerMeta(r.end):null,a=r.allDay;return null==a&&(a=i&&i.isTimeUnspecified&&(!o||o.isTimeUnspecified)),n.range={start:i?i.marker:null,end:o?o.marker:null},n.allDay=a,n}function Br(e,t){return bt(e.range,t.range)&&e.allDay===t.allDay&&Fr(e,t)}function Fr(e,t){for(var n in t)if("range"!==n&&"allDay"!==n&&e[n]!==t[n])return!1;for(var n in e)if(!(n in t))return!1;return!0}function Wr(e,t){return{start:t.toDate(e.range.start),end:t.toDate(e.range.end),startStr:t.formatIso(e.range.start,{omitTime:e.allDay}),endStr:t.formatIso(e.range.end,{omitTime:e.allDay}),allDay:e.allDay}}function Zr(e,t){return{date:t.toDate(e.range.start),dateStr:t.formatIso(e.range.start,{omitTime:e.allDay}),allDay:e.allDay}}function jr(e,t,n){var r=_n({editable:!1},"",e.allDay,!0,n);return{def:r,ui:Qt(r,t),instance:Pn(r.defId,e.range),range:e.range,isStart:!0,isEnd:!0}}function Yr(e,t){var n,r={};for(n in e)qr(n,r,e,t);for(n in t)qr(n,r,e,t);return r}function qr(e,t,n,r){if(t[e])return t[e];var i=Gr(e,t,n,r);return i&&(t[e]=i),i}function Gr(e,t,n,r){var i=n[e],o=r[e],a=function(e){return i&&null!==i[e]?i[e]:o&&null!==o[e]?o[e]:null},s=a("class"),u=a("superType");!u&&s&&(u=Xr(s,r)||Xr(s,n));var l=u?qr(u,t,n,r):null;return!s&&l&&(s=l.class),s?{type:e,class:s,defaults:ki({},l?l.defaults:{},i?i.options:{}),overrides:ki({},l?l.overrides:{},o?o.options:{})}:null}function Xr(e,t){var n=Object.getPrototypeOf(e.prototype);for(var r in t){var i=t[r];if(i.class&&i.class.prototype===n)return r}return""}function Jr(e){return ot(e,Kr)}function Kr(e){"function"==typeof e&&(e={class:e});var t={},n=Ge(e,zo,{},t);return{superType:n.type,class:n.class,options:t}}function Qr(e,t){var n=Jr(e),r=Jr(t.overrides.views);return ot(Yr(n,r),function(e){return $r(e,r,t)})}function $r(e,t,n){var r=e.overrides.duration||e.defaults.duration||n.dynamicOverrides.duration||n.overrides.duration,i=null,o="",a="",s={};if(r&&(i=ue(r))){var u=we(i,!de(r));o=u.unit,1===u.value&&(a=o,s=t[o]?t[o].options:{})}var l=function(t){var n=t.buttonText||{},r=e.defaults.buttonTextKey;return null!=r&&null!=n[r]?n[r]:null!=n[e.type]?n[e.type]:null!=n[a]?n[a]:void 0};return{type:e.type,class:e.class,duration:i,durationUnit:o,singleUnit:a,options:ki({},So,e.defaults,n.dirDefaults,n.localeDefaults,n.overrides,s,e.overrides,n.dynamicOverrides),buttonTextOverride:l(n.dynamicOverrides)||l(n.overrides)||e.overrides.buttonText,buttonTextDefault:l(n.localeDefaults)||l(n.dirDefaults)||e.defaults.buttonText||l(So)||e.type}}function ei(e,t){var n;return n=/^(year|month)$/.test(e.currentRangeUnit)?e.currentRange:e.activeRange,this.dateEnv.formatRange(n.start,n.end,Vt(t.titleFormat||ti(e),t.titleRangeSeparator),{isEndExclusive:e.isRangeAllDay})}function ti(e){var t=e.currentRangeUnit;if("year"===t)return{year:"numeric"};if("month"===t)return{year:"numeric",month:"long"};var n=G(e.currentRange.start,e.currentRange.end);return null!==n&&n>1?{year:"numeric",month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"}}function ni(e){return e.map(function(e){return new e})}function ri(e,t){return{component:e,el:t.el,useEventCenter:null==t.useEventCenter||t.useEventCenter}}function ii(e){var t;return t={},t[e.component.uid]=e,t}function oi(e,t,n,r,i,o,a){return new Oo({calendarSystem:"gregory",timeZone:t,namedTimeZoneImpl:n,locale:e,weekNumberCalculation:i,firstDay:r,weekLabel:o,cmdFormatter:a})}function ai(e){return new(this.pluginSystem.hooks.themeClasses[e.themeSystem]||Wo)(e)}function si(e){var t=this.tryRerender.bind(this);return null!=e&&(t=qe(t,e)),t}function ui(e){return ot(e,function(e){return e.ui})}function li(e,t,n){var r={"":t};for(var i in e){var o=e[i];o.sourceId&&n[o.sourceId]&&(r[i]=n[o.sourceId])}return r}function ci(e){var t=e.eventRange.def,n=e.eventRange.instance.range,r=n.start?n.start.valueOf():0,i=n.end?n.end.valueOf():0;return ki({},t.extendedProps,t,{id:t.publicId,start:r,end:i,duration:i-r,allDay:Number(t.allDay),_seg:e})}function di(e,t){void 0===t&&(t={});var n=pi(t),r=Vt(t),i=n.createMarkerMeta(e);return i?n.format(i.marker,r,{forcedTzo:i.forcedTzo}):""}function fi(e,t,n){var r=pi("object"==typeof n&&n?n:{}),i=Vt(n,So.defaultRangeSeparator),o=r.createMarkerMeta(e),a=r.createMarkerMeta(t);return o&&a?r.formatRange(o.marker,a.marker,i,{forcedStartTzo:o.forcedTzo,forcedEndTzo:a.forcedTzo,isEndExclusive:n.isEndExclusive}):""}function pi(e){var t=dr(e.locale||"en",cr([]).map);return e=ki({timeZone:So.timeZone,calendarSystem:"gregory"},e,{locale:t}),new Oo(e)}function hi(e){var t={},n=Ge(e,Jo,Ko,t);return n.leftoverProps=t,n}function vi(e,t){return!e||t>10?{weekday:"short"}:t>1?{weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}:{weekday:"long"}}function gi(e,t,n,r,i,o,a,s){var u,l=o.view,c=o.dateEnv,d=o.theme,f=o.options,p=Rt(t.activeRange,e),h=["fc-day-header",d.getClass("widgetHeader")];return u="function"==typeof f.columnHeaderHtml?f.columnHeaderHtml(c.toDate(e)):bn("function"==typeof f.columnHeaderText?f.columnHeaderText(c.toDate(e)):c.format(e,i)),n?h=h.concat(Gn(e,t,o,!0)):h.push("fc-"+Ri[e.getUTCDay()]),'<th class="'+h.join(" ")+'"'+(p&&n?' data-date="'+c.formatIso(e,{omitTime:!0})+'"':"")+(a>1?' colspan="'+a+'"':"")+(s?" "+s:"")+">"+(p?Yn(l,{date:e,forceOff:!n||1===r},u):u)+"</th>"}function yi(e,t){var n=e.activeRange;return t?n:{start:V(n.start,e.minTime.milliseconds),end:V(n.end,e.maxTime.milliseconds-864e5)}}var mi={className:!0,colSpan:!0,rowSpan:!0},Ei={"<tr":"tbody","<td":"tr"},Si=Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype.msMatchesSelector,Di=Element.prototype.closest||function(e){var t=this;if(!document.documentElement.contains(t))return null;do{if(f(t,e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null},bi=/(top|left|right|bottom|width|height)$/i,Ti=null,wi=["webkitTransitionEnd","otransitionend","oTransitionEnd","msTransitionEnd","transitionend"],Ri=["sun","mon","tue","wed","thu","fri","sat"],Ii=["years","months","days","milliseconds"],Ci=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/,Mi=function(e,t){return(Mi=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},ki=function(){return ki=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},ki.apply(this,arguments)},Oi={week:3,separator:0,omitZeroMinute:0,meridiem:0,omitCommas:0},_i={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},Pi=/\s*([ap])\.?m\.?/i,Hi=/,/g,xi=/\s+/g,Ni=/\u200e/g,zi=/UTC|GMT/,Ui=function(){function e(e){var t={},n={},r=0;for(var i in e)i in Oi?(n[i]=e[i],r=Math.max(Oi[i],r)):(t[i]=e[i],i in _i&&(r=Math.max(_i[i],r)));this.standardDateProps=t,this.extendedSettings=n,this.severity=r,this.buildFormattingFunc=kt(_t)}return e.prototype.format=function(e,t){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,t)(e)},e.prototype.formatRange=function(e,t,n){var r=this,i=r.standardDateProps,o=r.extendedSettings,a=Ut(e.marker,t.marker,n.calendarSystem);if(!a)return this.format(e,n);var s=a;!(s>1)||"numeric"!==i.year&&"2-digit"!==i.year||"numeric"!==i.month&&"2-digit"!==i.month||"numeric"!==i.day&&"2-digit"!==i.day||(s=1);var u=this.format(e,n),l=this.format(t,n);if(u===l)return u;var c=Lt(i,s),d=_t(c,o,n),f=d(e),p=d(t),h=At(u,f,l,p),v=o.separator||"";return h?h.before+f+v+p+h.after:u+v+l},e.prototype.getLargestUnit=function(){switch(this.severity){case 7:case 6:case 5:return"year";case 4:return"month";case 3:return"week";default:return"day"}},e}(),Li=function(){function e(e,t){this.cmdStr=e,this.separator=t}return e.prototype.format=function(e,t){return t.cmdFormatter(this.cmdStr,Zt(e,null,t,this.separator))},e.prototype.formatRange=function(e,t,n){return n.cmdFormatter(this.cmdStr,Zt(e,t,n,this.separator))},e}(),Ai=function(){function e(e){this.func=e}return e.prototype.format=function(e,t){return this.func(Zt(e,null,t))},e.prototype.formatRange=function(e,t,n){return this.func(Zt(e,t,n))},e}(),Vi=function(){function e(e,t){this.calendar=e,this.internalEventSource=t}return e.prototype.remove=function(){this.calendar.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:this.internalEventSource.sourceId})},e.prototype.refetch=function(){this.calendar.dispatch({type:"FETCH_EVENT_SOURCES",sourceIds:[this.internalEventSource.sourceId]})},Object.defineProperty(e.prototype,"id",{get:function(){return this.internalEventSource.publicId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this.internalEventSource.meta.url},enumerable:!0,configurable:!0}),e}(),Bi=function(){function e(e,t,n){this._calendar=e,this._def=t,this._instance=n||null}return e.prototype.setProp=function(e,t){var n,r;if(e in ji);else if(e in Zi)"function"==typeof Zi[e]&&(t=Zi[e](t)),this.mutate({standardProps:(n={},n[e]=t,n)});else if(e in Fi){var i=void 0;"function"==typeof Fi[e]&&(t=Fi[e](t)),"color"===e?i={backgroundColor:t,borderColor:t}:"editable"===e?i={startEditable:t,durationEditable:t}:(r={},r[e]=t,i=r),this.mutate({standardProps:{ui:i}})}},e.prototype.setExtendedProp=function(e,t){var n;this.mutate({extendedProps:(n={},n[e]=t,n)})},e.prototype.setStart=function(e,t){void 0===t&&(t={});var n=this._calendar.dateEnv,r=n.createMarker(e);if(r&&this._instance){var i=this._instance.range,o=$e(i.start,r,n,t.granularity),a=null;if(t.maintainDuration){a=ve($e(i.start,i.end,n,t.granularity),$e(r,i.end,n,t.granularity))}this.mutate({startDelta:o,endDelta:a})}},e.prototype.setEnd=function(e,t){void 0===t&&(t={});var n,r=this._calendar.dateEnv;if((null==e||(n=r.createMarker(e)))&&this._instance)if(n){var i=$e(this._instance.range.end,n,r,t.granularity);this.mutate({endDelta:i})}else this.mutate({standardProps:{hasEnd:!1}})},e.prototype.setDates=function(e,t,n){void 0===n&&(n={});var r,i=this._calendar.dateEnv,o={allDay:n.allDay},a=i.createMarker(e);if(a&&(null==t||(r=i.createMarker(t)))&&this._instance){var s=this._instance.range;!0===n.allDay&&(s=Je(s));var u=$e(s.start,a,i,n.granularity);if(r){var l=$e(s.end,r,i,n.granularity);this.mutate({startDelta:u,endDelta:l,standardProps:o})}else o.hasEnd=!1,this.mutate({startDelta:u,standardProps:o})}},e.prototype.moveStart=function(e){var t=ue(e);t&&this.mutate({startDelta:t})},e.prototype.moveEnd=function(e){var t=ue(e);t&&this.mutate({endDelta:t})},e.prototype.moveDates=function(e){var t=ue(e);t&&this.mutate({startDelta:t,endDelta:t})},e.prototype.setAllDay=function(e,t){void 0===t&&(t={});var n={allDay:e},r=t.maintainDuration;null==r&&(r=this._calendar.opt("allDayMaintainDuration")),this._def.allDay!==e&&(n.hasEnd=r),this.mutate({standardProps:n})},e.prototype.formatRange=function(e){var t=this._calendar.dateEnv,n=this._instance,r=Vt(e,this._calendar.opt("defaultRangeSeparator"));return this._def.hasEnd?t.formatRange(n.range.start,n.range.end,r,{forcedStartTzo:n.forcedStartTzo,forcedEndTzo:n.forcedEndTzo}):t.format(n.range.start,r,{forcedTzo:n.forcedStartTzo})},e.prototype.mutate=function(e){var t=this._def,n=this._instance;if(n){this._calendar.dispatch({type:"MUTATE_EVENTS",instanceId:n.instanceId,mutation:e,fromApi:!0});var r=this._calendar.state.eventStore;this._def=r.defs[t.defId],this._instance=r.instances[n.instanceId]}},e.prototype.remove=function(){this._calendar.dispatch({type:"REMOVE_EVENT_DEF",defId:this._def.defId})},Object.defineProperty(e.prototype,"source",{get:function(){var e=this._def.sourceId;return e?new Vi(this._calendar,this._calendar.state.eventSources[e]):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"start",{get:function(){return this._instance?this._calendar.dateEnv.toDate(this._instance.range.start):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._instance&&this._def.hasEnd?this._calendar.dateEnv.toDate(this._instance.range.end):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._def.publicId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"groupId",{get:function(){return this._def.groupId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"allDay",{get:function(){return this._def.allDay},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._def.title},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._def.url},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rendering",{get:function(){return this._def.rendering},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"startEditable",{get:function(){return this._def.ui.startEditable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"durationEditable",{get:function(){return this._def.ui.durationEditable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"constraint",{get:function(){return this._def.ui.constraints[0]||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"overlap",{get:function(){return this._def.ui.overlap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"allow",{get:function(){return this._def.ui.allows[0]||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"backgroundColor",{get:function(){return this._def.ui.backgroundColor},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"borderColor",{get:function(){return this._def.ui.borderColor},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textColor",{get:function(){return this._def.ui.textColor},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classNames",{get:function(){return this._def.ui.classNames},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"extendedProps",{get:function(){return this._def.extendedProps},enumerable:!0,configurable:!0}),e}(),Fi={editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:null,overlap:null,allow:null,className:Rn,classNames:Rn,color:String,backgroundColor:String,borderColor:String,textColor:String},Wi={startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]},Zi={id:String,groupId:String,title:String,url:String,rendering:String,extendedProps:null},ji={start:null,date:null,end:null,allDay:null},Yi=0,qi={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],rendering:"inverse-background",classNames:"fc-nonbusiness",groupId:"_businessHours"},Gi=vt(),Xi=function(){function e(){this.getKeysForEventDefs=kt(this._getKeysForEventDefs),this.splitDateSelection=kt(this._splitDateSpan),this.splitEventStore=kt(this._splitEventStore),this.splitIndividualUi=kt(this._splitIndividualUi),this.splitEventDrag=kt(this._splitInteraction),this.splitEventResize=kt(this._splitInteraction),this.eventUiBuilders={}}return e.prototype.splitProps=function(e){var t=this,n=this.getKeyInfo(e),r=this.getKeysForEventDefs(e.eventStore),i=this.splitDateSelection(e.dateSelection),o=this.splitIndividualUi(e.eventUiBases,r),a=this.splitEventStore(e.eventStore,r),s=this.splitEventDrag(e.eventDrag),u=this.splitEventResize(e.eventResize),l={};this.eventUiBuilders=ot(n,function(e,n){return t.eventUiBuilders[n]||kt(jn)});for(var c in n){var d=n[c],f=a[c]||Gi,p=this.eventUiBuilders[c];l[c]={businessHours:d.businessHours||e.businessHours,dateSelection:i[c]||null,eventStore:f,eventUiBases:p(e.eventUiBases[""],d.ui,o[c]),eventSelection:f.instances[e.eventSelection]?e.eventSelection:"",eventDrag:s[c]||null,eventResize:u[c]||null}}return l},e.prototype._splitDateSpan=function(e){var t={};if(e)for(var n=this.getKeysForDateSpan(e),r=0,i=n;r<i.length;r++){var o=i[r];t[o]=e}return t},e.prototype._getKeysForEventDefs=function(e){var t=this;return ot(e.defs,function(e){return t.getKeysForEventDef(e)})},e.prototype._splitEventStore=function(e,t){var n=e.defs,r=e.instances,i={};for(var o in n)for(var a=0,s=t[o];a<s.length;a++){var u=s[a];i[u]||(i[u]=vt()),i[u].defs[o]=n[o]}for(var l in r)for(var c=r[l],d=0,f=t[c.defId];d<f.length;d++){var u=f[d];i[u]&&(i[u].instances[l]=c)}return i},e.prototype._splitIndividualUi=function(e,t){var n={};for(var r in e)if(r)for(var i=0,o=t[r];i<o.length;i++){var a=o[i];n[a]||(n[a]={}),n[a][r]=e[r]}return n},e.prototype._splitInteraction=function(e){var t={};if(e){var n=this._splitEventStore(e.affectedEvents,this._getKeysForEventDefs(e.affectedEvents)),r=this._getKeysForEventDefs(e.mutatedEvents),i=this._splitEventStore(e.mutatedEvents,r),o=function(r){t[r]||(t[r]={affectedEvents:n[r]||Gi,mutatedEvents:i[r]||Gi,isEvent:e.isEvent,origSeg:e.origSeg})};for(var a in n)o(a);for(var a in i)o(a)}return t},e}(),Ji=function(){function e(){}return e.mixInto=function(e){this.mixIntoObj(e.prototype)},e.mixIntoObj=function(e){var t=this;Object.getOwnPropertyNames(this.prototype).forEach(function(n){e[n]||(e[n]=t.prototype[n])})},e.mixOver=function(e){var t=this;Object.getOwnPropertyNames(this.prototype).forEach(function(n){e.prototype[n]=t.prototype[n]})},e}(),Ki=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return et(t,e),t.prototype.on=function(e,t){return Jn(this._handlers||(this._handlers={}),e,t),this},t.prototype.one=function(e,t){return Jn(this._oneHandlers||(this._oneHandlers={}),e,t),this},t.prototype.off=function(e,t){return this._handlers&&Kn(this._handlers,e,t),this._oneHandlers&&Kn(this._oneHandlers,e,t),this},t.prototype.trigger=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return this.triggerWith(e,this,t),this},t.prototype.triggerWith=function(e,t,n){return this._handlers&&je(this._handlers[e],t,n),this._oneHandlers&&(je(this._oneHandlers[e],t,n),delete this._oneHandlers[e]),this},t.prototype.hasHandlers=function(e){return this._handlers&&this._handlers[e]&&this._handlers[e].length||this._oneHandlers&&this._oneHandlers[e]&&this._oneHandlers[e].length},t}(Ji),Qi=function(){function e(e,t,n,r){this.originEl=e,this.els=t,this.isHorizontal=n,this.isVertical=r}return e.prototype.build=function(){var e=this.originEl,t=this.originClientRect=e.getBoundingClientRect();this.isHorizontal&&this.buildElHorizontals(t.left),this.isVertical&&this.buildElVerticals(t.top)},e.prototype.buildElHorizontals=function(e){for(var t=[],n=[],r=0,i=this.els;r<i.length;r++){var o=i[r],a=o.getBoundingClientRect();t.push(a.left-e),n.push(a.right-e)}this.lefts=t,this.rights=n},e.prototype.buildElVerticals=function(e){for(var t=[],n=[],r=0,i=this.els;r<i.length;r++){var o=i[r],a=o.getBoundingClientRect();t.push(a.top-e),n.push(a.bottom-e)}this.tops=t,this.bottoms=n},e.prototype.leftToIndex=function(e){var t,n=this.lefts,r=this.rights,i=n.length;for(t=0;t<i;t++)if(e>=n[t]&&e<r[t])return t},e.prototype.topToIndex=function(e){var t,n=this.tops,r=this.bottoms,i=n.length;for(t=0;t<i;t++)if(e>=n[t]&&e<r[t])return t},e.prototype.getWidth=function(e){return this.rights[e]-this.lefts[e]},e.prototype.getHeight=function(e){return this.bottoms[e]-this.tops[e]},e}(),$i=function(){function e(){}return e.prototype.getMaxScrollTop=function(){return this.getScrollHeight()-this.getClientHeight()},e.prototype.getMaxScrollLeft=function(){return this.getScrollWidth()-this.getClientWidth()},e.prototype.canScrollVertically=function(){return this.getMaxScrollTop()>0},e.prototype.canScrollHorizontally=function(){return this.getMaxScrollLeft()>0},e.prototype.canScrollUp=function(){return this.getScrollTop()>0},e.prototype.canScrollDown=function(){return this.getScrollTop()<this.getMaxScrollTop()},e.prototype.canScrollLeft=function(){return this.getScrollLeft()>0},e.prototype.canScrollRight=function(){return this.getScrollLeft()<this.getMaxScrollLeft()},e}(),eo=function(e){function t(t){var n=e.call(this)||this;return n.el=t,n}return et(t,e),t.prototype.getScrollTop=function(){return this.el.scrollTop},t.prototype.getScrollLeft=function(){return this.el.scrollLeft},t.prototype.setScrollTop=function(e){this.el.scrollTop=e},t.prototype.setScrollLeft=function(e){this.el.scrollLeft=e},t.prototype.getScrollWidth=function(){return this.el.scrollWidth},t.prototype.getScrollHeight=function(){return this.el.scrollHeight},t.prototype.getClientHeight=function(){return this.el.clientHeight},t.prototype.getClientWidth=function(){return this.el.clientWidth},t}($i),to=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return et(t,e),t.prototype.getScrollTop=function(){return window.pageYOffset},t.prototype.getScrollLeft=function(){return window.pageXOffset},t.prototype.setScrollTop=function(e){
-window.scroll(window.pageXOffset,e)},t.prototype.setScrollLeft=function(e){window.scroll(e,window.pageYOffset)},t.prototype.getScrollWidth=function(){return document.documentElement.scrollWidth},t.prototype.getScrollHeight=function(){return document.documentElement.scrollHeight},t.prototype.getClientHeight=function(){return document.documentElement.clientHeight},t.prototype.getClientWidth=function(){return document.documentElement.clientWidth},t}($i),no=function(e){function n(n,r){var i=e.call(this,t("div",{className:"fc-scroller"}))||this;return i.overflowX=n,i.overflowY=r,i.applyOverflow(),i}return et(n,e),n.prototype.clear=function(){this.setHeight("auto"),this.applyOverflow()},n.prototype.destroy=function(){c(this.el)},n.prototype.applyOverflow=function(){g(this.el,{overflowX:this.overflowX,overflowY:this.overflowY})},n.prototype.lockOverflow=function(e){var t=this.overflowX,n=this.overflowY;e=e||this.getScrollbarWidths(),"auto"===t&&(t=e.bottom||this.canScrollHorizontally()?"scroll":"hidden"),"auto"===n&&(n=e.left||e.right||this.canScrollVertically()?"scroll":"hidden"),g(this.el,{overflowX:t,overflowY:n})},n.prototype.setHeight=function(e){y(this.el,"height",e)},n.prototype.getScrollbarWidths=function(){var e=C(this.el);return{left:e.scrollbarLeft,right:e.scrollbarRight,bottom:e.scrollbarBottom}},n}(eo),ro=function(){function e(e){this.calendarOptions=e,this.processIconOverride()}return e.prototype.processIconOverride=function(){this.iconOverrideOption&&this.setIconOverride(this.calendarOptions[this.iconOverrideOption])},e.prototype.setIconOverride=function(e){var t,n;if("object"==typeof e&&e){t=ki({},this.iconClasses);for(n in e)t[n]=this.applyIconOverridePrefix(e[n]);this.iconClasses=t}else!1===e&&(this.iconClasses={})},e.prototype.applyIconOverridePrefix=function(e){var t=this.iconOverridePrefix;return t&&0!==e.indexOf(t)&&(e=t+e),e},e.prototype.getClass=function(e){return this.classes[e]||""},e.prototype.getIconClass=function(e){var t=this.iconClasses[e];return t?this.baseIconClass+" "+t:""},e.prototype.getCustomButtonIconClass=function(e){var t;return this.iconOverrideCustomButtonOption&&(t=e[this.iconOverrideCustomButtonOption])?this.baseIconClass+" "+this.applyIconOverridePrefix(t):""},e}();ro.prototype.classes={},ro.prototype.iconClasses={},ro.prototype.baseIconClass="",ro.prototype.iconOverridePrefix="";var io=0,oo=function(){function e(e,t){t&&(e.view=this),this.uid=String(io++),this.context=e,this.dateEnv=e.dateEnv,this.theme=e.theme,this.view=e.view,this.calendar=e.calendar,this.isRtl="rtl"===this.opt("dir")}return e.addEqualityFuncs=function(e){this.prototype.equalityFuncs=ki({},this.prototype.equalityFuncs,e)},e.prototype.opt=function(e){return this.context.options[e]},e.prototype.receiveProps=function(e){var t=Qn(this.props||{},e,this.equalityFuncs),n=t.anyChanges,r=t.comboProps;this.props=r,n&&this.render(r)},e.prototype.render=function(e){},e.prototype.destroy=function(){},e}();oo.prototype.equalityFuncs={};var ao=function(e){function t(t,n,r){var i=e.call(this,t,r)||this;return i.el=n,i}return et(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this),c(this.el)},t.prototype.queryHit=function(e,t,n,r){return null},t.prototype.isInteractionValid=function(e){var t=this.calendar,n=this.props.dateProfile,r=e.mutatedEvents.instances;if(n)for(var i in r)if(!wt(n.validRange,r[i].range))return!1;return dn(e,t)},t.prototype.isDateSelectionValid=function(e){var t=this.props.dateProfile;return!(t&&!wt(t.validRange,e.range))&&fn(e,this.calendar)},t.prototype.publiclyTrigger=function(e,t){return this.calendar.publiclyTrigger(e,t)},t.prototype.publiclyTriggerAfterSizing=function(e,t){return this.calendar.publiclyTriggerAfterSizing(e,t)},t.prototype.hasPublicHandlers=function(e){return this.calendar.hasPublicHandlers(e)},t.prototype.triggerRenderedSegs=function(e,t){var n=this.calendar;if(this.hasPublicHandlers("eventPositioned"))for(var r=0,i=e;r<i.length;r++){var o=i[r];this.publiclyTriggerAfterSizing("eventPositioned",[{event:new Bi(n,o.eventRange.def,o.eventRange.instance),isMirror:t,isStart:o.isStart,isEnd:o.isEnd,el:o.el,view:this}])}n.state.loadingLevel||(n.afterSizingTriggers._eventsPositioned=[null])},t.prototype.triggerWillRemoveSegs=function(e,t){for(var n=this.calendar,r=0,i=e;r<i.length;r++){var o=i[r];n.trigger("eventElRemove",o.el)}if(this.hasPublicHandlers("eventDestroy"))for(var a=0,s=e;a<s.length;a++){var o=s[a];this.publiclyTrigger("eventDestroy",[{event:new Bi(n,o.eventRange.def,o.eventRange.instance),isMirror:t,el:o.el,view:this}])}},t.prototype.isValidSegDownEl=function(e){return!this.props.eventDrag&&!this.props.eventResize&&!d(e,".fc-mirror")&&(this.isPopover()||!this.isInPopover(e))},t.prototype.isValidDateDownEl=function(e){var t=d(e,this.fgSegSelector);return(!t||t.classList.contains("fc-mirror"))&&!d(e,".fc-more")&&!d(e,"a[data-goto]")&&!this.isInPopover(e)},t.prototype.isPopover=function(){return this.el.classList.contains("fc-popover")},t.prototype.isInPopover=function(e){return Boolean(d(e,".fc-popover"))},t}(oo);ao.prototype.fgSegSelector=".fc-event-container > *",ao.prototype.bgSegSelector=".fc-bgevent:not(.fc-nonbusiness)";var so=0,uo=function(){function e(){this.hooks={reducers:[],eventDefParsers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],eventResizeJoinTransforms:[],viewContainerModifiers:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,defaultView:"",elementDraggingImpl:null,optionChangeHandlers:{}},this.addedHash={}}return e.prototype.add=function(e){if(!this.addedHash[e.id]){this.addedHash[e.id]=!0;for(var t=0,n=e.deps;t<n.length;t++){var r=n[t];this.add(r)}this.hooks=er(this.hooks,e)}},e}(),lo={ignoreRange:!0,parseMeta:function(e){return Array.isArray(e)?e:Array.isArray(e.events)?e.events:null},fetch:function(e,t){t({rawEvents:e.eventSource.meta})}},co=$n({eventSourceDefs:[lo]}),fo={parseMeta:function(e){return"function"==typeof e?e:"function"==typeof e.events?e.events:null},fetch:function(e,t,n){var r=e.calendar.dateEnv;Xn(e.eventSource.meta.bind(null,{start:r.toDate(e.range.start),end:r.toDate(e.range.end),startStr:r.formatIso(e.range.start),endStr:r.formatIso(e.range.end),timeZone:r.timeZone}),function(e){t({rawEvents:e})},n)}},po=$n({eventSourceDefs:[fo]}),ho={parseMeta:function(e){if("string"==typeof e)e={url:e};else if(!e||"object"!=typeof e||!e.url)return null;return{url:e.url,method:(e.method||"GET").toUpperCase(),extraParams:e.extraParams,startParam:e.startParam,endParam:e.endParam,timeZoneParam:e.timeZoneParam}},fetch:function(e,t,n){var r=e.eventSource.meta,i=ir(r,e.range,e.calendar);tr(r.method,r.url,i,function(e,n){t({rawEvents:e,xhr:n})},function(e,t){n({message:e,xhr:t})})}},vo=$n({eventSourceDefs:[ho]}),go={parse:function(e,t,n){var r=n.createMarker.bind(n),i={daysOfWeek:null,startTime:ue,endTime:ue,startRecur:r,endRecur:r},o=Ge(e,i,{},t),a=!1;for(var s in o)if(null!=o[s]){a=!0;break}return a?{allDayGuess:Boolean(!o.startTime&&!o.endTime),duration:o.startTime&&o.endTime?ve(o.endTime,o.startTime):null,typeData:o}:null},expand:function(e,t,n){var r=Dt(t,{start:e.startRecur,end:e.endRecur});return r?or(e.daysOfWeek,e.startTime,r,n):[]}},yo=$n({recurringTypes:[go]}),mo=$n({optionChangeHandlers:{events:function(e,t){ar([e],t)},eventSources:ar,plugins:sr}}),Eo={},So={defaultRangeSeparator:" - ",titleRangeSeparator:" – ",defaultTimedEventDuration:"01:00:00",defaultAllDayEventDuration:{day:1},forceEventDuration:!1,nextDayThreshold:"00:00:00",columnHeader:!0,defaultView:"",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"local",editable:!1,scrollTime:"06:00:00",minTime:"00:00:00",maxTime:"24:00:00",showNonCurrentDates:!0,lazyFetching:!0,startParam:"start",endParam:"end",timeZoneParam:"timeZone",timeZone:"local",locales:[],locale:"",timeGridEventMinHeight:0,themeSystem:"standard",dragRevertDuration:500,dragScroll:!0,allDayMaintainDuration:!1,unselectAuto:!0,dropAccept:"*",eventOrder:"start,-duration,allDay,title",eventLimit:!1,eventLimitClick:"popover",dayPopoverFormat:{month:"long",day:"numeric",year:"numeric"},handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3,eventDragMinDistance:5},Do={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"fc-icon-chevron-right",next:"fc-icon-chevron-left",prevYear:"fc-icon-chevrons-right",nextYear:"fc-icon-chevrons-left"}},bo=["header","footer","buttonText","buttonIcons"],To=[co,po,vo,yo,mo],wo={code:"en",week:{dow:0,doy:4},dir:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekLabel:"W",allDayText:"all-day",eventLimitText:"more",noEventsMessage:"No events to display"},Ro=function(){function e(e){this.overrides=ki({},e),this.dynamicOverrides={},this.compute()}return e.prototype.add=function(e){ki(this.overrides,e),this.compute()},e.prototype.addDynamic=function(e){ki(this.dynamicOverrides,e),this.compute()},e.prototype.reset=function(e){this.overrides=e,this.compute()},e.prototype.compute=function(){var e=Ye(this.dynamicOverrides.locales,this.overrides.locales,So.locales),t=Ye(this.dynamicOverrides.locale,this.overrides.locale,So.locale),n=cr(e),r=dr(t||n.defaultCode,n.map).options,i=Ye(this.dynamicOverrides.dir,this.overrides.dir,r.dir),o="rtl"===i?Do:{};this.dirDefaults=o,this.localeDefaults=r,this.computed=ur([So,o,r,this.overrides,this.dynamicOverrides])},e}(),Io={},Co=function(){function e(){}return e.prototype.getMarkerYear=function(e){return e.getUTCFullYear()},e.prototype.getMarkerMonth=function(e){return e.getUTCMonth()},e.prototype.getMarkerDay=function(e){return e.getUTCDate()},e.prototype.arrayToMarker=function(e){return oe(e)},e.prototype.markerToArray=function(e){return ie(e)},e}();!function(e,t){Io[e]=t}("gregory",Co);var Mo=/^\s*\d{4}-\d\d-\d\d([T ]\d)?/,ko=/(?:(Z)|([-+])(\d\d)(?::(\d\d))?)$/,Oo=function(){function e(e){var t=this.timeZone=e.timeZone,n="local"!==t&&"UTC"!==t;e.namedTimeZoneImpl&&n&&(this.namedTimeZoneImpl=new e.namedTimeZoneImpl(t)),this.canComputeOffset=Boolean(!n||this.namedTimeZoneImpl),this.calendarSystem=vr(e.calendarSystem),this.locale=e.locale,this.weekDow=e.locale.week.dow,this.weekDoy=e.locale.week.doy,"ISO"===e.weekNumberCalculation?(this.weekDow=1,this.weekDoy=4):"number"==typeof e.firstDay&&(this.weekDow=e.firstDay),"function"==typeof e.weekNumberCalculation&&(this.weekNumberFunc=e.weekNumberCalculation),this.weekLabel=null!=e.weekLabel?e.weekLabel:e.locale.options.weekLabel,this.cmdFormatter=e.cmdFormatter}return e.prototype.createMarker=function(e){var t=this.createMarkerMeta(e);return null===t?null:t.marker},e.prototype.createNowMarker=function(){return this.canComputeOffset?this.timestampToMarker((new Date).valueOf()):oe(ne(new Date))},e.prototype.createMarkerMeta=function(e){if("string"==typeof e)return this.parse(e);var t=null;return"number"==typeof e?t=this.timestampToMarker(e):e instanceof Date?(e=e.valueOf(),isNaN(e)||(t=this.timestampToMarker(e))):Array.isArray(e)&&(t=oe(e)),null!==t&&ae(t)?{marker:t,isTimeUnspecified:!1,forcedTzo:null}:null},e.prototype.parse=function(e){var t=gr(e);if(null===t)return null;var n=t.marker,r=null;return null!==t.timeZoneOffset&&(this.canComputeOffset?n=this.timestampToMarker(n.valueOf()-60*t.timeZoneOffset*1e3):r=t.timeZoneOffset),{marker:n,isTimeUnspecified:t.isTimeUnspecified,forcedTzo:r}},e.prototype.getYear=function(e){return this.calendarSystem.getMarkerYear(e)},e.prototype.getMonth=function(e){return this.calendarSystem.getMarkerMonth(e)},e.prototype.add=function(e,t){var n=this.calendarSystem.markerToArray(e);return n[0]+=t.years,n[1]+=t.months,n[2]+=t.days,n[6]+=t.milliseconds,this.calendarSystem.arrayToMarker(n)},e.prototype.subtract=function(e,t){var n=this.calendarSystem.markerToArray(e);return n[0]-=t.years,n[1]-=t.months,n[2]-=t.days,n[6]-=t.milliseconds,this.calendarSystem.arrayToMarker(n)},e.prototype.addYears=function(e,t){var n=this.calendarSystem.markerToArray(e);return n[0]+=t,this.calendarSystem.arrayToMarker(n)},e.prototype.addMonths=function(e,t){var n=this.calendarSystem.markerToArray(e);return n[1]+=t,this.calendarSystem.arrayToMarker(n)},e.prototype.diffWholeYears=function(e,t){var n=this.calendarSystem;return se(e)===se(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)&&n.getMarkerMonth(e)===n.getMarkerMonth(t)?n.getMarkerYear(t)-n.getMarkerYear(e):null},e.prototype.diffWholeMonths=function(e,t){var n=this.calendarSystem;return se(e)===se(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)?n.getMarkerMonth(t)-n.getMarkerMonth(e)+12*(n.getMarkerYear(t)-n.getMarkerYear(e)):null},e.prototype.greatestWholeUnit=function(e,t){var n=this.diffWholeYears(e,t);return null!==n?{unit:"year",value:n}:null!==(n=this.diffWholeMonths(e,t))?{unit:"month",value:n}:null!==(n=q(e,t))?{unit:"week",value:n}:null!==(n=G(e,t))?{unit:"day",value:n}:(n=W(e,t),Ze(n)?{unit:"hour",value:n}:(n=Z(e,t),Ze(n)?{unit:"minute",value:n}:(n=j(e,t),Ze(n)?{unit:"second",value:n}:{unit:"millisecond",value:t.valueOf()-e.valueOf()})))},e.prototype.countDurationsBetween=function(e,t,n){var r;return n.years&&null!==(r=this.diffWholeYears(e,t))?r/ye(n):n.months&&null!==(r=this.diffWholeMonths(e,t))?r/me(n):n.days&&null!==(r=G(e,t))?r/Ee(n):(t.valueOf()-e.valueOf())/be(n)},e.prototype.startOf=function(e,t){return"year"===t?this.startOfYear(e):"month"===t?this.startOfMonth(e):"week"===t?this.startOfWeek(e):"day"===t?X(e):"hour"===t?J(e):"minute"===t?K(e):"second"===t?Q(e):void 0},e.prototype.startOfYear=function(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])},e.prototype.startOfMonth=function(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e)])},e.prototype.startOfWeek=function(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e),e.getUTCDate()-(e.getUTCDay()-this.weekDow+7)%7])},e.prototype.computeWeekNumber=function(e){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(e)):$(e,this.weekDow,this.weekDoy)},e.prototype.format=function(e,t,n){return void 0===n&&(n={}),t.format({marker:e,timeZoneOffset:null!=n.forcedTzo?n.forcedTzo:this.offsetForMarker(e)},this)},e.prototype.formatRange=function(e,t,n,r){return void 0===r&&(r={}),r.isEndExclusive&&(t=V(t,-1)),n.formatRange({marker:e,timeZoneOffset:null!=r.forcedStartTzo?r.forcedStartTzo:this.offsetForMarker(e)},{marker:t,timeZoneOffset:null!=r.forcedEndTzo?r.forcedEndTzo:this.offsetForMarker(t)},this)},e.prototype.formatIso=function(e,t){void 0===t&&(t={});var n=null;return t.omitTimeZoneOffset||(n=null!=t.forcedTzo?t.forcedTzo:this.offsetForMarker(e)),Bt(e,n,t.omitTime)},e.prototype.timestampToMarker=function(e){return"local"===this.timeZone?oe(ne(new Date(e))):"UTC"!==this.timeZone&&this.namedTimeZoneImpl?oe(this.namedTimeZoneImpl.timestampToArray(e)):new Date(e)},e.prototype.offsetForMarker=function(e){return"local"===this.timeZone?-re(ie(e)).getTimezoneOffset():"UTC"===this.timeZone?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(ie(e)):null},e.prototype.toDate=function(e,t){return"local"===this.timeZone?re(ie(e)):"UTC"===this.timeZone?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-1e3*this.namedTimeZoneImpl.offsetForArray(ie(e))*60):new Date(e.valueOf()-(t||0))},e}(),_o={id:String,allDayDefault:Boolean,eventDataTransform:Function,success:Function,failure:Function},Po=0,Ho=0,xo=function(){function e(e,t){this.viewSpec=e,this.options=e.options,this.dateEnv=t.dateEnv,this.calendar=t,this.initHiddenDays()}return e.prototype.buildPrev=function(e,t){var n=this.dateEnv,r=n.subtract(n.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(r,-1)},e.prototype.buildNext=function(e,t){var n=this.dateEnv,r=n.add(n.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(r,1)},e.prototype.build=function(e,t,n){void 0===n&&(n=!1);var r,i,o,a,s,u,l=null,c=null;return r=this.buildValidRange(),r=this.trimHiddenDays(r),n&&(e=It(e,r)),i=this.buildCurrentRangeInfo(e,t),o=/^(year|month|week|day)$/.test(i.unit),a=this.buildRenderRange(this.trimHiddenDays(i.range),i.unit,o),a=this.trimHiddenDays(a),s=a,this.options.showNonCurrentDates||(s=Dt(s,i.range)),l=ue(this.options.minTime),c=ue(this.options.maxTime),s=this.adjustActiveRange(s,l,c),s=Dt(s,r),u=Tt(i.range,r),{validRange:r,currentRange:i.range,currentRangeUnit:i.unit,isRangeAllDay:o,activeRange:s,renderRange:a,minTime:l,maxTime:c,isValid:u,dateIncrement:this.buildDateIncrement(i.duration)}},e.prototype.buildValidRange=function(){return this.getRangeOption("validRange",this.calendar.getNow())||{start:null,end:null}},e.prototype.buildCurrentRangeInfo=function(e,t){var n,r=this,i=r.viewSpec,o=r.dateEnv,a=null,s=null,u=null;return i.duration?(a=i.duration,s=i.durationUnit,u=this.buildRangeFromDuration(e,t,a,s)):(n=this.options.dayCount)?(s="day",u=this.buildRangeFromDayCount(e,t,n)):(u=this.buildCustomVisibleRange(e))?s=o.greatestWholeUnit(u.start,u.end).unit:(a=this.getFallbackDuration(),s=we(a).unit,u=this.buildRangeFromDuration(e,t,a,s)),{duration:a,unit:s,range:u}},e.prototype.getFallbackDuration=function(){return ue({day:1})},e.prototype.adjustActiveRange=function(e,t,n){var r=this.dateEnv,i=e.start,o=e.end;return this.viewSpec.class.prototype.usesMinMaxTime&&(Ee(t)<0&&(i=X(i),i=r.add(i,t)),Ee(n)>1&&(o=X(o),o=A(o,-1),o=r.add(o,n))),{start:i,end:o}},e.prototype.buildRangeFromDuration=function(e,t,n,r){function i(){s=c.startOf(e,d),u=c.add(s,n),l={start:s,end:u}}var o,a,s,u,l,c=this.dateEnv,d=this.options.dateAlignment;return d||(o=this.options.dateIncrement,o?(a=ue(o),d=be(a)<be(n)?we(a,!de(o)).unit:r):d=r),Ee(n)<=1&&this.isHiddenDay(s)&&(s=this.skipHiddenDays(s,t),s=X(s)),i(),this.trimHiddenDays(l)||(e=this.skipHiddenDays(e,t),i()),l},e.prototype.buildRangeFromDayCount=function(e,t,n){var r,i=this.dateEnv,o=this.options.dateAlignment,a=0,s=e;o&&(s=i.startOf(s,o)),s=X(s),s=this.skipHiddenDays(s,t),r=s;do{r=A(r,1),this.isHiddenDay(r)||a++}while(a<n);return{start:s,end:r}},e.prototype.buildCustomVisibleRange=function(e){var t=this.dateEnv,n=this.getRangeOption("visibleRange",t.toDate(e));return!n||null!=n.start&&null!=n.end?n:null},e.prototype.buildRenderRange=function(e,t,n){return e},e.prototype.buildDateIncrement=function(e){var t,n=this.options.dateIncrement;return n?ue(n):(t=this.options.dateAlignment)?ue(1,t):e||ue({days:1})},e.prototype.getRangeOption=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=this.options[e];return"function"==typeof r&&(r=r.apply(null,t)),r&&(r=mt(r,this.dateEnv)),r&&(r=Ke(r)),r},e.prototype.initHiddenDays=function(){var e,t=this.options.hiddenDays||[],n=[],r=0;for(!1===this.options.weekends&&t.push(0,6),e=0;e<7;e++)(n[e]=-1!==t.indexOf(e))||r++;if(!r)throw new Error("invalid hiddenDays");this.isHiddenDayHash=n},e.prototype.trimHiddenDays=function(e){var t=e.start,n=e.end;return t&&(t=this.skipHiddenDays(t)),n&&(n=this.skipHiddenDays(n,-1,!0)),null==t||null==n||t<n?{start:t,end:n}:null},e.prototype.isHiddenDay=function(e){return e instanceof Date&&(e=e.getUTCDay()),this.isHiddenDayHash[e]},e.prototype.skipHiddenDays=function(e,t,n){for(void 0===t&&(t=1),void 0===n&&(n=!1);this.isHiddenDayHash[(e.getUTCDay()+(n?t:0)+7)%7];)e=A(e,t);return e},e}(),No={start:null,end:null,allDay:Boolean},zo={type:String,class:null},Uo=function(e){function r(n,r){var i=e.call(this,n)||this;return i._renderLayout=An(i.renderLayout,i.unrenderLayout),i._updateTitle=An(i.updateTitle,null,[i._renderLayout]),i._updateActiveButton=An(i.updateActiveButton,null,[i._renderLayout]),i._updateToday=An(i.updateToday,null,[i._renderLayout]),i._updatePrev=An(i.updatePrev,null,[i._renderLayout]),i._updateNext=An(i.updateNext,null,[i._renderLayout]),i.el=t("div",{className:"fc-toolbar "+r}),i}return et(r,e),r.prototype.destroy=function(){e.prototype.destroy.call(this),this._renderLayout.unrender(),c(this.el)},r.prototype.render=function(e){this._renderLayout(e.layout),this._updateTitle(e.title),this._updateActiveButton(e.activeButton),this._updateToday(e.isTodayEnabled),this._updatePrev(e.isPrevEnabled),this._updateNext(e.isNextEnabled)},r.prototype.renderLayout=function(e){var t=this.el;this.viewsWithButtons=[],a(t,this.renderSection("left",e.left)),a(t,this.renderSection("center",e.center)),a(t,this.renderSection("right",e.right))},r.prototype.unrenderLayout=function(){this.el.innerHTML=""},r.prototype.renderSection=function(e,r){var i=this,o=this,s=o.theme,u=o.calendar,l=u.optionsManager,c=u.viewSpecs,d=t("div",{className:"fc-"+e}),f=l.computed.customButtons||{},p=l.overrides.buttonText||{},h=l.computed.buttonText||{};return r&&r.split(" ").forEach(function(e,t){var r,o=[],l=!0;if(e.split(",").forEach(function(e,t){var r,a,d,v,g,y,m,E,S;"title"===e?(o.push(n("<h2>&nbsp;</h2>")),l=!1):((r=f[e])?(d=function(e){r.click&&r.click.call(E,e)},(v=s.getCustomButtonIconClass(r))||(v=s.getIconClass(e))||(g=r.text)):(a=c[e])?(i.viewsWithButtons.push(e),d=function(){u.changeView(e)},(g=a.buttonTextOverride)||(v=s.getIconClass(e))||(g=a.buttonTextDefault)):u[e]&&(d=function(){u[e]()},(g=p[e])||(v=s.getIconClass(e))||(g=h[e])),d&&(m=["fc-"+e+"-button",s.getClass("button")],g?(y=bn(g),S=""):v&&(y="<span class='"+v+"'></span>",S=' aria-label="'+e+'"'),E=n('<button type="button" class="'+m.join(" ")+'"'+S+">"+y+"</button>"),E.addEventListener("click",d),o.push(E)))}),o.length>1){r=document.createElement("div");var v=s.getClass("buttonGroup");l&&v&&r.classList.add(v),a(r,o),d.appendChild(r)}else a(d,o)}),d},r.prototype.updateToday=function(e){this.toggleButtonEnabled("today",e)},r.prototype.updatePrev=function(e){this.toggleButtonEnabled("prev",e)},r.prototype.updateNext=function(e){this.toggleButtonEnabled("next",e)},r.prototype.updateTitle=function(e){p(this.el,"h2").forEach(function(t){t.innerText=e})},r.prototype.updateActiveButton=function(e){var t=this.theme.getClass("buttonActive");p(this.el,"button").forEach(function(n){e&&n.classList.contains("fc-"+e+"-button")?n.classList.add(t):n.classList.remove(t)})},r.prototype.toggleButtonEnabled=function(e,t){p(this.el,".fc-"+e+"-button").forEach(function(e){e.disabled=!t})},r}(oo),Lo=function(e){function n(n,r){var i=e.call(this,n)||this;i._renderToolbars=An(i.renderToolbars),i.buildViewPropTransformers=kt(ni),i.el=r,s(r,i.contentEl=t("div",{className:"fc-view-container"}));for(var o=i.calendar,a=0,u=o.pluginSystem.hooks.viewContainerModifiers;a<u.length;a++){(0,u[a])(i.contentEl,o)}return i.toggleElClassNames(!0),i.computeTitle=kt(ei),i.parseBusinessHours=kt(function(e){return Un(e,i.calendar)}),i}return et(n,e),n.prototype.destroy=function(){this.header&&this.header.destroy(),this.footer&&this.footer.destroy(),this.view&&this.view.destroy(),c(this.contentEl),this.toggleElClassNames(!1),e.prototype.destroy.call(this)},n.prototype.toggleElClassNames=function(e){var t=this.el.classList,n="fc-"+this.opt("dir"),r=this.theme.getClass("widget");e?(t.add("fc"),t.add(n),t.add(r)):(t.remove("fc"),t.remove(n),t.remove(r))},n.prototype.render=function(e){this.freezeHeight();var t=this.computeTitle(e.dateProfile,e.viewSpec.options);this._renderToolbars(e.viewSpec,e.dateProfile,e.currentDate,e.dateProfileGenerator,t),this.renderView(e,t),this.updateSize(),this.thawHeight()},n.prototype.renderToolbars=function(e,t,n,r,i){var o=this.opt("header"),u=this.opt("footer"),l=this.calendar.getNow(),c=r.build(l),d=r.buildPrev(t,n),f=r.buildNext(t,n),p={title:i,activeButton:e.type,isTodayEnabled:c.isValid&&!Rt(t.currentRange,l),isPrevEnabled:d.isValid,isNextEnabled:f.isValid};o?(this.header||(this.header=new Uo(this.context,"fc-header-toolbar"),s(this.el,this.header.el)),this.header.receiveProps(ki({layout:o},p))):this.header&&(this.header.destroy(),this.header=null),u?(this.footer||(this.footer=new Uo(this.context,"fc-footer-toolbar"),a(this.el,this.footer.el)),this.footer.receiveProps(ki({layout:u},p))):this.footer&&(this.footer.destroy(),this.footer=null)},n.prototype.renderView=function(e,t){var n=this.view,r=e.viewSpec,i=e.dateProfileGenerator;n&&n.viewSpec===r?n.addScroll(n.queryScroll()):(n&&n.destroy(),n=this.view=new r.class({calendar:this.calendar,view:null,dateEnv:this.dateEnv,theme:this.theme,options:r.options},r,i,this.contentEl)),n.title=t;for(var o={dateProfile:e.dateProfile,businessHours:this.parseBusinessHours(r.options.businessHours),eventStore:e.eventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize},a=this.buildViewPropTransformers(this.calendar.pluginSystem.hooks.viewPropsTransformers),s=0,u=a;s<u.length;s++){var l=u[s];ki(o,l.transform(o,r,e,n))}n.receiveProps(o)},n.prototype.updateSize=function(e){void 0===e&&(e=!1);var t=this.view;e&&t.addScroll(t.queryScroll()),(e||null==this.isHeightAuto)&&this.computeHeightVars(),t.updateSize(e,this.viewHeight,this.isHeightAuto),t.updateNowIndicator(),t.popScroll(e)},n.prototype.computeHeightVars=function(){var e=this.calendar,t=e.opt("height"),n=e.opt("contentHeight");this.isHeightAuto="auto"===t||"auto"===n,this.viewHeight="number"==typeof n?n:"function"==typeof n?n():"number"==typeof t?t-this.queryToolbarsHeight():"function"==typeof t?t()-this.queryToolbarsHeight():"parent"===t?this.el.parentNode.offsetHeight-this.queryToolbarsHeight():Math.round(this.contentEl.offsetWidth/Math.max(e.opt("aspectRatio"),.5))},n.prototype.queryToolbarsHeight=function(){var e=0;return this.header&&(e+=_(this.header.el)),this.footer&&(e+=_(this.footer.el)),e},n.prototype.freezeHeight=function(){g(this.el,{height:this.el.offsetHeight,overflow:"hidden"})},n.prototype.thawHeight=function(){g(this.el,{height:"",overflow:""})},n}(oo),Ao=function(){function e(e){this.component=e.component}return e.prototype.destroy=function(){},e}(),Vo={},Bo=function(e){function t(t){var n=e.call(this,t)||this;n.handleSegClick=function(e,t){var r=n.component,i=Jt(t);if(i&&r.isValidSegDownEl(e.target)){var o=d(e.target,".fc-has-url"),a=o?o.querySelector("a[href]").href:"";r.publiclyTrigger("eventClick",[{el:t,event:new Bi(r.calendar,i.eventRange.def,i.eventRange.instance),jsEvent:e,view:r.view}]),a&&!e.defaultPrevented&&(window.location.href=a)}};var r=t.component;return n.destroy=N(r.el,"click",r.fgSegSelector+","+r.bgSegSelector,n.handleSegClick),n}return et(t,e),t}(Ao),Fo=function(e){function t(t){var n=e.call(this,t)||this;n.handleEventElRemove=function(e){e===n.currentSegEl&&n.handleSegLeave(null,n.currentSegEl)},n.handleSegEnter=function(e,t){Jt(t)&&(t.classList.add("fc-allow-mouse-resize"),n.currentSegEl=t,n.triggerEvent("eventMouseEnter",e,t))},n.handleSegLeave=function(e,t){n.currentSegEl&&(t.classList.remove("fc-allow-mouse-resize"),n.currentSegEl=null,n.triggerEvent("eventMouseLeave",e,t))};var r=t.component;return n.removeHoverListeners=z(r.el,r.fgSegSelector+","+r.bgSegSelector,n.handleSegEnter,n.handleSegLeave),r.calendar.on("eventElRemove",n.handleEventElRemove),n}return et(t,e),t.prototype.destroy=function(){this.removeHoverListeners(),this.component.calendar.off("eventElRemove",this.handleEventElRemove)},t.prototype.triggerEvent=function(e,t,n){var r=this.component,i=Jt(n);t&&!r.isValidSegDownEl(t.target)||r.publiclyTrigger(e,[{el:n,event:new Bi(this.component.calendar,i.eventRange.def,i.eventRange.instance),jsEvent:t,view:r.view}])},t}(Ao),Wo=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return et(t,e),t}(ro);Wo.prototype.classes={widget:"fc-unthemed",widgetHeader:"fc-widget-header",widgetContent:"fc-widget-content",buttonGroup:"fc-button-group",button:"fc-button fc-button-primary",buttonActive:"fc-button-active",popoverHeader:"fc-widget-header",popoverContent:"fc-widget-content",headerRow:"fc-widget-header",dayRow:"fc-widget-content",listView:"fc-widget-content"},Wo.prototype.baseIconClass="fc-icon",Wo.prototype.iconClasses={close:"fc-icon-x",prev:"fc-icon-chevron-left",next:"fc-icon-chevron-right",prevYear:"fc-icon-chevrons-left",nextYear:"fc-icon-chevrons-right"},Wo.prototype.iconOverrideOption="buttonIcons",Wo.prototype.iconOverrideCustomButtonOption="icon",Wo.prototype.iconOverridePrefix="fc-icon-";var Zo=function(){function e(e,t){var n=this;this.parseRawLocales=kt(cr),this.buildLocale=kt(dr),this.buildDateEnv=kt(oi),this.buildTheme=kt(ai),this.buildEventUiSingleBase=kt(this._buildEventUiSingleBase),this.buildSelectionConfig=kt(this._buildSelectionConfig),this.buildEventUiBySource=Ot(ui,Fn),this.buildEventUiBases=kt(li),this.interactionsStore={},this.actionQueue=[],this.isReducing=!1,this.needsRerender=!1,this.needsFullRerender=!1,this.isRendering=!1,this.renderingPauseDepth=0,this.buildDelayedRerender=kt(si),this.afterSizingTriggers={},this.isViewUpdated=!1,this.isDatesUpdated=!1,this.isEventsUpdated=!1,this.el=e,this.optionsManager=new Ro(t||{}),this.pluginSystem=new uo,this.addPluginInputs(this.optionsManager.computed.plugins||[]),this.handleOptions(this.optionsManager.computed),this.publiclyTrigger("_init"),this.hydrate(),this.calendarInteractions=this.pluginSystem.hooks.calendarInteractions.map(function(e){return new e(n)})}return e.prototype.addPluginInputs=function(e){for(var t=lr(e),n=0,r=t;n<r.length;n++){var i=r[n];this.pluginSystem.add(i)}},Object.defineProperty(e.prototype,"view",{get:function(){return this.component?this.component.view:null},enumerable:!0,configurable:!0}),e.prototype.render=function(){this.component?this.requestRerender(!0):(this.renderableEventStore=vt(),this.bindHandlers(),this.executeRender())},e.prototype.destroy=function(){if(this.component){this.unbindHandlers(),this.component.destroy(),this.component=null;for(var e=0,t=this.calendarInteractions;e<t.length;e++){t[e].destroy()}this.publiclyTrigger("_destroyed")}},e.prototype.bindHandlers=function(){var e=this;this.removeNavLinkListener=N(this.el,"click","a[data-goto]",function(t,n){var r=n.getAttribute("data-goto");r=r?JSON.parse(r):{};var i=e.dateEnv,o=i.createMarker(r.date),a=r.type,s=e.viewOpt("navLink"+Be(a)+"Click");"function"==typeof s?s(i.toDate(o),t):("string"==typeof s&&(a=s),e.zoomTo(o,a))}),this.opt("handleWindowResize")&&window.addEventListener("resize",this.windowResizeProxy=qe(this.windowResize.bind(this),this.opt("windowResizeDelay")))},e.prototype.unbindHandlers=function(){this.removeNavLinkListener(),this.windowResizeProxy&&(window.removeEventListener("resize",this.windowResizeProxy),this.windowResizeProxy=null)},e.prototype.hydrate=function(){var e=this;this.state=this.buildInitialState();var t=this.opt("eventSources")||[],n=this.opt("events"),r=[];n&&t.unshift(n);for(var i=0,o=t;i<o.length;i++){var a=o[i],s=mr(a,this);s&&r.push(s)}this.batchRendering(function(){e.dispatch({type:"INIT"}),e.dispatch({type:"ADD_EVENT_SOURCES",sources:r}),e.dispatch({type:"SET_VIEW_TYPE",viewType:e.opt("defaultView")||e.pluginSystem.hooks.defaultView})})},e.prototype.buildInitialState=function(){return{viewType:null,loadingLevel:0,eventSourceLoadingLevel:0,currentDate:this.getInitialDate(),dateProfile:null,eventSources:{},eventStore:vt(),dateSelection:null,eventSelection:"",eventDrag:null,eventResize:null}},e.prototype.dispatch=function(e){if(this.actionQueue.push(e),!this.isReducing){this.isReducing=!0;for(var t=this.state;this.actionQueue.length;)this.state=this.reduce(this.state,this.actionQueue.shift(),this);var n=this.state;this.isReducing=!1,!t.loadingLevel&&n.loadingLevel?this.publiclyTrigger("loading",[!0]):t.loadingLevel&&!n.loadingLevel&&this.publiclyTrigger("loading",[!1]);var r=this.component&&this.component.view;(t.eventStore!==n.eventStore||this.needsFullRerender)&&t.eventStore&&(this.isEventsUpdated=!0),
-(t.dateProfile!==n.dateProfile||this.needsFullRerender)&&(t.dateProfile&&r&&this.publiclyTrigger("datesDestroy",[{view:r,el:r.el}]),this.isDatesUpdated=!0),(t.viewType!==n.viewType||this.needsFullRerender)&&(t.viewType&&r&&this.publiclyTrigger("viewSkeletonDestroy",[{view:r,el:r.el}]),this.isViewUpdated=!0),this.requestRerender()}},e.prototype.reduce=function(e,t,n){return Or(e,t,n)},e.prototype.requestRerender=function(e){void 0===e&&(e=!1),this.needsRerender=!0,this.needsFullRerender=this.needsFullRerender||e,this.delayedRerender()},e.prototype.tryRerender=function(){this.component&&this.needsRerender&&!this.renderingPauseDepth&&!this.isRendering&&this.executeRender()},e.prototype.batchRendering=function(e){this.renderingPauseDepth++,e(),this.renderingPauseDepth--,this.needsRerender&&this.requestRerender()},e.prototype.executeRender=function(){var e=this.needsFullRerender;this.needsRerender=!1,this.needsFullRerender=!1,this.isRendering=!0,this.renderComponent(e),this.isRendering=!1,this.needsRerender&&this.delayedRerender()},e.prototype.renderComponent=function(e){var t=this,n=t.state,r=t.component,i=n.viewType,o=this.viewSpecs[i],a=e&&r?r.view.queryScroll():null;if(!o)throw new Error('View type "'+i+'" is not valid');var s=this.renderableEventStore=n.eventSourceLoadingLevel&&!this.opt("progressiveEventRendering")?this.renderableEventStore:n.eventStore,u=this.buildEventUiSingleBase(o.options),l=this.buildEventUiBySource(n.eventSources),c=this.eventUiBases=this.buildEventUiBases(s.defs,u,l);!e&&r||(r&&(r.freezeHeight(),r.destroy()),r=this.component=new Lo({calendar:this,view:null,dateEnv:this.dateEnv,theme:this.theme,options:this.optionsManager.computed},this.el)),r.receiveProps(ki({},n,{viewSpec:o,dateProfile:n.dateProfile,dateProfileGenerator:this.dateProfileGenerators[i],eventStore:s,eventUiBases:c,dateSelection:n.dateSelection,eventSelection:n.eventSelection,eventDrag:n.eventDrag,eventResize:n.eventResize})),a&&r.view.applyScroll(a,!1),this.isViewUpdated&&(this.isViewUpdated=!1,this.publiclyTrigger("viewSkeletonRender",[{view:r.view,el:r.view.el}])),this.isDatesUpdated&&(this.isDatesUpdated=!1,this.publiclyTrigger("datesRender",[{view:r.view,el:r.view.el}])),this.isEventsUpdated&&(this.isEventsUpdated=!1),this.releaseAfterSizingTriggers()},e.prototype.resetOptions=function(e){var t=this,n=this.pluginSystem.hooks.optionChangeHandlers,r=this.optionsManager.overrides,i={},o={},a={};for(var s in r)n[s]||(i[s]=r[s]);for(var u in e)n[u]?a[u]=e[u]:o[u]=e[u];this.batchRendering(function(){Zn(i,o)?t.processOptions(e,"reset"):t.processOptions(Wn(i,o));for(var r in a)n[r](a[r],t)})},e.prototype.setOptions=function(e){var t=this,n=this.pluginSystem.hooks.optionChangeHandlers,r={},i={};for(var o in e)n[o]?i[o]=e[o]:r[o]=e[o];this.batchRendering(function(){t.processOptions(r);for(var e in i)n[e](i[e],t)})},e.prototype.processOptions=function(e,t){var n=this,r=this.dateEnv,i=!1,o=!1,a=!1;for(var s in e)/^(height|contentHeight|aspectRatio)$/.test(s)?o=!0:/^(defaultDate|defaultView)$/.test(s)||(a=!0,"timeZone"===s&&(i=!0));"reset"===t?(a=!0,this.optionsManager.reset(e)):"dynamic"===t?this.optionsManager.addDynamic(e):this.optionsManager.add(e),a&&(this.handleOptions(this.optionsManager.computed),this.needsFullRerender=!0,this.batchRendering(function(){i&&n.dispatch({type:"CHANGE_TIMEZONE",oldDateEnv:r}),n.dispatch({type:"SET_VIEW_TYPE",viewType:n.state.viewType})})),o&&this.updateSize()},e.prototype.setOption=function(e,t){var n;this.processOptions((n={},n[e]=t,n),"dynamic")},e.prototype.getOption=function(e){return this.optionsManager.computed[e]},e.prototype.opt=function(e){return this.optionsManager.computed[e]},e.prototype.viewOpt=function(e){return this.viewOpts()[e]},e.prototype.viewOpts=function(){return this.viewSpecs[this.state.viewType].options},e.prototype.handleOptions=function(e){var t=this,n=this.pluginSystem.hooks;this.defaultAllDayEventDuration=ue(e.defaultAllDayEventDuration),this.defaultTimedEventDuration=ue(e.defaultTimedEventDuration),this.delayedRerender=this.buildDelayedRerender(e.rerenderDelay),this.theme=this.buildTheme(e);var r=this.parseRawLocales(e.locales);this.availableRawLocales=r.map;var i=this.buildLocale(e.locale||r.defaultCode,r.map);this.dateEnv=this.buildDateEnv(i,e.timeZone,n.namedTimeZonedImpl,e.firstDay,e.weekNumberCalculation,e.weekLabel,n.cmdFormatter),this.selectionConfig=this.buildSelectionConfig(e),this.viewSpecs=Qr(n.views,this.optionsManager),this.dateProfileGenerators=ot(this.viewSpecs,function(e){return new e.class.prototype.dateProfileGeneratorClass(e,t)})},e.prototype.getAvailableLocaleCodes=function(){return Object.keys(this.availableRawLocales)},e.prototype._buildSelectionConfig=function(e){return Cn("select",e,this)},e.prototype._buildEventUiSingleBase=function(e){return e.editable&&(e=ki({},e,{eventEditable:!0})),Cn("event",e,this)},e.prototype.hasPublicHandlers=function(e){return this.hasHandlers(e)||this.opt(e)},e.prototype.publiclyTrigger=function(e,t){var n=this.opt(e);if(this.triggerWith(e,this,t),n)return n.apply(this,t)},e.prototype.publiclyTriggerAfterSizing=function(e,t){var n=this.afterSizingTriggers;(n[e]||(n[e]=[])).push(t)},e.prototype.releaseAfterSizingTriggers=function(){var e=this.afterSizingTriggers;for(var t in e)for(var n=0,r=e[t];n<r.length;n++){var i=r[n];this.publiclyTrigger(t,i)}this.afterSizingTriggers={}},e.prototype.isValidViewType=function(e){return Boolean(this.viewSpecs[e])},e.prototype.changeView=function(e,t){var n=null;t&&(t.start&&t.end?(this.optionsManager.addDynamic({visibleRange:t}),this.handleOptions(this.optionsManager.computed)):n=this.dateEnv.createMarker(t)),this.unselect(),this.dispatch({type:"SET_VIEW_TYPE",viewType:e,dateMarker:n})},e.prototype.zoomTo=function(e,t){var n;t=t||"day",n=this.viewSpecs[t]||this.getUnitViewSpec(t),this.unselect(),n?this.dispatch({type:"SET_VIEW_TYPE",viewType:n.type,dateMarker:e}):this.dispatch({type:"SET_DATE",dateMarker:e})},e.prototype.getUnitViewSpec=function(e){var t,n,r;t=this.component.header.viewsWithButtons;for(var i in this.viewSpecs)t.push(i);for(n=0;n<t.length;n++)if((r=this.viewSpecs[t[n]])&&r.singleUnit===e)return r},e.prototype.getInitialDate=function(){var e=this.opt("defaultDate");return null!=e?this.dateEnv.createMarker(e):this.getNow()},e.prototype.prev=function(){this.unselect(),this.dispatch({type:"PREV"})},e.prototype.next=function(){this.unselect(),this.dispatch({type:"NEXT"})},e.prototype.prevYear=function(){this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.dateEnv.addYears(this.state.currentDate,-1)})},e.prototype.nextYear=function(){this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.dateEnv.addYears(this.state.currentDate,1)})},e.prototype.today=function(){this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.getNow()})},e.prototype.gotoDate=function(e){this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.dateEnv.createMarker(e)})},e.prototype.incrementDate=function(e){var t=ue(e);t&&(this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.dateEnv.add(this.state.currentDate,t)}))},e.prototype.getDate=function(){return this.dateEnv.toDate(this.state.currentDate)},e.prototype.formatDate=function(e,t){var n=this.dateEnv;return n.format(n.createMarker(e),Vt(t))},e.prototype.formatRange=function(e,t,n){var r=this.dateEnv;return r.formatRange(r.createMarker(e),r.createMarker(t),Vt(n,this.opt("defaultRangeSeparator")),n)},e.prototype.formatIso=function(e,t){var n=this.dateEnv;return n.formatIso(n.createMarker(e),{omitTime:t})},e.prototype.windowResize=function(e){!this.isHandlingWindowResize&&this.component&&e.target===window&&(this.isHandlingWindowResize=!0,this.updateSize(),this.publiclyTrigger("windowResize",[this.view]),this.isHandlingWindowResize=!1)},e.prototype.updateSize=function(){this.component&&this.component.updateSize(!0)},e.prototype.registerInteractiveComponent=function(e,t){var n=ri(e,t),r=[Bo,Fo],i=r.concat(this.pluginSystem.hooks.componentInteractions),o=i.map(function(e){return new e(n)});this.interactionsStore[e.uid]=o,Vo[e.uid]=n},e.prototype.unregisterInteractiveComponent=function(e){for(var t=0,n=this.interactionsStore[e.uid];t<n.length;t++){n[t].destroy()}delete this.interactionsStore[e.uid],delete Vo[e.uid]},e.prototype.select=function(e,t){var n;n=null==t?null!=e.start?e:{start:e,end:null}:{start:e,end:t};var r=Ar(n,this.dateEnv,ue({days:1}));r&&(this.dispatch({type:"SELECT_DATES",selection:r}),this.triggerDateSelect(r))},e.prototype.unselect=function(e){this.state.dateSelection&&(this.dispatch({type:"UNSELECT_DATES"}),this.triggerDateUnselect(e))},e.prototype.triggerDateSelect=function(e,t){var n=this.buildDateSpanApi(e);n.jsEvent=t?t.origEvent:null,n.view=this.view,this.publiclyTrigger("select",[n])},e.prototype.triggerDateUnselect=function(e){this.publiclyTrigger("unselect",[{jsEvent:e?e.origEvent:null,view:this.view}])},e.prototype.triggerDateClick=function(e,t,n,r){var i=this.buildDatePointApi(e);i.dayEl=t,i.jsEvent=r,i.view=n,this.publiclyTrigger("dateClick",[i])},e.prototype.buildDatePointApi=function(e){for(var t={},n=0,r=this.pluginSystem.hooks.datePointTransforms;n<r.length;n++){var i=r[n];ki(t,i(e,this))}return ki(t,Zr(e,this.dateEnv)),t},e.prototype.buildDateSpanApi=function(e){for(var t={},n=0,r=this.pluginSystem.hooks.dateSpanTransforms;n<r.length;n++){var i=r[n];ki(t,i(e,this))}return ki(t,Wr(e,this.dateEnv)),t},e.prototype.getNow=function(){var e=this.opt("now");return"function"==typeof e&&(e=e()),null==e?this.dateEnv.createNowMarker():this.dateEnv.createMarker(e)},e.prototype.getDefaultEventEnd=function(e,t){var n=t;return e?(n=X(n),n=this.dateEnv.add(n,this.defaultAllDayEventDuration)):n=this.dateEnv.add(n,this.defaultTimedEventDuration),n},e.prototype.addEvent=function(e,t){if(e instanceof Bi){var n=e._def,r=e._instance;return this.state.eventStore.defs[n.defId]||this.dispatch({type:"ADD_EVENTS",eventStore:lt({def:n,instance:r})}),e}var i;if(t instanceof Vi)i=t.internalEventSource.sourceId;else if(null!=t){var o=this.getEventSourceById(t);if(!o)return console.warn('Could not find an event source with ID "'+t+'"'),null;i=o.internalEventSource.sourceId}var a=On(e,i,this);return a?(this.dispatch({type:"ADD_EVENTS",eventStore:lt(a)}),new Bi(this,a.def,a.def.recurringDef?null:a.instance)):null},e.prototype.getEventById=function(e){var t=this.state.eventStore,n=t.defs,r=t.instances;e=String(e);for(var i in n){var o=n[i];if(o.publicId===e){if(o.recurringDef)return new Bi(this,o,null);for(var a in r){var s=r[a];if(s.defId===o.defId)return new Bi(this,o,s)}}}return null},e.prototype.getEvents=function(){var e=this.state.eventStore,t=e.defs,n=e.instances,r=[];for(var i in n){var o=n[i],a=t[o.defId];r.push(new Bi(this,a,o))}return r},e.prototype.removeAllEvents=function(){this.dispatch({type:"REMOVE_ALL_EVENTS"})},e.prototype.rerenderEvents=function(){this.dispatch({type:"RESET_EVENTS"})},e.prototype.getEventSources=function(){var e=this.state.eventSources,t=[];for(var n in e)t.push(new Vi(this,e[n]));return t},e.prototype.getEventSourceById=function(e){var t=this.state.eventSources;e=String(e);for(var n in t)if(t[n].publicId===e)return new Vi(this,t[n]);return null},e.prototype.addEventSource=function(e){if(e instanceof Vi)return this.state.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:"ADD_EVENT_SOURCES",sources:[e.internalEventSource]}),e;var t=mr(e,this);return t?(this.dispatch({type:"ADD_EVENT_SOURCES",sources:[t]}),new Vi(this,t)):null},e.prototype.removeAllEventSources=function(){this.dispatch({type:"REMOVE_ALL_EVENT_SOURCES"})},e.prototype.refetchEvents=function(){this.dispatch({type:"FETCH_EVENT_SOURCES"})},e}();Ki.mixInto(Zo);var jo=function(e){function n(n,r,i,o){var a=e.call(this,n,t("div",{className:"fc-view fc-"+r.type+"-view"}),!0)||this;return a.renderDatesMem=An(a.renderDatesWrap,a.unrenderDatesWrap),a.renderBusinessHoursMem=An(a.renderBusinessHours,a.unrenderBusinessHours,[a.renderDatesMem]),a.renderDateSelectionMem=An(a.renderDateSelectionWrap,a.unrenderDateSelectionWrap,[a.renderDatesMem]),a.renderEventsMem=An(a.renderEvents,a.unrenderEvents,[a.renderDatesMem]),a.renderEventSelectionMem=An(a.renderEventSelectionWrap,a.unrenderEventSelectionWrap,[a.renderEventsMem]),a.renderEventDragMem=An(a.renderEventDragWrap,a.unrenderEventDragWrap,[a.renderDatesMem]),a.renderEventResizeMem=An(a.renderEventResizeWrap,a.unrenderEventResizeWrap,[a.renderDatesMem]),a.viewSpec=r,a.dateProfileGenerator=i,a.type=r.type,a.eventOrderSpecs=Ue(a.opt("eventOrder")),a.nextDayThreshold=ue(a.opt("nextDayThreshold")),o.appendChild(a.el),a.initialize(),a}return et(n,e),n.prototype.initialize=function(){},Object.defineProperty(n.prototype,"activeStart",{get:function(){return this.dateEnv.toDate(this.props.dateProfile.activeRange.start)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"activeEnd",{get:function(){return this.dateEnv.toDate(this.props.dateProfile.activeRange.end)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"currentStart",{get:function(){return this.dateEnv.toDate(this.props.dateProfile.currentRange.start)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"currentEnd",{get:function(){return this.dateEnv.toDate(this.props.dateProfile.currentRange.end)},enumerable:!0,configurable:!0}),n.prototype.render=function(e){this.renderDatesMem(e.dateProfile),this.renderBusinessHoursMem(e.businessHours),this.renderDateSelectionMem(e.dateSelection),this.renderEventsMem(e.eventStore),this.renderEventSelectionMem(e.eventSelection),this.renderEventDragMem(e.eventDrag),this.renderEventResizeMem(e.eventResize)},n.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderDatesMem.unrender()},n.prototype.updateSize=function(e,t,n){var r=this.calendar;(e||r.isViewUpdated||r.isDatesUpdated||r.isEventsUpdated)&&this.updateBaseSize(e,t,n)},n.prototype.updateBaseSize=function(e,t,n){},n.prototype.renderDatesWrap=function(e){this.renderDates(e),this.addScroll({isDateInit:!0}),this.startNowIndicator(e)},n.prototype.unrenderDatesWrap=function(){this.stopNowIndicator(),this.unrenderDates()},n.prototype.renderDates=function(e){},n.prototype.unrenderDates=function(){},n.prototype.renderBusinessHours=function(e){},n.prototype.unrenderBusinessHours=function(){},n.prototype.renderDateSelectionWrap=function(e){e&&this.renderDateSelection(e)},n.prototype.unrenderDateSelectionWrap=function(e){e&&this.unrenderDateSelection(e)},n.prototype.renderDateSelection=function(e){},n.prototype.unrenderDateSelection=function(e){},n.prototype.renderEvents=function(e){},n.prototype.unrenderEvents=function(){},n.prototype.sliceEvents=function(e,t){var n=this.props;return Yt(e,n.eventUiBases,n.dateProfile.activeRange,t?this.nextDayThreshold:null).fg},n.prototype.renderEventSelectionWrap=function(e){e&&this.renderEventSelection(e)},n.prototype.unrenderEventSelectionWrap=function(e){e&&this.unrenderEventSelection(e)},n.prototype.renderEventSelection=function(e){},n.prototype.unrenderEventSelection=function(e){},n.prototype.renderEventDragWrap=function(e){e&&this.renderEventDrag(e)},n.prototype.unrenderEventDragWrap=function(e){e&&this.unrenderEventDrag(e)},n.prototype.renderEventDrag=function(e){},n.prototype.unrenderEventDrag=function(e){},n.prototype.renderEventResizeWrap=function(e){e&&this.renderEventResize(e)},n.prototype.unrenderEventResizeWrap=function(e){e&&this.unrenderEventResize(e)},n.prototype.renderEventResize=function(e){},n.prototype.unrenderEventResize=function(e){},n.prototype.startNowIndicator=function(e){var t,n,r,i=this,o=this.dateEnv;this.opt("nowIndicator")&&(t=this.getNowIndicatorUnit(e))&&(n=this.updateNowIndicator.bind(this),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=(new Date).valueOf(),r=o.add(o.startOf(this.initialNowDate,t),ue(1,t)).valueOf()-this.initialNowDate.valueOf(),this.nowIndicatorTimeoutID=setTimeout(function(){i.nowIndicatorTimeoutID=null,n(),r="second"===t?1e3:6e4,i.nowIndicatorIntervalID=setInterval(n,r)},r))},n.prototype.updateNowIndicator=function(){this.props.dateProfile&&this.initialNowDate&&(this.unrenderNowIndicator(),this.renderNowIndicator(V(this.initialNowDate,(new Date).valueOf()-this.initialNowQueriedMs)),this.isNowIndicatorRendered=!0)},n.prototype.stopNowIndicator=function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearInterval(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},n.prototype.getNowIndicatorUnit=function(e){},n.prototype.renderNowIndicator=function(e){},n.prototype.unrenderNowIndicator=function(){},n.prototype.addScroll=function(e){var t=this.queuedScroll||(this.queuedScroll={});ki(t,e)},n.prototype.popScroll=function(e){this.applyQueuedScroll(e),this.queuedScroll=null},n.prototype.applyQueuedScroll=function(e){this.applyScroll(this.queuedScroll||{},e)},n.prototype.queryScroll=function(){var e={};return this.props.dateProfile&&ki(e,this.queryDateScroll()),e},n.prototype.applyScroll=function(e,t){e.isDateInit&&(delete e.isDateInit,this.props.dateProfile&&ki(e,this.computeInitialDateScroll())),this.props.dateProfile&&this.applyDateScroll(e)},n.prototype.computeInitialDateScroll=function(){return{}},n.prototype.queryDateScroll=function(){return{}},n.prototype.applyDateScroll=function(e){},n}(ao);Ki.mixInto(jo),jo.prototype.usesMinMaxTime=!1,jo.prototype.dateProfileGeneratorClass=xo;var Yo=function(){function e(e){this.segs=[],this.isSizeDirty=!1,this.context=e}return e.prototype.renderSegs=function(e,t){this.rangeUpdated(),e=this.renderSegEls(e,t),this.segs=e,this.attachSegs(e,t),this.isSizeDirty=!0,this.context.view.triggerRenderedSegs(this.segs,Boolean(t))},e.prototype.unrender=function(e,t){this.context.view.triggerWillRemoveSegs(this.segs,Boolean(t)),this.detachSegs(this.segs),this.segs=[]},e.prototype.rangeUpdated=function(){var e,t,n=this.context.options;this.eventTimeFormat=Vt(n.eventTimeFormat||this.computeEventTimeFormat(),n.defaultRangeSeparator),e=n.displayEventTime,null==e&&(e=this.computeDisplayEventTime()),t=n.displayEventEnd,null==t&&(t=this.computeDisplayEventEnd()),this.displayEventTime=e,this.displayEventEnd=t},e.prototype.renderSegEls=function(e,t){var n,i="";if(e.length){for(n=0;n<e.length;n++)i+=this.renderSegHtml(e[n],t);r(i).forEach(function(t,n){var r=e[n];t&&(r.el=t)}),e=Gt(this.context.view,e,Boolean(t))}return e},e.prototype.getSegClasses=function(e,t,n,r){var i=["fc-event",e.isStart?"fc-start":"fc-not-start",e.isEnd?"fc-end":"fc-not-end"].concat(e.eventRange.ui.classNames);return t&&i.push("fc-draggable"),n&&i.push("fc-resizable"),r&&(i.push("fc-mirror"),r.isDragging&&i.push("fc-dragging"),r.isResizing&&i.push("fc-resizing")),i},e.prototype.getTimeText=function(e,t,n){var r=e.def,i=e.instance;return this._getTimeText(i.range.start,r.hasEnd?i.range.end:null,r.allDay,t,n,i.forcedStartTzo,i.forcedEndTzo)},e.prototype._getTimeText=function(e,t,n,r,i,o,a){var s=this.context.dateEnv;return null==r&&(r=this.eventTimeFormat),null==i&&(i=this.displayEventEnd),this.displayEventTime&&!n?i&&t?s.formatRange(e,t,r,{forcedStartTzo:o,forcedEndTzo:a}):s.format(e,r,{forcedTzo:o}):""},e.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",omitZeroMinute:!0}},e.prototype.computeDisplayEventTime=function(){return!0},e.prototype.computeDisplayEventEnd=function(){return!0},e.prototype.getSkinCss=function(e){return{"background-color":e.backgroundColor,"border-color":e.borderColor,color:e.textColor}},e.prototype.sortEventSegs=function(e){var t=this.context.view.eventOrderSpecs,n=e.map(ci);return n.sort(function(e,n){return Le(e,n,t)}),n.map(function(e){return e._seg})},e.prototype.computeSizes=function(e){(e||this.isSizeDirty)&&this.computeSegSizes(this.segs)},e.prototype.assignSizes=function(e){(e||this.isSizeDirty)&&(this.assignSegSizes(this.segs),this.isSizeDirty=!1)},e.prototype.computeSegSizes=function(e){},e.prototype.assignSegSizes=function(e){},e.prototype.hideByHash=function(e){if(e)for(var t=0,n=this.segs;t<n.length;t++){var r=n[t];e[r.eventRange.instance.instanceId]&&(r.el.style.visibility="hidden")}},e.prototype.showByHash=function(e){if(e)for(var t=0,n=this.segs;t<n.length;t++){var r=n[t];e[r.eventRange.instance.instanceId]&&(r.el.style.visibility="")}},e.prototype.selectByInstanceId=function(e){if(e)for(var t=0,n=this.segs;t<n.length;t++){var r=n[t],i=r.eventRange.instance;i&&i.instanceId===e&&r.el&&r.el.classList.add("fc-selected")}},e.prototype.unselectByInstanceId=function(e){if(e)for(var t=0,n=this.segs;t<n.length;t++){var r=n[t];r.el&&r.el.classList.remove("fc-selected")}},e}(),qo=function(){function e(e){this.fillSegTag="div",this.dirtySizeFlags={},this.context=e,this.containerElsByType={},this.segsByType={}}return e.prototype.getSegsByType=function(e){return this.segsByType[e]||[]},e.prototype.renderSegs=function(e,t){var n,r=this.renderSegEls(e,t),i=this.attachSegs(e,r);i&&(n=this.containerElsByType[e]||(this.containerElsByType[e]=[])).push.apply(n,i),this.segsByType[e]=r,"bgEvent"===e&&this.context.view.triggerRenderedSegs(r,!1),this.dirtySizeFlags[e]=!0},e.prototype.unrender=function(e){var t=this.segsByType[e];t&&("bgEvent"===e&&this.context.view.triggerWillRemoveSegs(t,!1),this.detachSegs(e,t))},e.prototype.renderSegEls=function(e,t){var n,i=this,o="";if(t.length){for(n=0;n<t.length;n++)o+=this.renderSegHtml(e,t[n]);r(o).forEach(function(e,n){var r=t[n];e&&(r.el=e)}),"bgEvent"===e&&(t=Gt(this.context.view,t,!1)),t=t.filter(function(e){return f(e.el,i.fillSegTag)})}return t},e.prototype.renderSegHtml=function(e,t){var n=null,r=[];return"highlight"!==e&&"businessHours"!==e&&(n={"background-color":t.eventRange.ui.backgroundColor}),"highlight"!==e&&(r=r.concat(t.eventRange.ui.classNames)),"businessHours"===e?r.push("fc-bgevent"):r.push("fc-"+e.toLowerCase()),"<"+this.fillSegTag+(r.length?' class="'+r.join(" ")+'"':"")+(n?' style="'+Tn(n)+'"':"")+"></"+this.fillSegTag+">"},e.prototype.detachSegs=function(e,t){var n=this.containerElsByType[e];n&&(n.forEach(c),delete this.containerElsByType[e])},e.prototype.computeSizes=function(e){for(var t in this.segsByType)(e||this.dirtySizeFlags[t])&&this.computeSegSizes(this.segsByType[t])},e.prototype.assignSizes=function(e){for(var t in this.segsByType)(e||this.dirtySizeFlags[t])&&this.assignSegSizes(this.segsByType[t]);this.dirtySizeFlags={}},e.prototype.computeSegSizes=function(e){},e.prototype.assignSegSizes=function(e){},e}(),Go=function(){function e(e){this.timeZoneName=e}return e}(),Xo=function(){function e(e){this.emitter=new Ki}return e.prototype.destroy=function(){},e.prototype.setMirrorIsVisible=function(e){},e.prototype.setMirrorNeedsRevert=function(e){},e.prototype.setAutoScrollEnabled=function(e){},e}(),Jo={startTime:ue,duration:ue,create:Boolean,sourceId:String},Ko={create:!0},Qo=function(e){function t(t,r){var i=e.call(this,t)||this;return r.innerHTML="",r.appendChild(i.el=n('<div class="fc-row '+i.theme.getClass("headerRow")+'"><table class="'+i.theme.getClass("tableGrid")+'"><thead></thead></table></div>')),i.thead=i.el.querySelector("thead"),i}return et(t,e),t.prototype.destroy=function(){c(this.el)},t.prototype.render=function(e){var t=e.dates,n=e.datesRepDistinctDays,r=[];e.renderIntroHtml&&r.push(e.renderIntroHtml());for(var i=Vt(this.opt("columnHeaderFormat")||vi(n,t.length)),o=0,a=t;o<a.length;o++){var s=a[o];r.push(gi(s,e.dateProfile,n,t.length,i,this.context))}this.isRtl&&r.reverse(),this.thead.innerHTML="<tr>"+r.join("")+"</tr>"},t}(oo),$o=function(){function e(e,t){for(var n=e.start,r=e.end,i=[],o=[],a=-1;n<r;)t.isHiddenDay(n)?i.push(a+.5):(a++,i.push(a),o.push(n)),n=A(n,1);this.dates=o,this.indices=i,this.cnt=o.length}return e.prototype.sliceRange=function(e){var t=this.getDateDayIndex(e.start),n=this.getDateDayIndex(A(e.end,-1)),r=Math.max(0,t),i=Math.min(this.cnt-1,n);return r=Math.ceil(r),i=Math.floor(i),r<=i?{firstIndex:r,lastIndex:i,isStart:t===r,isEnd:n===i}:null},e.prototype.getDateDayIndex=function(e){var t=this.indices,n=Math.floor(F(this.dates[0],e));return n<0?t[0]-1:n>=t.length?t[t.length-1]+1:t[n]},e}(),ea=function(){function e(e,t){var n,r,i,o=e.dates;if(t){for(r=o[0].getUTCDay(),n=1;n<o.length&&o[n].getUTCDay()!==r;n++);i=Math.ceil(o.length/n)}else i=1,n=o.length;this.rowCnt=i,this.colCnt=n,this.daySeries=e,this.cells=this.buildCells(),this.headerDates=this.buildHeaderDates()}return e.prototype.buildCells=function(){for(var e=[],t=0;t<this.rowCnt;t++){for(var n=[],r=0;r<this.colCnt;r++)n.push(this.buildCell(t,r));e.push(n)}return e},e.prototype.buildCell=function(e,t){return{date:this.daySeries.dates[e*this.colCnt+t]}},e.prototype.buildHeaderDates=function(){for(var e=[],t=0;t<this.colCnt;t++)e.push(this.cells[0][t].date);return e},e.prototype.sliceRange=function(e){var t=this.colCnt,n=this.daySeries.sliceRange(e),r=[];if(n)for(var i=n.firstIndex,o=n.lastIndex,a=i;a<=o;){var s=Math.floor(a/t),u=Math.min((s+1)*t,o+1);r.push({row:s,firstCol:a%t,lastCol:(u-1)%t,isStart:n.isStart&&a===i,isEnd:n.isEnd&&u-1===o}),a=u}return r},e}(),ta=function(){function e(){this.sliceBusinessHours=kt(this._sliceBusinessHours),this.sliceDateSelection=kt(this._sliceDateSpan),this.sliceEventStore=kt(this._sliceEventStore),this.sliceEventDrag=kt(this._sliceInteraction),this.sliceEventResize=kt(this._sliceInteraction)}return e.prototype.sliceProps=function(e,t,n,r){for(var i=[],o=4;o<arguments.length;o++)i[o-4]=arguments[o];var a=e.eventUiBases,s=this.sliceEventStore.apply(this,[e.eventStore,a,t,n,r].concat(i));return{dateSelectionSegs:this.sliceDateSelection.apply(this,[e.dateSelection,a,r].concat(i)),businessHourSegs:this.sliceBusinessHours.apply(this,[e.businessHours,t,n,r].concat(i)),fgEventSegs:s.fg,bgEventSegs:s.bg,eventDrag:this.sliceEventDrag.apply(this,[e.eventDrag,a,t,n,r].concat(i)),eventResize:this.sliceEventResize.apply(this,[e.eventResize,a,t,n,r].concat(i)),eventSelection:e.eventSelection}},e.prototype.sliceNowDate=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return this._sliceDateSpan.apply(this,[{range:{start:e,end:V(e,1)},allDay:!1},{},t].concat(n))},e.prototype._sliceBusinessHours=function(e,t,n,r){for(var i=[],o=4;o<arguments.length;o++)i[o-4]=arguments[o];return e?this._sliceEventStore.apply(this,[ct(e,yi(t,Boolean(n)),r.calendar),{},t,n,r].concat(i)).bg:[]},e.prototype._sliceEventStore=function(e,t,n,r,i){for(var o=[],a=5;a<arguments.length;a++)o[a-5]=arguments[a];if(e){var s=Yt(e,t,yi(n,Boolean(r)),r);return{bg:this.sliceEventRanges(s.bg,i,o),fg:this.sliceEventRanges(s.fg,i,o)}}return{bg:[],fg:[]}},e.prototype._sliceInteraction=function(e,t,n,r,i){for(var o=[],a=5;a<arguments.length;a++)o[a-5]=arguments[a];if(!e)return null;var s=Yt(e.mutatedEvents,t,yi(n,Boolean(r)),r);return{segs:this.sliceEventRanges(s.fg,i,o),affectedInstances:e.affectedEvents.instances,isEvent:e.isEvent,sourceSeg:e.origSeg}},e.prototype._sliceDateSpan=function(e,t,n){for(var r=[],i=3;i<arguments.length;i++)r[i-3]=arguments[i];if(!e)return[];for(var o=jr(e,t,n.calendar),a=this.sliceRange.apply(this,[e.range].concat(r)),s=0,u=a;s<u.length;s++){var l=u[s];l.component=n,l.eventRange=o}return a},e.prototype.sliceEventRanges=function(e,t,n){for(var r=[],i=0,o=e;i<o.length;i++){var a=o[i];r.push.apply(r,this.sliceEventRange(a,t,n))}return r},e.prototype.sliceEventRange=function(e,t,n){for(var r=this.sliceRange.apply(this,[e.range].concat(n)),i=0,o=r;i<o.length;i++){var a=o[i];a.component=t,a.eventRange=e,a.isStart=e.isStart&&a.isStart,a.isEnd=e.isEnd&&a.isEnd}return r},e}();e.Calendar=Zo,e.Component=oo,e.DateComponent=ao,e.DateEnv=Oo,e.DateProfileGenerator=xo,e.DayHeader=Qo,e.DaySeries=$o,e.DayTable=ea,e.ElementDragging=Xo,e.ElementScrollController=eo,e.EmitterMixin=Ki,e.EventApi=Bi,e.FgEventRenderer=Yo,e.FillRenderer=qo,e.Interaction=Ao,e.Mixin=Ji,e.NamedTimeZoneImpl=Go,e.PositionCache=Qi,e.ScrollComponent=no,e.ScrollController=$i,e.Slicer=ta,e.Splitter=Xi,e.Theme=ro,e.View=jo,e.WindowScrollController=to,e.addDays=A,e.addDurations=he,e.addMs=V,e.addWeeks=L,e.allowContextMenu=ze,e.allowSelection=xe,e.appendToElement=a,e.applyAll=je,e.applyMutationToEventStore=$t,e.applyStyle=g,e.applyStyleProp=y,e.asRoughMinutes=Se,e.asRoughMs=be,e.asRoughSeconds=De,e.buildGotoAnchorHtml=Yn,e.buildSegCompareObj=ci,e.capitaliseFirstLetter=Be,e.combineEventUis=Mn,e.compareByFieldSpec=Ae,e.compareByFieldSpecs=Le,e.compareNumbers=We,e.compensateScroll=Re,e.computeClippingRect=H,e.computeEdges=C,e.computeFallbackHeaderFormat=vi,e.computeHeightAndMargins=_,e.computeInnerRect=M,e.computeRect=k,e.computeVisibleDayRange=Ke,e.config=Eo,e.constrainPoint=D,e.createDuration=ue,e.createElement=t,e.createEmptyEventStore=vt,e.createEventInstance=Pn,e.createFormatter=Vt,e.createPlugin=$n,e.cssToStr=Tn,e.debounce=qe,e.diffDates=$e,e.diffDayAndTime=Y,e.diffDays=F,e.diffPoints=T,e.diffWeeks=B,e.diffWholeDays=G,e.diffWholeWeeks=q,e.disableCursor=Ce,e.distributeHeight=ke,e.elementClosest=d,e.elementMatches=f,e.enableCursor=Me,e.eventTupleToStore=lt,e.filterEventStoreDefs=yt,e.filterHash=it,e.findChildren=h,e.findElements=p,e.flexibleCompare=Ve,e.forceClassName=v,e.formatDate=di,e.formatIsoTimeString=Ft,e.formatRange=fi,e.freezeRaw=Xe,e.getAllDayHtml=qn,e.getClippingParents=P,e.getDayClasses=Gn,e.getElSeg=Jt,e.getRectCenter=b,e.getRelevantEvents=dt,e.globalDefaults=So,e.greatestDurationDenominator=we,e.hasBgRendering=qt,e.htmlEscape=bn,e.htmlToElement=n,e.insertAfterElement=u,e.interactionSettingsStore=Vo,e.interactionSettingsToStore=ii,e.intersectRanges=Dt,e.intersectRects=E,e.isArraysEqual=Mt,e.isDateSpansEqual=Br,e.isInt=Ze,e.isInteractionValid=dn,e.isMultiDayRange=Qe,e.isObjectsSimilar=Fn,e.isPropsValid=hn,e.isSingleDay=pe,e.isValidDate=ae,e.isValuesSimilar=Vn,e.listenBySelector=N,e.mapHash=ot,e.matchCellWidths=_e,e.memoize=kt,e.memoizeOutput=Ot,e.memoizeRendering=An,e.mergeEventStores=gt,e.multiplyDuration=ge,e.padStart=Fe,e.parseBusinessHours=Un,e.parseDragMeta=hi,e.parseEventDef=_n,e.parseFieldSpecs=Ue,e.parseMarker=gr,e.pointInsideRect=m,e.prependToElement=s,e.preventContextMenu=Ne,e.preventDefault=x,e.preventSelection=He,e.processScopedUiProps=Cn,e.rangeContainsMarker=Rt,e.rangeContainsRange=wt,e.rangesEqual=bt,e.rangesIntersect=Tt,e.refineProps=Ge,e.removeElement=c,e.removeExact=Ct,e.renderDateCell=gi,e.requestJson=tr,e.sliceEventStore=Yt,e.startOfDay=X,e.subtractInnerElHeight=Pe,e.translateRect=S,e.uncompensateScroll=Ie,e.undistributeHeight=Oe,e.unpromisify=Xn,e.version="4.0.2",e.whenTransitionDone=U,e.wholeDivideDurations=Te,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).FullCalendar={})}(this,(function(e){"use strict";var t={className:!0,colSpan:!0,rowSpan:!0},n={"<tr":"tbody","<td":"tr"};function r(e,n,r){var i=document.createElement(e);if(n)for(var o in n)"style"===o?y(i,n[o]):t[o]?i[o]=n[o]:i.setAttribute(o,n[o]);return"string"==typeof r?i.innerHTML=r:null!=r&&s(i,r),i}function i(e){e=e.trim();var t=document.createElement(a(e));return t.innerHTML=e,t.firstChild}function o(e){return Array.prototype.slice.call(function(e){e=e.trim();var t=document.createElement(a(e));return t.innerHTML=e,t.childNodes}(e))}function a(e){return n[e.substr(0,3)]||"div"}function s(e,t){for(var n=l(t),r=0;r<n.length;r++)e.appendChild(n[r])}function u(e,t){for(var n=l(t),r=e.firstChild||null,i=0;i<n.length;i++)e.insertBefore(n[i],r)}function l(e){return"string"==typeof e?o(e):e instanceof Node?[e]:Array.prototype.slice.call(e)}function c(e){e.parentNode&&e.parentNode.removeChild(e)}var d=Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype.msMatchesSelector,f=Element.prototype.closest||function(e){var t=this;if(!document.documentElement.contains(t))return null;do{if(h(t,e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null};function p(e,t){return f.call(e,t)}function h(e,t){return d.call(e,t)}function v(e,t){for(var n=e instanceof HTMLElement?[e]:e,r=[],i=0;i<n.length;i++)for(var o=n[i].querySelectorAll(t),a=0;a<o.length;a++)r.push(o[a]);return r}var g=/(top|left|right|bottom|width|height)$/i;function y(e,t){for(var n in t)m(e,n,t[n])}function m(e,t,n){null==n?e.style[t]="":"number"==typeof n&&g.test(t)?e.style[t]=n+"px":e.style[t]=n}function E(e,t){var n={left:Math.max(e.left,t.left),right:Math.min(e.right,t.right),top:Math.max(e.top,t.top),bottom:Math.min(e.bottom,t.bottom)};return n.left<n.right&&n.top<n.bottom&&n}var S=null;function b(){return null===S&&(S=function(){var e=r("div",{style:{position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}},"<div></div>");document.body.appendChild(e);var t=e.firstChild.getBoundingClientRect().left>e.getBoundingClientRect().left;return c(e),t}()),S}function D(e){return e=Math.max(0,e),e=Math.round(e)}function T(e,t){void 0===t&&(t=!1);var n=window.getComputedStyle(e),r=parseInt(n.borderLeftWidth,10)||0,i=parseInt(n.borderRightWidth,10)||0,o=parseInt(n.borderTopWidth,10)||0,a=parseInt(n.borderBottomWidth,10)||0,s=D(e.offsetWidth-e.clientWidth-r-i),u={borderLeft:r,borderRight:i,borderTop:o,borderBottom:a,scrollbarBottom:D(e.offsetHeight-e.clientHeight-o-a),scrollbarLeft:0,scrollbarRight:0};return b()&&"rtl"===n.direction?u.scrollbarLeft=s:u.scrollbarRight=s,t&&(u.paddingLeft=parseInt(n.paddingLeft,10)||0,u.paddingRight=parseInt(n.paddingRight,10)||0,u.paddingTop=parseInt(n.paddingTop,10)||0,u.paddingBottom=parseInt(n.paddingBottom,10)||0),u}function w(e,t){void 0===t&&(t=!1);var n=R(e),r=T(e,t),i={left:n.left+r.borderLeft+r.scrollbarLeft,right:n.right-r.borderRight-r.scrollbarRight,top:n.top+r.borderTop,bottom:n.bottom-r.borderBottom-r.scrollbarBottom};return t&&(i.left+=r.paddingLeft,i.right-=r.paddingRight,i.top+=r.paddingTop,i.bottom-=r.paddingBottom),i}function R(e){var t=e.getBoundingClientRect();return{left:t.left+window.pageXOffset,top:t.top+window.pageYOffset,right:t.right+window.pageXOffset,bottom:t.bottom+window.pageYOffset}}function C(e){return e.getBoundingClientRect().height+I(e)}function I(e){var t=window.getComputedStyle(e);return parseInt(t.marginTop,10)+parseInt(t.marginBottom,10)}function M(e){for(var t=[];e instanceof HTMLElement;){var n=window.getComputedStyle(e);if("fixed"===n.position)break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&t.push(e),e=e.parentNode}return t}function k(e){e.preventDefault()}function _(e,t,n,r){function i(e){var t=p(e.target,n);t&&r.call(t,e,t)}return e.addEventListener(t,i),function(){e.removeEventListener(t,i)}}var O=["webkitTransitionEnd","otransitionend","oTransitionEnd","msTransitionEnd","transitionend"];var P=["sun","mon","tue","wed","thu","fri","sat"];function x(e,t){var n=Z(e);return n[2]+=t,j(n)}function N(e,t){var n=Z(e);return n[6]+=t,j(n)}function H(e,t){return(t.valueOf()-e.valueOf())/864e5}function U(e,t){var n=B(e),r=B(t);return{years:0,months:0,days:Math.round(H(n,r)),milliseconds:t.valueOf()-r.valueOf()-(e.valueOf()-n.valueOf())}}function z(e,t){var n=L(e,t);return null!==n&&n%7==0?n/7:null}function L(e,t){return q(e)===q(t)?Math.round(H(e,t)):null}function B(e){return j([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()])}function V(e,t,n,r){var i=j([t,0,1+A(t,n,r)]),o=B(e),a=Math.round(H(i,o));return Math.floor(a/7)+1}function A(e,t,n){var r=7+t-n;return-((7+j([e,0,r]).getUTCDay()-t)%7)+r-1}function F(e){return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()]}function W(e){return new Date(e[0],e[1]||0,null==e[2]?1:e[2],e[3]||0,e[4]||0,e[5]||0)}function Z(e){return[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()]}function j(e){return 1===e.length&&(e=e.concat([0])),new Date(Date.UTC.apply(Date,e))}function Y(e){return!isNaN(e.valueOf())}function q(e){return 1e3*e.getUTCHours()*60*60+1e3*e.getUTCMinutes()*60+1e3*e.getUTCSeconds()+e.getUTCMilliseconds()}var G=["years","months","days","milliseconds"],X=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;function J(e,t){var n;return"string"==typeof e?function(e){var t=X.exec(e);if(t){var n=t[1]?-1:1;return{years:0,months:0,days:n*(t[2]?parseInt(t[2],10):0),milliseconds:n*(60*(t[3]?parseInt(t[3],10):0)*60*1e3+60*(t[4]?parseInt(t[4],10):0)*1e3+1e3*(t[5]?parseInt(t[5],10):0)+(t[6]?parseInt(t[6],10):0))}}return null}(e):"object"==typeof e&&e?K(e):"number"==typeof e?K(((n={})[t||"milliseconds"]=e,n)):null}function K(e){return{years:e.years||e.year||0,months:e.months||e.month||0,days:(e.days||e.day||0)+7*Q(e),milliseconds:60*(e.hours||e.hour||0)*60*1e3+60*(e.minutes||e.minute||0)*1e3+1e3*(e.seconds||e.second||0)+(e.milliseconds||e.millisecond||e.ms||0)}}function Q(e){return e.weeks||e.week||0}function $(e,t){return e.years===t.years&&e.months===t.months&&e.days===t.days&&e.milliseconds===t.milliseconds}function ee(e){return te(e)/864e5}function te(e){return 31536e6*e.years+2592e6*e.months+864e5*e.days+e.milliseconds}function ne(e,t){var n=e.milliseconds;if(n){if(n%1e3!=0)return{unit:"millisecond",value:n};if(n%6e4!=0)return{unit:"second",value:n/1e3};if(n%36e5!=0)return{unit:"minute",value:n/6e4};if(n)return{unit:"hour",value:n/36e5}}return e.days?t||e.days%7!=0?{unit:"day",value:e.days}:{unit:"week",value:e.days/7}:e.months?{unit:"month",value:e.months}:e.years?{unit:"year",value:e.years}:{unit:"millisecond",value:0}}function re(e){e.forEach((function(e){e.style.height=""}))}function ie(e){var t,n,r=[],i=[];for("string"==typeof e?i=e.split(/\s*,\s*/):"function"==typeof e?i=[e]:Array.isArray(e)&&(i=e),t=0;t<i.length;t++)"string"==typeof(n=i[t])?r.push("-"===n.charAt(0)?{field:n.substring(1),order:-1}:{field:n,order:1}):"function"==typeof n&&r.push({func:n});return r}function oe(e,t,n){var r,i;for(r=0;r<n.length;r++)if(i=ae(e,t,n[r]))return i;return 0}function ae(e,t,n){return n.func?n.func(e,t):se(e[n.field],t[n.field])*(n.order||1)}function se(e,t){return e||t?null==t?-1:null==e?1:"string"==typeof e||"string"==typeof t?String(e).localeCompare(String(t)):e-t:0}function ue(e){return e.charAt(0).toUpperCase()+e.slice(1)}function le(e,t){var n=String(e);return"000".substr(0,t-n.length)+n}function ce(e){return e%1==0}function de(e,t,n){if("function"==typeof e&&(e=[e]),e){var r=void 0,i=void 0;for(r=0;r<e.length;r++)i=e[r].apply(t,n)||i;return i}}function fe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=0;n<e.length;n++)if(void 0!==e[n])return e[n]}function pe(e,t){var n,r,i,o,a,s=function(){var u=(new Date).valueOf()-o;u<t?n=setTimeout(s,t-u):(n=null,a=e.apply(i,r),i=r=null)};return function(){return i=this,r=arguments,o=(new Date).valueOf(),n||(n=setTimeout(s,t)),a}}function he(e,t,n,r){void 0===n&&(n={});var i={};for(var o in t){var a=t[o];void 0!==e[o]?i[o]=a===Function?"function"==typeof e[o]?e[o]:null:a?a(e[o]):e[o]:void 0!==n[o]?i[o]=n[o]:a===String?i[o]="":a&&a!==Number&&a!==Boolean&&a!==Function?i[o]=a(null):i[o]=null}if(r)for(var o in e)void 0===t[o]&&(r[o]=e[o]);return i}function ve(e){var t=Math.floor(H(e.start,e.end))||1,n=B(e.start);return{start:n,end:x(n,t)}}function ge(e,t){void 0===t&&(t=J(0));var n=null,r=null;if(e.end){r=B(e.end);var i=e.end.valueOf()-r.valueOf();i&&i>=te(t)&&(r=x(r,1))}return e.start&&(n=B(e.start),r&&r<=n&&(r=x(n,1))),{start:n,end:r}}function ye(e,t,n,r){return"year"===r?J(n.diffWholeYears(e,t),"year"):"month"===r?J(n.diffWholeMonths(e,t),"month"):U(e,t)}var me=function(e,t){return(me=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function Ee(e,t){function n(){this.constructor=e}me(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Se=function(){return(Se=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function be(e,t,n,r,i){var o=i[e.recurringDef.typeId].expand(e.recurringDef.typeData,{start:r.subtract(n.start,t),end:n.end},r);return e.allDay&&(o=o.map(B)),o}var De=Object.prototype.hasOwnProperty;function Te(e,t){var n,r,i,o,a,s,u={};if(t)for(n=0;n<t.length;n++){for(r=t[n],i=[],o=e.length-1;o>=0;o--)if("object"==typeof(a=e[o][r])&&a)i.unshift(a);else if(void 0!==a){u[r]=a;break}i.length&&(u[r]=Te(i))}for(n=e.length-1;n>=0;n--)for(r in s=e[n])r in u||(u[r]=s[r]);return u}function we(e,t){var n={};for(var r in e)t(e[r],r)&&(n[r]=e[r]);return n}function Re(e,t){var n={};for(var r in e)n[r]=t(e[r],r);return n}function Ce(e){for(var t={},n=0,r=e;n<r.length;n++){t[r[n]]=!0}return t}function Ie(e){var t=[];for(var n in e)t.push(e[n]);return t}function Me(e,t){for(var n in e)if(De.call(e,n)&&!(n in t))return!1;for(var n in t)if(De.call(t,n)&&e[n]!==t[n])return!1;return!0}function ke(e,t,n,r){for(var i={defs:{},instances:{}},o=0,a=e;o<a.length;o++){var s=Zt(a[o],t,n,r);s&&_e(s,i)}return i}function _e(e,t){return void 0===t&&(t={defs:{},instances:{}}),t.defs[e.def.defId]=e.def,e.instance&&(t.instances[e.instance.instanceId]=e.instance),t}function Oe(e,t,n){var r=n.dateEnv,i=e.defs,o=e.instances;for(var a in o=we(o,(function(e){return!i[e.defId].recurringDef})),i){var s=i[a];if(s.recurringDef){var u=s.recurringDef.duration;u||(u=s.allDay?n.defaultAllDayEventDuration:n.defaultTimedEventDuration);for(var l=0,c=be(s,u,t,n.dateEnv,n.pluginSystem.hooks.recurringTypes);l<c.length;l++){var d=c[l],f=Yt(a,{start:d,end:r.add(d,u)});o[f.instanceId]=f}}}return{defs:i,instances:o}}function Pe(e,t){var n=e.instances[t];if(n){var r=e.defs[n.defId],i=Ue(e,(function(e){return t=r,n=e,Boolean(t.groupId&&t.groupId===n.groupId);var t,n}));return i.defs[r.defId]=r,i.instances[n.instanceId]=n,i}return{defs:{},instances:{}}}function xe(e,t){var n;if(t){n=[];for(var r=0,i=e;r<i.length;r++){var o=i[r],a=t(o);a?n.push(a):null==a&&n.push(o)}}else n=e;return n}function Ne(){return{defs:{},instances:{}}}function He(e,t){return{defs:Se({},e.defs,t.defs),instances:Se({},e.instances,t.instances)}}function Ue(e,t){var n=we(e.defs,t),r=we(e.instances,(function(e){return n[e.defId]}));return{defs:n,instances:r}}function ze(e,t){var n=null,r=null;return e.start&&(n=t.createMarker(e.start)),e.end&&(r=t.createMarker(e.end)),n||r?n&&r&&r<n?null:{start:n,end:r}:null}function Le(e,t){var n,r,i=[],o=t.start;for(e.sort(Be),n=0;n<e.length;n++)(r=e[n]).start>o&&i.push({start:o,end:r.start}),r.end>o&&(o=r.end);return o<t.end&&i.push({start:o,end:t.end}),i}function Be(e,t){return e.start.valueOf()-t.start.valueOf()}function Ve(e,t){var n=e.start,r=e.end,i=null;return null!==t.start&&(n=null===n?t.start:new Date(Math.max(n.valueOf(),t.start.valueOf()))),null!=t.end&&(r=null===r?t.end:new Date(Math.min(r.valueOf(),t.end.valueOf()))),(null===n||null===r||n<r)&&(i={start:n,end:r}),i}function Ae(e,t){return(null===e.start?null:e.start.valueOf())===(null===t.start?null:t.start.valueOf())&&(null===e.end?null:e.end.valueOf())===(null===t.end?null:t.end.valueOf())}function Fe(e,t){return(null===e.end||null===t.start||e.end>t.start)&&(null===e.start||null===t.end||e.start<t.end)}function We(e,t){return(null===e.start||null!==t.start&&t.start>=e.start)&&(null===e.end||null!==t.end&&t.end<=e.end)}function Ze(e,t){return(null===e.start||t>=e.start)&&(null===e.end||t<e.end)}function je(e,t){var n,r=e.length;if(r!==t.length)return!1;for(n=0;n<r;n++)if(e[n]!==t[n])return!1;return!0}function Ye(e){var t,n;return function(){return t&&je(t,arguments)||(t=arguments,n=e.apply(this,arguments)),n}}function qe(e,t){var n=null;return function(){var r=e.apply(this,arguments);return(null===n||n!==r&&!t(n,r))&&(n=r),n}}var Ge={week:3,separator:0,omitZeroMinute:0,meridiem:0,omitCommas:0},Xe={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},Je=/\s*([ap])\.?m\.?/i,Ke=/,/g,Qe=/\s+/g,$e=/\u200e/g,et=/UTC|GMT/,tt=function(){function e(e){var t={},n={},r=0;for(var i in e)i in Ge?(n[i]=e[i],r=Math.max(Ge[i],r)):(t[i]=e[i],i in Xe&&(r=Math.max(Xe[i],r)));this.standardDateProps=t,this.extendedSettings=n,this.severity=r,this.buildFormattingFunc=Ye(nt)}return e.prototype.format=function(e,t){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,t)(e)},e.prototype.formatRange=function(e,t,n){var r=this.standardDateProps,i=this.extendedSettings,o=function(e,t,n){if(n.getMarkerYear(e)!==n.getMarkerYear(t))return 5;if(n.getMarkerMonth(e)!==n.getMarkerMonth(t))return 4;if(n.getMarkerDay(e)!==n.getMarkerDay(t))return 2;if(q(e)!==q(t))return 1;return 0}(e.marker,t.marker,n.calendarSystem);if(!o)return this.format(e,n);var a=o;!(a>1)||"numeric"!==r.year&&"2-digit"!==r.year||"numeric"!==r.month&&"2-digit"!==r.month||"numeric"!==r.day&&"2-digit"!==r.day||(a=1);var s=this.format(e,n),u=this.format(t,n);if(s===u)return s;var l=nt(function(e,t){var n={};for(var r in e)(!(r in Xe)||Xe[r]<=t)&&(n[r]=e[r]);return n}(r,a),i,n),c=l(e),d=l(t),f=function(e,t,n,r){var i=0;for(;i<e.length;){var o=e.indexOf(t,i);if(-1===o)break;var a=e.substr(0,o);i=o+t.length;for(var s=e.substr(i),u=0;u<n.length;){var l=n.indexOf(r,u);if(-1===l)break;var c=n.substr(0,l);u=l+r.length;var d=n.substr(u);if(a===c&&s===d)return{before:a,after:s}}}return null}(s,c,u,d),p=i.separator||"";return f?f.before+c+p+d+f.after:s+p+u},e.prototype.getLargestUnit=function(){switch(this.severity){case 7:case 6:case 5:return"year";case 4:return"month";case 3:return"week";default:return"day"}},e}();function nt(e,t,n){var r=Object.keys(e).length;return 1===r&&"short"===e.timeZoneName?function(e){return at(e.timeZoneOffset)}:0===r&&t.week?function(e){return function(e,t,n,r){var i=[];"narrow"===r?i.push(t):"short"===r&&i.push(t," ");i.push(n.simpleNumberFormat.format(e)),n.options.isRtl&&i.reverse();return i.join("")}(n.computeWeekNumber(e.marker),n.weekLabel,n.locale,t.week)}:function(e,t,n){e=Se({},e),t=Se({},t),function(e,t){e.timeZoneName&&(e.hour||(e.hour="2-digit"),e.minute||(e.minute="2-digit"));"long"===e.timeZoneName&&(e.timeZoneName="short");t.omitZeroMinute&&(e.second||e.millisecond)&&delete t.omitZeroMinute}(e,t),e.timeZone="UTC";var r,i=new Intl.DateTimeFormat(n.locale.codes,e);if(t.omitZeroMinute){var o=Se({},e);delete o.minute,r=new Intl.DateTimeFormat(n.locale.codes,o)}return function(o){var a=o.marker;return function(e,t,n,r,i){e=e.replace($e,""),"short"===n.timeZoneName&&(e=function(e,t){var n=!1;e=e.replace(et,(function(){return n=!0,t})),n||(e+=" "+t);return e}(e,"UTC"===i.timeZone||null==t.timeZoneOffset?"UTC":at(t.timeZoneOffset)));r.omitCommas&&(e=e.replace(Ke,"").trim());r.omitZeroMinute&&(e=e.replace(":00",""));!1===r.meridiem?e=e.replace(Je,"").trim():"narrow"===r.meridiem?e=e.replace(Je,(function(e,t){return t.toLocaleLowerCase()})):"short"===r.meridiem?e=e.replace(Je,(function(e,t){return t.toLocaleLowerCase()+"m"})):"lowercase"===r.meridiem&&(e=e.replace(Je,(function(e){return e.toLocaleLowerCase()})));return e=(e=e.replace(Qe," ")).trim()}((r&&!a.getUTCMinutes()?r:i).format(a),o,e,t,n)}}(e,t,n)}var rt=function(){function e(e,t){this.cmdStr=e,this.separator=t}return e.prototype.format=function(e,t){return t.cmdFormatter(this.cmdStr,st(e,null,t,this.separator))},e.prototype.formatRange=function(e,t,n){return n.cmdFormatter(this.cmdStr,st(e,t,n,this.separator))},e}(),it=function(){function e(e){this.func=e}return e.prototype.format=function(e,t){return this.func(st(e,null,t))},e.prototype.formatRange=function(e,t,n){return this.func(st(e,t,n))},e}();function ot(e,t){return"object"==typeof e&&e?("string"==typeof t&&(e=Se({separator:t},e)),new tt(e)):"string"==typeof e?new rt(e,t):"function"==typeof e?new it(e):void 0}function at(e,t){void 0===t&&(t=!1);var n=e<0?"-":"+",r=Math.abs(e),i=Math.floor(r/60),o=Math.round(r%60);return t?n+le(i,2)+":"+le(o,2):"GMT"+n+i+(o?":"+le(o,2):"")}function st(e,t,n,r){var i=ut(e,n.calendarSystem);return{date:i,start:i,end:t?ut(t,n.calendarSystem):null,timeZone:n.timeZone,localeCodes:n.locale.codes,separator:r}}function ut(e,t){var n=t.markerToArray(e.marker);return{marker:e.marker,timeZoneOffset:e.timeZoneOffset,array:n,year:n[0],month:n[1],day:n[2],hour:n[3],minute:n[4],second:n[5],millisecond:n[6]}}var lt=function(){function e(e,t){this.calendar=e,this.internalEventSource=t}return e.prototype.remove=function(){this.calendar.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:this.internalEventSource.sourceId})},e.prototype.refetch=function(){this.calendar.dispatch({type:"FETCH_EVENT_SOURCES",sourceIds:[this.internalEventSource.sourceId]})},Object.defineProperty(e.prototype,"id",{get:function(){return this.internalEventSource.publicId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this.internalEventSource.meta.url},enumerable:!0,configurable:!0}),e}(),ct=function(){function e(e,t,n){this._calendar=e,this._def=t,this._instance=n||null}return e.prototype.setProp=function(e,t){var n,r;if(e in Ft);else if(e in At)"function"==typeof At[e]&&(t=At[e](t)),this.mutate({standardProps:(n={},n[e]=t,n)});else if(e in Ht){var i=void 0;"function"==typeof Ht[e]&&(t=Ht[e](t)),"color"===e?i={backgroundColor:t,borderColor:t}:"editable"===e?i={startEditable:t,durationEditable:t}:((r={})[e]=t,i=r),this.mutate({standardProps:{ui:i}})}},e.prototype.setExtendedProp=function(e,t){var n;this.mutate({extendedProps:(n={},n[e]=t,n)})},e.prototype.setStart=function(e,t){void 0===t&&(t={});var n=this._calendar.dateEnv,r=n.createMarker(e);if(r&&this._instance){var i=ye(this._instance.range.start,r,n,t.granularity);t.maintainDuration?this.mutate({datesDelta:i}):this.mutate({startDelta:i})}},e.prototype.setEnd=function(e,t){void 0===t&&(t={});var n,r=this._calendar.dateEnv;if((null==e||(n=r.createMarker(e)))&&this._instance)if(n){var i=ye(this._instance.range.end,n,r,t.granularity);this.mutate({endDelta:i})}else this.mutate({standardProps:{hasEnd:!1}})},e.prototype.setDates=function(e,t,n){void 0===n&&(n={});var r,i=this._calendar.dateEnv,o={allDay:n.allDay},a=i.createMarker(e);if(a&&(null==t||(r=i.createMarker(t)))&&this._instance){var s=this._instance.range;!0===n.allDay&&(s=ve(s));var u=ye(s.start,a,i,n.granularity);if(r){var l=ye(s.end,r,i,n.granularity);$(u,l)?this.mutate({datesDelta:u,standardProps:o}):this.mutate({startDelta:u,endDelta:l,standardProps:o})}else o.hasEnd=!1,this.mutate({datesDelta:u,standardProps:o})}},e.prototype.moveStart=function(e){var t=J(e);t&&this.mutate({startDelta:t})},e.prototype.moveEnd=function(e){var t=J(e);t&&this.mutate({endDelta:t})},e.prototype.moveDates=function(e){var t=J(e);t&&this.mutate({datesDelta:t})},e.prototype.setAllDay=function(e,t){void 0===t&&(t={});var n={allDay:e},r=t.maintainDuration;null==r&&(r=this._calendar.opt("allDayMaintainDuration")),this._def.allDay!==e&&(n.hasEnd=r),this.mutate({standardProps:n})},e.prototype.formatRange=function(e){var t=this._calendar.dateEnv,n=this._instance,r=ot(e,this._calendar.opt("defaultRangeSeparator"));return this._def.hasEnd?t.formatRange(n.range.start,n.range.end,r,{forcedStartTzo:n.forcedStartTzo,forcedEndTzo:n.forcedEndTzo}):t.format(n.range.start,r,{forcedTzo:n.forcedStartTzo})},e.prototype.mutate=function(e){var t=this._def,n=this._instance;if(n){this._calendar.dispatch({type:"MUTATE_EVENTS",instanceId:n.instanceId,mutation:e,fromApi:!0});var r=this._calendar.state.eventStore;this._def=r.defs[t.defId],this._instance=r.instances[n.instanceId]}},e.prototype.remove=function(){this._calendar.dispatch({type:"REMOVE_EVENT_DEF",defId:this._def.defId})},Object.defineProperty(e.prototype,"source",{get:function(){var e=this._def.sourceId;return e?new lt(this._calendar,this._calendar.state.eventSources[e]):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"start",{get:function(){return this._instance?this._calendar.dateEnv.toDate(this._instance.range.start):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._instance&&this._def.hasEnd?this._calendar.dateEnv.toDate(this._instance.range.end):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._def.publicId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"groupId",{get:function(){return this._def.groupId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"allDay",{get:function(){return this._def.allDay},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._def.title},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._def.url},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rendering",{get:function(){return this._def.rendering},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"startEditable",{get:function(){return this._def.ui.startEditable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"durationEditable",{get:function(){return this._def.ui.durationEditable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"constraint",{get:function(){return this._def.ui.constraints[0]||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"overlap",{get:function(){return this._def.ui.overlap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"allow",{get:function(){return this._def.ui.allows[0]||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"backgroundColor",{get:function(){return this._def.ui.backgroundColor},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"borderColor",{get:function(){return this._def.ui.borderColor},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textColor",{get:function(){return this._def.ui.textColor},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classNames",{get:function(){return this._def.ui.classNames},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"extendedProps",{get:function(){return this._def.extendedProps},enumerable:!0,configurable:!0}),e}();function dt(e,t,n,r){var i={},o={},a={},s=[],u=[],l=vt(e.defs,t);for(var c in e.defs){"inverse-background"===(S=e.defs[c]).rendering&&(S.groupId?(i[S.groupId]=[],a[S.groupId]||(a[S.groupId]=S)):o[c]=[])}for(var d in e.instances){var f=e.instances[d],p=l[(S=e.defs[f.defId]).defId],h=f.range,v=!S.allDay&&r?ge(h,r):h,g=Ve(v,n);g&&("inverse-background"===S.rendering?S.groupId?i[S.groupId].push(g):o[f.defId].push(g):("background"===S.rendering?s:u).push({def:S,ui:p,instance:f,range:g,isStart:v.start&&v.start.valueOf()===g.start.valueOf(),isEnd:v.end&&v.end.valueOf()===g.end.valueOf()}))}for(var y in i)for(var m=0,E=Le(i[y],n);m<E.length;m++){var S,b=E[m];p=l[(S=a[y]).defId];s.push({def:S,ui:p,instance:null,range:b,isStart:!1,isEnd:!1})}for(var c in o)for(var D=0,T=Le(o[c],n);D<T.length;D++){b=T[D];s.push({def:e.defs[c],ui:l[c],instance:null,range:b,isStart:!1,isEnd:!1})}return{bg:s,fg:u}}function ft(e,t,n){var r=e.calendar,i=e.view;r.hasPublicHandlers("eventRender")&&(t=t.filter((function(e){var t=r.publiclyTrigger("eventRender",[{event:new ct(r,e.eventRange.def,e.eventRange.instance),isMirror:n,isStart:e.isStart,isEnd:e.isEnd,el:e.el,view:i}]);return!1!==t&&(t&&!0!==t&&(e.el=t),!0)})));for(var o=0,a=t;o<a.length;o++){var s=a[o];pt(s.el,s)}return t}function pt(e,t){e.fcSeg=t}function ht(e){return e.fcSeg||null}function vt(e,t){return Re(e,(function(e){return gt(e,t)}))}function gt(e,t){var n=[];return t[""]&&n.push(t[""]),t[e.defId]&&n.push(t[e.defId]),n.push(e.ui),Bt(n)}function yt(e,t,n){var r=e.calendar,i=e.view;if(r.hasPublicHandlers("eventPositioned"))for(var o=0,a=t;o<a.length;o++){var s=a[o];r.publiclyTriggerAfterSizing("eventPositioned",[{event:new ct(r,s.eventRange.def,s.eventRange.instance),isMirror:n,isStart:s.isStart,isEnd:s.isEnd,el:s.el,view:i}])}r.state.eventSourceLoadingLevel||(r.afterSizingTriggers._eventsPositioned=[null])}function mt(e,t,n){for(var r=e.calendar,i=e.view,o=0,a=t;o<a.length;o++){var s=a[o];r.trigger("eventElRemove",s.el)}if(r.hasPublicHandlers("eventDestroy"))for(var u=0,l=t;u<l.length;u++){s=l[u];r.publiclyTrigger("eventDestroy",[{event:new ct(r,s.eventRange.def,s.eventRange.instance),isMirror:n,el:s.el,view:i}])}}function Et(e,t,n,r){var i=vt(e.defs,t),o={defs:{},instances:{}};for(var a in e.defs){var s=e.defs[a];o.defs[a]=St(s,i[a],n,r.pluginSystem.hooks.eventDefMutationAppliers,r)}for(var u in e.instances){var l=e.instances[u];s=o.defs[l.defId];o.instances[u]=bt(l,s,i[l.defId],n,r)}return o}function St(e,t,n,r,i){var o=n.standardProps||{};null==o.hasEnd&&t.durationEditable&&(n.startDelta||n.endDelta)&&(o.hasEnd=!0);var a=Se({},e,o,{ui:Se({},e.ui,o.ui)});n.extendedProps&&(a.extendedProps=Se({},a.extendedProps,n.extendedProps));for(var s=0,u=r;s<u.length;s++){(0,u[s])(a,n,i)}return!a.hasEnd&&i.opt("forceEventDuration")&&(a.hasEnd=!0),a}function bt(e,t,n,r,i){var o=i.dateEnv,a=r.standardProps&&!0===r.standardProps.allDay,s=r.standardProps&&!1===r.standardProps.hasEnd,u=Se({},e);return a&&(u.range=ve(u.range)),r.datesDelta&&n.startEditable&&(u.range={start:o.add(u.range.start,r.datesDelta),end:o.add(u.range.end,r.datesDelta)}),r.startDelta&&n.durationEditable&&(u.range={start:o.add(u.range.start,r.startDelta),end:u.range.end}),r.endDelta&&n.durationEditable&&(u.range={start:u.range.start,end:o.add(u.range.end,r.endDelta)}),s&&(u.range={start:u.range.start,end:i.getDefaultEventEnd(t.allDay,u.range.start)}),t.allDay&&(u.range={start:B(u.range.start),end:B(u.range.end)}),u.range.end<u.range.start&&(u.range.end=i.getDefaultEventEnd(t.allDay,u.range.start)),u}function Dt(e,t,n,r,i){switch(t.type){case"RECEIVE_EVENTS":return function(e,t,n,r,i,o){if(t&&n===t.latestFetchId){var a=ke(function(e,t,n){var r=n.opt("eventDataTransform"),i=t?t.eventDataTransform:null;return i&&(e=xe(e,i)),r&&(e=xe(e,r)),e}(i,t,o),t.sourceId,o);return r&&(a=Oe(a,r,o)),He(Tt(e,t.sourceId),a)}return e}(e,n[t.sourceId],t.fetchId,t.fetchRange,t.rawEvents,i);case"ADD_EVENTS":return function(e,t,n,r){n&&(t=Oe(t,n,r));return He(e,t)}(e,t.eventStore,r?r.activeRange:null,i);case"MERGE_EVENTS":return He(e,t.eventStore);case"PREV":case"NEXT":case"SET_DATE":case"SET_VIEW_TYPE":return r?Oe(e,r.activeRange,i):e;case"CHANGE_TIMEZONE":return function(e,t,n){var r=e.defs,i=Re(e.instances,(function(e){var i=r[e.defId];return i.allDay||i.recurringDef?e:Se({},e,{range:{start:n.createMarker(t.toDate(e.range.start,e.forcedStartTzo)),end:n.createMarker(t.toDate(e.range.end,e.forcedEndTzo))},forcedStartTzo:n.canComputeOffset?null:e.forcedStartTzo,forcedEndTzo:n.canComputeOffset?null:e.forcedEndTzo})}));return{defs:r,instances:i}}(e,t.oldDateEnv,i.dateEnv);case"MUTATE_EVENTS":return function(e,t,n,r,i){var o=Pe(e,t),a=r?{"":{startEditable:!0,durationEditable:!0,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]}}:i.eventUiBases;return o=Et(o,a,n,i),He(e,o)}(e,t.instanceId,t.mutation,t.fromApi,i);case"REMOVE_EVENT_INSTANCES":return wt(e,t.instances);case"REMOVE_EVENT_DEF":return Ue(e,(function(e){return e.defId!==t.defId}));case"REMOVE_EVENT_SOURCE":return Tt(e,t.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return Ue(e,(function(e){return!e.sourceId}));case"REMOVE_ALL_EVENTS":return{defs:{},instances:{}};case"RESET_EVENTS":return{defs:e.defs,instances:e.instances};default:return e}}function Tt(e,t){return Ue(e,(function(e){return e.sourceId!==t}))}function wt(e,t){return{defs:e.defs,instances:we(e.instances,(function(e){return!t[e.instanceId]}))}}function Rt(e,t){return Ct({eventDrag:e},t)}function Ct(e,t){var n=t.view,r=Se({businessHours:n?n.props.businessHours:{defs:{},instances:{}},dateSelection:"",eventStore:t.state.eventStore,eventUiBases:t.eventUiBases,eventSelection:"",eventDrag:null,eventResize:null},e);return(t.pluginSystem.hooks.isPropsValid||It)(r,t)}function It(e,t,n,r){return void 0===n&&(n={}),!(e.eventDrag&&!function(e,t,n,r){var i=e.eventDrag,o=i.mutatedEvents,a=o.defs,s=o.instances,u=vt(a,i.isEvent?e.eventUiBases:{"":t.selectionConfig});r&&(u=Re(u,r));var l=wt(e.eventStore,i.affectedEvents.instances),c=l.defs,d=l.instances,f=vt(c,e.eventUiBases);for(var p in s){var h=s[p],v=h.range,g=u[h.defId],y=a[h.defId];if(!Mt(g.constraints,v,l,e.businessHours,t))return!1;var m=t.opt("eventOverlap");for(var E in"function"!=typeof m&&(m=null),d){var S=d[E];if(Fe(v,S.range)){if(!1===f[S.defId].overlap&&i.isEvent)return!1;if(!1===g.overlap)return!1;if(m&&!m(new ct(t,c[S.defId],S),new ct(t,y,h)))return!1}}for(var b=t.state.eventStore,D=0,T=g.allows;D<T.length;D++){var w=T[D],R=Se({},n,{range:h.range,allDay:y.allDay}),C=b.defs[y.defId],I=b.instances[p],M=void 0;if(M=C?new ct(t,C,I):new ct(t,y),!w(t.buildDateSpanApi(R),M))return!1}}return!0}(e,t,n,r))&&!(e.dateSelection&&!function(e,t,n,r){var i=e.eventStore,o=i.defs,a=i.instances,s=e.dateSelection,u=s.range,l=t.selectionConfig;r&&(l=r(l));if(!Mt(l.constraints,u,i,e.businessHours,t))return!1;var c=t.opt("selectOverlap");"function"!=typeof c&&(c=null);for(var d in a){var f=a[d];if(Fe(u,f.range)){if(!1===l.overlap)return!1;if(c&&!c(new ct(t,o[f.defId],f)))return!1}}for(var p=0,h=l.allows;p<h.length;p++){var v=h[p],g=Se({},n,s);if(!v(t.buildDateSpanApi(g),null))return!1}return!0}(e,t,n,r))}function Mt(e,t,n,r,i){for(var o=0,a=e;o<a.length;o++){if(!Ot(kt(a[o],t,n,r,i),t))return!1}return!0}function kt(e,t,n,r,i){return"businessHours"===e?_t(Oe(r,t,i)):"string"==typeof e?_t(Ue(n,(function(t){return t.groupId===e}))):"object"==typeof e&&e?_t(Oe(e,t,i)):[]}function _t(e){var t=e.instances,n=[];for(var r in t)n.push(t[r].range);return n}function Ot(e,t){for(var n=0,r=e;n<r.length;n++){if(We(r[n],t))return!0}return!1}function Pt(e){return(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function xt(e){var t=[];for(var n in e){var r=e[n];null!=r&&""!==r&&t.push(n+":"+r)}return t.join(";")}function Nt(e){return Array.isArray(e)?e:"string"==typeof e?e.split(/\s+/):[]}var Ht={editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:null,overlap:null,allow:null,className:Nt,classNames:Nt,color:String,backgroundColor:String,borderColor:String,textColor:String};function Ut(e,t,n){var r=he(e,Ht,{},n),i=function(e,t){return Array.isArray(e)?ke(e,"",t,!0):"object"==typeof e&&e?ke([e],"",t,!0):null!=e?String(e):null}(r.constraint,t);return{startEditable:null!=r.startEditable?r.startEditable:r.editable,durationEditable:null!=r.durationEditable?r.durationEditable:r.editable,constraints:null!=i?[i]:[],overlap:r.overlap,allows:null!=r.allow?[r.allow]:[],backgroundColor:r.backgroundColor||r.color,borderColor:r.borderColor||r.color,textColor:r.textColor,classNames:r.classNames.concat(r.className)}}function zt(e,t,n,r){var i={},o={};for(var a in Ht){var s=e+ue(a);i[a]=t[s],o[s]=!0}if("event"===e&&(i.editable=t.editable),r)for(var a in t)o[a]||(r[a]=t[a]);return Ut(i,n)}var Lt={startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]};function Bt(e){return e.reduce(Vt,Lt)}function Vt(e,t){return{startEditable:null!=t.startEditable?t.startEditable:e.startEditable,durationEditable:null!=t.durationEditable?t.durationEditable:e.durationEditable,constraints:e.constraints.concat(t.constraints),overlap:"boolean"==typeof t.overlap?t.overlap:e.overlap,allows:e.allows.concat(t.allows),backgroundColor:t.backgroundColor||e.backgroundColor,borderColor:t.borderColor||e.borderColor,textColor:t.textColor||e.textColor,classNames:e.classNames.concat(t.classNames)}}var At={id:String,groupId:String,title:String,url:String,rendering:String,extendedProps:null},Ft={start:null,date:null,end:null,allDay:null},Wt=0;function Zt(e,t,n,r){var i=function(e,t){var n=null;if(e){var r=t.state.eventSources[e];n=r.allDayDefault}null==n&&(n=t.opt("allDayDefault"));return n}(t,n),o={},a=function(e,t,n,r,i){for(var o=0;o<r.length;o++){var a={},s=r[o].parse(e,a,n);if(s){var u=a.allDay;return delete a.allDay,null==u&&null==(u=t)&&null==(u=s.allDayGuess)&&(u=!1),Se(i,a),{allDay:u,duration:s.duration,typeData:s.typeData,typeId:o}}}return null}(e,i,n.dateEnv,n.pluginSystem.hooks.recurringTypes,o);if(a)return(s=jt(o,t,a.allDay,Boolean(a.duration),n)).recurringDef={typeId:a.typeId,typeData:a.typeData,duration:a.duration},{def:s,instance:null};var s,u={},l=function(e,t,n,r,i){var o,a,s=function(e,t){var n=he(e,Ft,{},t);return n.start=null!==n.start?n.start:n.date,delete n.date,n}(e,r),u=s.allDay,l=null,c=!1,d=null;if(o=n.dateEnv.createMarkerMeta(s.start))l=o.marker;else if(!i)return null;null!=s.end&&(a=n.dateEnv.createMarkerMeta(s.end));null==u&&(u=null!=t?t:(!o||o.isTimeUnspecified)&&(!a||a.isTimeUnspecified));u&&l&&(l=B(l));a&&(d=a.marker,u&&(d=B(d)),l&&d<=l&&(d=null));d?c=!0:i||(c=n.opt("forceEventDuration")||!1,d=n.dateEnv.add(l,u?n.defaultAllDayEventDuration:n.defaultTimedEventDuration));return{allDay:u,hasEnd:c,range:{start:l,end:d},forcedStartTzo:o?o.forcedTzo:null,forcedEndTzo:a?a.forcedTzo:null}}(e,i,n,u,r);return l?{def:s=jt(u,t,l.allDay,l.hasEnd,n),instance:Yt(s.defId,l.range,l.forcedStartTzo,l.forcedEndTzo)}:null}function jt(e,t,n,r,i){var o={},a=function(e,t,n){var r={},i=he(e,At,{},r),o=Ut(r,t,n);return i.publicId=i.id,delete i.id,i.ui=o,i}(e,i,o);a.defId=String(Wt++),a.sourceId=t,a.allDay=n,a.hasEnd=r;for(var s=0,u=i.pluginSystem.hooks.eventDefParsers;s<u.length;s++){var l={};(0,u[s])(a,o,l),o=l}return a.extendedProps=Se(o,a.extendedProps||{}),Object.freeze(a.ui.classNames),Object.freeze(a.extendedProps),a}function Yt(e,t,n,r){return{instanceId:String(Wt++),defId:e,range:t,forcedStartTzo:null==n?null:n,forcedEndTzo:null==r?null:r}}var qt={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],rendering:"inverse-background",classNames:"fc-nonbusiness",groupId:"_businessHours"};function Gt(e,t){return ke(function(e){var t;t=!0===e?[{}]:Array.isArray(e)?e.filter((function(e){return e.daysOfWeek})):"object"==typeof e&&e?[e]:[];return t=t.map((function(e){return Se({},qt,e)}))}(e),"",t)}function Xt(e,t,n){void 0===n&&(n=[]);var r,i,o=[];function a(){if(i){for(var e=0,n=o;e<n.length;e++){n[e].unrender()}t&&t.apply(r,i),i=null}}function s(){i&&je(i,arguments)||(a(),r=this,i=arguments,e.apply(this,arguments))}s.dependents=o,s.unrender=a;for(var u=0,l=n;u<l.length;u++){l[u].dependents.push(s)}return s}var Jt={defs:{},instances:{}},Kt=function(){function e(){this.getKeysForEventDefs=Ye(this._getKeysForEventDefs),this.splitDateSelection=Ye(this._splitDateSpan),this.splitEventStore=Ye(this._splitEventStore),this.splitIndividualUi=Ye(this._splitIndividualUi),this.splitEventDrag=Ye(this._splitInteraction),this.splitEventResize=Ye(this._splitInteraction),this.eventUiBuilders={}}return e.prototype.splitProps=function(e){var t=this,n=this.getKeyInfo(e),r=this.getKeysForEventDefs(e.eventStore),i=this.splitDateSelection(e.dateSelection),o=this.splitIndividualUi(e.eventUiBases,r),a=this.splitEventStore(e.eventStore,r),s=this.splitEventDrag(e.eventDrag),u=this.splitEventResize(e.eventResize),l={};for(var c in this.eventUiBuilders=Re(n,(function(e,n){return t.eventUiBuilders[n]||Ye(Qt)})),n){var d=n[c],f=a[c]||Jt,p=this.eventUiBuilders[c];l[c]={businessHours:d.businessHours||e.businessHours,dateSelection:i[c]||null,eventStore:f,eventUiBases:p(e.eventUiBases[""],d.ui,o[c]),eventSelection:f.instances[e.eventSelection]?e.eventSelection:"",eventDrag:s[c]||null,eventResize:u[c]||null}}return l},e.prototype._splitDateSpan=function(e){var t={};if(e)for(var n=0,r=this.getKeysForDateSpan(e);n<r.length;n++){t[r[n]]=e}return t},e.prototype._getKeysForEventDefs=function(e){var t=this;return Re(e.defs,(function(e){return t.getKeysForEventDef(e)}))},e.prototype._splitEventStore=function(e,t){var n=e.defs,r=e.instances,i={};for(var o in n)for(var a=0,s=t[o];a<s.length;a++){i[f=s[a]]||(i[f]={defs:{},instances:{}}),i[f].defs[o]=n[o]}for(var u in r)for(var l=r[u],c=0,d=t[l.defId];c<d.length;c++){var f;i[f=d[c]]&&(i[f].instances[u]=l)}return i},e.prototype._splitIndividualUi=function(e,t){var n={};for(var r in e)if(r)for(var i=0,o=t[r];i<o.length;i++){var a=o[i];n[a]||(n[a]={}),n[a][r]=e[r]}return n},e.prototype._splitInteraction=function(e){var t={};if(e){var n=this._splitEventStore(e.affectedEvents,this._getKeysForEventDefs(e.affectedEvents)),r=this._getKeysForEventDefs(e.mutatedEvents),i=this._splitEventStore(e.mutatedEvents,r),o=function(r){t[r]||(t[r]={affectedEvents:n[r]||Jt,mutatedEvents:i[r]||Jt,isEvent:e.isEvent,origSeg:e.origSeg})};for(var a in n)o(a);for(var a in i)o(a)}return t},e}();function Qt(e,t,n){var r=[];e&&r.push(e),t&&r.push(t);var i={"":Bt(r)};return n&&Se(i,n),i}function $t(e,t,n,r,i){var o,a,s,u;return n instanceof Date?o=n:(o=n.date,a=n.type,s=n.forceOff),u={date:t.formatIso(o,{omitTime:!0}),type:a||"day"},"string"==typeof r&&(i=r,r=null),r=r?" "+function(e){var t=[];for(var n in e){var r=e[n];null!=r&&t.push(n+'="'+Pt(r)+'"')}return t.join(" ")}(r):"",i=i||"",!s&&e.navLinks?"<a"+r+' data-goto="'+Pt(JSON.stringify(u))+'">'+i+"</a>":"<span"+r+">"+i+"</span>"}function en(e,t,n,r){var i,o,a=n.calendar,s=n.options,u=n.theme,l=n.dateEnv,c=[];return Ze(t.activeRange,e)?(c.push("fc-"+P[e.getUTCDay()]),s.monthMode&&l.getMonth(e)!==l.getMonth(t.currentRange.start)&&c.push("fc-other-month"),o=x(i=B(a.getNow()),1),e<i?c.push("fc-past"):e>=o?c.push("fc-future"):(c.push("fc-today"),!0!==r&&c.push(u.getClass("today")))):c.push("fc-disabled-day"),c}function tn(e,t,n){var r=!1,i=function(){r||(r=!0,t.apply(this,arguments))},o=function(){r||(r=!0,n&&n.apply(this,arguments))},a=e(i,o);a&&"function"==typeof a.then&&a.then(i,o)}var nn=function(){function e(){}return e.mixInto=function(e){this.mixIntoObj(e.prototype)},e.mixIntoObj=function(e){var t=this;Object.getOwnPropertyNames(this.prototype).forEach((function(n){e[n]||(e[n]=t.prototype[n])}))},e.mixOver=function(e){var t=this;Object.getOwnPropertyNames(this.prototype).forEach((function(n){e.prototype[n]=t.prototype[n]}))},e}(),rn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ee(t,e),t.prototype.on=function(e,t){return on(this._handlers||(this._handlers={}),e,t),this},t.prototype.one=function(e,t){return on(this._oneHandlers||(this._oneHandlers={}),e,t),this},t.prototype.off=function(e,t){return this._handlers&&an(this._handlers,e,t),this._oneHandlers&&an(this._oneHandlers,e,t),this},t.prototype.trigger=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return this.triggerWith(e,this,t),this},t.prototype.triggerWith=function(e,t,n){return this._handlers&&de(this._handlers[e],t,n),this._oneHandlers&&(de(this._oneHandlers[e],t,n),delete this._oneHandlers[e]),this},t.prototype.hasHandlers=function(e){return this._handlers&&this._handlers[e]&&this._handlers[e].length||this._oneHandlers&&this._oneHandlers[e]&&this._oneHandlers[e].length},t}(nn);function on(e,t,n){(e[t]||(e[t]=[])).push(n)}function an(e,t,n){n?e[t]&&(e[t]=e[t].filter((function(e){return e!==n}))):delete e[t]}var sn=function(){function e(e,t,n,r){this.originEl=e,this.els=t,this.isHorizontal=n,this.isVertical=r}return e.prototype.build=function(){var e=this.originEl,t=this.originClientRect=e.getBoundingClientRect();this.isHorizontal&&this.buildElHorizontals(t.left),this.isVertical&&this.buildElVerticals(t.top)},e.prototype.buildElHorizontals=function(e){for(var t=[],n=[],r=0,i=this.els;r<i.length;r++){var o=i[r].getBoundingClientRect();t.push(o.left-e),n.push(o.right-e)}this.lefts=t,this.rights=n},e.prototype.buildElVerticals=function(e){for(var t=[],n=[],r=0,i=this.els;r<i.length;r++){var o=i[r].getBoundingClientRect();t.push(o.top-e),n.push(o.bottom-e)}this.tops=t,this.bottoms=n},e.prototype.leftToIndex=function(e){var t,n=this.lefts,r=this.rights,i=n.length;for(t=0;t<i;t++)if(e>=n[t]&&e<r[t])return t},e.prototype.topToIndex=function(e){var t,n=this.tops,r=this.bottoms,i=n.length;for(t=0;t<i;t++)if(e>=n[t]&&e<r[t])return t},e.prototype.getWidth=function(e){return this.rights[e]-this.lefts[e]},e.prototype.getHeight=function(e){return this.bottoms[e]-this.tops[e]},e}(),un=function(){function e(){}return e.prototype.getMaxScrollTop=function(){return this.getScrollHeight()-this.getClientHeight()},e.prototype.getMaxScrollLeft=function(){return this.getScrollWidth()-this.getClientWidth()},e.prototype.canScrollVertically=function(){return this.getMaxScrollTop()>0},e.prototype.canScrollHorizontally=function(){return this.getMaxScrollLeft()>0},e.prototype.canScrollUp=function(){return this.getScrollTop()>0},e.prototype.canScrollDown=function(){return this.getScrollTop()<this.getMaxScrollTop()},e.prototype.canScrollLeft=function(){return this.getScrollLeft()>0},e.prototype.canScrollRight=function(){return this.getScrollLeft()<this.getMaxScrollLeft()},e}(),ln=function(e){function t(t){var n=e.call(this)||this;return n.el=t,n}return Ee(t,e),t.prototype.getScrollTop=function(){return this.el.scrollTop},t.prototype.getScrollLeft=function(){return this.el.scrollLeft},t.prototype.setScrollTop=function(e){this.el.scrollTop=e},t.prototype.setScrollLeft=function(e){this.el.scrollLeft=e},t.prototype.getScrollWidth=function(){return this.el.scrollWidth},t.prototype.getScrollHeight=function(){return this.el.scrollHeight},t.prototype.getClientHeight=function(){return this.el.clientHeight},t.prototype.getClientWidth=function(){return this.el.clientWidth},t}(un),cn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ee(t,e),t.prototype.getScrollTop=function(){return window.pageYOffset},t.prototype.getScrollLeft=function(){return window.pageXOffset},t.prototype.setScrollTop=function(e){window.scroll(window.pageXOffset,e)},t.prototype.setScrollLeft=function(e){window.scroll(e,window.pageYOffset)},t.prototype.getScrollWidth=function(){return document.documentElement.scrollWidth},t.prototype.getScrollHeight=function(){return document.documentElement.scrollHeight},t.prototype.getClientHeight=function(){return document.documentElement.clientHeight},t.prototype.getClientWidth=function(){return document.documentElement.clientWidth},t}(un),dn=function(e){function t(t,n){var i=e.call(this,r("div",{className:"fc-scroller"}))||this;return i.overflowX=t,i.overflowY=n,i.applyOverflow(),i}return Ee(t,e),t.prototype.clear=function(){this.setHeight("auto"),this.applyOverflow()},t.prototype.destroy=function(){c(this.el)},t.prototype.applyOverflow=function(){y(this.el,{overflowX:this.overflowX,overflowY:this.overflowY})},t.prototype.lockOverflow=function(e){var t=this.overflowX,n=this.overflowY;e=e||this.getScrollbarWidths(),"auto"===t&&(t=e.bottom||this.canScrollHorizontally()?"scroll":"hidden"),"auto"===n&&(n=e.left||e.right||this.canScrollVertically()?"scroll":"hidden"),y(this.el,{overflowX:t,overflowY:n})},t.prototype.setHeight=function(e){m(this.el,"height",e)},t.prototype.getScrollbarWidths=function(){var e=T(this.el);return{left:e.scrollbarLeft,right:e.scrollbarRight,bottom:e.scrollbarBottom}},t}(ln),fn=function(){function e(e){this.calendarOptions=e,this.processIconOverride()}return e.prototype.processIconOverride=function(){this.iconOverrideOption&&this.setIconOverride(this.calendarOptions[this.iconOverrideOption])},e.prototype.setIconOverride=function(e){var t,n;if("object"==typeof e&&e){for(n in t=Se({},this.iconClasses),e)t[n]=this.applyIconOverridePrefix(e[n]);this.iconClasses=t}else!1===e&&(this.iconClasses={})},e.prototype.applyIconOverridePrefix=function(e){var t=this.iconOverridePrefix;return t&&0!==e.indexOf(t)&&(e=t+e),e},e.prototype.getClass=function(e){return this.classes[e]||""},e.prototype.getIconClass=function(e){var t=this.iconClasses[e];return t?this.baseIconClass+" "+t:""},e.prototype.getCustomButtonIconClass=function(e){var t;return this.iconOverrideCustomButtonOption&&(t=e[this.iconOverrideCustomButtonOption])?this.baseIconClass+" "+this.applyIconOverridePrefix(t):""},e}();fn.prototype.classes={},fn.prototype.iconClasses={},fn.prototype.baseIconClass="",fn.prototype.iconOverridePrefix="";var pn=0,hn=function(){function e(e,t,n,r,i){this.calendar=e,this.theme=t,this.dateEnv=n,this.options=r,this.view=i,this.isRtl="rtl"===r.dir,this.eventOrderSpecs=ie(r.eventOrder),this.nextDayThreshold=J(r.nextDayThreshold)}return e.prototype.extend=function(t,n){return new e(this.calendar,this.theme,this.dateEnv,t||this.options,n||this.view)},e}(),vn=function(){function e(){this.everRendered=!1,this.uid=String(pn++)}return e.addEqualityFuncs=function(e){this.prototype.equalityFuncs=Se({},this.prototype.equalityFuncs,e)},e.prototype.receiveProps=function(e,t){this.receiveContext(t);var n=function(e,t,n){var r={},i=!1;for(var o in t)o in e&&(e[o]===t[o]||n[o]&&n[o](e[o],t[o]))?r[o]=e[o]:(r[o]=t[o],i=!0);for(var o in e)if(!(o in t)){i=!0;break}return{anyChanges:i,comboProps:r}}(this.props||{},e,this.equalityFuncs),r=n.anyChanges,i=n.comboProps;this.props=i,r&&(this.everRendered&&this.beforeUpdate(),this.render(i,t),this.everRendered&&this.afterUpdate()),this.everRendered=!0},e.prototype.receiveContext=function(e){var t=this.context;this.context=e,t||this.firstContext(e)},e.prototype.render=function(e,t){},e.prototype.firstContext=function(e){},e.prototype.beforeUpdate=function(){},e.prototype.afterUpdate=function(){},e.prototype.destroy=function(){},e}();vn.prototype.equalityFuncs={};var gn=function(e){function t(t){var n=e.call(this)||this;return n.el=t,n}return Ee(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this),c(this.el)},t.prototype.buildPositionCaches=function(){},t.prototype.queryHit=function(e,t,n,r){return null},t.prototype.isInteractionValid=function(e){var t=this.context.calendar,n=this.props.dateProfile,r=e.mutatedEvents.instances;if(n)for(var i in r)if(!We(n.validRange,r[i].range))return!1;return Rt(e,t)},t.prototype.isDateSelectionValid=function(e){var t=this.context.calendar,n=this.props.dateProfile;return!(n&&!We(n.validRange,e.range))&&function(e,t){return Ct({dateSelection:e},t)}(e,t)},t.prototype.isValidSegDownEl=function(e){return!this.props.eventDrag&&!this.props.eventResize&&!p(e,".fc-mirror")&&(this.isPopover()||!this.isInPopover(e))},t.prototype.isValidDateDownEl=function(e){var t=p(e,this.fgSegSelector);return(!t||t.classList.contains("fc-mirror"))&&!p(e,".fc-more")&&!p(e,"a[data-goto]")&&!this.isInPopover(e)},t.prototype.isPopover=function(){return this.el.classList.contains("fc-popover")},t.prototype.isInPopover=function(e){return Boolean(p(e,".fc-popover"))},t}(vn);gn.prototype.fgSegSelector=".fc-event-container > *",gn.prototype.bgSegSelector=".fc-bgevent:not(.fc-nonbusiness)";var yn=0;function mn(e){return{id:String(yn++),deps:e.deps||[],reducers:e.reducers||[],eventDefParsers:e.eventDefParsers||[],isDraggableTransformers:e.isDraggableTransformers||[],eventDragMutationMassagers:e.eventDragMutationMassagers||[],eventDefMutationAppliers:e.eventDefMutationAppliers||[],dateSelectionTransformers:e.dateSelectionTransformers||[],datePointTransforms:e.datePointTransforms||[],dateSpanTransforms:e.dateSpanTransforms||[],views:e.views||{},viewPropsTransformers:e.viewPropsTransformers||[],isPropsValid:e.isPropsValid||null,externalDefTransforms:e.externalDefTransforms||[],eventResizeJoinTransforms:e.eventResizeJoinTransforms||[],viewContainerModifiers:e.viewContainerModifiers||[],eventDropTransformers:e.eventDropTransformers||[],componentInteractions:e.componentInteractions||[],calendarInteractions:e.calendarInteractions||[],themeClasses:e.themeClasses||{},eventSourceDefs:e.eventSourceDefs||[],cmdFormatter:e.cmdFormatter,recurringTypes:e.recurringTypes||[],namedTimeZonedImpl:e.namedTimeZonedImpl,defaultView:e.defaultView||"",elementDraggingImpl:e.elementDraggingImpl,optionChangeHandlers:e.optionChangeHandlers||{}}}var En=function(){function e(){this.hooks={reducers:[],eventDefParsers:[],isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],eventResizeJoinTransforms:[],viewContainerModifiers:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,defaultView:"",elementDraggingImpl:null,optionChangeHandlers:{}},this.addedHash={}}return e.prototype.add=function(e){if(!this.addedHash[e.id]){this.addedHash[e.id]=!0;for(var t=0,n=e.deps;t<n.length;t++){var r=n[t];this.add(r)}this.hooks=(i=this.hooks,o=e,{reducers:i.reducers.concat(o.reducers),eventDefParsers:i.eventDefParsers.concat(o.eventDefParsers),isDraggableTransformers:i.isDraggableTransformers.concat(o.isDraggableTransformers),eventDragMutationMassagers:i.eventDragMutationMassagers.concat(o.eventDragMutationMassagers),eventDefMutationAppliers:i.eventDefMutationAppliers.concat(o.eventDefMutationAppliers),dateSelectionTransformers:i.dateSelectionTransformers.concat(o.dateSelectionTransformers),datePointTransforms:i.datePointTransforms.concat(o.datePointTransforms),dateSpanTransforms:i.dateSpanTransforms.concat(o.dateSpanTransforms),views:Se({},i.views,o.views),viewPropsTransformers:i.viewPropsTransformers.concat(o.viewPropsTransformers),isPropsValid:o.isPropsValid||i.isPropsValid,externalDefTransforms:i.externalDefTransforms.concat(o.externalDefTransforms),eventResizeJoinTransforms:i.eventResizeJoinTransforms.concat(o.eventResizeJoinTransforms),viewContainerModifiers:i.viewContainerModifiers.concat(o.viewContainerModifiers),eventDropTransformers:i.eventDropTransformers.concat(o.eventDropTransformers),calendarInteractions:i.calendarInteractions.concat(o.calendarInteractions),componentInteractions:i.componentInteractions.concat(o.componentInteractions),themeClasses:Se({},i.themeClasses,o.themeClasses),eventSourceDefs:i.eventSourceDefs.concat(o.eventSourceDefs),cmdFormatter:o.cmdFormatter||i.cmdFormatter,recurringTypes:i.recurringTypes.concat(o.recurringTypes),namedTimeZonedImpl:o.namedTimeZonedImpl||i.namedTimeZonedImpl,defaultView:i.defaultView||o.defaultView,elementDraggingImpl:i.elementDraggingImpl||o.elementDraggingImpl,optionChangeHandlers:Se({},i.optionChangeHandlers,o.optionChangeHandlers)})}var i,o},e}();var Sn=mn({eventSourceDefs:[{ignoreRange:!0,parseMeta:function(e){return Array.isArray(e)?e:Array.isArray(e.events)?e.events:null},fetch:function(e,t){t({rawEvents:e.eventSource.meta})}}]}),bn=mn({eventSourceDefs:[{parseMeta:function(e){return"function"==typeof e?e:"function"==typeof e.events?e.events:null},fetch:function(e,t,n){var r=e.calendar.dateEnv;tn(e.eventSource.meta.bind(null,{start:r.toDate(e.range.start),end:r.toDate(e.range.end),startStr:r.formatIso(e.range.start),endStr:r.formatIso(e.range.end),timeZone:r.timeZone}),(function(e){t({rawEvents:e})}),n)}}]});function Dn(e,t,n,r,i){var o=null;"GET"===(e=e.toUpperCase())?t=function(e,t){return e+(-1===e.indexOf("?")?"?":"&")+Tn(t)}(t,n):o=Tn(n);var a=new XMLHttpRequest;a.open(e,t,!0),"GET"!==e&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.onload=function(){if(a.status>=200&&a.status<400)try{var e=JSON.parse(a.responseText);r(e,a)}catch(e){i("Failure parsing JSON",a)}else i("Request failed",a)},a.onerror=function(){i("Request failed",a)},a.send(o)}function Tn(e){var t=[];for(var n in e)t.push(encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t.join("&")}var wn=mn({eventSourceDefs:[{parseMeta:function(e){if("string"==typeof e)e={url:e};else if(!e||"object"!=typeof e||!e.url)return null;return{url:e.url,method:(e.method||"GET").toUpperCase(),extraParams:e.extraParams,startParam:e.startParam,endParam:e.endParam,timeZoneParam:e.timeZoneParam}},fetch:function(e,t,n){var r=e.eventSource.meta,i=function(e,t,n){var r,i,o,a,s=n.dateEnv,u={};null==(r=e.startParam)&&(r=n.opt("startParam"));null==(i=e.endParam)&&(i=n.opt("endParam"));null==(o=e.timeZoneParam)&&(o=n.opt("timeZoneParam"));a="function"==typeof e.extraParams?e.extraParams():e.extraParams||{};Se(u,a),u[r]=s.formatIso(t.start),u[i]=s.formatIso(t.end),"local"!==s.timeZone&&(u[o]=s.timeZone);return u}(r,e.range,e.calendar);Dn(r.method,r.url,i,(function(e,n){t({rawEvents:e,xhr:n})}),(function(e,t){n({message:e,xhr:t})}))}}]});var Rn=mn({recurringTypes:[{parse:function(e,t,n){var r,i,o=n.createMarker.bind(n),a=he(e,{daysOfWeek:null,startTime:J,endTime:J,startRecur:o,endRecur:o},{},t),s=!1;for(var u in a)if(null!=a[u]){s=!0;break}if(s){var l=null;return"duration"in t&&(l=J(t.duration),delete t.duration),!l&&a.startTime&&a.endTime&&(r=a.endTime,i=a.startTime,l={years:r.years-i.years,months:r.months-i.months,days:r.days-i.days,milliseconds:r.milliseconds-i.milliseconds}),{allDayGuess:Boolean(!a.startTime&&!a.endTime),duration:l,typeData:a}}return null},expand:function(e,t,n){var r=Ve(t,{start:e.startRecur,end:e.endRecur});return r?function(e,t,n,r){var i=e?Ce(e):null,o=B(n.start),a=n.end,s=[];for(;o<a;){var u=void 0;i&&!i[o.getUTCDay()]||(u=t?r.add(o,t):o,s.push(u)),o=x(o,1)}return s}(e.daysOfWeek,e.startTime,r,n):[]}}]});var Cn=mn({optionChangeHandlers:{events:function(e,t,n){In([e],t,n)},eventSources:In,plugins:function(e,t){t.addPluginInputs(e)}}});function In(e,t,n){for(var r=Ie(t.state.eventSources),i=[],o=0,a=e;o<a.length;o++){for(var s=a[o],u=!1,l=0;l<r.length;l++)if(n(r[l]._raw,s)){r.splice(l,1),u=!0;break}u||i.push(s)}for(var c=0,d=r;c<d.length;c++){var f=d[c];t.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:f.sourceId})}for(var p=0,h=i;p<h.length;p++){var v=h[p];t.addEventSource(v)}}var Mn={defaultRangeSeparator:" - ",titleRangeSeparator:" – ",defaultTimedEventDuration:"01:00:00",defaultAllDayEventDuration:{day:1},forceEventDuration:!1,nextDayThreshold:"00:00:00",columnHeader:!0,defaultView:"",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"local",editable:!1,scrollTime:"06:00:00",minTime:"00:00:00",maxTime:"24:00:00",showNonCurrentDates:!0,lazyFetching:!0,startParam:"start",endParam:"end",timeZoneParam:"timeZone",timeZone:"local",locales:[],locale:"",timeGridEventMinHeight:0,themeSystem:"standard",dragRevertDuration:500,dragScroll:!0,allDayMaintainDuration:!1,unselectAuto:!0,dropAccept:"*",eventOrder:"start,-duration,allDay,title",eventLimit:!1,eventLimitClick:"popover",dayPopoverFormat:{month:"long",day:"numeric",year:"numeric"},handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3,eventDragMinDistance:5},kn={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"fc-icon-chevron-right",next:"fc-icon-chevron-left",prevYear:"fc-icon-chevrons-right",nextYear:"fc-icon-chevrons-left"}},_n=["header","footer","buttonText","buttonIcons"];var On=[Sn,bn,wn,Rn,Cn];var Pn={code:"en",week:{dow:0,doy:4},dir:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekLabel:"W",allDayText:"all-day",eventLimitText:"more",noEventsMessage:"No events to display"};function xn(e){for(var t=e.length>0?e[0].code:"en",n=window.FullCalendarLocalesAll||[],r=window.FullCalendarLocales||{},i=n.concat(Ie(r),e),o={en:Pn},a=0,s=i;a<s.length;a++){var u=s[a];o[u.code]=u}return{map:o,defaultCode:t}}function Nn(e,t){return"object"!=typeof e||Array.isArray(e)?function(e,t){var n=[].concat(e||[]),r=function(e,t){for(var n=0;n<e.length;n++)for(var r=e[n].toLocaleLowerCase().split("-"),i=r.length;i>0;i--){var o=r.slice(0,i).join("-");if(t[o])return t[o]}return null}(n,t)||Pn;return Hn(e,n,r)}(e,t):Hn(e.code,[e.code],e)}function Hn(e,t,n){var r=Te([Pn,n],["buttonText"]);delete r.code;var i=r.week;return delete r.week,{codeArg:e,codes:t,week:i,simpleNumberFormat:new Intl.NumberFormat(e),options:r}}var Un=function(){function e(e){this.overrides=Se({},e),this.dynamicOverrides={},this.compute()}return e.prototype.mutate=function(e,t,n){if(Object.keys(e).length||t.length){var r=n?this.dynamicOverrides:this.overrides;Se(r,e);for(var i=0,o=t;i<o.length;i++){delete r[o[i]]}this.compute()}},e.prototype.compute=function(){var e=fe(this.dynamicOverrides.locales,this.overrides.locales,Mn.locales),t=fe(this.dynamicOverrides.locale,this.overrides.locale,Mn.locale),n=xn(e),r=Nn(t||n.defaultCode,n.map).options,i="rtl"===fe(this.dynamicOverrides.dir,this.overrides.dir,r.dir)?kn:{};this.dirDefaults=i,this.localeDefaults=r,this.computed=Te([Mn,i,r,this.overrides,this.dynamicOverrides],_n)},e}(),zn={};var Ln,Bn=function(){function e(){}return e.prototype.getMarkerYear=function(e){return e.getUTCFullYear()},e.prototype.getMarkerMonth=function(e){return e.getUTCMonth()},e.prototype.getMarkerDay=function(e){return e.getUTCDate()},e.prototype.arrayToMarker=function(e){return j(e)},e.prototype.markerToArray=function(e){return Z(e)},e}();Ln=Bn,zn["gregory"]=Ln;var Vn=/^\s*(\d{4})(-(\d{2})(-(\d{2})([T ](\d{2}):(\d{2})(:(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;function An(e){var t=Vn.exec(e);if(t){var n=new Date(Date.UTC(Number(t[1]),t[3]?Number(t[3])-1:0,Number(t[5]||1),Number(t[7]||0),Number(t[8]||0),Number(t[10]||0),t[12]?1e3*Number("0."+t[12]):0));if(Y(n)){var r=null;return t[13]&&(r=("-"===t[15]?-1:1)*(60*Number(t[16]||0)+Number(t[18]||0))),{marker:n,isTimeUnspecified:!t[6],timeZoneOffset:r}}}return null}var Fn=function(){function e(e){var t=this.timeZone=e.timeZone,n="local"!==t&&"UTC"!==t;e.namedTimeZoneImpl&&n&&(this.namedTimeZoneImpl=new e.namedTimeZoneImpl(t)),this.canComputeOffset=Boolean(!n||this.namedTimeZoneImpl),this.calendarSystem=function(e){return new zn[e]}(e.calendarSystem),this.locale=e.locale,this.weekDow=e.locale.week.dow,this.weekDoy=e.locale.week.doy,"ISO"===e.weekNumberCalculation&&(this.weekDow=1,this.weekDoy=4),"number"==typeof e.firstDay&&(this.weekDow=e.firstDay),"function"==typeof e.weekNumberCalculation&&(this.weekNumberFunc=e.weekNumberCalculation),this.weekLabel=null!=e.weekLabel?e.weekLabel:e.locale.options.weekLabel,this.cmdFormatter=e.cmdFormatter}return e.prototype.createMarker=function(e){var t=this.createMarkerMeta(e);return null===t?null:t.marker},e.prototype.createNowMarker=function(){return this.canComputeOffset?this.timestampToMarker((new Date).valueOf()):j(F(new Date))},e.prototype.createMarkerMeta=function(e){if("string"==typeof e)return this.parse(e);var t=null;return"number"==typeof e?t=this.timestampToMarker(e):e instanceof Date?(e=e.valueOf(),isNaN(e)||(t=this.timestampToMarker(e))):Array.isArray(e)&&(t=j(e)),null!==t&&Y(t)?{marker:t,isTimeUnspecified:!1,forcedTzo:null}:null},e.prototype.parse=function(e){var t=An(e);if(null===t)return null;var n=t.marker,r=null;return null!==t.timeZoneOffset&&(this.canComputeOffset?n=this.timestampToMarker(n.valueOf()-60*t.timeZoneOffset*1e3):r=t.timeZoneOffset),{marker:n,isTimeUnspecified:t.isTimeUnspecified,forcedTzo:r}},e.prototype.getYear=function(e){return this.calendarSystem.getMarkerYear(e)},e.prototype.getMonth=function(e){return this.calendarSystem.getMarkerMonth(e)},e.prototype.add=function(e,t){var n=this.calendarSystem.markerToArray(e);return n[0]+=t.years,n[1]+=t.months,n[2]+=t.days,n[6]+=t.milliseconds,this.calendarSystem.arrayToMarker(n)},e.prototype.subtract=function(e,t){var n=this.calendarSystem.markerToArray(e);return n[0]-=t.years,n[1]-=t.months,n[2]-=t.days,n[6]-=t.milliseconds,this.calendarSystem.arrayToMarker(n)},e.prototype.addYears=function(e,t){var n=this.calendarSystem.markerToArray(e);return n[0]+=t,this.calendarSystem.arrayToMarker(n)},e.prototype.addMonths=function(e,t){var n=this.calendarSystem.markerToArray(e);return n[1]+=t,this.calendarSystem.arrayToMarker(n)},e.prototype.diffWholeYears=function(e,t){var n=this.calendarSystem;return q(e)===q(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)&&n.getMarkerMonth(e)===n.getMarkerMonth(t)?n.getMarkerYear(t)-n.getMarkerYear(e):null},e.prototype.diffWholeMonths=function(e,t){var n=this.calendarSystem;return q(e)===q(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)?n.getMarkerMonth(t)-n.getMarkerMonth(e)+12*(n.getMarkerYear(t)-n.getMarkerYear(e)):null},e.prototype.greatestWholeUnit=function(e,t){var n=this.diffWholeYears(e,t);return null!==n?{unit:"year",value:n}:null!==(n=this.diffWholeMonths(e,t))?{unit:"month",value:n}:null!==(n=z(e,t))?{unit:"week",value:n}:null!==(n=L(e,t))?{unit:"day",value:n}:ce(n=function(e,t){return(t.valueOf()-e.valueOf())/36e5}(e,t))?{unit:"hour",value:n}:ce(n=function(e,t){return(t.valueOf()-e.valueOf())/6e4}(e,t))?{unit:"minute",value:n}:ce(n=function(e,t){return(t.valueOf()-e.valueOf())/1e3}(e,t))?{unit:"second",value:n}:{unit:"millisecond",value:t.valueOf()-e.valueOf()}},e.prototype.countDurationsBetween=function(e,t,n){var r;return n.years&&null!==(r=this.diffWholeYears(e,t))?r/(ee(n)/365):n.months&&null!==(r=this.diffWholeMonths(e,t))?r/function(e){return ee(e)/30}(n):n.days&&null!==(r=L(e,t))?r/ee(n):(t.valueOf()-e.valueOf())/te(n)},e.prototype.startOf=function(e,t){return"year"===t?this.startOfYear(e):"month"===t?this.startOfMonth(e):"week"===t?this.startOfWeek(e):"day"===t?B(e):"hour"===t?function(e){return j([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours()])}(e):"minute"===t?function(e){return j([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes()])}(e):"second"===t?function(e){return j([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds()])}(e):void 0},e.prototype.startOfYear=function(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])},e.prototype.startOfMonth=function(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e)])},e.prototype.startOfWeek=function(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e),e.getUTCDate()-(e.getUTCDay()-this.weekDow+7)%7])},e.prototype.computeWeekNumber=function(e){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(e)):function(e,t,n){var r=e.getUTCFullYear(),i=V(e,r,t,n);if(i<1)return V(e,r-1,t,n);var o=V(e,r+1,t,n);return o>=1?Math.min(i,o):i}(e,this.weekDow,this.weekDoy)},e.prototype.format=function(e,t,n){return void 0===n&&(n={}),t.format({marker:e,timeZoneOffset:null!=n.forcedTzo?n.forcedTzo:this.offsetForMarker(e)},this)},e.prototype.formatRange=function(e,t,n,r){return void 0===r&&(r={}),r.isEndExclusive&&(t=N(t,-1)),n.formatRange({marker:e,timeZoneOffset:null!=r.forcedStartTzo?r.forcedStartTzo:this.offsetForMarker(e)},{marker:t,timeZoneOffset:null!=r.forcedEndTzo?r.forcedEndTzo:this.offsetForMarker(t)},this)},e.prototype.formatIso=function(e,t){void 0===t&&(t={});var n=null;return t.omitTimeZoneOffset||(n=null!=t.forcedTzo?t.forcedTzo:this.offsetForMarker(e)),function(e,t,n){void 0===n&&(n=!1);var r=e.toISOString();return r=r.replace(".000",""),n&&(r=r.replace("T00:00:00Z","")),r.length>10&&(null==t?r=r.replace("Z",""):0!==t&&(r=r.replace("Z",at(t,!0)))),r}(e,n,t.omitTime)},e.prototype.timestampToMarker=function(e){return"local"===this.timeZone?j(F(new Date(e))):"UTC"!==this.timeZone&&this.namedTimeZoneImpl?j(this.namedTimeZoneImpl.timestampToArray(e)):new Date(e)},e.prototype.offsetForMarker=function(e){return"local"===this.timeZone?-W(Z(e)).getTimezoneOffset():"UTC"===this.timeZone?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(Z(e)):null},e.prototype.toDate=function(e,t){return"local"===this.timeZone?W(Z(e)):"UTC"===this.timeZone?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-1e3*this.namedTimeZoneImpl.offsetForArray(Z(e))*60):new Date(e.valueOf()-(t||0))},e}(),Wn={id:String,allDayDefault:Boolean,eventDataTransform:Function,success:Function,failure:Function},Zn=0;function jn(e,t){return!t.pluginSystem.hooks.eventSourceDefs[e.sourceDefId].ignoreRange}function Yn(e,t){for(var n=t.pluginSystem.hooks.eventSourceDefs,r=n.length-1;r>=0;r--){var i=n[r].parseMeta(e);if(i){var o=qn("object"==typeof e?e:{},i,r,t);return o._raw=e,o}}return null}function qn(e,t,n,r){var i={},o=he(e,Wn,{},i),a={},s=Ut(i,r,a);return o.isFetching=!1,o.latestFetchId="",o.fetchRange=null,o.publicId=String(e.id||""),o.sourceId=String(Zn++),o.sourceDefId=n,o.meta=t,o.ui=s,o.extendedProps=a,o}function Gn(e,t,n,r){switch(t.type){case"ADD_EVENT_SOURCES":return function(e,t,n,r){for(var i={},o=0,a=t;o<a.length;o++){var s=a[o];i[s.sourceId]=s}n&&(i=Jn(i,n,r));return Se({},e,i)}(e,t.sources,n?n.activeRange:null,r);case"REMOVE_EVENT_SOURCE":return i=e,o=t.sourceId,we(i,(function(e){return e.sourceId!==o}));case"PREV":case"NEXT":case"SET_DATE":case"SET_VIEW_TYPE":return n?Jn(e,n.activeRange,r):e;case"FETCH_EVENT_SOURCES":case"CHANGE_TIMEZONE":return Kn(e,t.sourceIds?Ce(t.sourceIds):function(e,t){return we(e,(function(e){return jn(e,t)}))}(e,r),n?n.activeRange:null,r);case"RECEIVE_EVENTS":case"RECEIVE_EVENT_ERROR":return function(e,t,n,r){var i,o=e[t];if(o&&n===o.latestFetchId)return Se({},e,((i={})[t]=Se({},o,{isFetching:!1,fetchRange:r}),i));return e}(e,t.sourceId,t.fetchId,t.fetchRange);case"REMOVE_ALL_EVENT_SOURCES":return{};default:return e}var i,o}var Xn=0;function Jn(e,t,n){return Kn(e,we(e,(function(e){return function(e,t,n){return jn(e,n)?!n.opt("lazyFetching")||!e.fetchRange||e.isFetching||t.start<e.fetchRange.start||t.end>e.fetchRange.end:!e.latestFetchId}(e,t,n)})),t,n)}function Kn(e,t,n,r){var i={};for(var o in e){var a=e[o];t[o]?i[o]=Qn(a,n,r):i[o]=a}return i}function Qn(e,t,n){var r=n.pluginSystem.hooks.eventSourceDefs[e.sourceDefId],i=String(Xn++);return r.fetch({eventSource:e,calendar:n,range:t},(function(r){var o,a,s=r.rawEvents,u=n.opt("eventSourceSuccess");e.success&&(a=e.success(s,r.xhr)),u&&(o=u(s,r.xhr)),s=a||o||s,n.dispatch({type:"RECEIVE_EVENTS",sourceId:e.sourceId,fetchId:i,fetchRange:t,rawEvents:s})}),(function(r){var o=n.opt("eventSourceFailure");console.warn(r.message,r),e.failure&&e.failure(r),o&&o(r),n.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:e.sourceId,fetchId:i,fetchRange:t,error:r})})),Se({},e,{isFetching:!0,latestFetchId:i})}var $n=function(){function e(e,t){this.viewSpec=e,this.options=e.options,this.dateEnv=t.dateEnv,this.calendar=t,this.initHiddenDays()}return e.prototype.buildPrev=function(e,t){var n=this.dateEnv,r=n.subtract(n.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(r,-1)},e.prototype.buildNext=function(e,t){var n=this.dateEnv,r=n.add(n.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(r,1)},e.prototype.build=function(e,t,n){var r;void 0===n&&(n=!1);var i,o,a,s,u,l,c,d,f;return r=this.buildValidRange(),r=this.trimHiddenDays(r),n&&(d=e,e=null!=(f=r).start&&d<f.start?f.start:null!=f.end&&d>=f.end?new Date(f.end.valueOf()-1):d),a=this.buildCurrentRangeInfo(e,t),s=/^(year|month|week|day)$/.test(a.unit),u=this.buildRenderRange(this.trimHiddenDays(a.range),a.unit,s),l=u=this.trimHiddenDays(u),this.options.showNonCurrentDates||(l=Ve(l,a.range)),i=J(this.options.minTime),o=J(this.options.maxTime),l=Ve(l=this.adjustActiveRange(l,i,o),r),c=Fe(a.range,r),{validRange:r,currentRange:a.range,currentRangeUnit:a.unit,isRangeAllDay:s,activeRange:l,renderRange:u,minTime:i,maxTime:o,isValid:c,dateIncrement:this.buildDateIncrement(a.duration)}},e.prototype.buildValidRange=function(){return this.getRangeOption("validRange",this.calendar.getNow())||{start:null,end:null}},e.prototype.buildCurrentRangeInfo=function(e,t){var n,r=this.viewSpec,i=this.dateEnv,o=null,a=null,s=null;return r.duration?(o=r.duration,a=r.durationUnit,s=this.buildRangeFromDuration(e,t,o,a)):(n=this.options.dayCount)?(a="day",s=this.buildRangeFromDayCount(e,t,n)):(s=this.buildCustomVisibleRange(e))?a=i.greatestWholeUnit(s.start,s.end).unit:(a=ne(o=this.getFallbackDuration()).unit,s=this.buildRangeFromDuration(e,t,o,a)),{duration:o,unit:a,range:s}},e.prototype.getFallbackDuration=function(){return J({day:1})},e.prototype.adjustActiveRange=function(e,t,n){var r=this.dateEnv,i=e.start,o=e.end;return this.viewSpec.class.prototype.usesMinMaxTime&&(ee(t)<0&&(i=B(i),i=r.add(i,t)),ee(n)>1&&(o=x(o=B(o),-1),o=r.add(o,n))),{start:i,end:o}},e.prototype.buildRangeFromDuration=function(e,t,n,r){var i,o,a,s,u,l=this.dateEnv,c=this.options.dateAlignment;function d(){a=l.startOf(e,c),s=l.add(a,n),u={start:a,end:s}}return c||((i=this.options.dateIncrement)?(o=J(i),c=te(o)<te(n)?ne(o,!Q(i)).unit:r):c=r),ee(n)<=1&&this.isHiddenDay(a)&&(a=B(a=this.skipHiddenDays(a,t))),d(),this.trimHiddenDays(u)||(e=this.skipHiddenDays(e,t),d()),u},e.prototype.buildRangeFromDayCount=function(e,t,n){var r,i=this.dateEnv,o=this.options.dateAlignment,a=0,s=e;o&&(s=i.startOf(s,o)),s=B(s),r=s=this.skipHiddenDays(s,t);do{r=x(r,1),this.isHiddenDay(r)||a++}while(a<n);return{start:s,end:r}},e.prototype.buildCustomVisibleRange=function(e){var t=this.dateEnv,n=this.getRangeOption("visibleRange",t.toDate(e));return!n||null!=n.start&&null!=n.end?n:null},e.prototype.buildRenderRange=function(e,t,n){return e},e.prototype.buildDateIncrement=function(e){var t,n=this.options.dateIncrement;return n?J(n):(t=this.options.dateAlignment)?J(1,t):e||J({days:1})},e.prototype.getRangeOption=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=this.options[e];return"function"==typeof r&&(r=r.apply(null,t)),r&&(r=ze(r,this.dateEnv)),r&&(r=ge(r)),r},e.prototype.initHiddenDays=function(){var e,t=this.options.hiddenDays||[],n=[],r=0;for(!1===this.options.weekends&&t.push(0,6),e=0;e<7;e++)(n[e]=-1!==t.indexOf(e))||r++;if(!r)throw new Error("invalid hiddenDays");this.isHiddenDayHash=n},e.prototype.trimHiddenDays=function(e){var t=e.start,n=e.end;return t&&(t=this.skipHiddenDays(t)),n&&(n=this.skipHiddenDays(n,-1,!0)),null==t||null==n||t<n?{start:t,end:n}:null},e.prototype.isHiddenDay=function(e){return e instanceof Date&&(e=e.getUTCDay()),this.isHiddenDayHash[e]},e.prototype.skipHiddenDays=function(e,t,n){for(void 0===t&&(t=1),void 0===n&&(n=!1);this.isHiddenDayHash[(e.getUTCDay()+(n?t:0)+7)%7];)e=x(e,t);return e},e}();function er(e,t,n){for(var r=function(e,t){switch(t.type){case"SET_VIEW_TYPE":return t.viewType;default:return e}}(e.viewType,t),i=function(e,t,n,r,i){var o;switch(t.type){case"PREV":o=i.dateProfileGenerators[r].buildPrev(e,n);break;case"NEXT":o=i.dateProfileGenerators[r].buildNext(e,n);break;case"SET_DATE":e.activeRange&&Ze(e.currentRange,t.dateMarker)||(o=i.dateProfileGenerators[r].build(t.dateMarker,void 0,!0));break;case"SET_VIEW_TYPE":var a=i.dateProfileGenerators[r];if(!a)throw new Error(r?'The FullCalendar view "'+r+'" does not exist. Make sure your plugins are loaded correctly.':"No available FullCalendar view plugins.");o=a.build(t.dateMarker||n,void 0,!0)}return!o||!o.isValid||e&&(s=e,u=o,Ae(s.validRange,u.validRange)&&Ae(s.activeRange,u.activeRange)&&Ae(s.renderRange,u.renderRange)&&$(s.minTime,u.minTime)&&$(s.maxTime,u.maxTime))?e:o;var s,u}(e.dateProfile,t,e.currentDate,r,n),o=Gn(e.eventSources,t,i,n),a=Se({},e,{viewType:r,dateProfile:i,currentDate:tr(e.currentDate,t,i),eventSources:o,eventStore:Dt(e.eventStore,t,o,i,n),dateSelection:nr(e.dateSelection,t,n),eventSelection:rr(e.eventSelection,t),eventDrag:ir(e.eventDrag,t,o,n),eventResize:or(e.eventResize,t,o,n),eventSourceLoadingLevel:ar(o),loadingLevel:ar(o)}),s=0,u=n.pluginSystem.hooks.reducers;s<u.length;s++){a=(0,u[s])(a,t,n)}return a}function tr(e,t,n){switch(t.type){case"PREV":case"NEXT":return Ze(n.currentRange,e)?e:n.currentRange.start;case"SET_DATE":case"SET_VIEW_TYPE":var r=t.dateMarker||e;return n.activeRange&&!Ze(n.activeRange,r)?n.currentRange.start:r;default:return e}}function nr(e,t,n){switch(t.type){case"SELECT_DATES":return t.selection;case"UNSELECT_DATES":return null;default:return e}}function rr(e,t){switch(t.type){case"SELECT_EVENT":return t.eventInstanceId;case"UNSELECT_EVENT":return"";default:return e}}function ir(e,t,n,r){switch(t.type){case"SET_EVENT_DRAG":var i=t.state;return{affectedEvents:i.affectedEvents,mutatedEvents:i.mutatedEvents,isEvent:i.isEvent,origSeg:i.origSeg};case"UNSET_EVENT_DRAG":return null;default:return e}}function or(e,t,n,r){switch(t.type){case"SET_EVENT_RESIZE":var i=t.state;return{affectedEvents:i.affectedEvents,mutatedEvents:i.mutatedEvents,isEvent:i.isEvent,origSeg:i.origSeg};case"UNSET_EVENT_RESIZE":return null;default:return e}}function ar(e){var t=0;for(var n in e)e[n].isFetching&&t++;return t}var sr={start:null,end:null,allDay:Boolean};function ur(e,t,n){var r=function(e,t){var n={},r=he(e,sr,{},n),i=r.start?t.createMarkerMeta(r.start):null,o=r.end?t.createMarkerMeta(r.end):null,a=r.allDay;null==a&&(a=i&&i.isTimeUnspecified&&(!o||o.isTimeUnspecified));return n.range={start:i?i.marker:null,end:o?o.marker:null},n.allDay=a,n}(e,t),i=r.range;if(!i.start)return null;if(!i.end){if(null==n)return null;i.end=t.add(i.start,n)}return r}function lr(e,t,n){var r=jt({editable:!1},"",e.allDay,!0,n);return{def:r,ui:gt(r,t),instance:Yt(r.defId,e.range),range:e.range,isStart:!0,isEnd:!0}}function cr(e,t,n,r){if(t[e])return t[e];var i=function(e,t,n,r){var i=n[e],o=r[e],a=function(e){return i&&null!==i[e]?i[e]:o&&null!==o[e]?o[e]:null},s=a("class"),u=a("superType");!u&&s&&(u=dr(s,r)||dr(s,n));var l=null;if(u){if(u===e)throw new Error("Can't have a custom view type that references itself");l=cr(u,t,n,r)}!s&&l&&(s=l.class);if(!s)return null;return{type:e,class:s,defaults:Se({},l?l.defaults:{},i?i.options:{}),overrides:Se({},l?l.overrides:{},o?o.options:{})}}(e,t,n,r);return i&&(t[e]=i),i}function dr(e,t){var n=Object.getPrototypeOf(e.prototype);for(var r in t){var i=t[r];if(i.class&&i.class.prototype===n)return r}return""}function fr(e){return Re(e,hr)}var pr={type:String,class:null};function hr(e){"function"==typeof e&&(e={class:e});var t={},n=he(e,pr,{},t);return{superType:n.type,class:n.class,options:t}}function vr(e,t){var n=fr(e),r=fr(t.overrides.views);return Re(function(e,t){var n,r={};for(n in e)cr(n,r,e,t);for(n in t)cr(n,r,e,t);return r}(n,r),(function(e){return function(e,t,n){var r=e.overrides.duration||e.defaults.duration||n.dynamicOverrides.duration||n.overrides.duration,i=null,o="",a="",s={};if(r&&(i=J(r))){var u=ne(i,!Q(r));o=u.unit,1===u.value&&(a=o,s=t[o]?t[o].options:{})}var l=function(t){var n=t.buttonText||{},r=e.defaults.buttonTextKey;return null!=r&&null!=n[r]?n[r]:null!=n[e.type]?n[e.type]:null!=n[a]?n[a]:void 0};return{type:e.type,class:e.class,duration:i,durationUnit:o,singleUnit:a,options:Se({},Mn,e.defaults,n.dirDefaults,n.localeDefaults,n.overrides,s,e.overrides,n.dynamicOverrides),buttonTextOverride:l(n.dynamicOverrides)||l(n.overrides)||e.overrides.buttonText,buttonTextDefault:l(n.localeDefaults)||l(n.dirDefaults)||e.defaults.buttonText||l(Mn)||e.type}}(e,r,t)}))}var gr=function(e){function t(t){var n=e.call(this)||this;return n._renderLayout=Xt(n.renderLayout,n.unrenderLayout),n._updateTitle=Xt(n.updateTitle,null,[n._renderLayout]),n._updateActiveButton=Xt(n.updateActiveButton,null,[n._renderLayout]),n._updateToday=Xt(n.updateToday,null,[n._renderLayout]),n._updatePrev=Xt(n.updatePrev,null,[n._renderLayout]),n._updateNext=Xt(n.updateNext,null,[n._renderLayout]),n.el=r("div",{className:"fc-toolbar "+t}),n}return Ee(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this),this._renderLayout.unrender(),c(this.el)},t.prototype.render=function(e){this._renderLayout(e.layout),this._updateTitle(e.title),this._updateActiveButton(e.activeButton),this._updateToday(e.isTodayEnabled),this._updatePrev(e.isPrevEnabled),this._updateNext(e.isNextEnabled)},t.prototype.renderLayout=function(e){var t=this.el;this.viewsWithButtons=[],s(t,this.renderSection("left",e.left)),s(t,this.renderSection("center",e.center)),s(t,this.renderSection("right",e.right))},t.prototype.unrenderLayout=function(){this.el.innerHTML=""},t.prototype.renderSection=function(e,t){var n=this,o=this.context,a=o.theme,u=o.calendar,l=u.optionsManager,c=u.viewSpecs,d=r("div",{className:"fc-"+e}),f=l.computed.customButtons||{},p=l.overrides.buttonText||{},h=l.computed.buttonText||{};return t&&t.split(" ").forEach((function(e,t){var r,o=[],l=!0;if(e.split(",").forEach((function(e,t){var r,s,d,v,g,y,m,E,S;"title"===e?(o.push(i("<h2>&nbsp;</h2>")),l=!1):((r=f[e])?(d=function(e){r.click&&r.click.call(E,e)},(v=a.getCustomButtonIconClass(r))||(v=a.getIconClass(e))||(g=r.text)):(s=c[e])?(n.viewsWithButtons.push(e),d=function(){u.changeView(e)},(g=s.buttonTextOverride)||(v=a.getIconClass(e))||(g=s.buttonTextDefault)):u[e]&&(d=function(){u[e]()},(g=p[e])||(v=a.getIconClass(e))||(g=h[e])),d&&(m=["fc-"+e+"-button",a.getClass("button")],g?(y=Pt(g),S=""):v&&(y="<span class='"+v+"'></span>",S=' aria-label="'+e+'"'),(E=i('<button type="button" class="'+m.join(" ")+'"'+S+">"+y+"</button>")).addEventListener("click",d),o.push(E)))})),o.length>1){r=document.createElement("div");var v=a.getClass("buttonGroup");l&&v&&r.classList.add(v),s(r,o),d.appendChild(r)}else s(d,o)})),d},t.prototype.updateToday=function(e){this.toggleButtonEnabled("today",e)},t.prototype.updatePrev=function(e){this.toggleButtonEnabled("prev",e)},t.prototype.updateNext=function(e){this.toggleButtonEnabled("next",e)},t.prototype.updateTitle=function(e){v(this.el,"h2").forEach((function(t){t.innerText=e}))},t.prototype.updateActiveButton=function(e){var t=this.context.theme.getClass("buttonActive");v(this.el,"button").forEach((function(n){e&&n.classList.contains("fc-"+e+"-button")?n.classList.add(t):n.classList.remove(t)}))},t.prototype.toggleButtonEnabled=function(e,t){v(this.el,".fc-"+e+"-button").forEach((function(e){e.disabled=!t}))},t}(vn),yr=function(e){function t(t){var n=e.call(this)||this;return n.elClassNames=[],n.renderSkeleton=Xt(n._renderSkeleton,n._unrenderSkeleton),n.renderToolbars=Xt(n._renderToolbars,n._unrenderToolbars,[n.renderSkeleton]),n.buildComponentContext=Ye(Er),n.buildViewPropTransformers=Ye(Sr),n.el=t,n.computeTitle=Ye(mr),n.parseBusinessHours=Ye((function(e){return Gt(e,n.context.calendar)})),n}return Ee(t,e),t.prototype.render=function(e,t){this.freezeHeight();var n=this.computeTitle(e.dateProfile,e.viewSpec.options);this.renderSkeleton(t),this.renderToolbars(e.viewSpec,e.dateProfile,e.currentDate,n),this.renderView(e,n),this.updateSize(),this.thawHeight()},t.prototype.destroy=function(){this.header&&this.header.destroy(),this.footer&&this.footer.destroy(),this.renderSkeleton.unrender(),e.prototype.destroy.call(this)},t.prototype._renderSkeleton=function(e){this.updateElClassNames(e),u(this.el,this.contentEl=r("div",{className:"fc-view-container"}));for(var t=e.calendar,n=0,i=t.pluginSystem.hooks.viewContainerModifiers;n<i.length;n++){(0,i[n])(this.contentEl,t)}},t.prototype._unrenderSkeleton=function(){this.view&&(this.savedScroll=this.view.queryScroll(),this.view.destroy(),this.view=null),c(this.contentEl),this.removeElClassNames()},t.prototype.removeElClassNames=function(){for(var e=this.el.classList,t=0,n=this.elClassNames;t<n.length;t++){var r=n[t];e.remove(r)}this.elClassNames=[]},t.prototype.updateElClassNames=function(e){this.removeElClassNames();var t=e.theme,n=e.options;this.elClassNames=["fc","fc-"+n.dir,t.getClass("widget")];for(var r=this.el.classList,i=0,o=this.elClassNames;i<o.length;i++){var a=o[i];r.add(a)}},t.prototype._renderToolbars=function(e,t,n,r){var i=this.context,o=this.header,a=this.footer,l=i.options,c=i.calendar,d=l.header,f=l.footer,p=this.props.dateProfileGenerator,h=c.getNow(),v=p.build(h),g=p.buildPrev(t,n),y=p.buildNext(t,n),m={title:r,activeButton:e.type,isTodayEnabled:v.isValid&&!Ze(t.currentRange,h),isPrevEnabled:g.isValid,isNextEnabled:y.isValid};d?(o||(o=this.header=new gr("fc-header-toolbar"),u(this.el,o.el)),o.receiveProps(Se({layout:d},m),i)):o&&(o.destroy(),o=this.header=null),f?(a||(a=this.footer=new gr("fc-footer-toolbar"),s(this.el,a.el)),a.receiveProps(Se({layout:f},m),i)):a&&(a.destroy(),a=this.footer=null)},t.prototype._unrenderToolbars=function(){this.header&&(this.header.destroy(),this.header=null),this.footer&&(this.footer.destroy(),this.footer=null)},t.prototype.renderView=function(e,t){var n=this.view,r=this.context,i=r.calendar,o=r.options,a=e.viewSpec,s=e.dateProfileGenerator;n&&n.viewSpec===a||(n&&n.destroy(),n=this.view=new a.class(a,this.contentEl),this.savedScroll&&(n.addScroll(this.savedScroll,!0),this.savedScroll=null)),n.title=t;for(var u={dateProfileGenerator:s,dateProfile:e.dateProfile,businessHours:this.parseBusinessHours(a.options.businessHours),eventStore:e.eventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize},l=0,c=this.buildViewPropTransformers(i.pluginSystem.hooks.viewPropsTransformers);l<c.length;l++){var d=c[l];Se(u,d.transform(u,a,e,o))}n.receiveProps(u,this.buildComponentContext(this.context,a,n))},t.prototype.updateSize=function(e){void 0===e&&(e=!1);var t=this.view;t&&((e||null==this.isHeightAuto)&&this.computeHeightVars(),t.updateSize(e,this.viewHeight,this.isHeightAuto),t.updateNowIndicator(),t.popScroll(e))},t.prototype.computeHeightVars=function(){var e=this.context.calendar,t=e.opt("height"),n=e.opt("contentHeight");if(this.isHeightAuto="auto"===t||"auto"===n,"number"==typeof n)this.viewHeight=n;else if("function"==typeof n)this.viewHeight=n();else if("number"==typeof t)this.viewHeight=t-this.queryToolbarsHeight();else if("function"==typeof t)this.viewHeight=t()-this.queryToolbarsHeight();else if("parent"===t){var r=this.el.parentNode;this.viewHeight=r.getBoundingClientRect().height-this.queryToolbarsHeight()}else this.viewHeight=Math.round(this.contentEl.getBoundingClientRect().width/Math.max(e.opt("aspectRatio"),.5))},t.prototype.queryToolbarsHeight=function(){var e=0;return this.header&&(e+=C(this.header.el)),this.footer&&(e+=C(this.footer.el)),e},t.prototype.freezeHeight=function(){y(this.el,{height:this.el.getBoundingClientRect().height,overflow:"hidden"})},t.prototype.thawHeight=function(){y(this.el,{height:"",overflow:""})},t}(vn);function mr(e,t){var n;return n=/^(year|month)$/.test(e.currentRangeUnit)?e.currentRange:e.activeRange,this.context.dateEnv.formatRange(n.start,n.end,ot(t.titleFormat||function(e){var t=e.currentRangeUnit;if("year"===t)return{year:"numeric"};if("month"===t)return{year:"numeric",month:"long"};var n=L(e.currentRange.start,e.currentRange.end);return null!==n&&n>1?{year:"numeric",month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"}}(e),t.titleRangeSeparator),{isEndExclusive:e.isRangeAllDay})}function Er(e,t,n){return e.extend(t.options,n)}function Sr(e){return e.map((function(e){return new e}))}var br=function(){function e(e){this.component=e.component}return e.prototype.destroy=function(){},e}();var Dr={},Tr=function(e){function t(t){var n=e.call(this,t)||this;n.handleSegClick=function(e,t){var r=n.component,i=r.context,o=i.calendar,a=i.view,s=ht(t);if(s&&r.isValidSegDownEl(e.target)){var u=p(e.target,".fc-has-url"),l=u?u.querySelector("a[href]").href:"";o.publiclyTrigger("eventClick",[{el:t,event:new ct(r.context.calendar,s.eventRange.def,s.eventRange.instance),jsEvent:e,view:a}]),l&&!e.defaultPrevented&&(window.location.href=l)}};var r=t.component;return n.destroy=_(r.el,"click",r.fgSegSelector+","+r.bgSegSelector,n.handleSegClick),n}return Ee(t,e),t}(br),wr=function(e){function t(t){var n=e.call(this,t)||this;n.handleEventElRemove=function(e){e===n.currentSegEl&&n.handleSegLeave(null,n.currentSegEl)},n.handleSegEnter=function(e,t){ht(t)&&(t.classList.add("fc-allow-mouse-resize"),n.currentSegEl=t,n.triggerEvent("eventMouseEnter",e,t))},n.handleSegLeave=function(e,t){n.currentSegEl&&(t.classList.remove("fc-allow-mouse-resize"),n.currentSegEl=null,n.triggerEvent("eventMouseLeave",e,t))};var r,i,o,a,s,u=t.component;return n.removeHoverListeners=(r=u.el,i=u.fgSegSelector+","+u.bgSegSelector,o=n.handleSegEnter,a=n.handleSegLeave,_(r,"mouseover",i,(function(e,t){if(t!==s){s=t,o(e,t);var n=function(e){s=null,a(e,t),t.removeEventListener("mouseleave",n)};t.addEventListener("mouseleave",n)}}))),u.context.calendar.on("eventElRemove",n.handleEventElRemove),n}return Ee(t,e),t.prototype.destroy=function(){this.removeHoverListeners(),this.component.context.calendar.off("eventElRemove",this.handleEventElRemove)},t.prototype.triggerEvent=function(e,t,n){var r=this.component,i=r.context,o=i.calendar,a=i.view,s=ht(n);t&&!r.isValidSegDownEl(t.target)||o.publiclyTrigger(e,[{el:n,event:new ct(o,s.eventRange.def,s.eventRange.instance),jsEvent:t,view:a}])},t}(br),Rr=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ee(t,e),t}(fn);Rr.prototype.classes={widget:"fc-unthemed",widgetHeader:"fc-widget-header",widgetContent:"fc-widget-content",buttonGroup:"fc-button-group",button:"fc-button fc-button-primary",buttonActive:"fc-button-active",popoverHeader:"fc-widget-header",popoverContent:"fc-widget-content",headerRow:"fc-widget-header",dayRow:"fc-widget-content",listView:"fc-widget-content"},Rr.prototype.baseIconClass="fc-icon",Rr.prototype.iconClasses={close:"fc-icon-x",prev:"fc-icon-chevron-left",next:"fc-icon-chevron-right",prevYear:"fc-icon-chevrons-left",nextYear:"fc-icon-chevrons-right"},Rr.prototype.iconOverrideOption="buttonIcons",Rr.prototype.iconOverrideCustomButtonOption="icon",Rr.prototype.iconOverridePrefix="fc-icon-";var Cr=function(){function e(e,t){var n=this;this.buildComponentContext=Ye(Ir),this.parseRawLocales=Ye(xn),this.buildLocale=Ye(Nn),this.buildDateEnv=Ye(Mr),this.buildTheme=Ye(kr),this.buildEventUiSingleBase=Ye(this._buildEventUiSingleBase),this.buildSelectionConfig=Ye(this._buildSelectionConfig),this.buildEventUiBySource=qe(Or,Me),this.buildEventUiBases=Ye(Pr),this.interactionsStore={},this.actionQueue=[],this.isReducing=!1,this.needsRerender=!1,this.isRendering=!1,this.renderingPauseDepth=0,this.buildDelayedRerender=Ye(_r),this.afterSizingTriggers={},this.isViewUpdated=!1,this.isDatesUpdated=!1,this.isEventsUpdated=!1,this.el=e,this.optionsManager=new Un(t||{}),this.pluginSystem=new En,this.addPluginInputs(this.optionsManager.computed.plugins||[]),this.handleOptions(this.optionsManager.computed),this.publiclyTrigger("_init"),this.hydrate(),this.calendarInteractions=this.pluginSystem.hooks.calendarInteractions.map((function(e){return new e(n)}))}return e.prototype.addPluginInputs=function(e){for(var t=function(e){for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];if("string"==typeof i){var o="FullCalendar"+ue(i);window[o]?t.push(window[o].default):console.warn("Plugin file not loaded for "+i)}else t.push(i)}return On.concat(t)}(e),n=0,r=t;n<r.length;n++){var i=r[n];this.pluginSystem.add(i)}},Object.defineProperty(e.prototype,"view",{get:function(){return this.component?this.component.view:null},enumerable:!0,configurable:!0}),e.prototype.render=function(){this.component?this.requestRerender():(this.component=new yr(this.el),this.renderableEventStore={defs:{},instances:{}},this.bindHandlers(),this.executeRender())},e.prototype.destroy=function(){if(this.component){this.unbindHandlers(),this.component.destroy(),this.component=null;for(var e=0,t=this.calendarInteractions;e<t.length;e++){t[e].destroy()}this.publiclyTrigger("_destroyed")}},e.prototype.bindHandlers=function(){var e=this;this.removeNavLinkListener=_(this.el,"click","a[data-goto]",(function(t,n){var r=n.getAttribute("data-goto");r=r?JSON.parse(r):{};var i=e.dateEnv,o=i.createMarker(r.date),a=r.type,s=e.viewOpt("navLink"+ue(a)+"Click");"function"==typeof s?s(i.toDate(o),t):("string"==typeof s&&(a=s),e.zoomTo(o,a))})),this.opt("handleWindowResize")&&window.addEventListener("resize",this.windowResizeProxy=pe(this.windowResize.bind(this),this.opt("windowResizeDelay")))},e.prototype.unbindHandlers=function(){this.removeNavLinkListener(),this.windowResizeProxy&&(window.removeEventListener("resize",this.windowResizeProxy),this.windowResizeProxy=null)},e.prototype.hydrate=function(){var e=this;this.state=this.buildInitialState();var t=this.opt("eventSources")||[],n=this.opt("events"),r=[];n&&t.unshift(n);for(var i=0,o=t;i<o.length;i++){var a=Yn(o[i],this);a&&r.push(a)}this.batchRendering((function(){e.dispatch({type:"INIT"}),e.dispatch({type:"ADD_EVENT_SOURCES",sources:r}),e.dispatch({type:"SET_VIEW_TYPE",viewType:e.opt("defaultView")||e.pluginSystem.hooks.defaultView})}))},e.prototype.buildInitialState=function(){return{viewType:null,loadingLevel:0,eventSourceLoadingLevel:0,currentDate:this.getInitialDate(),dateProfile:null,eventSources:{},eventStore:{defs:{},instances:{}},dateSelection:null,eventSelection:"",eventDrag:null,eventResize:null}},e.prototype.dispatch=function(e){if(this.actionQueue.push(e),!this.isReducing){this.isReducing=!0;for(var t=this.state;this.actionQueue.length;)this.state=this.reduce(this.state,this.actionQueue.shift(),this);var n=this.state;this.isReducing=!1,!t.loadingLevel&&n.loadingLevel?this.publiclyTrigger("loading",[!0]):t.loadingLevel&&!n.loadingLevel&&this.publiclyTrigger("loading",[!1]);var r=this.component&&this.component.view;t.eventStore!==n.eventStore&&t.eventStore&&(this.isEventsUpdated=!0),t.dateProfile!==n.dateProfile&&(t.dateProfile&&r&&this.publiclyTrigger("datesDestroy",[{view:r,el:r.el}]),this.isDatesUpdated=!0),t.viewType!==n.viewType&&(t.viewType&&r&&this.publiclyTrigger("viewSkeletonDestroy",[{view:r,el:r.el}]),this.isViewUpdated=!0),this.requestRerender()}},e.prototype.reduce=function(e,t,n){return er(e,t,n)},e.prototype.requestRerender=function(){this.needsRerender=!0,this.delayedRerender()},e.prototype.tryRerender=function(){this.component&&this.needsRerender&&!this.renderingPauseDepth&&!this.isRendering&&this.executeRender()},e.prototype.batchRendering=function(e){this.renderingPauseDepth++,e(),this.renderingPauseDepth--,this.needsRerender&&this.requestRerender()},e.prototype.executeRender=function(){this.needsRerender=!1,this.isRendering=!0,this.renderComponent(),this.isRendering=!1,this.needsRerender&&this.delayedRerender()},e.prototype.renderComponent=function(){var e=this.state,t=this.component,n=e.viewType,r=this.viewSpecs[n];if(!r)throw new Error('View type "'+n+'" is not valid');var i=this.renderableEventStore=e.eventSourceLoadingLevel&&!this.opt("progressiveEventRendering")?this.renderableEventStore:e.eventStore,o=this.buildEventUiSingleBase(r.options),a=this.buildEventUiBySource(e.eventSources),s=this.eventUiBases=this.buildEventUiBases(i.defs,o,a);t.receiveProps(Se({},e,{viewSpec:r,dateProfileGenerator:this.dateProfileGenerators[n],dateProfile:e.dateProfile,eventStore:i,eventUiBases:s,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize}),this.buildComponentContext(this.theme,this.dateEnv,this.optionsManager.computed)),this.isViewUpdated&&(this.isViewUpdated=!1,this.publiclyTrigger("viewSkeletonRender",[{view:t.view,el:t.view.el}])),this.isDatesUpdated&&(this.isDatesUpdated=!1,this.publiclyTrigger("datesRender",[{view:t.view,el:t.view.el}])),this.isEventsUpdated&&(this.isEventsUpdated=!1),this.releaseAfterSizingTriggers()},e.prototype.setOption=function(e,t){var n;this.mutateOptions(((n={})[e]=t,n),[],!0)},e.prototype.getOption=function(e){return this.optionsManager.computed[e]},e.prototype.opt=function(e){return this.optionsManager.computed[e]},e.prototype.viewOpt=function(e){return this.viewOpts()[e]},e.prototype.viewOpts=function(){return this.viewSpecs[this.state.viewType].options},e.prototype.mutateOptions=function(e,t,n,r){var i=this,o=this.pluginSystem.hooks.optionChangeHandlers,a={},s={},u=this.dateEnv,l=!1,c=!1,d=Boolean(t.length);for(var f in e)o[f]?s[f]=e[f]:a[f]=e[f];for(var p in a)/^(height|contentHeight|aspectRatio)$/.test(p)?c=!0:/^(defaultDate|defaultView)$/.test(p)||(d=!0,"timeZone"===p&&(l=!0));this.optionsManager.mutate(a,t,n),d&&this.handleOptions(this.optionsManager.computed),this.batchRendering((function(){if(d?(l&&i.dispatch({type:"CHANGE_TIMEZONE",oldDateEnv:u}),i.dispatch({type:"SET_VIEW_TYPE",viewType:i.state.viewType})):c&&i.updateSize(),r)for(var e in s)o[e](s[e],i,r)}))},e.prototype.handleOptions=function(e){var t=this,n=this.pluginSystem.hooks;this.defaultAllDayEventDuration=J(e.defaultAllDayEventDuration),this.defaultTimedEventDuration=J(e.defaultTimedEventDuration),this.delayedRerender=this.buildDelayedRerender(e.rerenderDelay),this.theme=this.buildTheme(e);var r=this.parseRawLocales(e.locales);this.availableRawLocales=r.map;var i=this.buildLocale(e.locale||r.defaultCode,r.map);this.dateEnv=this.buildDateEnv(i,e.timeZone,n.namedTimeZonedImpl,e.firstDay,e.weekNumberCalculation,e.weekLabel,n.cmdFormatter),this.selectionConfig=this.buildSelectionConfig(e),this.viewSpecs=vr(n.views,this.optionsManager),this.dateProfileGenerators=Re(this.viewSpecs,(function(e){return new e.class.prototype.dateProfileGeneratorClass(e,t)}))},e.prototype.getAvailableLocaleCodes=function(){return Object.keys(this.availableRawLocales)},e.prototype._buildSelectionConfig=function(e){return zt("select",e,this)},e.prototype._buildEventUiSingleBase=function(e){return e.editable&&(e=Se({},e,{eventEditable:!0})),zt("event",e,this)},e.prototype.hasPublicHandlers=function(e){return this.hasHandlers(e)||this.opt(e)},e.prototype.publiclyTrigger=function(e,t){var n=this.opt(e);if(this.triggerWith(e,this,t),n)return n.apply(this,t)},e.prototype.publiclyTriggerAfterSizing=function(e,t){var n=this.afterSizingTriggers;(n[e]||(n[e]=[])).push(t)},e.prototype.releaseAfterSizingTriggers=function(){var e=this.afterSizingTriggers;for(var t in e)for(var n=0,r=e[t];n<r.length;n++){var i=r[n];this.publiclyTrigger(t,i)}this.afterSizingTriggers={}},e.prototype.isValidViewType=function(e){return Boolean(this.viewSpecs[e])},e.prototype.changeView=function(e,t){var n=null;t&&(t.start&&t.end?(this.optionsManager.mutate({visibleRange:t},[]),this.handleOptions(this.optionsManager.computed)):n=this.dateEnv.createMarker(t)),this.unselect(),this.dispatch({type:"SET_VIEW_TYPE",viewType:e,dateMarker:n})},e.prototype.zoomTo=function(e,t){var n;t=t||"day",n=this.viewSpecs[t]||this.getUnitViewSpec(t),this.unselect(),n?this.dispatch({type:"SET_VIEW_TYPE",viewType:n.type,dateMarker:e}):this.dispatch({type:"SET_DATE",dateMarker:e})},e.prototype.getUnitViewSpec=function(e){var t,n,r=this.component,i=[];for(var o in r.header&&i.push.apply(i,r.header.viewsWithButtons),r.footer&&i.push.apply(i,r.footer.viewsWithButtons),this.viewSpecs)i.push(o);for(t=0;t<i.length;t++)if((n=this.viewSpecs[i[t]])&&n.singleUnit===e)return n},e.prototype.getInitialDate=function(){var e=this.opt("defaultDate");return null!=e?this.dateEnv.createMarker(e):this.getNow()},e.prototype.prev=function(){this.unselect(),this.dispatch({type:"PREV"})},e.prototype.next=function(){this.unselect(),this.dispatch({type:"NEXT"})},e.prototype.prevYear=function(){this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.dateEnv.addYears(this.state.currentDate,-1)})},e.prototype.nextYear=function(){this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.dateEnv.addYears(this.state.currentDate,1)})},e.prototype.today=function(){this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.getNow()})},e.prototype.gotoDate=function(e){this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.dateEnv.createMarker(e)})},e.prototype.incrementDate=function(e){var t=J(e);t&&(this.unselect(),this.dispatch({type:"SET_DATE",dateMarker:this.dateEnv.add(this.state.currentDate,t)}))},e.prototype.getDate=function(){return this.dateEnv.toDate(this.state.currentDate)},e.prototype.formatDate=function(e,t){var n=this.dateEnv;return n.format(n.createMarker(e),ot(t))},e.prototype.formatRange=function(e,t,n){var r=this.dateEnv;return r.formatRange(r.createMarker(e),r.createMarker(t),ot(n,this.opt("defaultRangeSeparator")),n)},e.prototype.formatIso=function(e,t){var n=this.dateEnv;return n.formatIso(n.createMarker(e),{omitTime:t})},e.prototype.windowResize=function(e){!this.isHandlingWindowResize&&this.component&&e.target===window&&(this.isHandlingWindowResize=!0,this.updateSize(),this.publiclyTrigger("windowResize",[this.view]),this.isHandlingWindowResize=!1)},e.prototype.updateSize=function(){this.component&&this.component.updateSize(!0)},e.prototype.registerInteractiveComponent=function(e,t){var n=function(e,t){return{component:e,el:t.el,useEventCenter:null==t.useEventCenter||t.useEventCenter}}(e,t),r=[Tr,wr].concat(this.pluginSystem.hooks.componentInteractions).map((function(e){return new e(n)}));this.interactionsStore[e.uid]=r,Dr[e.uid]=n},e.prototype.unregisterInteractiveComponent=function(e){for(var t=0,n=this.interactionsStore[e.uid];t<n.length;t++){n[t].destroy()}delete this.interactionsStore[e.uid],delete Dr[e.uid]},e.prototype.select=function(e,t){var n=ur(null==t?null!=e.start?e:{start:e,end:null}:{start:e,end:t},this.dateEnv,J({days:1}));n&&(this.dispatch({type:"SELECT_DATES",selection:n}),this.triggerDateSelect(n))},e.prototype.unselect=function(e){this.state.dateSelection&&(this.dispatch({type:"UNSELECT_DATES"}),this.triggerDateUnselect(e))},e.prototype.triggerDateSelect=function(e,t){var n=Se({},this.buildDateSpanApi(e),{jsEvent:t?t.origEvent:null,view:this.view});this.publiclyTrigger("select",[n])},e.prototype.triggerDateUnselect=function(e){this.publiclyTrigger("unselect",[{jsEvent:e?e.origEvent:null,view:this.view}])},e.prototype.triggerDateClick=function(e,t,n,r){var i=Se({},this.buildDatePointApi(e),{dayEl:t,jsEvent:r,view:n});this.publiclyTrigger("dateClick",[i])},e.prototype.buildDatePointApi=function(e){for(var t,n,r={},i=0,o=this.pluginSystem.hooks.datePointTransforms;i<o.length;i++){var a=o[i];Se(r,a(e,this))}return Se(r,(t=e,{date:(n=this.dateEnv).toDate(t.range.start),dateStr:n.formatIso(t.range.start,{omitTime:t.allDay}),allDay:t.allDay})),r},e.prototype.buildDateSpanApi=function(e){for(var t,n,r={},i=0,o=this.pluginSystem.hooks.dateSpanTransforms;i<o.length;i++){var a=o[i];Se(r,a(e,this))}return Se(r,(t=e,{start:(n=this.dateEnv).toDate(t.range.start),end:n.toDate(t.range.end),startStr:n.formatIso(t.range.start,{omitTime:t.allDay}),endStr:n.formatIso(t.range.end,{omitTime:t.allDay}),allDay:t.allDay})),r},e.prototype.getNow=function(){var e=this.opt("now");return"function"==typeof e&&(e=e()),null==e?this.dateEnv.createNowMarker():this.dateEnv.createMarker(e)},e.prototype.getDefaultEventEnd=function(e,t){var n=t;return e?(n=B(n),n=this.dateEnv.add(n,this.defaultAllDayEventDuration)):n=this.dateEnv.add(n,this.defaultTimedEventDuration),n},e.prototype.addEvent=function(e,t){if(e instanceof ct){var n=e._def,r=e._instance;return this.state.eventStore.defs[n.defId]||this.dispatch({type:"ADD_EVENTS",eventStore:_e({def:n,instance:r})}),e}var i;if(t instanceof lt)i=t.internalEventSource.sourceId;else if(null!=t){var o=this.getEventSourceById(t);if(!o)return console.warn('Could not find an event source with ID "'+t+'"'),null;i=o.internalEventSource.sourceId}var a=Zt(e,i,this);return a?(this.dispatch({type:"ADD_EVENTS",eventStore:_e(a)}),new ct(this,a.def,a.def.recurringDef?null:a.instance)):null},e.prototype.getEventById=function(e){var t=this.state.eventStore,n=t.defs,r=t.instances;for(var i in e=String(e),n){var o=n[i];if(o.publicId===e){if(o.recurringDef)return new ct(this,o,null);for(var a in r){var s=r[a];if(s.defId===o.defId)return new ct(this,o,s)}}}return null},e.prototype.getEvents=function(){var e=this.state.eventStore,t=e.defs,n=e.instances,r=[];for(var i in n){var o=n[i],a=t[o.defId];r.push(new ct(this,a,o))}return r},e.prototype.removeAllEvents=function(){this.dispatch({type:"REMOVE_ALL_EVENTS"})},e.prototype.rerenderEvents=function(){this.dispatch({type:"RESET_EVENTS"})},e.prototype.getEventSources=function(){var e=this.state.eventSources,t=[];for(var n in e)t.push(new lt(this,e[n]));return t},e.prototype.getEventSourceById=function(e){var t=this.state.eventSources;for(var n in e=String(e),t)if(t[n].publicId===e)return new lt(this,t[n]);return null},e.prototype.addEventSource=function(e){if(e instanceof lt)return this.state.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:"ADD_EVENT_SOURCES",sources:[e.internalEventSource]}),e;var t=Yn(e,this);return t?(this.dispatch({type:"ADD_EVENT_SOURCES",sources:[t]}),new lt(this,t)):null},e.prototype.removeAllEventSources=function(){this.dispatch({type:"REMOVE_ALL_EVENT_SOURCES"})},e.prototype.refetchEvents=function(){this.dispatch({type:"FETCH_EVENT_SOURCES"})},e.prototype.scrollToTime=function(e){var t=J(e);t&&this.component.view.scrollToDuration(t)},e}();function Ir(e,t,n){return new hn(this,e,t,n,null)}function Mr(e,t,n,r,i,o,a){return new Fn({calendarSystem:"gregory",timeZone:t,namedTimeZoneImpl:n,locale:e,weekNumberCalculation:i,firstDay:r,weekLabel:o,cmdFormatter:a})}function kr(e){return new(this.pluginSystem.hooks.themeClasses[e.themeSystem]||Rr)(e)}function _r(e){var t=this.tryRerender.bind(this);return null!=e&&(t=pe(t,e)),t}function Or(e){return Re(e,(function(e){return e.ui}))}function Pr(e,t,n){var r={"":t};for(var i in e){var o=e[i];o.sourceId&&n[o.sourceId]&&(r[i]=n[o.sourceId])}return r}rn.mixInto(Cr);var xr=function(e){function t(t,n){var i=e.call(this,r("div",{className:"fc-view fc-"+t.type+"-view"}))||this;return i.renderDatesMem=Xt(i.renderDatesWrap,i.unrenderDatesWrap),i.renderBusinessHoursMem=Xt(i.renderBusinessHours,i.unrenderBusinessHours,[i.renderDatesMem]),i.renderDateSelectionMem=Xt(i.renderDateSelectionWrap,i.unrenderDateSelectionWrap,[i.renderDatesMem]),i.renderEventsMem=Xt(i.renderEvents,i.unrenderEvents,[i.renderDatesMem]),i.renderEventSelectionMem=Xt(i.renderEventSelectionWrap,i.unrenderEventSelectionWrap,[i.renderEventsMem]),i.renderEventDragMem=Xt(i.renderEventDragWrap,i.unrenderEventDragWrap,[i.renderDatesMem]),i.renderEventResizeMem=Xt(i.renderEventResizeWrap,i.unrenderEventResizeWrap,[i.renderDatesMem]),i.viewSpec=t,i.type=t.type,n.appendChild(i.el),i.initialize(),i}return Ee(t,e),t.prototype.initialize=function(){},Object.defineProperty(t.prototype,"activeStart",{get:function(){return this.context.dateEnv.toDate(this.props.dateProfile.activeRange.start)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeEnd",{get:function(){return this.context.dateEnv.toDate(this.props.dateProfile.activeRange.end)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentStart",{get:function(){return this.context.dateEnv.toDate(this.props.dateProfile.currentRange.start)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentEnd",{get:function(){return this.context.dateEnv.toDate(this.props.dateProfile.currentRange.end)},enumerable:!0,configurable:!0}),t.prototype.render=function(e,t){this.renderDatesMem(e.dateProfile),this.renderBusinessHoursMem(e.businessHours),this.renderDateSelectionMem(e.dateSelection),this.renderEventsMem(e.eventStore),this.renderEventSelectionMem(e.eventSelection),this.renderEventDragMem(e.eventDrag),this.renderEventResizeMem(e.eventResize)},t.prototype.beforeUpdate=function(){this.addScroll(this.queryScroll())},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderDatesMem.unrender()},t.prototype.updateSize=function(e,t,n){var r=this.context.calendar;e&&this.addScroll(this.queryScroll()),(e||r.isViewUpdated||r.isDatesUpdated||r.isEventsUpdated)&&this.updateBaseSize(e,t,n)},t.prototype.updateBaseSize=function(e,t,n){},t.prototype.renderDatesWrap=function(e){this.renderDates(e),this.addScroll({duration:J(this.context.options.scrollTime)})},t.prototype.unrenderDatesWrap=function(){this.stopNowIndicator(),this.unrenderDates()},t.prototype.renderDates=function(e){},t.prototype.unrenderDates=function(){},t.prototype.renderBusinessHours=function(e){},t.prototype.unrenderBusinessHours=function(){},t.prototype.renderDateSelectionWrap=function(e){e&&this.renderDateSelection(e)},t.prototype.unrenderDateSelectionWrap=function(e){e&&this.unrenderDateSelection(e)},t.prototype.renderDateSelection=function(e){},t.prototype.unrenderDateSelection=function(e){},t.prototype.renderEvents=function(e){},t.prototype.unrenderEvents=function(){},t.prototype.sliceEvents=function(e,t){var n=this.props;return dt(e,n.eventUiBases,n.dateProfile.activeRange,t?this.context.nextDayThreshold:null).fg},t.prototype.renderEventSelectionWrap=function(e){e&&this.renderEventSelection(e)},t.prototype.unrenderEventSelectionWrap=function(e){e&&this.unrenderEventSelection(e)},t.prototype.renderEventSelection=function(e){},t.prototype.unrenderEventSelection=function(e){},t.prototype.renderEventDragWrap=function(e){e&&this.renderEventDrag(e)},t.prototype.unrenderEventDragWrap=function(e){e&&this.unrenderEventDrag(e)},t.prototype.renderEventDrag=function(e){},t.prototype.unrenderEventDrag=function(e){},t.prototype.renderEventResizeWrap=function(e){e&&this.renderEventResize(e)},t.prototype.unrenderEventResizeWrap=function(e){e&&this.unrenderEventResize(e)},t.prototype.renderEventResize=function(e){},t.prototype.unrenderEventResize=function(e){},t.prototype.startNowIndicator=function(e,t){var n,r,i,o=this,a=this.context,s=a.calendar,u=a.dateEnv;a.options.nowIndicator&&!this.initialNowDate&&(n=this.getNowIndicatorUnit(e,t))&&(r=this.updateNowIndicator.bind(this),this.initialNowDate=s.getNow(),this.initialNowQueriedMs=(new Date).valueOf(),i=u.add(u.startOf(this.initialNowDate,n),J(1,n)).valueOf()-this.initialNowDate.valueOf(),this.nowIndicatorTimeoutID=setTimeout((function(){o.nowIndicatorTimeoutID=null,r(),i="second"===n?1e3:6e4,o.nowIndicatorIntervalID=setInterval(r,i)}),i))},t.prototype.updateNowIndicator=function(){this.props.dateProfile&&this.initialNowDate&&(this.unrenderNowIndicator(),this.renderNowIndicator(N(this.initialNowDate,(new Date).valueOf()-this.initialNowQueriedMs)),this.isNowIndicatorRendered=!0)},t.prototype.stopNowIndicator=function(){this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearInterval(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.isNowIndicatorRendered&&(this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},t.prototype.getNowIndicatorUnit=function(e,t){},t.prototype.renderNowIndicator=function(e){},t.prototype.unrenderNowIndicator=function(){},t.prototype.addScroll=function(e,t){t&&(e.isForced=t),Se(this.queuedScroll||(this.queuedScroll={}),e)},t.prototype.popScroll=function(e){this.applyQueuedScroll(e),this.queuedScroll=null},t.prototype.applyQueuedScroll=function(e){this.queuedScroll&&this.applyScroll(this.queuedScroll,e)},t.prototype.queryScroll=function(){var e={};return this.props.dateProfile&&Se(e,this.queryDateScroll()),e},t.prototype.applyScroll=function(e,t){var n=e.duration,r=e.isForced;null==n||r||(delete e.duration,this.props.dateProfile&&Se(e,this.computeDateScroll(n))),this.props.dateProfile&&this.applyDateScroll(e)},t.prototype.computeDateScroll=function(e){return{}},t.prototype.queryDateScroll=function(){return{}},t.prototype.applyDateScroll=function(e){},t.prototype.scrollToDuration=function(e){this.applyScroll({duration:e},!1)},t}(gn);rn.mixInto(xr),xr.prototype.usesMinMaxTime=!1,xr.prototype.dateProfileGeneratorClass=$n;var Nr=function(){function e(){this.segs=[],this.isSizeDirty=!1}return e.prototype.renderSegs=function(e,t,n){this.context=e,this.rangeUpdated(),t=this.renderSegEls(t,n),this.segs=t,this.attachSegs(t,n),this.isSizeDirty=!0,yt(this.context,this.segs,Boolean(n))},e.prototype.unrender=function(e,t,n){mt(this.context,this.segs,Boolean(n)),this.detachSegs(this.segs),this.segs=[]},e.prototype.rangeUpdated=function(){var e,t,n=this.context.options;this.eventTimeFormat=ot(n.eventTimeFormat||this.computeEventTimeFormat(),n.defaultRangeSeparator),null==(e=n.displayEventTime)&&(e=this.computeDisplayEventTime()),null==(t=n.displayEventEnd)&&(t=this.computeDisplayEventEnd()),this.displayEventTime=e,this.displayEventEnd=t},e.prototype.renderSegEls=function(e,t){var n,r="";if(e.length){for(n=0;n<e.length;n++)r+=this.renderSegHtml(e[n],t);o(r).forEach((function(t,n){var r=e[n];t&&(r.el=t)})),e=ft(this.context,e,Boolean(t))}return e},e.prototype.getSegClasses=function(e,t,n,r){var i=["fc-event",e.isStart?"fc-start":"fc-not-start",e.isEnd?"fc-end":"fc-not-end"].concat(e.eventRange.ui.classNames);return t&&i.push("fc-draggable"),n&&i.push("fc-resizable"),r&&(i.push("fc-mirror"),r.isDragging&&i.push("fc-dragging"),r.isResizing&&i.push("fc-resizing")),i},e.prototype.getTimeText=function(e,t,n){var r=e.def,i=e.instance;return this._getTimeText(i.range.start,r.hasEnd?i.range.end:null,r.allDay,t,n,i.forcedStartTzo,i.forcedEndTzo)},e.prototype._getTimeText=function(e,t,n,r,i,o,a){var s=this.context.dateEnv;return null==r&&(r=this.eventTimeFormat),null==i&&(i=this.displayEventEnd),this.displayEventTime&&!n?i&&t?s.formatRange(e,t,r,{forcedStartTzo:o,forcedEndTzo:a}):s.format(e,r,{forcedTzo:o}):""},e.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",omitZeroMinute:!0}},e.prototype.computeDisplayEventTime=function(){return!0},e.prototype.computeDisplayEventEnd=function(){return!0},e.prototype.getSkinCss=function(e){return{"background-color":e.backgroundColor,"border-color":e.borderColor,color:e.textColor}},e.prototype.sortEventSegs=function(e){var t=this.context.eventOrderSpecs,n=e.map(Hr);return n.sort((function(e,n){return oe(e,n,t)})),n.map((function(e){return e._seg}))},e.prototype.computeSizes=function(e){(e||this.isSizeDirty)&&this.computeSegSizes(this.segs)},e.prototype.assignSizes=function(e){(e||this.isSizeDirty)&&(this.assignSegSizes(this.segs),this.isSizeDirty=!1)},e.prototype.computeSegSizes=function(e){},e.prototype.assignSegSizes=function(e){},e.prototype.hideByHash=function(e){if(e)for(var t=0,n=this.segs;t<n.length;t++){var r=n[t];e[r.eventRange.instance.instanceId]&&(r.el.style.visibility="hidden")}},e.prototype.showByHash=function(e){if(e)for(var t=0,n=this.segs;t<n.length;t++){var r=n[t];e[r.eventRange.instance.instanceId]&&(r.el.style.visibility="")}},e.prototype.selectByInstanceId=function(e){if(e)for(var t=0,n=this.segs;t<n.length;t++){var r=n[t],i=r.eventRange.instance;i&&i.instanceId===e&&r.el&&r.el.classList.add("fc-selected")}},e.prototype.unselectByInstanceId=function(e){if(e)for(var t=0,n=this.segs;t<n.length;t++){var r=n[t];r.el&&r.el.classList.remove("fc-selected")}},e}();function Hr(e){var t=e.eventRange.def,n=e.eventRange.instance.range,r=n.start?n.start.valueOf():0,i=n.end?n.end.valueOf():0;return Se({},t.extendedProps,t,{id:t.publicId,start:r,end:i,duration:i-r,allDay:Number(t.allDay),_seg:e})}var Ur=function(){function e(){this.fillSegTag="div",this.dirtySizeFlags={},this.containerElsByType={},this.segsByType={}}return e.prototype.getSegsByType=function(e){return this.segsByType[e]||[]},e.prototype.renderSegs=function(e,t,n){var r;this.context=t;var i=this.renderSegEls(e,n),o=this.attachSegs(e,i);o&&(r=this.containerElsByType[e]||(this.containerElsByType[e]=[])).push.apply(r,o),this.segsByType[e]=i,"bgEvent"===e&&yt(t,i,!1),this.dirtySizeFlags[e]=!0},e.prototype.unrender=function(e,t){var n=this.segsByType[e];n&&("bgEvent"===e&&mt(t,n,!1),this.detachSegs(e,n))},e.prototype.renderSegEls=function(e,t){var n,r=this,i="";if(t.length){for(n=0;n<t.length;n++)i+=this.renderSegHtml(e,t[n]);o(i).forEach((function(e,n){var r=t[n];e&&(r.el=e)})),"bgEvent"===e&&(t=ft(this.context,t,!1)),t=t.filter((function(e){return h(e.el,r.fillSegTag)}))}return t},e.prototype.renderSegHtml=function(e,t){var n=null,r=[];return"highlight"!==e&&"businessHours"!==e&&(n={"background-color":t.eventRange.ui.backgroundColor}),"highlight"!==e&&(r=r.concat(t.eventRange.ui.classNames)),"businessHours"===e?r.push("fc-bgevent"):r.push("fc-"+e.toLowerCase()),"<"+this.fillSegTag+(r.length?' class="'+r.join(" ")+'"':"")+(n?' style="'+xt(n)+'"':"")+"></"+this.fillSegTag+">"},e.prototype.detachSegs=function(e,t){var n=this.containerElsByType[e];n&&(n.forEach(c),delete this.containerElsByType[e])},e.prototype.computeSizes=function(e){for(var t in this.segsByType)(e||this.dirtySizeFlags[t])&&this.computeSegSizes(this.segsByType[t])},e.prototype.assignSizes=function(e){for(var t in this.segsByType)(e||this.dirtySizeFlags[t])&&this.assignSegSizes(this.segsByType[t]);this.dirtySizeFlags={}},e.prototype.computeSegSizes=function(e){},e.prototype.assignSegSizes=function(e){},e}(),zr=function(e){this.timeZoneName=e},Lr=function(){function e(e){this.emitter=new rn}return e.prototype.destroy=function(){},e.prototype.setMirrorIsVisible=function(e){},e.prototype.setMirrorNeedsRevert=function(e){},e.prototype.setAutoScrollEnabled=function(e){},e}();function Br(e){var t=Nn(e.locale||"en",xn([]).map);return e=Se({timeZone:Mn.timeZone,calendarSystem:"gregory"},e,{locale:t}),new Fn(e)}var Vr={startTime:J,duration:J,create:Boolean,sourceId:String},Ar={create:!0};function Fr(e,t){return!e||t>10?{weekday:"short"}:t>1?{weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}:{weekday:"long"}}function Wr(e,t,n,r,i,o,a,s){var u,l=o.dateEnv,c=o.theme,d=o.options,f=Ze(t.activeRange,e),p=["fc-day-header",c.getClass("widgetHeader")];return u="function"==typeof d.columnHeaderHtml?d.columnHeaderHtml(l.toDate(e)):"function"==typeof d.columnHeaderText?Pt(d.columnHeaderText(l.toDate(e))):Pt(l.format(e,i)),n?p=p.concat(en(e,t,o,!0)):p.push("fc-"+P[e.getUTCDay()]),'<th class="'+p.join(" ")+'"'+(f&&n?' data-date="'+l.formatIso(e,{omitTime:!0})+'"':"")+(a>1?' colspan="'+a+'"':"")+(s?" "+s:"")+">"+(f?$t(d,l,{date:e,forceOff:!n||1===r},u):u)+"</th>"}var Zr=function(e){function t(t){var n=e.call(this)||this;return n.renderSkeleton=Xt(n._renderSkeleton,n._unrenderSkeleton),n.parentEl=t,n}return Ee(t,e),t.prototype.render=function(e,t){var n=e.dates,r=e.datesRepDistinctDays,i=[];this.renderSkeleton(t),e.renderIntroHtml&&i.push(e.renderIntroHtml());for(var o=ot(t.options.columnHeaderFormat||Fr(r,n.length)),a=0,s=n;a<s.length;a++){var u=s[a];i.push(Wr(u,e.dateProfile,r,n.length,o,t))}t.isRtl&&i.reverse(),this.thead.innerHTML="<tr>"+i.join("")+"</tr>"},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderSkeleton.unrender()},t.prototype._renderSkeleton=function(e){var t=e.theme,n=this.parentEl;n.innerHTML="",n.appendChild(this.el=i('<div class="fc-row '+t.getClass("headerRow")+'"><table class="'+t.getClass("tableGrid")+'"><thead></thead></table></div>')),this.thead=this.el.querySelector("thead")},t.prototype._unrenderSkeleton=function(){c(this.el)},t}(vn),jr=function(){function e(e,t){for(var n=e.start,r=e.end,i=[],o=[],a=-1;n<r;)t.isHiddenDay(n)?i.push(a+.5):(a++,i.push(a),o.push(n)),n=x(n,1);this.dates=o,this.indices=i,this.cnt=o.length}return e.prototype.sliceRange=function(e){var t=this.getDateDayIndex(e.start),n=this.getDateDayIndex(x(e.end,-1)),r=Math.max(0,t),i=Math.min(this.cnt-1,n);return(r=Math.ceil(r))<=(i=Math.floor(i))?{firstIndex:r,lastIndex:i,isStart:t===r,isEnd:n===i}:null},e.prototype.getDateDayIndex=function(e){var t=this.indices,n=Math.floor(H(this.dates[0],e));return n<0?t[0]-1:n>=t.length?t[t.length-1]+1:t[n]},e}(),Yr=function(){function e(e,t){var n,r,i,o=e.dates;if(t){for(r=o[0].getUTCDay(),n=1;n<o.length&&o[n].getUTCDay()!==r;n++);i=Math.ceil(o.length/n)}else i=1,n=o.length;this.rowCnt=i,this.colCnt=n,this.daySeries=e,this.cells=this.buildCells(),this.headerDates=this.buildHeaderDates()}return e.prototype.buildCells=function(){for(var e=[],t=0;t<this.rowCnt;t++){for(var n=[],r=0;r<this.colCnt;r++)n.push(this.buildCell(t,r));e.push(n)}return e},e.prototype.buildCell=function(e,t){return{date:this.daySeries.dates[e*this.colCnt+t]}},e.prototype.buildHeaderDates=function(){for(var e=[],t=0;t<this.colCnt;t++)e.push(this.cells[0][t].date);return e},e.prototype.sliceRange=function(e){var t=this.colCnt,n=this.daySeries.sliceRange(e),r=[];if(n)for(var i=n.firstIndex,o=n.lastIndex,a=i;a<=o;){var s=Math.floor(a/t),u=Math.min((s+1)*t,o+1);r.push({row:s,firstCol:a%t,lastCol:(u-1)%t,isStart:n.isStart&&a===i,isEnd:n.isEnd&&u-1===o}),a=u}return r},e}(),qr=function(){function e(){this.sliceBusinessHours=Ye(this._sliceBusinessHours),this.sliceDateSelection=Ye(this._sliceDateSpan),this.sliceEventStore=Ye(this._sliceEventStore),this.sliceEventDrag=Ye(this._sliceInteraction),this.sliceEventResize=Ye(this._sliceInteraction)}return e.prototype.sliceProps=function(e,t,n,r,i){for(var o=[],a=5;a<arguments.length;a++)o[a-5]=arguments[a];var s=e.eventUiBases,u=this.sliceEventStore.apply(this,[e.eventStore,s,t,n,i].concat(o));return{dateSelectionSegs:this.sliceDateSelection.apply(this,[e.dateSelection,s,i].concat(o)),businessHourSegs:this.sliceBusinessHours.apply(this,[e.businessHours,t,n,r,i].concat(o)),fgEventSegs:u.fg,bgEventSegs:u.bg,eventDrag:this.sliceEventDrag.apply(this,[e.eventDrag,s,t,n,i].concat(o)),eventResize:this.sliceEventResize.apply(this,[e.eventResize,s,t,n,i].concat(o)),eventSelection:e.eventSelection}},e.prototype.sliceNowDate=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return this._sliceDateSpan.apply(this,[{range:{start:e,end:N(e,1)},allDay:!1},{},t].concat(n))},e.prototype._sliceBusinessHours=function(e,t,n,r,i){for(var o=[],a=5;a<arguments.length;a++)o[a-5]=arguments[a];return e?this._sliceEventStore.apply(this,[Oe(e,Gr(t,Boolean(n)),r),{},t,n,i].concat(o)).bg:[]},e.prototype._sliceEventStore=function(e,t,n,r,i){for(var o=[],a=5;a<arguments.length;a++)o[a-5]=arguments[a];if(e){var s=dt(e,t,Gr(n,Boolean(r)),r);return{bg:this.sliceEventRanges(s.bg,i,o),fg:this.sliceEventRanges(s.fg,i,o)}}return{bg:[],fg:[]}},e.prototype._sliceInteraction=function(e,t,n,r,i){for(var o=[],a=5;a<arguments.length;a++)o[a-5]=arguments[a];if(!e)return null;var s=dt(e.mutatedEvents,t,Gr(n,Boolean(r)),r);return{segs:this.sliceEventRanges(s.fg,i,o),affectedInstances:e.affectedEvents.instances,isEvent:e.isEvent,sourceSeg:e.origSeg}},e.prototype._sliceDateSpan=function(e,t,n){for(var r=[],i=3;i<arguments.length;i++)r[i-3]=arguments[i];if(!e)return[];for(var o=lr(e,t,n.context.calendar),a=this.sliceRange.apply(this,[e.range].concat(r)),s=0,u=a;s<u.length;s++){var l=u[s];l.component=n,l.eventRange=o}return a},e.prototype.sliceEventRanges=function(e,t,n){for(var r=[],i=0,o=e;i<o.length;i++){var a=o[i];r.push.apply(r,this.sliceEventRange(a,t,n))}return r},e.prototype.sliceEventRange=function(e,t,n){for(var r=this.sliceRange.apply(this,[e.range].concat(n)),i=0,o=r;i<o.length;i++){var a=o[i];a.component=t,a.eventRange=e,a.isStart=e.isStart&&a.isStart,a.isEnd=e.isEnd&&a.isEnd}return r},e}();function Gr(e,t){var n=e.activeRange;return t?n:{start:N(n.start,e.minTime.milliseconds),end:N(n.end,e.maxTime.milliseconds-864e5)}}e.Calendar=Cr,e.Component=vn,e.ComponentContext=hn,e.DateComponent=gn,e.DateEnv=Fn,e.DateProfileGenerator=$n,e.DayHeader=Zr,e.DaySeries=jr,e.DayTable=Yr,e.ElementDragging=Lr,e.ElementScrollController=ln,e.EmitterMixin=rn,e.EventApi=ct,e.FgEventRenderer=Nr,e.FillRenderer=Ur,e.Interaction=br,e.Mixin=nn,e.NamedTimeZoneImpl=zr,e.PositionCache=sn,e.ScrollComponent=dn,e.ScrollController=un,e.Slicer=qr,e.Splitter=Kt,e.Theme=fn,e.View=xr,e.WindowScrollController=cn,e.addDays=x,e.addDurations=function(e,t){return{years:e.years+t.years,months:e.months+t.months,days:e.days+t.days,milliseconds:e.milliseconds+t.milliseconds}},e.addMs=N,e.addWeeks=function(e,t){var n=Z(e);return n[2]+=7*t,j(n)},e.allowContextMenu=function(e){e.removeEventListener("contextmenu",k)},e.allowSelection=function(e){e.classList.remove("fc-unselectable"),e.removeEventListener("selectstart",k)},e.appendToElement=s,e.applyAll=de,e.applyMutationToEventStore=Et,e.applyStyle=y,e.applyStyleProp=m,e.asRoughMinutes=function(e){return te(e)/6e4},e.asRoughMs=te,e.asRoughSeconds=function(e){return te(e)/1e3},e.buildGotoAnchorHtml=$t,e.buildSegCompareObj=Hr,e.capitaliseFirstLetter=ue,e.combineEventUis=Bt,e.compareByFieldSpec=ae,e.compareByFieldSpecs=oe,e.compareNumbers=function(e,t){return e-t},e.compensateScroll=function(e,t){t.left&&y(e,{borderLeftWidth:1,marginLeft:t.left-1}),t.right&&y(e,{borderRightWidth:1,marginRight:t.right-1})},e.computeClippingRect=function(e){return M(e).map((function(e){return w(e)})).concat({left:window.pageXOffset,right:window.pageXOffset+document.documentElement.clientWidth,top:window.pageYOffset,bottom:window.pageYOffset+document.documentElement.clientHeight}).reduce((function(e,t){return E(e,t)||t}))},e.computeEdges=T,e.computeEventDraggable=function(e,t,n){for(var r=e.calendar,i=e.view,o=r.pluginSystem.hooks.isDraggableTransformers,a=n.startEditable,s=0,u=o;s<u.length;s++){a=(0,u[s])(a,t,n,i)}return a},e.computeEventEndResizable=function(e,t,n){return n.durationEditable},e.computeEventStartResizable=function(e,t,n){return n.durationEditable&&e.options.eventResizableFromStart},e.computeFallbackHeaderFormat=Fr,e.computeHeightAndMargins=C,e.computeInnerRect=w,e.computeRect=R,e.computeVisibleDayRange=ge,e.config={},e.constrainPoint=function(e,t){return{left:Math.min(Math.max(e.left,t.left),t.right),top:Math.min(Math.max(e.top,t.top),t.bottom)}},e.createDuration=J,e.createElement=r,e.createEmptyEventStore=Ne,e.createEventInstance=Yt,e.createFormatter=ot,e.createPlugin=mn,e.cssToStr=xt,e.debounce=pe,e.diffDates=ye,e.diffDayAndTime=U,e.diffDays=H,e.diffPoints=function(e,t){return{left:e.left-t.left,top:e.top-t.top}},e.diffWeeks=function(e,t){return H(e,t)/7},e.diffWholeDays=L,e.diffWholeWeeks=z,e.disableCursor=function(){document.body.classList.add("fc-not-allowed")},e.distributeHeight=function(e,t,n){var r=Math.floor(t/e.length),i=Math.floor(t-r*(e.length-1)),o=[],a=[],s=[],u=0;re(e),e.forEach((function(t,n){var l=n===e.length-1?i:r,c=t.getBoundingClientRect().height,d=c+I(t);d<l?(o.push(t),a.push(d),s.push(c)):u+=d})),n&&(t-=u,r=Math.floor(t/o.length),i=Math.floor(t-r*(o.length-1))),o.forEach((function(e,t){var n=t===o.length-1?i:r,u=a[t],l=n-(u-s[t]);u<n&&(e.style.height=l+"px")}))},e.elementClosest=p,e.elementMatches=h,e.enableCursor=function(){document.body.classList.remove("fc-not-allowed")},e.eventTupleToStore=_e,e.filterEventStoreDefs=Ue,e.filterHash=we,e.findChildren=function(e,t){for(var n=e instanceof HTMLElement?[e]:e,r=[],i=0;i<n.length;i++)for(var o=n[i].children,a=0;a<o.length;a++){var s=o[a];t&&!h(s,t)||r.push(s)}return r},e.findElements=v,e.flexibleCompare=se,e.forceClassName=function(e,t,n){n?e.classList.add(t):e.classList.remove(t)},e.formatDate=function(e,t){void 0===t&&(t={});var n=Br(t),r=ot(t),i=n.createMarkerMeta(e);return i?n.format(i.marker,r,{forcedTzo:i.forcedTzo}):""},e.formatIsoTimeString=function(e){return le(e.getUTCHours(),2)+":"+le(e.getUTCMinutes(),2)+":"+le(e.getUTCSeconds(),2)},e.formatRange=function(e,t,n){var r=Br("object"==typeof n&&n?n:{}),i=ot(n,Mn.defaultRangeSeparator),o=r.createMarkerMeta(e),a=r.createMarkerMeta(t);return o&&a?r.formatRange(o.marker,a.marker,i,{forcedStartTzo:o.forcedTzo,forcedEndTzo:a.forcedTzo,isEndExclusive:n.isEndExclusive}):""},e.getAllDayHtml=function(e){return e.allDayHtml||Pt(e.allDayText)},e.getClippingParents=M,e.getDayClasses=en,e.getElSeg=ht,e.getRectCenter=function(e){return{left:(e.left+e.right)/2,top:(e.top+e.bottom)/2}},e.getRelevantEvents=Pe,e.globalDefaults=Mn,e.greatestDurationDenominator=ne,e.hasBgRendering=function(e){return"background"===e.rendering||"inverse-background"===e.rendering},e.htmlEscape=Pt,e.htmlToElement=i,e.insertAfterElement=function(e,t){for(var n=l(t),r=e.nextSibling||null,i=0;i<n.length;i++)e.parentNode.insertBefore(n[i],r)},e.interactionSettingsStore=Dr,e.interactionSettingsToStore=function(e){var t;return(t={})[e.component.uid]=e,t},e.intersectRanges=Ve,e.intersectRects=E,e.isArraysEqual=je,e.isDateSpansEqual=function(e,t){return Ae(e.range,t.range)&&e.allDay===t.allDay&&function(e,t){for(var n in t)if("range"!==n&&"allDay"!==n&&e[n]!==t[n])return!1;for(var n in e)if(!(n in t))return!1;return!0}(e,t)},e.isInt=ce,e.isInteractionValid=Rt,e.isMultiDayRange=function(e){var t=ge(e);return H(t.start,t.end)>1},e.isPropsEqual=Me,e.isPropsValid=It,e.isSingleDay=function(e){return 0===e.years&&0===e.months&&1===e.days&&0===e.milliseconds},e.isValidDate=Y,e.listenBySelector=_,e.mapHash=Re,e.matchCellWidths=function(e){var t=0;return e.forEach((function(e){var n=e.firstChild;if(n instanceof HTMLElement){var r=n.getBoundingClientRect().width;r>t&&(t=r)}})),t++,e.forEach((function(e){e.style.width=t+"px"})),t},e.memoize=Ye,e.memoizeOutput=qe,e.memoizeRendering=Xt,e.mergeEventStores=He,e.multiplyDuration=function(e,t){return{years:e.years*t,months:e.months*t,days:e.days*t,milliseconds:e.milliseconds*t}},e.padStart=le,e.parseBusinessHours=Gt,e.parseDragMeta=function(e){var t={},n=he(e,Vr,Ar,t);return n.leftoverProps=t,n},e.parseEventDef=jt,e.parseFieldSpecs=ie,e.parseMarker=An,e.pointInsideRect=function(e,t){return e.left>=t.left&&e.left<t.right&&e.top>=t.top&&e.top<t.bottom},e.prependToElement=u,e.preventContextMenu=function(e){e.addEventListener("contextmenu",k)},e.preventDefault=k,e.preventSelection=function(e){e.classList.add("fc-unselectable"),e.addEventListener("selectstart",k)},e.processScopedUiProps=zt,e.rangeContainsMarker=Ze,e.rangeContainsRange=We,e.rangesEqual=Ae,e.rangesIntersect=Fe,e.refineProps=he,e.removeElement=c,e.removeExact=function(e,t){for(var n=0,r=0;r<e.length;)e[r]===t?(e.splice(r,1),n++):r++;return n},e.renderDateCell=Wr,e.requestJson=Dn,e.sliceEventStore=dt,e.startOfDay=B,e.subtractInnerElHeight=function(e,t){var n={position:"relative",left:-1};y(e,n),y(t,n);var r=e.getBoundingClientRect().height-t.getBoundingClientRect().height,i={position:"",left:""};return y(e,i),y(t,i),r},e.translateRect=function(e,t,n){return{left:e.left+t,right:e.right+t,top:e.top+n,bottom:e.bottom+n}},e.uncompensateScroll=function(e){y(e,{marginLeft:"",marginRight:"",borderLeftWidth:"",borderRightWidth:""})},e.undistributeHeight=re,e.unpromisify=tn,e.version="4.4.2",e.whenTransitionDone=function(e,t){var n=function(r){t(r),O.forEach((function(t){e.removeEventListener(t,n)}))};O.forEach((function(t){e.addEventListener(t,n)}))},e.wholeDivideDurations=function(e,t){for(var n=null,r=0;r<G.length;r++){var i=G[r];if(t[i]){var o=e[i]/t[i];if(!ce(o)||null!==n&&n!==o)return null;n=o}else if(e[i])return null}return n},Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/core/package.json b/library/fullcalendar/packages/core/package.json
new file mode 100644
index 000000000..5040089ad
--- /dev/null
+++ b/library/fullcalendar/packages/core/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "@fullcalendar/core",
+ "version": "4.4.2",
+ "title": "FullCalendar Core Package",
+ "description": "Provides core functionality, including the Calendar class",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/initialize-es6",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/daygrid/LICENSE.txt b/library/fullcalendar/packages/daygrid/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/daygrid/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/daygrid/README.md b/library/fullcalendar/packages/daygrid/README.md
new file mode 100644
index 000000000..e00936542
--- /dev/null
+++ b/library/fullcalendar/packages/daygrid/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Day Grid Plugin
+
+Display events on Month view or DayGrid view
+
+[View the docs &raquo;](https://fullcalendar.io/docs/month-view)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/daygrid/main.css b/library/fullcalendar/packages/daygrid/main.css
index 60f489ce2..81f589554 100644
--- a/library/fullcalendar/packages/daygrid/main.css
+++ b/library/fullcalendar/packages/daygrid/main.css
@@ -1,8 +1,3 @@
-/*!
-FullCalendar Day Grid Plugin v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/
/* DayGridView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
@@ -10,60 +5,74 @@ Docs & License: https://fullcalendar.io/
.fc-dayGridDay-view .fc-content-skeleton {
/* there may be week numbers in these views, so no padding-top */
padding-bottom: 1em;
- /* ensure a space at bottom of cell for user selecting/clicking */ }
+ /* ensure a space at bottom of cell for user selecting/clicking */
+}
.fc-dayGrid-view .fc-body .fc-row {
min-height: 4em;
- /* ensure that all rows are at least this tall */ }
+ /* ensure that all rows are at least this tall */
+}
/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
- overflow: hidden; }
+ overflow: hidden;
+}
.fc-row.fc-rigid .fc-content-skeleton {
position: absolute;
top: 0;
left: 0;
- right: 0; }
+ right: 0;
+}
/* week and day number styling */
.fc-day-top.fc-other-month {
- opacity: 0.3; }
+ opacity: 0.3;
+}
.fc-dayGrid-view .fc-week-number,
.fc-dayGrid-view .fc-day-number {
- padding: 2px; }
+ padding: 2px;
+}
.fc-dayGrid-view th.fc-week-number,
.fc-dayGrid-view th.fc-day-number {
padding: 0 2px;
- /* column headers can't have as much v space */ }
+ /* column headers can't have as much v space */
+}
.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {
- float: right; }
+ float: right;
+}
.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {
- float: left; }
+ float: left;
+}
.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {
float: left;
- border-radius: 0 0 3px 0; }
+ border-radius: 0 0 3px 0;
+}
.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {
float: right;
- border-radius: 0 0 0 3px; }
+ border-radius: 0 0 0 3px;
+}
.fc-dayGrid-view .fc-day-top .fc-week-number {
min-width: 1.5em;
text-align: center;
background-color: #f2f2f2;
- color: #808080; }
+ color: #808080;
+}
/* when week/day number have own column */
.fc-dayGrid-view td.fc-week-number {
- text-align: center; }
+ text-align: center;
+}
.fc-dayGrid-view td.fc-week-number > * {
/* work around the way we do column resizing and ensure a minimum width */
display: inline-block;
- min-width: 1.25em; }
+ min-width: 1.25em;
+}
diff --git a/library/fullcalendar/packages/daygrid/main.d.ts b/library/fullcalendar/packages/daygrid/main.d.ts
new file mode 100644
index 000000000..312ddd97b
--- /dev/null
+++ b/library/fullcalendar/packages/daygrid/main.d.ts
@@ -0,0 +1,316 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/daygrid' {
+ export { default as SimpleDayGrid, DayGridSlicer } from '@fullcalendar/daygrid/SimpleDayGrid';
+ export { default as DayGrid, DayGridSeg } from '@fullcalendar/daygrid/DayGrid';
+ export { default as AbstractDayGridView } from '@fullcalendar/daygrid/AbstractDayGridView';
+ export { default as DayGridView, buildDayTable as buildBasicDayTable } from '@fullcalendar/daygrid/DayGridView';
+ export { default as DayBgRow } from '@fullcalendar/daygrid/DayBgRow';
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
+declare module '@fullcalendar/daygrid/SimpleDayGrid' {
+ import { DateProfile, EventStore, EventUiHash, DateSpan, EventInteractionState, DayTable, Duration, DateComponent, DateRange, Slicer, Hit, ComponentContext } from '@fullcalendar/core';
+ import { default as DayGrid, DayGridSeg } from '@fullcalendar/daygrid/DayGrid';
+ export interface SimpleDayGridProps {
+ dateProfile: DateProfile | null;
+ dayTable: DayTable;
+ nextDayThreshold: Duration;
+ businessHours: EventStore;
+ eventStore: EventStore;
+ eventUiBases: EventUiHash;
+ dateSelection: DateSpan | null;
+ eventSelection: string;
+ eventDrag: EventInteractionState | null;
+ eventResize: EventInteractionState | null;
+ isRigid: boolean;
+ }
+ export { SimpleDayGrid as default, SimpleDayGrid };
+ class SimpleDayGrid extends DateComponent<SimpleDayGridProps> {
+ dayGrid: DayGrid;
+ constructor(dayGrid: DayGrid);
+ firstContext(context: ComponentContext): void;
+ destroy(): void;
+ render(props: SimpleDayGridProps, context: ComponentContext): void;
+ buildPositionCaches(): void;
+ queryHit(positionLeft: number, positionTop: number): Hit;
+ }
+ export class DayGridSlicer extends Slicer<DayGridSeg, [DayTable]> {
+ sliceRange(dateRange: DateRange, dayTable: DayTable): DayGridSeg[];
+ }
+}
+
+declare module '@fullcalendar/daygrid/DayGrid' {
+ import { PositionCache, DateMarker, DateComponent, EventSegUiInteractionState, Seg, DateProfile, ComponentContext } from '@fullcalendar/core';
+ import Popover from '@fullcalendar/daygrid/Popover';
+ import DayGridEventRenderer from '@fullcalendar/daygrid/DayGridEventRenderer';
+ import DayTile from '@fullcalendar/daygrid/DayTile';
+ export interface RenderProps {
+ renderNumberIntroHtml: (row: number, dayGrid: DayGrid) => string;
+ renderBgIntroHtml: () => string;
+ renderIntroHtml: () => string;
+ colWeekNumbersVisible: boolean;
+ cellWeekNumbersVisible: boolean;
+ }
+ export interface DayGridSeg extends Seg {
+ row: number;
+ firstCol: number;
+ lastCol: number;
+ }
+ export interface DayGridCell {
+ date: DateMarker;
+ htmlAttrs?: string;
+ }
+ export interface DayGridProps {
+ dateProfile: DateProfile;
+ cells: DayGridCell[][];
+ businessHourSegs: DayGridSeg[];
+ bgEventSegs: DayGridSeg[];
+ fgEventSegs: DayGridSeg[];
+ dateSelectionSegs: DayGridSeg[];
+ eventSelection: string;
+ eventDrag: EventSegUiInteractionState | null;
+ eventResize: EventSegUiInteractionState | null;
+ isRigid: boolean;
+ }
+ export { DayGrid as default, DayGrid };
+ class DayGrid extends DateComponent<DayGridProps> {
+ eventRenderer: DayGridEventRenderer;
+ renderProps: RenderProps;
+ rowCnt: number;
+ colCnt: number;
+ bottomCoordPadding: number;
+ rowEls: HTMLElement[];
+ cellEls: HTMLElement[];
+ isCellSizesDirty: boolean;
+ rowPositions: PositionCache;
+ colPositions: PositionCache;
+ segPopover: Popover;
+ segPopoverTile: DayTile;
+ constructor(el: any, renderProps: RenderProps);
+ render(props: DayGridProps, context: ComponentContext): void;
+ destroy(): void;
+ getCellRange(row: any, col: any): {
+ start: Date;
+ end: Date;
+ };
+ updateSegPopoverTile(date?: any, segs?: any): void;
+ _renderCells(cells: DayGridCell[][], isRigid: boolean): void;
+ _unrenderCells(): void;
+ renderDayRowHtml(row: any, isRigid: any): string;
+ getIsNumbersVisible(): boolean;
+ getIsDayNumbersVisible(): boolean;
+ renderNumberTrHtml(row: number): string;
+ renderNumberCellsHtml(row: any): string;
+ renderNumberCellHtml(date: any): string;
+ updateSize(isResize: boolean): void;
+ buildPositionCaches(): void;
+ buildColPositions(): void;
+ buildRowPositions(): void;
+ positionToHit(leftPosition: any, topPosition: any): {
+ row: any;
+ col: any;
+ dateSpan: {
+ range: {
+ start: Date;
+ end: Date;
+ };
+ allDay: boolean;
+ };
+ dayEl: HTMLElement;
+ relativeRect: {
+ left: any;
+ right: any;
+ top: any;
+ bottom: any;
+ };
+ };
+ getCellEl(row: any, col: any): HTMLElement;
+ _renderEventDrag(state: EventSegUiInteractionState): void;
+ _unrenderEventDrag(state: EventSegUiInteractionState): void;
+ _renderEventResize(state: EventSegUiInteractionState): void;
+ _unrenderEventResize(state: EventSegUiInteractionState): void;
+ removeSegPopover(): void;
+ limitRows(levelLimit: any): void;
+ computeRowLevelLimit(row: any): (number | false);
+ limitRow(row: any, levelLimit: any): void;
+ unlimitRow(row: any): void;
+ renderMoreLink(row: any, col: any, hiddenSegs: any): HTMLElement;
+ showSegPopover(row: any, col: any, moreLink: HTMLElement, segs: any): void;
+ resliceDaySegs(segs: any, dayDate: any): any[];
+ getMoreLinkText(num: any): any;
+ getCellSegs(row: any, col: any, startLevel?: any): any[];
+ }
+}
+
+declare module '@fullcalendar/daygrid/AbstractDayGridView' {
+ import { ScrollComponent, View, Duration, ComponentContext, ViewProps } from '@fullcalendar/core';
+ import DayGrid from '@fullcalendar/daygrid/DayGrid';
+ export { AbstractDayGridView as default, AbstractDayGridView };
+ abstract class AbstractDayGridView extends View {
+ scroller: ScrollComponent;
+ dayGrid: DayGrid;
+ colWeekNumbersVisible: boolean;
+ cellWeekNumbersVisible: boolean;
+ weekNumberWidth: number;
+ _processOptions(options: any): void;
+ render(props: ViewProps, context: ComponentContext): void;
+ destroy(): void;
+ _renderSkeleton(context: ComponentContext): void;
+ _unrenderSkeleton(): void;
+ renderSkeletonHtml(): string;
+ weekNumberStyleAttr(): string;
+ hasRigidRows(): boolean;
+ updateSize(isResize: boolean, viewHeight: number, isAuto: boolean): void;
+ updateBaseSize(isResize: boolean, viewHeight: number, isAuto: boolean): void;
+ computeScrollerHeight(viewHeight: any): number;
+ setGridHeight(height: any, isAuto: any): void;
+ computeDateScroll(duration: Duration): {
+ top: number;
+ };
+ queryDateScroll(): {
+ top: number;
+ };
+ applyDateScroll(scroll: any): void;
+ renderHeadIntroHtml: () => string;
+ renderDayGridNumberIntroHtml: (row: number, dayGrid: DayGrid) => string;
+ renderDayGridBgIntroHtml: () => string;
+ renderDayGridIntroHtml: () => string;
+ }
+}
+
+declare module '@fullcalendar/daygrid/DayGridView' {
+ import { DayHeader, ComponentContext, DateProfileGenerator, DateProfile, ViewProps, DayTable } from '@fullcalendar/core';
+ import AbstractDayGridView from '@fullcalendar/daygrid/AbstractDayGridView';
+ import SimpleDayGrid from '@fullcalendar/daygrid/SimpleDayGrid';
+ export { DayGridView as default, DayGridView };
+ class DayGridView extends AbstractDayGridView {
+ header: DayHeader;
+ simpleDayGrid: SimpleDayGrid;
+ dayTable: DayTable;
+ render(props: ViewProps, context: ComponentContext): void;
+ _renderSkeleton(context: ComponentContext): void;
+ _unrenderSkeleton(): void;
+ }
+ export function buildDayTable(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator): DayTable;
+}
+
+declare module '@fullcalendar/daygrid/DayBgRow' {
+ import { ComponentContext, DateMarker, DateProfile } from '@fullcalendar/core';
+ export interface DayBgCell {
+ date: DateMarker;
+ htmlAttrs?: string;
+ }
+ export interface DayBgRowProps {
+ cells: DayBgCell[];
+ dateProfile: DateProfile;
+ renderIntroHtml?: () => string;
+ }
+ export { DayBgRow as default, DayBgRow };
+ class DayBgRow {
+ context: ComponentContext;
+ constructor(context: ComponentContext);
+ renderHtml(props: DayBgRowProps): string;
+ }
+}
+
+declare module '@fullcalendar/daygrid/Popover' {
+ export interface PopoverOptions {
+ className?: string;
+ content?: (el: HTMLElement) => void;
+ parentEl: HTMLElement;
+ autoHide?: boolean;
+ top?: number;
+ left?: number;
+ right?: number;
+ viewportConstrain?: boolean;
+ }
+ export { Popover as default, Popover };
+ class Popover {
+ isHidden: boolean;
+ options: PopoverOptions;
+ el: HTMLElement;
+ margin: number;
+ constructor(options: PopoverOptions);
+ show(): void;
+ hide(): void;
+ render(): void;
+ documentMousedown: (ev: any) => void;
+ destroy(): void;
+ position(): void;
+ trigger(name: any): void;
+ }
+}
+
+declare module '@fullcalendar/daygrid/DayGridEventRenderer' {
+ import { Seg } from '@fullcalendar/core';
+ import DayGrid from '@fullcalendar/daygrid/DayGrid';
+ import SimpleDayGridEventRenderer from '@fullcalendar/daygrid/SimpleDayGridEventRenderer';
+ export { DayGridEventRenderer as default, DayGridEventRenderer };
+ class DayGridEventRenderer extends SimpleDayGridEventRenderer {
+ dayGrid: DayGrid;
+ rowStructs: any;
+ constructor(dayGrid: DayGrid);
+ attachSegs(segs: Seg[], mirrorInfo: any): void;
+ detachSegs(): void;
+ renderSegRows(segs: Seg[]): any[];
+ renderSegRow(row: any, rowSegs: any): {
+ row: any;
+ tbodyEl: HTMLTableSectionElement;
+ cellMatrix: any[];
+ segMatrix: any[];
+ segLevels: any[];
+ segs: any;
+ };
+ buildSegLevels(segs: Seg[]): any[];
+ groupSegRows(segs: Seg[]): any[];
+ computeDisplayEventEnd(): boolean;
+ }
+}
+
+declare module '@fullcalendar/daygrid/DayTile' {
+ import { DateComponent, Seg, Hit, DateMarker, ComponentContext, EventInstanceHash } from '@fullcalendar/core';
+ import SimpleDayGridEventRenderer from '@fullcalendar/daygrid/SimpleDayGridEventRenderer';
+ export interface DayTileProps {
+ date: DateMarker;
+ fgSegs: Seg[];
+ eventSelection: string;
+ eventDragInstances: EventInstanceHash;
+ eventResizeInstances: EventInstanceHash;
+ }
+ export { DayTile as default, DayTile };
+ class DayTile extends DateComponent<DayTileProps> {
+ segContainerEl: HTMLElement;
+ constructor(el: HTMLElement);
+ firstContext(context: ComponentContext): void;
+ render(props: DayTileProps, context: ComponentContext): void;
+ destroy(): void;
+ _renderFrame(date: DateMarker): void;
+ queryHit(positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit | null;
+ }
+ export class DayTileEventRenderer extends SimpleDayGridEventRenderer {
+ dayTile: DayTile;
+ constructor(dayTile: any);
+ attachSegs(segs: Seg[]): void;
+ detachSegs(segs: Seg[]): void;
+ }
+}
+
+declare module '@fullcalendar/daygrid/SimpleDayGridEventRenderer' {
+ import { FgEventRenderer, Seg } from '@fullcalendar/core';
+ export { SimpleDayGridEventRenderer as default, SimpleDayGridEventRenderer };
+ abstract class SimpleDayGridEventRenderer extends FgEventRenderer {
+ renderSegHtml(seg: Seg, mirrorInfo: any): string;
+ computeEventTimeFormat(): {
+ hour: string;
+ minute: string;
+ omitZeroMinute: boolean;
+ meridiem: string;
+ };
+ computeDisplayEventEnd(): boolean;
+ }
+}
+
diff --git a/library/fullcalendar/packages/daygrid/main.esm.js b/library/fullcalendar/packages/daygrid/main.esm.js
new file mode 100644
index 000000000..5d33b7cfb
--- /dev/null
+++ b/library/fullcalendar/packages/daygrid/main.esm.js
@@ -0,0 +1,1655 @@
+/*!
+FullCalendar Day Grid Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import { addWeeks, diffWeeks, DateProfileGenerator, createElement, listenBySelector, removeElement, computeRect, computeClippingRect, applyStyle, computeEventDraggable, computeEventStartResizable, computeEventEndResizable, cssToStr, htmlEscape, FgEventRenderer, appendToElement, prependToElement, htmlToElement, FillRenderer, memoizeRendering, createFormatter, addDays, DateComponent, rangeContainsMarker, getDayClasses, findElements, PositionCache, buildGotoAnchorHtml, findChildren, insertAfterElement, intersectRanges, memoize, ScrollComponent, matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight, distributeHeight, undistributeHeight, View, Slicer, DayHeader, DaySeries, DayTable, createPlugin } from '@fullcalendar/core';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var __assign = function() {
+ __assign = Object.assign || function __assign(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+
+var DayGridDateProfileGenerator = /** @class */ (function (_super) {
+ __extends(DayGridDateProfileGenerator, _super);
+ function DayGridDateProfileGenerator() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ // Computes the date range that will be rendered.
+ DayGridDateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {
+ var dateEnv = this.dateEnv;
+ var renderRange = _super.prototype.buildRenderRange.call(this, currentRange, currentRangeUnit, isRangeAllDay);
+ var start = renderRange.start;
+ var end = renderRange.end;
+ var endOfWeek;
+ // year and month views should be aligned with weeks. this is already done for week
+ if (/^(year|month)$/.test(currentRangeUnit)) {
+ start = dateEnv.startOfWeek(start);
+ // make end-of-week if not already
+ endOfWeek = dateEnv.startOfWeek(end);
+ if (endOfWeek.valueOf() !== end.valueOf()) {
+ end = addWeeks(endOfWeek, 1);
+ }
+ }
+ // ensure 6 weeks
+ if (this.options.monthMode &&
+ this.options.fixedWeekCount) {
+ var rowCnt = Math.ceil(// could be partial weeks due to hiddenDays
+ diffWeeks(start, end));
+ end = addWeeks(end, 6 - rowCnt);
+ }
+ return { start: start, end: end };
+ };
+ return DayGridDateProfileGenerator;
+}(DateProfileGenerator));
+
+/* A rectangular panel that is absolutely positioned over other content
+------------------------------------------------------------------------------------------------------------------------
+Options:
+ - className (string)
+ - content (HTML string, element, or element array)
+ - parentEl
+ - top
+ - left
+ - right (the x coord of where the right edge should be. not a "CSS" right)
+ - autoHide (boolean)
+ - show (callback)
+ - hide (callback)
+*/
+var Popover = /** @class */ (function () {
+ function Popover(options) {
+ var _this = this;
+ this.isHidden = true;
+ this.margin = 10; // the space required between the popover and the edges of the scroll container
+ // Triggered when the user clicks *anywhere* in the document, for the autoHide feature
+ this.documentMousedown = function (ev) {
+ // only hide the popover if the click happened outside the popover
+ if (_this.el && !_this.el.contains(ev.target)) {
+ _this.hide();
+ }
+ };
+ this.options = options;
+ }
+ // Shows the popover on the specified position. Renders it if not already
+ Popover.prototype.show = function () {
+ if (this.isHidden) {
+ if (!this.el) {
+ this.render();
+ }
+ this.el.style.display = '';
+ this.position();
+ this.isHidden = false;
+ this.trigger('show');
+ }
+ };
+ // Hides the popover, through CSS, but does not remove it from the DOM
+ Popover.prototype.hide = function () {
+ if (!this.isHidden) {
+ this.el.style.display = 'none';
+ this.isHidden = true;
+ this.trigger('hide');
+ }
+ };
+ // Creates `this.el` and renders content inside of it
+ Popover.prototype.render = function () {
+ var _this = this;
+ var options = this.options;
+ var el = this.el = createElement('div', {
+ className: 'fc-popover ' + (options.className || ''),
+ style: {
+ top: '0',
+ left: '0'
+ }
+ });
+ if (typeof options.content === 'function') {
+ options.content(el);
+ }
+ options.parentEl.appendChild(el);
+ // when a click happens on anything inside with a 'fc-close' className, hide the popover
+ listenBySelector(el, 'click', '.fc-close', function (ev) {
+ _this.hide();
+ });
+ if (options.autoHide) {
+ document.addEventListener('mousedown', this.documentMousedown);
+ }
+ };
+ // Hides and unregisters any handlers
+ Popover.prototype.destroy = function () {
+ this.hide();
+ if (this.el) {
+ removeElement(this.el);
+ this.el = null;
+ }
+ document.removeEventListener('mousedown', this.documentMousedown);
+ };
+ // Positions the popover optimally, using the top/left/right options
+ Popover.prototype.position = function () {
+ var options = this.options;
+ var el = this.el;
+ var elDims = el.getBoundingClientRect(); // only used for width,height
+ var origin = computeRect(el.offsetParent);
+ var clippingRect = computeClippingRect(options.parentEl);
+ var top; // the "position" (not "offset") values for the popover
+ var left; //
+ // compute top and left
+ top = options.top || 0;
+ if (options.left !== undefined) {
+ left = options.left;
+ }
+ else if (options.right !== undefined) {
+ left = options.right - elDims.width; // derive the left value from the right value
+ }
+ else {
+ left = 0;
+ }
+ // constrain to the view port. if constrained by two edges, give precedence to top/left
+ top = Math.min(top, clippingRect.bottom - elDims.height - this.margin);
+ top = Math.max(top, clippingRect.top + this.margin);
+ left = Math.min(left, clippingRect.right - elDims.width - this.margin);
+ left = Math.max(left, clippingRect.left + this.margin);
+ applyStyle(el, {
+ top: top - origin.top,
+ left: left - origin.left
+ });
+ };
+ // Triggers a callback. Calls a function in the option hash of the same name.
+ // Arguments beyond the first `name` are forwarded on.
+ // TODO: better code reuse for this. Repeat code
+ // can kill this???
+ Popover.prototype.trigger = function (name) {
+ if (this.options[name]) {
+ this.options[name].apply(this, Array.prototype.slice.call(arguments, 1));
+ }
+ };
+ return Popover;
+}());
+
+/* Event-rendering methods for the DayGrid class
+----------------------------------------------------------------------------------------------------------------------*/
+// "Simple" is bad a name. has nothing to do with SimpleDayGrid
+var SimpleDayGridEventRenderer = /** @class */ (function (_super) {
+ __extends(SimpleDayGridEventRenderer, _super);
+ function SimpleDayGridEventRenderer() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ // Builds the HTML to be used for the default element for an individual segment
+ SimpleDayGridEventRenderer.prototype.renderSegHtml = function (seg, mirrorInfo) {
+ var context = this.context;
+ var eventRange = seg.eventRange;
+ var eventDef = eventRange.def;
+ var eventUi = eventRange.ui;
+ var allDay = eventDef.allDay;
+ var isDraggable = computeEventDraggable(context, eventDef, eventUi);
+ var isResizableFromStart = allDay && seg.isStart && computeEventStartResizable(context, eventDef, eventUi);
+ var isResizableFromEnd = allDay && seg.isEnd && computeEventEndResizable(context, eventDef, eventUi);
+ var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd, mirrorInfo);
+ var skinCss = cssToStr(this.getSkinCss(eventUi));
+ var timeHtml = '';
+ var timeText;
+ var titleHtml;
+ classes.unshift('fc-day-grid-event', 'fc-h-event');
+ // Only display a timed events time if it is the starting segment
+ if (seg.isStart) {
+ timeText = this.getTimeText(eventRange);
+ if (timeText) {
+ timeHtml = '<span class="fc-time">' + htmlEscape(timeText) + '</span>';
+ }
+ }
+ titleHtml =
+ '<span class="fc-title">' +
+ (htmlEscape(eventDef.title || '') || '&nbsp;') + // we always want one line of height
+ '</span>';
+ return '<a class="' + classes.join(' ') + '"' +
+ (eventDef.url ?
+ ' href="' + htmlEscape(eventDef.url) + '"' :
+ '') +
+ (skinCss ?
+ ' style="' + skinCss + '"' :
+ '') +
+ '>' +
+ '<div class="fc-content">' +
+ (context.options.dir === 'rtl' ?
+ titleHtml + ' ' + timeHtml : // put a natural space in between
+ timeHtml + ' ' + titleHtml //
+ ) +
+ '</div>' +
+ (isResizableFromStart ?
+ '<div class="fc-resizer fc-start-resizer"></div>' :
+ '') +
+ (isResizableFromEnd ?
+ '<div class="fc-resizer fc-end-resizer"></div>' :
+ '') +
+ '</a>';
+ };
+ // Computes a default event time formatting string if `eventTimeFormat` is not explicitly defined
+ SimpleDayGridEventRenderer.prototype.computeEventTimeFormat = function () {
+ return {
+ hour: 'numeric',
+ minute: '2-digit',
+ omitZeroMinute: true,
+ meridiem: 'narrow'
+ };
+ };
+ SimpleDayGridEventRenderer.prototype.computeDisplayEventEnd = function () {
+ return false; // TODO: somehow consider the originating DayGrid's column count
+ };
+ return SimpleDayGridEventRenderer;
+}(FgEventRenderer));
+
+/* Event-rendering methods for the DayGrid class
+----------------------------------------------------------------------------------------------------------------------*/
+var DayGridEventRenderer = /** @class */ (function (_super) {
+ __extends(DayGridEventRenderer, _super);
+ function DayGridEventRenderer(dayGrid) {
+ var _this = _super.call(this) || this;
+ _this.dayGrid = dayGrid;
+ return _this;
+ }
+ // Renders the given foreground event segments onto the grid
+ DayGridEventRenderer.prototype.attachSegs = function (segs, mirrorInfo) {
+ var rowStructs = this.rowStructs = this.renderSegRows(segs);
+ // append to each row's content skeleton
+ this.dayGrid.rowEls.forEach(function (rowNode, i) {
+ rowNode.querySelector('.fc-content-skeleton > table').appendChild(rowStructs[i].tbodyEl);
+ });
+ // removes the "more.." events popover
+ if (!mirrorInfo) {
+ this.dayGrid.removeSegPopover();
+ }
+ };
+ // Unrenders all currently rendered foreground event segments
+ DayGridEventRenderer.prototype.detachSegs = function () {
+ var rowStructs = this.rowStructs || [];
+ var rowStruct;
+ while ((rowStruct = rowStructs.pop())) {
+ removeElement(rowStruct.tbodyEl);
+ }
+ this.rowStructs = null;
+ };
+ // Uses the given events array to generate <tbody> elements that should be appended to each row's content skeleton.
+ // Returns an array of rowStruct objects (see the bottom of `renderSegRow`).
+ // PRECONDITION: each segment shoud already have a rendered and assigned `.el`
+ DayGridEventRenderer.prototype.renderSegRows = function (segs) {
+ var rowStructs = [];
+ var segRows;
+ var row;
+ segRows = this.groupSegRows(segs); // group into nested arrays
+ // iterate each row of segment groupings
+ for (row = 0; row < segRows.length; row++) {
+ rowStructs.push(this.renderSegRow(row, segRows[row]));
+ }
+ return rowStructs;
+ };
+ // Given a row # and an array of segments all in the same row, render a <tbody> element, a skeleton that contains
+ // the segments. Returns object with a bunch of internal data about how the render was calculated.
+ // NOTE: modifies rowSegs
+ DayGridEventRenderer.prototype.renderSegRow = function (row, rowSegs) {
+ var isRtl = this.context.isRtl;
+ var dayGrid = this.dayGrid;
+ var colCnt = dayGrid.colCnt;
+ var segLevels = this.buildSegLevels(rowSegs); // group into sub-arrays of levels
+ var levelCnt = Math.max(1, segLevels.length); // ensure at least one level
+ var tbody = document.createElement('tbody');
+ var segMatrix = []; // lookup for which segments are rendered into which level+col cells
+ var cellMatrix = []; // lookup for all <td> elements of the level+col matrix
+ var loneCellMatrix = []; // lookup for <td> elements that only take up a single column
+ var i;
+ var levelSegs;
+ var col;
+ var tr;
+ var j;
+ var seg;
+ var td;
+ // populates empty cells from the current column (`col`) to `endCol`
+ function emptyCellsUntil(endCol) {
+ while (col < endCol) {
+ // try to grab a cell from the level above and extend its rowspan. otherwise, create a fresh cell
+ td = (loneCellMatrix[i - 1] || [])[col];
+ if (td) {
+ td.rowSpan = (td.rowSpan || 1) + 1;
+ }
+ else {
+ td = document.createElement('td');
+ tr.appendChild(td);
+ }
+ cellMatrix[i][col] = td;
+ loneCellMatrix[i][col] = td;
+ col++;
+ }
+ }
+ for (i = 0; i < levelCnt; i++) { // iterate through all levels
+ levelSegs = segLevels[i];
+ col = 0;
+ tr = document.createElement('tr');
+ segMatrix.push([]);
+ cellMatrix.push([]);
+ loneCellMatrix.push([]);
+ // levelCnt might be 1 even though there are no actual levels. protect against this.
+ // this single empty row is useful for styling.
+ if (levelSegs) {
+ for (j = 0; j < levelSegs.length; j++) { // iterate through segments in level
+ seg = levelSegs[j];
+ var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;
+ var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;
+ emptyCellsUntil(leftCol);
+ // create a container that occupies or more columns. append the event element.
+ td = createElement('td', { className: 'fc-event-container' }, seg.el);
+ if (leftCol !== rightCol) {
+ td.colSpan = rightCol - leftCol + 1;
+ }
+ else { // a single-column segment
+ loneCellMatrix[i][col] = td;
+ }
+ while (col <= rightCol) {
+ cellMatrix[i][col] = td;
+ segMatrix[i][col] = seg;
+ col++;
+ }
+ tr.appendChild(td);
+ }
+ }
+ emptyCellsUntil(colCnt); // finish off the row
+ var introHtml = dayGrid.renderProps.renderIntroHtml();
+ if (introHtml) {
+ if (isRtl) {
+ appendToElement(tr, introHtml);
+ }
+ else {
+ prependToElement(tr, introHtml);
+ }
+ }
+ tbody.appendChild(tr);
+ }
+ return {
+ row: row,
+ tbodyEl: tbody,
+ cellMatrix: cellMatrix,
+ segMatrix: segMatrix,
+ segLevels: segLevels,
+ segs: rowSegs
+ };
+ };
+ // Stacks a flat array of segments, which are all assumed to be in the same row, into subarrays of vertical levels.
+ // NOTE: modifies segs
+ DayGridEventRenderer.prototype.buildSegLevels = function (segs) {
+ var isRtl = this.context.isRtl;
+ var colCnt = this.dayGrid.colCnt;
+ var levels = [];
+ var i;
+ var seg;
+ var j;
+ // Give preference to elements with certain criteria, so they have
+ // a chance to be closer to the top.
+ segs = this.sortEventSegs(segs);
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ // loop through levels, starting with the topmost, until the segment doesn't collide with other segments
+ for (j = 0; j < levels.length; j++) {
+ if (!isDaySegCollision(seg, levels[j])) {
+ break;
+ }
+ }
+ // `j` now holds the desired subrow index
+ seg.level = j;
+ seg.leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol; // for sorting only
+ seg.rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol // for sorting only
+ ;
+ (levels[j] || (levels[j] = [])).push(seg);
+ }
+ // order segments left-to-right. very important if calendar is RTL
+ for (j = 0; j < levels.length; j++) {
+ levels[j].sort(compareDaySegCols);
+ }
+ return levels;
+ };
+ // Given a flat array of segments, return an array of sub-arrays, grouped by each segment's row
+ DayGridEventRenderer.prototype.groupSegRows = function (segs) {
+ var segRows = [];
+ var i;
+ for (i = 0; i < this.dayGrid.rowCnt; i++) {
+ segRows.push([]);
+ }
+ for (i = 0; i < segs.length; i++) {
+ segRows[segs[i].row].push(segs[i]);
+ }
+ return segRows;
+ };
+ // Computes a default `displayEventEnd` value if one is not expliclty defined
+ DayGridEventRenderer.prototype.computeDisplayEventEnd = function () {
+ return this.dayGrid.colCnt === 1; // we'll likely have space if there's only one day
+ };
+ return DayGridEventRenderer;
+}(SimpleDayGridEventRenderer));
+// Computes whether two segments' columns collide. They are assumed to be in the same row.
+function isDaySegCollision(seg, otherSegs) {
+ var i;
+ var otherSeg;
+ for (i = 0; i < otherSegs.length; i++) {
+ otherSeg = otherSegs[i];
+ if (otherSeg.firstCol <= seg.lastCol &&
+ otherSeg.lastCol >= seg.firstCol) {
+ return true;
+ }
+ }
+ return false;
+}
+// A cmp function for determining the leftmost event
+function compareDaySegCols(a, b) {
+ return a.leftCol - b.leftCol;
+}
+
+var DayGridMirrorRenderer = /** @class */ (function (_super) {
+ __extends(DayGridMirrorRenderer, _super);
+ function DayGridMirrorRenderer() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ DayGridMirrorRenderer.prototype.attachSegs = function (segs, mirrorInfo) {
+ var sourceSeg = mirrorInfo.sourceSeg;
+ var rowStructs = this.rowStructs = this.renderSegRows(segs);
+ // inject each new event skeleton into each associated row
+ this.dayGrid.rowEls.forEach(function (rowNode, row) {
+ var skeletonEl = htmlToElement('<div class="fc-mirror-skeleton"><table></table></div>'); // will be absolutely positioned
+ var skeletonTopEl;
+ var skeletonTop;
+ // If there is an original segment, match the top position. Otherwise, put it at the row's top level
+ if (sourceSeg && sourceSeg.row === row) {
+ skeletonTopEl = sourceSeg.el;
+ }
+ else {
+ skeletonTopEl = rowNode.querySelector('.fc-content-skeleton tbody');
+ if (!skeletonTopEl) { // when no events
+ skeletonTopEl = rowNode.querySelector('.fc-content-skeleton table');
+ }
+ }
+ skeletonTop = skeletonTopEl.getBoundingClientRect().top -
+ rowNode.getBoundingClientRect().top; // the offsetParent origin
+ skeletonEl.style.top = skeletonTop + 'px';
+ skeletonEl.querySelector('table').appendChild(rowStructs[row].tbodyEl);
+ rowNode.appendChild(skeletonEl);
+ });
+ };
+ return DayGridMirrorRenderer;
+}(DayGridEventRenderer));
+
+var EMPTY_CELL_HTML = '<td style="pointer-events:none"></td>';
+var DayGridFillRenderer = /** @class */ (function (_super) {
+ __extends(DayGridFillRenderer, _super);
+ function DayGridFillRenderer(dayGrid) {
+ var _this = _super.call(this) || this;
+ _this.fillSegTag = 'td'; // override the default tag name
+ _this.dayGrid = dayGrid;
+ return _this;
+ }
+ DayGridFillRenderer.prototype.renderSegs = function (type, context, segs) {
+ // don't render timed background events
+ if (type === 'bgEvent') {
+ segs = segs.filter(function (seg) {
+ return seg.eventRange.def.allDay;
+ });
+ }
+ _super.prototype.renderSegs.call(this, type, context, segs);
+ };
+ DayGridFillRenderer.prototype.attachSegs = function (type, segs) {
+ var els = [];
+ var i;
+ var seg;
+ var skeletonEl;
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ skeletonEl = this.renderFillRow(type, seg);
+ this.dayGrid.rowEls[seg.row].appendChild(skeletonEl);
+ els.push(skeletonEl);
+ }
+ return els;
+ };
+ // Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.
+ DayGridFillRenderer.prototype.renderFillRow = function (type, seg) {
+ var dayGrid = this.dayGrid;
+ var isRtl = this.context.isRtl;
+ var colCnt = dayGrid.colCnt;
+ var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;
+ var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;
+ var startCol = leftCol;
+ var endCol = rightCol + 1;
+ var className;
+ var skeletonEl;
+ var trEl;
+ if (type === 'businessHours') {
+ className = 'bgevent';
+ }
+ else {
+ className = type.toLowerCase();
+ }
+ skeletonEl = htmlToElement('<div class="fc-' + className + '-skeleton">' +
+ '<table><tr></tr></table>' +
+ '</div>');
+ trEl = skeletonEl.getElementsByTagName('tr')[0];
+ if (startCol > 0) {
+ appendToElement(trEl,
+ // will create (startCol + 1) td's
+ new Array(startCol + 1).join(EMPTY_CELL_HTML));
+ }
+ seg.el.colSpan = endCol - startCol;
+ trEl.appendChild(seg.el);
+ if (endCol < colCnt) {
+ appendToElement(trEl,
+ // will create (colCnt - endCol) td's
+ new Array(colCnt - endCol + 1).join(EMPTY_CELL_HTML));
+ }
+ var introHtml = dayGrid.renderProps.renderIntroHtml();
+ if (introHtml) {
+ if (isRtl) {
+ appendToElement(trEl, introHtml);
+ }
+ else {
+ prependToElement(trEl, introHtml);
+ }
+ }
+ return skeletonEl;
+ };
+ return DayGridFillRenderer;
+}(FillRenderer));
+
+var DayTile = /** @class */ (function (_super) {
+ __extends(DayTile, _super);
+ function DayTile(el) {
+ var _this = _super.call(this, el) || this;
+ var eventRenderer = _this.eventRenderer = new DayTileEventRenderer(_this);
+ var renderFrame = _this.renderFrame = memoizeRendering(_this._renderFrame);
+ _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderFrame]);
+ _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);
+ _this.renderEventDrag = memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);
+ _this.renderEventResize = memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);
+ return _this;
+ }
+ DayTile.prototype.firstContext = function (context) {
+ context.calendar.registerInteractiveComponent(this, {
+ el: this.el,
+ useEventCenter: false
+ });
+ };
+ DayTile.prototype.render = function (props, context) {
+ this.renderFrame(props.date);
+ this.renderFgEvents(context, props.fgSegs);
+ this.renderEventSelection(props.eventSelection);
+ this.renderEventDrag(props.eventDragInstances);
+ this.renderEventResize(props.eventResizeInstances);
+ };
+ DayTile.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderFrame.unrender(); // should unrender everything else
+ this.context.calendar.unregisterInteractiveComponent(this);
+ };
+ DayTile.prototype._renderFrame = function (date) {
+ var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;
+ var title = dateEnv.format(date, createFormatter(options.dayPopoverFormat) // TODO: cache
+ );
+ this.el.innerHTML =
+ '<div class="fc-header ' + theme.getClass('popoverHeader') + '">' +
+ '<span class="fc-title">' +
+ htmlEscape(title) +
+ '</span>' +
+ '<span class="fc-close ' + theme.getIconClass('close') + '"></span>' +
+ '</div>' +
+ '<div class="fc-body ' + theme.getClass('popoverContent') + '">' +
+ '<div class="fc-event-container"></div>' +
+ '</div>';
+ this.segContainerEl = this.el.querySelector('.fc-event-container');
+ };
+ DayTile.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {
+ var date = this.props.date; // HACK
+ if (positionLeft < elWidth && positionTop < elHeight) {
+ return {
+ component: this,
+ dateSpan: {
+ allDay: true,
+ range: { start: date, end: addDays(date, 1) }
+ },
+ dayEl: this.el,
+ rect: {
+ left: 0,
+ top: 0,
+ right: elWidth,
+ bottom: elHeight
+ },
+ layer: 1
+ };
+ }
+ };
+ return DayTile;
+}(DateComponent));
+var DayTileEventRenderer = /** @class */ (function (_super) {
+ __extends(DayTileEventRenderer, _super);
+ function DayTileEventRenderer(dayTile) {
+ var _this = _super.call(this) || this;
+ _this.dayTile = dayTile;
+ return _this;
+ }
+ DayTileEventRenderer.prototype.attachSegs = function (segs) {
+ for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {
+ var seg = segs_1[_i];
+ this.dayTile.segContainerEl.appendChild(seg.el);
+ }
+ };
+ DayTileEventRenderer.prototype.detachSegs = function (segs) {
+ for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {
+ var seg = segs_2[_i];
+ removeElement(seg.el);
+ }
+ };
+ return DayTileEventRenderer;
+}(SimpleDayGridEventRenderer));
+
+var DayBgRow = /** @class */ (function () {
+ function DayBgRow(context) {
+ this.context = context;
+ }
+ DayBgRow.prototype.renderHtml = function (props) {
+ var parts = [];
+ if (props.renderIntroHtml) {
+ parts.push(props.renderIntroHtml());
+ }
+ for (var _i = 0, _a = props.cells; _i < _a.length; _i++) {
+ var cell = _a[_i];
+ parts.push(renderCellHtml(cell.date, props.dateProfile, this.context, cell.htmlAttrs));
+ }
+ if (!props.cells.length) {
+ parts.push('<td class="fc-day ' + this.context.theme.getClass('widgetContent') + '"></td>');
+ }
+ if (this.context.options.dir === 'rtl') {
+ parts.reverse();
+ }
+ return '<tr>' + parts.join('') + '</tr>';
+ };
+ return DayBgRow;
+}());
+function renderCellHtml(date, dateProfile, context, otherAttrs) {
+ var dateEnv = context.dateEnv, theme = context.theme;
+ var isDateValid = rangeContainsMarker(dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.
+ var classes = getDayClasses(date, dateProfile, context);
+ classes.unshift('fc-day', theme.getClass('widgetContent'));
+ return '<td class="' + classes.join(' ') + '"' +
+ (isDateValid ?
+ ' data-date="' + dateEnv.formatIso(date, { omitTime: true }) + '"' :
+ '') +
+ (otherAttrs ?
+ ' ' + otherAttrs :
+ '') +
+ '></td>';
+}
+
+var DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });
+var WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' });
+var DayGrid = /** @class */ (function (_super) {
+ __extends(DayGrid, _super);
+ function DayGrid(el, renderProps) {
+ var _this = _super.call(this, el) || this;
+ _this.bottomCoordPadding = 0; // hack for extending the hit area for the last row of the coordinate grid
+ _this.isCellSizesDirty = false;
+ _this.renderProps = renderProps;
+ var eventRenderer = _this.eventRenderer = new DayGridEventRenderer(_this);
+ var fillRenderer = _this.fillRenderer = new DayGridFillRenderer(_this);
+ _this.mirrorRenderer = new DayGridMirrorRenderer(_this);
+ var renderCells = _this.renderCells = memoizeRendering(_this._renderCells, _this._unrenderCells);
+ _this.renderBusinessHours = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderCells]);
+ _this.renderDateSelection = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'highlight'), fillRenderer.unrender.bind(fillRenderer, 'highlight'), [renderCells]);
+ _this.renderBgEvents = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'bgEvent'), fillRenderer.unrender.bind(fillRenderer, 'bgEvent'), [renderCells]);
+ _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderCells]);
+ _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);
+ _this.renderEventDrag = memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderCells]);
+ _this.renderEventResize = memoizeRendering(_this._renderEventResize, _this._unrenderEventResize, [renderCells]);
+ return _this;
+ }
+ DayGrid.prototype.render = function (props, context) {
+ var cells = props.cells;
+ this.rowCnt = cells.length;
+ this.colCnt = cells[0].length;
+ this.renderCells(cells, props.isRigid);
+ this.renderBusinessHours(context, props.businessHourSegs);
+ this.renderDateSelection(context, props.dateSelectionSegs);
+ this.renderBgEvents(context, props.bgEventSegs);
+ this.renderFgEvents(context, props.fgEventSegs);
+ this.renderEventSelection(props.eventSelection);
+ this.renderEventDrag(props.eventDrag);
+ this.renderEventResize(props.eventResize);
+ if (this.segPopoverTile) {
+ this.updateSegPopoverTile();
+ }
+ };
+ DayGrid.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderCells.unrender(); // will unrender everything else
+ };
+ DayGrid.prototype.getCellRange = function (row, col) {
+ var start = this.props.cells[row][col].date;
+ var end = addDays(start, 1);
+ return { start: start, end: end };
+ };
+ DayGrid.prototype.updateSegPopoverTile = function (date, segs) {
+ var ownProps = this.props;
+ this.segPopoverTile.receiveProps({
+ date: date || this.segPopoverTile.props.date,
+ fgSegs: segs || this.segPopoverTile.props.fgSegs,
+ eventSelection: ownProps.eventSelection,
+ eventDragInstances: ownProps.eventDrag ? ownProps.eventDrag.affectedInstances : null,
+ eventResizeInstances: ownProps.eventResize ? ownProps.eventResize.affectedInstances : null
+ }, this.context);
+ };
+ /* Date Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+ DayGrid.prototype._renderCells = function (cells, isRigid) {
+ var _a = this.context, calendar = _a.calendar, view = _a.view, isRtl = _a.isRtl, dateEnv = _a.dateEnv;
+ var _b = this, rowCnt = _b.rowCnt, colCnt = _b.colCnt;
+ var html = '';
+ var row;
+ var col;
+ for (row = 0; row < rowCnt; row++) {
+ html += this.renderDayRowHtml(row, isRigid);
+ }
+ this.el.innerHTML = html;
+ this.rowEls = findElements(this.el, '.fc-row');
+ this.cellEls = findElements(this.el, '.fc-day, .fc-disabled-day');
+ if (isRtl) {
+ this.cellEls.reverse();
+ }
+ this.rowPositions = new PositionCache(this.el, this.rowEls, false, true // vertical
+ );
+ this.colPositions = new PositionCache(this.el, this.cellEls.slice(0, colCnt), // only the first row
+ true, false // horizontal
+ );
+ // trigger dayRender with each cell's element
+ for (row = 0; row < rowCnt; row++) {
+ for (col = 0; col < colCnt; col++) {
+ calendar.publiclyTrigger('dayRender', [
+ {
+ date: dateEnv.toDate(cells[row][col].date),
+ el: this.getCellEl(row, col),
+ view: view
+ }
+ ]);
+ }
+ }
+ this.isCellSizesDirty = true;
+ };
+ DayGrid.prototype._unrenderCells = function () {
+ this.removeSegPopover();
+ };
+ // Generates the HTML for a single row, which is a div that wraps a table.
+ // `row` is the row number.
+ DayGrid.prototype.renderDayRowHtml = function (row, isRigid) {
+ var theme = this.context.theme;
+ var classes = ['fc-row', 'fc-week', theme.getClass('dayRow')];
+ if (isRigid) {
+ classes.push('fc-rigid');
+ }
+ var bgRow = new DayBgRow(this.context);
+ return '' +
+ '<div class="' + classes.join(' ') + '">' +
+ '<div class="fc-bg">' +
+ '<table class="' + theme.getClass('tableGrid') + '">' +
+ bgRow.renderHtml({
+ cells: this.props.cells[row],
+ dateProfile: this.props.dateProfile,
+ renderIntroHtml: this.renderProps.renderBgIntroHtml
+ }) +
+ '</table>' +
+ '</div>' +
+ '<div class="fc-content-skeleton">' +
+ '<table>' +
+ (this.getIsNumbersVisible() ?
+ '<thead>' +
+ this.renderNumberTrHtml(row) +
+ '</thead>' :
+ '') +
+ '</table>' +
+ '</div>' +
+ '</div>';
+ };
+ DayGrid.prototype.getIsNumbersVisible = function () {
+ return this.getIsDayNumbersVisible() ||
+ this.renderProps.cellWeekNumbersVisible ||
+ this.renderProps.colWeekNumbersVisible;
+ };
+ DayGrid.prototype.getIsDayNumbersVisible = function () {
+ return this.rowCnt > 1;
+ };
+ /* Grid Number Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+ DayGrid.prototype.renderNumberTrHtml = function (row) {
+ var isRtl = this.context.isRtl;
+ var intro = this.renderProps.renderNumberIntroHtml(row, this);
+ return '' +
+ '<tr>' +
+ (isRtl ? '' : intro) +
+ this.renderNumberCellsHtml(row) +
+ (isRtl ? intro : '') +
+ '</tr>';
+ };
+ DayGrid.prototype.renderNumberCellsHtml = function (row) {
+ var htmls = [];
+ var col;
+ var date;
+ for (col = 0; col < this.colCnt; col++) {
+ date = this.props.cells[row][col].date;
+ htmls.push(this.renderNumberCellHtml(date));
+ }
+ if (this.context.isRtl) {
+ htmls.reverse();
+ }
+ return htmls.join('');
+ };
+ // Generates the HTML for the <td>s of the "number" row in the DayGrid's content skeleton.
+ // The number row will only exist if either day numbers or week numbers are turned on.
+ DayGrid.prototype.renderNumberCellHtml = function (date) {
+ var _a = this.context, dateEnv = _a.dateEnv, options = _a.options;
+ var html = '';
+ var isDateValid = rangeContainsMarker(this.props.dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.
+ var isDayNumberVisible = this.getIsDayNumbersVisible() && isDateValid;
+ var classes;
+ var weekCalcFirstDow;
+ if (!isDayNumberVisible && !this.renderProps.cellWeekNumbersVisible) {
+ // no numbers in day cell (week number must be along the side)
+ return '<td></td>'; // will create an empty space above events :(
+ }
+ classes = getDayClasses(date, this.props.dateProfile, this.context);
+ classes.unshift('fc-day-top');
+ if (this.renderProps.cellWeekNumbersVisible) {
+ weekCalcFirstDow = dateEnv.weekDow;
+ }
+ html += '<td class="' + classes.join(' ') + '"' +
+ (isDateValid ?
+ ' data-date="' + dateEnv.formatIso(date, { omitTime: true }) + '"' :
+ '') +
+ '>';
+ if (this.renderProps.cellWeekNumbersVisible && (date.getUTCDay() === weekCalcFirstDow)) {
+ html += buildGotoAnchorHtml(options, dateEnv, { date: date, type: 'week' }, { 'class': 'fc-week-number' }, dateEnv.format(date, WEEK_NUM_FORMAT) // inner HTML
+ );
+ }
+ if (isDayNumberVisible) {
+ html += buildGotoAnchorHtml(options, dateEnv, date, { 'class': 'fc-day-number' }, dateEnv.format(date, DAY_NUM_FORMAT) // inner HTML
+ );
+ }
+ html += '</td>';
+ return html;
+ };
+ /* Sizing
+ ------------------------------------------------------------------------------------------------------------------*/
+ DayGrid.prototype.updateSize = function (isResize) {
+ var calendar = this.context.calendar;
+ var _a = this, fillRenderer = _a.fillRenderer, eventRenderer = _a.eventRenderer, mirrorRenderer = _a.mirrorRenderer;
+ if (isResize ||
+ this.isCellSizesDirty ||
+ calendar.isEventsUpdated // hack
+ ) {
+ this.buildPositionCaches();
+ this.isCellSizesDirty = false;
+ }
+ fillRenderer.computeSizes(isResize);
+ eventRenderer.computeSizes(isResize);
+ mirrorRenderer.computeSizes(isResize);
+ fillRenderer.assignSizes(isResize);
+ eventRenderer.assignSizes(isResize);
+ mirrorRenderer.assignSizes(isResize);
+ };
+ DayGrid.prototype.buildPositionCaches = function () {
+ this.buildColPositions();
+ this.buildRowPositions();
+ };
+ DayGrid.prototype.buildColPositions = function () {
+ this.colPositions.build();
+ };
+ DayGrid.prototype.buildRowPositions = function () {
+ this.rowPositions.build();
+ this.rowPositions.bottoms[this.rowCnt - 1] += this.bottomCoordPadding; // hack
+ };
+ /* Hit System
+ ------------------------------------------------------------------------------------------------------------------*/
+ DayGrid.prototype.positionToHit = function (leftPosition, topPosition) {
+ var _a = this, colPositions = _a.colPositions, rowPositions = _a.rowPositions;
+ var col = colPositions.leftToIndex(leftPosition);
+ var row = rowPositions.topToIndex(topPosition);
+ if (row != null && col != null) {
+ return {
+ row: row,
+ col: col,
+ dateSpan: {
+ range: this.getCellRange(row, col),
+ allDay: true
+ },
+ dayEl: this.getCellEl(row, col),
+ relativeRect: {
+ left: colPositions.lefts[col],
+ right: colPositions.rights[col],
+ top: rowPositions.tops[row],
+ bottom: rowPositions.bottoms[row]
+ }
+ };
+ }
+ };
+ /* Cell System
+ ------------------------------------------------------------------------------------------------------------------*/
+ // FYI: the first column is the leftmost column, regardless of date
+ DayGrid.prototype.getCellEl = function (row, col) {
+ return this.cellEls[row * this.colCnt + col];
+ };
+ /* Event Drag Visualization
+ ------------------------------------------------------------------------------------------------------------------*/
+ DayGrid.prototype._renderEventDrag = function (state) {
+ if (state) {
+ this.eventRenderer.hideByHash(state.affectedInstances);
+ this.fillRenderer.renderSegs('highlight', this.context, state.segs);
+ }
+ };
+ DayGrid.prototype._unrenderEventDrag = function (state) {
+ if (state) {
+ this.eventRenderer.showByHash(state.affectedInstances);
+ this.fillRenderer.unrender('highlight', this.context);
+ }
+ };
+ /* Event Resize Visualization
+ ------------------------------------------------------------------------------------------------------------------*/
+ DayGrid.prototype._renderEventResize = function (state) {
+ if (state) {
+ this.eventRenderer.hideByHash(state.affectedInstances);
+ this.fillRenderer.renderSegs('highlight', this.context, state.segs);
+ this.mirrorRenderer.renderSegs(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
+ }
+ };
+ DayGrid.prototype._unrenderEventResize = function (state) {
+ if (state) {
+ this.eventRenderer.showByHash(state.affectedInstances);
+ this.fillRenderer.unrender('highlight', this.context);
+ this.mirrorRenderer.unrender(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
+ }
+ };
+ /* More+ Link Popover
+ ------------------------------------------------------------------------------------------------------------------*/
+ DayGrid.prototype.removeSegPopover = function () {
+ if (this.segPopover) {
+ this.segPopover.hide(); // in handler, will call segPopover's removeElement
+ }
+ };
+ // Limits the number of "levels" (vertically stacking layers of events) for each row of the grid.
+ // `levelLimit` can be false (don't limit), a number, or true (should be computed).
+ DayGrid.prototype.limitRows = function (levelLimit) {
+ var rowStructs = this.eventRenderer.rowStructs || [];
+ var row; // row #
+ var rowLevelLimit;
+ for (row = 0; row < rowStructs.length; row++) {
+ this.unlimitRow(row);
+ if (!levelLimit) {
+ rowLevelLimit = false;
+ }
+ else if (typeof levelLimit === 'number') {
+ rowLevelLimit = levelLimit;
+ }
+ else {
+ rowLevelLimit = this.computeRowLevelLimit(row);
+ }
+ if (rowLevelLimit !== false) {
+ this.limitRow(row, rowLevelLimit);
+ }
+ }
+ };
+ // Computes the number of levels a row will accomodate without going outside its bounds.
+ // Assumes the row is "rigid" (maintains a constant height regardless of what is inside).
+ // `row` is the row number.
+ DayGrid.prototype.computeRowLevelLimit = function (row) {
+ var rowEl = this.rowEls[row]; // the containing "fake" row div
+ var rowBottom = rowEl.getBoundingClientRect().bottom; // relative to viewport!
+ var trEls = findChildren(this.eventRenderer.rowStructs[row].tbodyEl);
+ var i;
+ var trEl;
+ // Reveal one level <tr> at a time and stop when we find one out of bounds
+ for (i = 0; i < trEls.length; i++) {
+ trEl = trEls[i];
+ trEl.classList.remove('fc-limited'); // reset to original state (reveal)
+ if (trEl.getBoundingClientRect().bottom > rowBottom) {
+ return i;
+ }
+ }
+ return false; // should not limit at all
+ };
+ // Limits the given grid row to the maximum number of levels and injects "more" links if necessary.
+ // `row` is the row number.
+ // `levelLimit` is a number for the maximum (inclusive) number of levels allowed.
+ DayGrid.prototype.limitRow = function (row, levelLimit) {
+ var _this = this;
+ var colCnt = this.colCnt;
+ var isRtl = this.context.isRtl;
+ var rowStruct = this.eventRenderer.rowStructs[row];
+ var moreNodes = []; // array of "more" <a> links and <td> DOM nodes
+ var col = 0; // col #, left-to-right (not chronologically)
+ var levelSegs; // array of segment objects in the last allowable level, ordered left-to-right
+ var cellMatrix; // a matrix (by level, then column) of all <td> elements in the row
+ var limitedNodes; // array of temporarily hidden level <tr> and segment <td> DOM nodes
+ var i;
+ var seg;
+ var segsBelow; // array of segment objects below `seg` in the current `col`
+ var totalSegsBelow; // total number of segments below `seg` in any of the columns `seg` occupies
+ var colSegsBelow; // array of segment arrays, below seg, one for each column (offset from segs's first column)
+ var td;
+ var rowSpan;
+ var segMoreNodes; // array of "more" <td> cells that will stand-in for the current seg's cell
+ var j;
+ var moreTd;
+ var moreWrap;
+ var moreLink;
+ // Iterates through empty level cells and places "more" links inside if need be
+ var emptyCellsUntil = function (endCol) {
+ while (col < endCol) {
+ segsBelow = _this.getCellSegs(row, col, levelLimit);
+ if (segsBelow.length) {
+ td = cellMatrix[levelLimit - 1][col];
+ moreLink = _this.renderMoreLink(row, col, segsBelow);
+ moreWrap = createElement('div', null, moreLink);
+ td.appendChild(moreWrap);
+ moreNodes.push(moreWrap);
+ }
+ col++;
+ }
+ };
+ if (levelLimit && levelLimit < rowStruct.segLevels.length) { // is it actually over the limit?
+ levelSegs = rowStruct.segLevels[levelLimit - 1];
+ cellMatrix = rowStruct.cellMatrix;
+ limitedNodes = findChildren(rowStruct.tbodyEl).slice(levelLimit); // get level <tr> elements past the limit
+ limitedNodes.forEach(function (node) {
+ node.classList.add('fc-limited'); // hide elements and get a simple DOM-nodes array
+ });
+ // iterate though segments in the last allowable level
+ for (i = 0; i < levelSegs.length; i++) {
+ seg = levelSegs[i];
+ var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;
+ var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;
+ emptyCellsUntil(leftCol); // process empty cells before the segment
+ // determine *all* segments below `seg` that occupy the same columns
+ colSegsBelow = [];
+ totalSegsBelow = 0;
+ while (col <= rightCol) {
+ segsBelow = this.getCellSegs(row, col, levelLimit);
+ colSegsBelow.push(segsBelow);
+ totalSegsBelow += segsBelow.length;
+ col++;
+ }
+ if (totalSegsBelow) { // do we need to replace this segment with one or many "more" links?
+ td = cellMatrix[levelLimit - 1][leftCol]; // the segment's parent cell
+ rowSpan = td.rowSpan || 1;
+ segMoreNodes = [];
+ // make a replacement <td> for each column the segment occupies. will be one for each colspan
+ for (j = 0; j < colSegsBelow.length; j++) {
+ moreTd = createElement('td', { className: 'fc-more-cell', rowSpan: rowSpan });
+ segsBelow = colSegsBelow[j];
+ moreLink = this.renderMoreLink(row, leftCol + j, [seg].concat(segsBelow) // count seg as hidden too
+ );
+ moreWrap = createElement('div', null, moreLink);
+ moreTd.appendChild(moreWrap);
+ segMoreNodes.push(moreTd);
+ moreNodes.push(moreTd);
+ }
+ td.classList.add('fc-limited');
+ insertAfterElement(td, segMoreNodes);
+ limitedNodes.push(td);
+ }
+ }
+ emptyCellsUntil(this.colCnt); // finish off the level
+ rowStruct.moreEls = moreNodes; // for easy undoing later
+ rowStruct.limitedEls = limitedNodes; // for easy undoing later
+ }
+ };
+ // Reveals all levels and removes all "more"-related elements for a grid's row.
+ // `row` is a row number.
+ DayGrid.prototype.unlimitRow = function (row) {
+ var rowStruct = this.eventRenderer.rowStructs[row];
+ if (rowStruct.moreEls) {
+ rowStruct.moreEls.forEach(removeElement);
+ rowStruct.moreEls = null;
+ }
+ if (rowStruct.limitedEls) {
+ rowStruct.limitedEls.forEach(function (limitedEl) {
+ limitedEl.classList.remove('fc-limited');
+ });
+ rowStruct.limitedEls = null;
+ }
+ };
+ // Renders an <a> element that represents hidden event element for a cell.
+ // Responsible for attaching click handler as well.
+ DayGrid.prototype.renderMoreLink = function (row, col, hiddenSegs) {
+ var _this = this;
+ var _a = this.context, calendar = _a.calendar, view = _a.view, dateEnv = _a.dateEnv, options = _a.options, isRtl = _a.isRtl;
+ var a = createElement('a', { className: 'fc-more' });
+ a.innerText = this.getMoreLinkText(hiddenSegs.length);
+ a.addEventListener('click', function (ev) {
+ var clickOption = options.eventLimitClick;
+ var _col = isRtl ? _this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?
+ var date = _this.props.cells[row][_col].date;
+ var moreEl = ev.currentTarget;
+ var dayEl = _this.getCellEl(row, col);
+ var allSegs = _this.getCellSegs(row, col);
+ // rescope the segments to be within the cell's date
+ var reslicedAllSegs = _this.resliceDaySegs(allSegs, date);
+ var reslicedHiddenSegs = _this.resliceDaySegs(hiddenSegs, date);
+ if (typeof clickOption === 'function') {
+ // the returned value can be an atomic option
+ clickOption = calendar.publiclyTrigger('eventLimitClick', [
+ {
+ date: dateEnv.toDate(date),
+ allDay: true,
+ dayEl: dayEl,
+ moreEl: moreEl,
+ segs: reslicedAllSegs,
+ hiddenSegs: reslicedHiddenSegs,
+ jsEvent: ev,
+ view: view
+ }
+ ]);
+ }
+ if (clickOption === 'popover') {
+ _this.showSegPopover(row, col, moreEl, reslicedAllSegs);
+ }
+ else if (typeof clickOption === 'string') { // a view name
+ calendar.zoomTo(date, clickOption);
+ }
+ });
+ return a;
+ };
+ // Reveals the popover that displays all events within a cell
+ DayGrid.prototype.showSegPopover = function (row, col, moreLink, segs) {
+ var _this = this;
+ var _a = this.context, calendar = _a.calendar, view = _a.view, theme = _a.theme, isRtl = _a.isRtl;
+ var _col = isRtl ? this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?
+ var moreWrap = moreLink.parentNode; // the <div> wrapper around the <a>
+ var topEl; // the element we want to match the top coordinate of
+ var options;
+ if (this.rowCnt === 1) {
+ topEl = view.el; // will cause the popover to cover any sort of header
+ }
+ else {
+ topEl = this.rowEls[row]; // will align with top of row
+ }
+ options = {
+ className: 'fc-more-popover ' + theme.getClass('popover'),
+ parentEl: view.el,
+ top: computeRect(topEl).top,
+ autoHide: true,
+ content: function (el) {
+ _this.segPopoverTile = new DayTile(el);
+ _this.updateSegPopoverTile(_this.props.cells[row][_col].date, segs);
+ },
+ hide: function () {
+ _this.segPopoverTile.destroy();
+ _this.segPopoverTile = null;
+ _this.segPopover.destroy();
+ _this.segPopover = null;
+ }
+ };
+ // Determine horizontal coordinate.
+ // We use the moreWrap instead of the <td> to avoid border confusion.
+ if (isRtl) {
+ options.right = computeRect(moreWrap).right + 1; // +1 to be over cell border
+ }
+ else {
+ options.left = computeRect(moreWrap).left - 1; // -1 to be over cell border
+ }
+ this.segPopover = new Popover(options);
+ this.segPopover.show();
+ calendar.releaseAfterSizingTriggers(); // hack for eventPositioned
+ };
+ // Given the events within an array of segment objects, reslice them to be in a single day
+ DayGrid.prototype.resliceDaySegs = function (segs, dayDate) {
+ var dayStart = dayDate;
+ var dayEnd = addDays(dayStart, 1);
+ var dayRange = { start: dayStart, end: dayEnd };
+ var newSegs = [];
+ for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {
+ var seg = segs_1[_i];
+ var eventRange = seg.eventRange;
+ var origRange = eventRange.range;
+ var slicedRange = intersectRanges(origRange, dayRange);
+ if (slicedRange) {
+ newSegs.push(__assign({}, seg, { eventRange: {
+ def: eventRange.def,
+ ui: __assign({}, eventRange.ui, { durationEditable: false }),
+ instance: eventRange.instance,
+ range: slicedRange
+ }, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() }));
+ }
+ }
+ return newSegs;
+ };
+ // Generates the text that should be inside a "more" link, given the number of events it represents
+ DayGrid.prototype.getMoreLinkText = function (num) {
+ var opt = this.context.options.eventLimitText;
+ if (typeof opt === 'function') {
+ return opt(num);
+ }
+ else {
+ return '+' + num + ' ' + opt;
+ }
+ };
+ // Returns segments within a given cell.
+ // If `startLevel` is specified, returns only events including and below that level. Otherwise returns all segs.
+ DayGrid.prototype.getCellSegs = function (row, col, startLevel) {
+ var segMatrix = this.eventRenderer.rowStructs[row].segMatrix;
+ var level = startLevel || 0;
+ var segs = [];
+ var seg;
+ while (level < segMatrix.length) {
+ seg = segMatrix[level][col];
+ if (seg) {
+ segs.push(seg);
+ }
+ level++;
+ }
+ return segs;
+ };
+ return DayGrid;
+}(DateComponent));
+
+var WEEK_NUM_FORMAT$1 = createFormatter({ week: 'numeric' });
+/* An abstract class for the daygrid views, as well as month view. Renders one or more rows of day cells.
+----------------------------------------------------------------------------------------------------------------------*/
+// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.
+// It is responsible for managing width/height.
+var AbstractDayGridView = /** @class */ (function (_super) {
+ __extends(AbstractDayGridView, _super);
+ function AbstractDayGridView() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
+ _this.processOptions = memoize(_this._processOptions);
+ _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
+ /* Header Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Generates the HTML that will go before the day-of week header cells
+ _this.renderHeadIntroHtml = function () {
+ var _a = _this.context, theme = _a.theme, options = _a.options;
+ if (_this.colWeekNumbersVisible) {
+ return '' +
+ '<th class="fc-week-number ' + theme.getClass('widgetHeader') + '" ' + _this.weekNumberStyleAttr() + '>' +
+ '<span>' + // needed for matchCellWidths
+ htmlEscape(options.weekLabel) +
+ '</span>' +
+ '</th>';
+ }
+ return '';
+ };
+ /* Day Grid Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Generates the HTML that will go before content-skeleton cells that display the day/week numbers
+ _this.renderDayGridNumberIntroHtml = function (row, dayGrid) {
+ var _a = _this.context, options = _a.options, dateEnv = _a.dateEnv;
+ var weekStart = dayGrid.props.cells[row][0].date;
+ if (_this.colWeekNumbersVisible) {
+ return '' +
+ '<td class="fc-week-number" ' + _this.weekNumberStyleAttr() + '>' +
+ buildGotoAnchorHtml(// aside from link, important for matchCellWidths
+ options, dateEnv, { date: weekStart, type: 'week', forceOff: dayGrid.colCnt === 1 }, dateEnv.format(weekStart, WEEK_NUM_FORMAT$1) // inner HTML
+ ) +
+ '</td>';
+ }
+ return '';
+ };
+ // Generates the HTML that goes before the day bg cells for each day-row
+ _this.renderDayGridBgIntroHtml = function () {
+ var theme = _this.context.theme;
+ if (_this.colWeekNumbersVisible) {
+ return '<td class="fc-week-number ' + theme.getClass('widgetContent') + '" ' + _this.weekNumberStyleAttr() + '></td>';
+ }
+ return '';
+ };
+ // Generates the HTML that goes before every other type of row generated by DayGrid.
+ // Affects mirror-skeleton and highlight-skeleton rows.
+ _this.renderDayGridIntroHtml = function () {
+ if (_this.colWeekNumbersVisible) {
+ return '<td class="fc-week-number" ' + _this.weekNumberStyleAttr() + '></td>';
+ }
+ return '';
+ };
+ return _this;
+ }
+ AbstractDayGridView.prototype._processOptions = function (options) {
+ if (options.weekNumbers) {
+ if (options.weekNumbersWithinDays) {
+ this.cellWeekNumbersVisible = true;
+ this.colWeekNumbersVisible = false;
+ }
+ else {
+ this.cellWeekNumbersVisible = false;
+ this.colWeekNumbersVisible = true;
+ }
+ }
+ else {
+ this.colWeekNumbersVisible = false;
+ this.cellWeekNumbersVisible = false;
+ }
+ };
+ AbstractDayGridView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context);
+ this.processOptions(context.options);
+ this.renderSkeleton(context);
+ };
+ AbstractDayGridView.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderSkeleton.unrender();
+ };
+ AbstractDayGridView.prototype._renderSkeleton = function (context) {
+ this.el.classList.add('fc-dayGrid-view');
+ this.el.innerHTML = this.renderSkeletonHtml();
+ this.scroller = new ScrollComponent('hidden', // overflow x
+ 'auto' // overflow y
+ );
+ var dayGridContainerEl = this.scroller.el;
+ this.el.querySelector('.fc-body > tr > td').appendChild(dayGridContainerEl);
+ dayGridContainerEl.classList.add('fc-day-grid-container');
+ var dayGridEl = createElement('div', { className: 'fc-day-grid' });
+ dayGridContainerEl.appendChild(dayGridEl);
+ this.dayGrid = new DayGrid(dayGridEl, {
+ renderNumberIntroHtml: this.renderDayGridNumberIntroHtml,
+ renderBgIntroHtml: this.renderDayGridBgIntroHtml,
+ renderIntroHtml: this.renderDayGridIntroHtml,
+ colWeekNumbersVisible: this.colWeekNumbersVisible,
+ cellWeekNumbersVisible: this.cellWeekNumbersVisible
+ });
+ };
+ AbstractDayGridView.prototype._unrenderSkeleton = function () {
+ this.el.classList.remove('fc-dayGrid-view');
+ this.dayGrid.destroy();
+ this.scroller.destroy();
+ };
+ // Builds the HTML skeleton for the view.
+ // The day-grid component will render inside of a container defined by this HTML.
+ AbstractDayGridView.prototype.renderSkeletonHtml = function () {
+ var _a = this.context, theme = _a.theme, options = _a.options;
+ return '' +
+ '<table class="' + theme.getClass('tableGrid') + '">' +
+ (options.columnHeader ?
+ '<thead class="fc-head">' +
+ '<tr>' +
+ '<td class="fc-head-container ' + theme.getClass('widgetHeader') + '">&nbsp;</td>' +
+ '</tr>' +
+ '</thead>' :
+ '') +
+ '<tbody class="fc-body">' +
+ '<tr>' +
+ '<td class="' + theme.getClass('widgetContent') + '"></td>' +
+ '</tr>' +
+ '</tbody>' +
+ '</table>';
+ };
+ // Generates an HTML attribute string for setting the width of the week number column, if it is known
+ AbstractDayGridView.prototype.weekNumberStyleAttr = function () {
+ if (this.weekNumberWidth != null) {
+ return 'style="width:' + this.weekNumberWidth + 'px"';
+ }
+ return '';
+ };
+ // Determines whether each row should have a constant height
+ AbstractDayGridView.prototype.hasRigidRows = function () {
+ var eventLimit = this.context.options.eventLimit;
+ return eventLimit && typeof eventLimit !== 'number';
+ };
+ /* Dimensions
+ ------------------------------------------------------------------------------------------------------------------*/
+ AbstractDayGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {
+ _super.prototype.updateSize.call(this, isResize, viewHeight, isAuto); // will call updateBaseSize. important that executes first
+ this.dayGrid.updateSize(isResize);
+ };
+ // Refreshes the horizontal dimensions of the view
+ AbstractDayGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {
+ var dayGrid = this.dayGrid;
+ var eventLimit = this.context.options.eventLimit;
+ var headRowEl = this.header ? this.header.el : null; // HACK
+ var scrollerHeight;
+ var scrollbarWidths;
+ // hack to give the view some height prior to dayGrid's columns being rendered
+ // TODO: separate setting height from scroller VS dayGrid.
+ if (!dayGrid.rowEls) {
+ if (!isAuto) {
+ scrollerHeight = this.computeScrollerHeight(viewHeight);
+ this.scroller.setHeight(scrollerHeight);
+ }
+ return;
+ }
+ if (this.colWeekNumbersVisible) {
+ // Make sure all week number cells running down the side have the same width.
+ this.weekNumberWidth = matchCellWidths(findElements(this.el, '.fc-week-number'));
+ }
+ // reset all heights to be natural
+ this.scroller.clear();
+ if (headRowEl) {
+ uncompensateScroll(headRowEl);
+ }
+ dayGrid.removeSegPopover(); // kill the "more" popover if displayed
+ // is the event limit a constant level number?
+ if (eventLimit && typeof eventLimit === 'number') {
+ dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after
+ }
+ // distribute the height to the rows
+ // (viewHeight is a "recommended" value if isAuto)
+ scrollerHeight = this.computeScrollerHeight(viewHeight);
+ this.setGridHeight(scrollerHeight, isAuto);
+ // is the event limit dynamically calculated?
+ if (eventLimit && typeof eventLimit !== 'number') {
+ dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set
+ }
+ if (!isAuto) { // should we force dimensions of the scroll container?
+ this.scroller.setHeight(scrollerHeight);
+ scrollbarWidths = this.scroller.getScrollbarWidths();
+ if (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?
+ if (headRowEl) {
+ compensateScroll(headRowEl, scrollbarWidths);
+ }
+ // doing the scrollbar compensation might have created text overflow which created more height. redo
+ scrollerHeight = this.computeScrollerHeight(viewHeight);
+ this.scroller.setHeight(scrollerHeight);
+ }
+ // guarantees the same scrollbar widths
+ this.scroller.lockOverflow(scrollbarWidths);
+ }
+ };
+ // given a desired total height of the view, returns what the height of the scroller should be
+ AbstractDayGridView.prototype.computeScrollerHeight = function (viewHeight) {
+ return viewHeight -
+ subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
+ };
+ // Sets the height of just the DayGrid component in this view
+ AbstractDayGridView.prototype.setGridHeight = function (height, isAuto) {
+ if (this.context.options.monthMode) {
+ // if auto, make the height of each row the height that it would be if there were 6 weeks
+ if (isAuto) {
+ height *= this.dayGrid.rowCnt / 6;
+ }
+ distributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows
+ }
+ else {
+ if (isAuto) {
+ undistributeHeight(this.dayGrid.rowEls); // let the rows be their natural height with no expanding
+ }
+ else {
+ distributeHeight(this.dayGrid.rowEls, height, true); // true = compensate for height-hogging rows
+ }
+ }
+ };
+ /* Scroll
+ ------------------------------------------------------------------------------------------------------------------*/
+ AbstractDayGridView.prototype.computeDateScroll = function (duration) {
+ return { top: 0 };
+ };
+ AbstractDayGridView.prototype.queryDateScroll = function () {
+ return { top: this.scroller.getScrollTop() };
+ };
+ AbstractDayGridView.prototype.applyDateScroll = function (scroll) {
+ if (scroll.top !== undefined) {
+ this.scroller.setScrollTop(scroll.top);
+ }
+ };
+ return AbstractDayGridView;
+}(View));
+AbstractDayGridView.prototype.dateProfileGeneratorClass = DayGridDateProfileGenerator;
+
+var SimpleDayGrid = /** @class */ (function (_super) {
+ __extends(SimpleDayGrid, _super);
+ function SimpleDayGrid(dayGrid) {
+ var _this = _super.call(this, dayGrid.el) || this;
+ _this.slicer = new DayGridSlicer();
+ _this.dayGrid = dayGrid;
+ return _this;
+ }
+ SimpleDayGrid.prototype.firstContext = function (context) {
+ context.calendar.registerInteractiveComponent(this, { el: this.dayGrid.el });
+ };
+ SimpleDayGrid.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.context.calendar.unregisterInteractiveComponent(this);
+ };
+ SimpleDayGrid.prototype.render = function (props, context) {
+ var dayGrid = this.dayGrid;
+ var dateProfile = props.dateProfile, dayTable = props.dayTable;
+ dayGrid.receiveContext(context); // hack because context is used in sliceProps
+ dayGrid.receiveProps(__assign({}, this.slicer.sliceProps(props, dateProfile, props.nextDayThreshold, context.calendar, dayGrid, dayTable), { dateProfile: dateProfile, cells: dayTable.cells, isRigid: props.isRigid }), context);
+ };
+ SimpleDayGrid.prototype.buildPositionCaches = function () {
+ this.dayGrid.buildPositionCaches();
+ };
+ SimpleDayGrid.prototype.queryHit = function (positionLeft, positionTop) {
+ var rawHit = this.dayGrid.positionToHit(positionLeft, positionTop);
+ if (rawHit) {
+ return {
+ component: this.dayGrid,
+ dateSpan: rawHit.dateSpan,
+ dayEl: rawHit.dayEl,
+ rect: {
+ left: rawHit.relativeRect.left,
+ right: rawHit.relativeRect.right,
+ top: rawHit.relativeRect.top,
+ bottom: rawHit.relativeRect.bottom
+ },
+ layer: 0
+ };
+ }
+ };
+ return SimpleDayGrid;
+}(DateComponent));
+var DayGridSlicer = /** @class */ (function (_super) {
+ __extends(DayGridSlicer, _super);
+ function DayGridSlicer() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ DayGridSlicer.prototype.sliceRange = function (dateRange, dayTable) {
+ return dayTable.sliceRange(dateRange);
+ };
+ return DayGridSlicer;
+}(Slicer));
+
+var DayGridView = /** @class */ (function (_super) {
+ __extends(DayGridView, _super);
+ function DayGridView() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
+ _this.buildDayTable = memoize(buildDayTable);
+ return _this;
+ }
+ DayGridView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context); // will call _renderSkeleton/_unrenderSkeleton
+ var dateProfile = this.props.dateProfile;
+ var dayTable = this.dayTable =
+ this.buildDayTable(dateProfile, props.dateProfileGenerator);
+ if (this.header) {
+ this.header.receiveProps({
+ dateProfile: dateProfile,
+ dates: dayTable.headerDates,
+ datesRepDistinctDays: dayTable.rowCnt === 1,
+ renderIntroHtml: this.renderHeadIntroHtml
+ }, context);
+ }
+ this.simpleDayGrid.receiveProps({
+ dateProfile: dateProfile,
+ dayTable: dayTable,
+ businessHours: props.businessHours,
+ dateSelection: props.dateSelection,
+ eventStore: props.eventStore,
+ eventUiBases: props.eventUiBases,
+ eventSelection: props.eventSelection,
+ eventDrag: props.eventDrag,
+ eventResize: props.eventResize,
+ isRigid: this.hasRigidRows(),
+ nextDayThreshold: this.context.nextDayThreshold
+ }, context);
+ };
+ DayGridView.prototype._renderSkeleton = function (context) {
+ _super.prototype._renderSkeleton.call(this, context);
+ if (context.options.columnHeader) {
+ this.header = new DayHeader(this.el.querySelector('.fc-head-container'));
+ }
+ this.simpleDayGrid = new SimpleDayGrid(this.dayGrid);
+ };
+ DayGridView.prototype._unrenderSkeleton = function () {
+ _super.prototype._unrenderSkeleton.call(this);
+ if (this.header) {
+ this.header.destroy();
+ }
+ this.simpleDayGrid.destroy();
+ };
+ return DayGridView;
+}(AbstractDayGridView));
+function buildDayTable(dateProfile, dateProfileGenerator) {
+ var daySeries = new DaySeries(dateProfile.renderRange, dateProfileGenerator);
+ return new DayTable(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));
+}
+
+var main = createPlugin({
+ defaultView: 'dayGridMonth',
+ views: {
+ dayGrid: DayGridView,
+ dayGridDay: {
+ type: 'dayGrid',
+ duration: { days: 1 }
+ },
+ dayGridWeek: {
+ type: 'dayGrid',
+ duration: { weeks: 1 }
+ },
+ dayGridMonth: {
+ type: 'dayGrid',
+ duration: { months: 1 },
+ monthMode: true,
+ fixedWeekCount: true
+ }
+ }
+});
+
+export default main;
+export { AbstractDayGridView, DayBgRow, DayGrid, DayGridSlicer, DayGridView, SimpleDayGrid, buildDayTable as buildBasicDayTable };
diff --git a/library/fullcalendar/packages/daygrid/main.js b/library/fullcalendar/packages/daygrid/main.js
index e41463eb9..8ccdef25d 100644
--- a/library/fullcalendar/packages/daygrid/main.js
+++ b/library/fullcalendar/packages/daygrid/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar Day Grid Plugin v4.0.2
+FullCalendar Day Grid Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', '@fullcalendar/core'], factory) :
@@ -10,18 +11,18 @@ Docs & License: https://fullcalendar.io/
}(this, function (exports, core) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
@@ -213,14 +214,14 @@ Docs & License: https://fullcalendar.io/
}
// Builds the HTML to be used for the default element for an individual segment
SimpleDayGridEventRenderer.prototype.renderSegHtml = function (seg, mirrorInfo) {
- var options = this.context.options;
+ var context = this.context;
var eventRange = seg.eventRange;
var eventDef = eventRange.def;
var eventUi = eventRange.ui;
var allDay = eventDef.allDay;
- var isDraggable = eventUi.startEditable;
- var isResizableFromStart = allDay && seg.isStart && eventUi.durationEditable && options.eventResizableFromStart;
- var isResizableFromEnd = allDay && seg.isEnd && eventUi.durationEditable;
+ var isDraggable = core.computeEventDraggable(context, eventDef, eventUi);
+ var isResizableFromStart = allDay && seg.isStart && core.computeEventStartResizable(context, eventDef, eventUi);
+ var isResizableFromEnd = allDay && seg.isEnd && core.computeEventEndResizable(context, eventDef, eventUi);
var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd, mirrorInfo);
var skinCss = core.cssToStr(this.getSkinCss(eventUi));
var timeHtml = '';
@@ -247,7 +248,7 @@ Docs & License: https://fullcalendar.io/
'') +
'>' +
'<div class="fc-content">' +
- (options.dir === 'rtl' ?
+ (context.options.dir === 'rtl' ?
titleHtml + ' ' + timeHtml : // put a natural space in between
timeHtml + ' ' + titleHtml //
) +
@@ -280,7 +281,7 @@ Docs & License: https://fullcalendar.io/
var DayGridEventRenderer = /** @class */ (function (_super) {
__extends(DayGridEventRenderer, _super);
function DayGridEventRenderer(dayGrid) {
- var _this = _super.call(this, dayGrid.context) || this;
+ var _this = _super.call(this) || this;
_this.dayGrid = dayGrid;
return _this;
}
@@ -323,8 +324,9 @@ Docs & License: https://fullcalendar.io/
// the segments. Returns object with a bunch of internal data about how the render was calculated.
// NOTE: modifies rowSegs
DayGridEventRenderer.prototype.renderSegRow = function (row, rowSegs) {
+ var isRtl = this.context.isRtl;
var dayGrid = this.dayGrid;
- var colCnt = dayGrid.colCnt, isRtl = dayGrid.isRtl;
+ var colCnt = dayGrid.colCnt;
var segLevels = this.buildSegLevels(rowSegs); // group into sub-arrays of levels
var levelCnt = Math.max(1, segLevels.length); // ensure at least one level
var tbody = document.createElement('tbody');
@@ -389,7 +391,7 @@ Docs & License: https://fullcalendar.io/
emptyCellsUntil(colCnt); // finish off the row
var introHtml = dayGrid.renderProps.renderIntroHtml();
if (introHtml) {
- if (dayGrid.isRtl) {
+ if (isRtl) {
core.appendToElement(tr, introHtml);
}
else {
@@ -410,7 +412,8 @@ Docs & License: https://fullcalendar.io/
// Stacks a flat array of segments, which are all assumed to be in the same row, into subarrays of vertical levels.
// NOTE: modifies segs
DayGridEventRenderer.prototype.buildSegLevels = function (segs) {
- var _a = this.dayGrid, isRtl = _a.isRtl, colCnt = _a.colCnt;
+ var isRtl = this.context.isRtl;
+ var colCnt = this.dayGrid.colCnt;
var levels = [];
var i;
var seg;
@@ -508,22 +511,23 @@ Docs & License: https://fullcalendar.io/
return DayGridMirrorRenderer;
}(DayGridEventRenderer));
+ var EMPTY_CELL_HTML = '<td style="pointer-events:none"></td>';
var DayGridFillRenderer = /** @class */ (function (_super) {
__extends(DayGridFillRenderer, _super);
function DayGridFillRenderer(dayGrid) {
- var _this = _super.call(this, dayGrid.context) || this;
+ var _this = _super.call(this) || this;
_this.fillSegTag = 'td'; // override the default tag name
_this.dayGrid = dayGrid;
return _this;
}
- DayGridFillRenderer.prototype.renderSegs = function (type, segs) {
+ DayGridFillRenderer.prototype.renderSegs = function (type, context, segs) {
// don't render timed background events
if (type === 'bgEvent') {
segs = segs.filter(function (seg) {
return seg.eventRange.def.allDay;
});
}
- _super.prototype.renderSegs.call(this, type, segs);
+ _super.prototype.renderSegs.call(this, type, context, segs);
};
DayGridFillRenderer.prototype.attachSegs = function (type, segs) {
var els = [];
@@ -541,7 +545,8 @@ Docs & License: https://fullcalendar.io/
// Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.
DayGridFillRenderer.prototype.renderFillRow = function (type, seg) {
var dayGrid = this.dayGrid;
- var colCnt = dayGrid.colCnt, isRtl = dayGrid.isRtl;
+ var isRtl = this.context.isRtl;
+ var colCnt = dayGrid.colCnt;
var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;
var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;
var startCol = leftCol;
@@ -562,18 +567,18 @@ Docs & License: https://fullcalendar.io/
if (startCol > 0) {
core.appendToElement(trEl,
// will create (startCol + 1) td's
- new Array(startCol + 1).join('<td></td>'));
+ new Array(startCol + 1).join(EMPTY_CELL_HTML));
}
seg.el.colSpan = endCol - startCol;
trEl.appendChild(seg.el);
if (endCol < colCnt) {
core.appendToElement(trEl,
// will create (colCnt - endCol) td's
- new Array(colCnt - endCol + 1).join('<td></td>'));
+ new Array(colCnt - endCol + 1).join(EMPTY_CELL_HTML));
}
var introHtml = dayGrid.renderProps.renderIntroHtml();
if (introHtml) {
- if (dayGrid.isRtl) {
+ if (isRtl) {
core.appendToElement(trEl, introHtml);
}
else {
@@ -587,23 +592,25 @@ Docs & License: https://fullcalendar.io/
var DayTile = /** @class */ (function (_super) {
__extends(DayTile, _super);
- function DayTile(context, el) {
- var _this = _super.call(this, context, el) || this;
+ function DayTile(el) {
+ var _this = _super.call(this, el) || this;
var eventRenderer = _this.eventRenderer = new DayTileEventRenderer(_this);
var renderFrame = _this.renderFrame = core.memoizeRendering(_this._renderFrame);
_this.renderFgEvents = core.memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderFrame]);
_this.renderEventSelection = core.memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);
_this.renderEventDrag = core.memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);
_this.renderEventResize = core.memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);
- context.calendar.registerInteractiveComponent(_this, {
- el: _this.el,
- useEventCenter: false
- });
return _this;
}
- DayTile.prototype.render = function (props) {
+ DayTile.prototype.firstContext = function (context) {
+ context.calendar.registerInteractiveComponent(this, {
+ el: this.el,
+ useEventCenter: false
+ });
+ };
+ DayTile.prototype.render = function (props, context) {
this.renderFrame(props.date);
- this.renderFgEvents(props.fgSegs);
+ this.renderFgEvents(context, props.fgSegs);
this.renderEventSelection(props.eventSelection);
this.renderEventDrag(props.eventDragInstances);
this.renderEventResize(props.eventResizeInstances);
@@ -611,11 +618,11 @@ Docs & License: https://fullcalendar.io/
DayTile.prototype.destroy = function () {
_super.prototype.destroy.call(this);
this.renderFrame.unrender(); // should unrender everything else
- this.calendar.unregisterInteractiveComponent(this);
+ this.context.calendar.unregisterInteractiveComponent(this);
};
DayTile.prototype._renderFrame = function (date) {
- var _a = this, theme = _a.theme, dateEnv = _a.dateEnv;
- var title = dateEnv.format(date, core.createFormatter(this.opt('dayPopoverFormat')) // TODO: cache
+ var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;
+ var title = dateEnv.format(date, core.createFormatter(options.dayPopoverFormat) // TODO: cache
);
this.el.innerHTML =
'<div class="fc-header ' + theme.getClass('popoverHeader') + '">' +
@@ -654,7 +661,7 @@ Docs & License: https://fullcalendar.io/
var DayTileEventRenderer = /** @class */ (function (_super) {
__extends(DayTileEventRenderer, _super);
function DayTileEventRenderer(dayTile) {
- var _this = _super.call(this, dayTile.context) || this;
+ var _this = _super.call(this) || this;
_this.dayTile = dayTile;
return _this;
}
@@ -715,10 +722,11 @@ Docs & License: https://fullcalendar.io/
var WEEK_NUM_FORMAT = core.createFormatter({ week: 'numeric' });
var DayGrid = /** @class */ (function (_super) {
__extends(DayGrid, _super);
- function DayGrid(context, el, renderProps) {
- var _this = _super.call(this, context, el) || this;
+ function DayGrid(el, renderProps) {
+ var _this = _super.call(this, el) || this;
_this.bottomCoordPadding = 0; // hack for extending the hit area for the last row of the coordinate grid
_this.isCellSizesDirty = false;
+ _this.renderProps = renderProps;
var eventRenderer = _this.eventRenderer = new DayGridEventRenderer(_this);
var fillRenderer = _this.fillRenderer = new DayGridFillRenderer(_this);
_this.mirrorRenderer = new DayGridMirrorRenderer(_this);
@@ -730,18 +738,17 @@ Docs & License: https://fullcalendar.io/
_this.renderEventSelection = core.memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);
_this.renderEventDrag = core.memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderCells]);
_this.renderEventResize = core.memoizeRendering(_this._renderEventResize, _this._unrenderEventResize, [renderCells]);
- _this.renderProps = renderProps;
return _this;
}
- DayGrid.prototype.render = function (props) {
+ DayGrid.prototype.render = function (props, context) {
var cells = props.cells;
this.rowCnt = cells.length;
this.colCnt = cells[0].length;
this.renderCells(cells, props.isRigid);
- this.renderBusinessHours(props.businessHourSegs);
- this.renderDateSelection(props.dateSelectionSegs);
- this.renderBgEvents(props.bgEventSegs);
- this.renderFgEvents(props.fgEventSegs);
+ this.renderBusinessHours(context, props.businessHourSegs);
+ this.renderDateSelection(context, props.dateSelectionSegs);
+ this.renderBgEvents(context, props.bgEventSegs);
+ this.renderFgEvents(context, props.fgEventSegs);
this.renderEventSelection(props.eventSelection);
this.renderEventDrag(props.eventDrag);
this.renderEventResize(props.eventResize);
@@ -766,12 +773,12 @@ Docs & License: https://fullcalendar.io/
eventSelection: ownProps.eventSelection,
eventDragInstances: ownProps.eventDrag ? ownProps.eventDrag.affectedInstances : null,
eventResizeInstances: ownProps.eventResize ? ownProps.eventResize.affectedInstances : null
- });
+ }, this.context);
};
/* Date Rendering
------------------------------------------------------------------------------------------------------------------*/
DayGrid.prototype._renderCells = function (cells, isRigid) {
- var _a = this, view = _a.view, dateEnv = _a.dateEnv;
+ var _a = this.context, calendar = _a.calendar, view = _a.view, isRtl = _a.isRtl, dateEnv = _a.dateEnv;
var _b = this, rowCnt = _b.rowCnt, colCnt = _b.colCnt;
var html = '';
var row;
@@ -782,7 +789,7 @@ Docs & License: https://fullcalendar.io/
this.el.innerHTML = html;
this.rowEls = core.findElements(this.el, '.fc-row');
this.cellEls = core.findElements(this.el, '.fc-day, .fc-disabled-day');
- if (this.isRtl) {
+ if (isRtl) {
this.cellEls.reverse();
}
this.rowPositions = new core.PositionCache(this.el, this.rowEls, false, true // vertical
@@ -793,7 +800,7 @@ Docs & License: https://fullcalendar.io/
// trigger dayRender with each cell's element
for (row = 0; row < rowCnt; row++) {
for (col = 0; col < colCnt; col++) {
- this.publiclyTrigger('dayRender', [
+ calendar.publiclyTrigger('dayRender', [
{
date: dateEnv.toDate(cells[row][col].date),
el: this.getCellEl(row, col),
@@ -810,7 +817,7 @@ Docs & License: https://fullcalendar.io/
// Generates the HTML for a single row, which is a div that wraps a table.
// `row` is the row number.
DayGrid.prototype.renderDayRowHtml = function (row, isRigid) {
- var theme = this.theme;
+ var theme = this.context.theme;
var classes = ['fc-row', 'fc-week', theme.getClass('dayRow')];
if (isRigid) {
classes.push('fc-rigid');
@@ -849,12 +856,13 @@ Docs & License: https://fullcalendar.io/
/* Grid Number Rendering
------------------------------------------------------------------------------------------------------------------*/
DayGrid.prototype.renderNumberTrHtml = function (row) {
+ var isRtl = this.context.isRtl;
var intro = this.renderProps.renderNumberIntroHtml(row, this);
return '' +
'<tr>' +
- (this.isRtl ? '' : intro) +
+ (isRtl ? '' : intro) +
this.renderNumberCellsHtml(row) +
- (this.isRtl ? intro : '') +
+ (isRtl ? intro : '') +
'</tr>';
};
DayGrid.prototype.renderNumberCellsHtml = function (row) {
@@ -865,7 +873,7 @@ Docs & License: https://fullcalendar.io/
date = this.props.cells[row][col].date;
htmls.push(this.renderNumberCellHtml(date));
}
- if (this.isRtl) {
+ if (this.context.isRtl) {
htmls.reverse();
}
return htmls.join('');
@@ -873,7 +881,7 @@ Docs & License: https://fullcalendar.io/
// Generates the HTML for the <td>s of the "number" row in the DayGrid's content skeleton.
// The number row will only exist if either day numbers or week numbers are turned on.
DayGrid.prototype.renderNumberCellHtml = function (date) {
- var _a = this, view = _a.view, dateEnv = _a.dateEnv;
+ var _a = this.context, dateEnv = _a.dateEnv, options = _a.options;
var html = '';
var isDateValid = core.rangeContainsMarker(this.props.dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.
var isDayNumberVisible = this.getIsDayNumbersVisible() && isDateValid;
@@ -894,11 +902,11 @@ Docs & License: https://fullcalendar.io/
'') +
'>';
if (this.renderProps.cellWeekNumbersVisible && (date.getUTCDay() === weekCalcFirstDow)) {
- html += core.buildGotoAnchorHtml(view, { date: date, type: 'week' }, { 'class': 'fc-week-number' }, dateEnv.format(date, WEEK_NUM_FORMAT) // inner HTML
+ html += core.buildGotoAnchorHtml(options, dateEnv, { date: date, type: 'week' }, { 'class': 'fc-week-number' }, dateEnv.format(date, WEEK_NUM_FORMAT) // inner HTML
);
}
if (isDayNumberVisible) {
- html += core.buildGotoAnchorHtml(view, date, { 'class': 'fc-day-number' }, dateEnv.format(date, DAY_NUM_FORMAT) // inner HTML
+ html += core.buildGotoAnchorHtml(options, dateEnv, date, { 'class': 'fc-day-number' }, dateEnv.format(date, DAY_NUM_FORMAT) // inner HTML
);
}
html += '</td>';
@@ -907,10 +915,13 @@ Docs & License: https://fullcalendar.io/
/* Sizing
------------------------------------------------------------------------------------------------------------------*/
DayGrid.prototype.updateSize = function (isResize) {
+ var calendar = this.context.calendar;
var _a = this, fillRenderer = _a.fillRenderer, eventRenderer = _a.eventRenderer, mirrorRenderer = _a.mirrorRenderer;
- if (isResize || this.isCellSizesDirty) {
- this.buildColPositions();
- this.buildRowPositions();
+ if (isResize ||
+ this.isCellSizesDirty ||
+ calendar.isEventsUpdated // hack
+ ) {
+ this.buildPositionCaches();
this.isCellSizesDirty = false;
}
fillRenderer.computeSizes(isResize);
@@ -920,6 +931,10 @@ Docs & License: https://fullcalendar.io/
eventRenderer.assignSizes(isResize);
mirrorRenderer.assignSizes(isResize);
};
+ DayGrid.prototype.buildPositionCaches = function () {
+ this.buildColPositions();
+ this.buildRowPositions();
+ };
DayGrid.prototype.buildColPositions = function () {
this.colPositions.build();
};
@@ -962,13 +977,13 @@ Docs & License: https://fullcalendar.io/
DayGrid.prototype._renderEventDrag = function (state) {
if (state) {
this.eventRenderer.hideByHash(state.affectedInstances);
- this.fillRenderer.renderSegs('highlight', state.segs);
+ this.fillRenderer.renderSegs('highlight', this.context, state.segs);
}
};
DayGrid.prototype._unrenderEventDrag = function (state) {
if (state) {
this.eventRenderer.showByHash(state.affectedInstances);
- this.fillRenderer.unrender('highlight');
+ this.fillRenderer.unrender('highlight', this.context);
}
};
/* Event Resize Visualization
@@ -976,15 +991,15 @@ Docs & License: https://fullcalendar.io/
DayGrid.prototype._renderEventResize = function (state) {
if (state) {
this.eventRenderer.hideByHash(state.affectedInstances);
- this.fillRenderer.renderSegs('highlight', state.segs);
- this.mirrorRenderer.renderSegs(state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
+ this.fillRenderer.renderSegs('highlight', this.context, state.segs);
+ this.mirrorRenderer.renderSegs(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
}
};
DayGrid.prototype._unrenderEventResize = function (state) {
if (state) {
this.eventRenderer.showByHash(state.affectedInstances);
- this.fillRenderer.unrender('highlight');
- this.mirrorRenderer.unrender(state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
+ this.fillRenderer.unrender('highlight', this.context);
+ this.mirrorRenderer.unrender(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
}
};
/* More+ Link Popover
@@ -1040,7 +1055,8 @@ Docs & License: https://fullcalendar.io/
// `levelLimit` is a number for the maximum (inclusive) number of levels allowed.
DayGrid.prototype.limitRow = function (row, levelLimit) {
var _this = this;
- var _a = this, colCnt = _a.colCnt, isRtl = _a.isRtl;
+ var colCnt = this.colCnt;
+ var isRtl = this.context.isRtl;
var rowStruct = this.eventRenderer.rowStructs[row];
var moreNodes = []; // array of "more" <a> links and <td> DOM nodes
var col = 0; // col #, left-to-right (not chronologically)
@@ -1068,7 +1084,7 @@ Docs & License: https://fullcalendar.io/
moreLink = _this.renderMoreLink(row, col, segsBelow);
moreWrap = core.createElement('div', null, moreLink);
td.appendChild(moreWrap);
- moreNodes.push(moreWrap[0]);
+ moreNodes.push(moreWrap);
}
col++;
}
@@ -1139,12 +1155,12 @@ Docs & License: https://fullcalendar.io/
// Responsible for attaching click handler as well.
DayGrid.prototype.renderMoreLink = function (row, col, hiddenSegs) {
var _this = this;
- var _a = this, view = _a.view, dateEnv = _a.dateEnv;
+ var _a = this.context, calendar = _a.calendar, view = _a.view, dateEnv = _a.dateEnv, options = _a.options, isRtl = _a.isRtl;
var a = core.createElement('a', { className: 'fc-more' });
a.innerText = this.getMoreLinkText(hiddenSegs.length);
a.addEventListener('click', function (ev) {
- var clickOption = _this.opt('eventLimitClick');
- var _col = _this.isRtl ? _this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?
+ var clickOption = options.eventLimitClick;
+ var _col = isRtl ? _this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?
var date = _this.props.cells[row][_col].date;
var moreEl = ev.currentTarget;
var dayEl = _this.getCellEl(row, col);
@@ -1154,7 +1170,7 @@ Docs & License: https://fullcalendar.io/
var reslicedHiddenSegs = _this.resliceDaySegs(hiddenSegs, date);
if (typeof clickOption === 'function') {
// the returned value can be an atomic option
- clickOption = _this.publiclyTrigger('eventLimitClick', [
+ clickOption = calendar.publiclyTrigger('eventLimitClick', [
{
date: dateEnv.toDate(date),
allDay: true,
@@ -1171,7 +1187,7 @@ Docs & License: https://fullcalendar.io/
_this.showSegPopover(row, col, moreEl, reslicedAllSegs);
}
else if (typeof clickOption === 'string') { // a view name
- view.calendar.zoomTo(date, clickOption);
+ calendar.zoomTo(date, clickOption);
}
});
return a;
@@ -1179,8 +1195,8 @@ Docs & License: https://fullcalendar.io/
// Reveals the popover that displays all events within a cell
DayGrid.prototype.showSegPopover = function (row, col, moreLink, segs) {
var _this = this;
- var _a = this, calendar = _a.calendar, view = _a.view, theme = _a.theme;
- var _col = this.isRtl ? this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?
+ var _a = this.context, calendar = _a.calendar, view = _a.view, theme = _a.theme, isRtl = _a.isRtl;
+ var _col = isRtl ? this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?
var moreWrap = moreLink.parentNode; // the <div> wrapper around the <a>
var topEl; // the element we want to match the top coordinate of
var options;
@@ -1196,7 +1212,7 @@ Docs & License: https://fullcalendar.io/
top: core.computeRect(topEl).top,
autoHide: true,
content: function (el) {
- _this.segPopoverTile = new DayTile(_this.context, el);
+ _this.segPopoverTile = new DayTile(el);
_this.updateSegPopoverTile(_this.props.cells[row][_col].date, segs);
},
hide: function () {
@@ -1208,7 +1224,7 @@ Docs & License: https://fullcalendar.io/
};
// Determine horizontal coordinate.
// We use the moreWrap instead of the <td> to avoid border confusion.
- if (this.isRtl) {
+ if (isRtl) {
options.right = core.computeRect(moreWrap).right + 1; // +1 to be over cell border
}
else {
@@ -1242,7 +1258,7 @@ Docs & License: https://fullcalendar.io/
};
// Generates the text that should be inside a "more" link, given the number of events it represents
DayGrid.prototype.getMoreLinkText = function (num) {
- var opt = this.opt('eventLimitText');
+ var opt = this.context.options.eventLimitText;
if (typeof opt === 'function') {
return opt(num);
}
@@ -1274,20 +1290,22 @@ Docs & License: https://fullcalendar.io/
----------------------------------------------------------------------------------------------------------------------*/
// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.
// It is responsible for managing width/height.
- var DayGridView = /** @class */ (function (_super) {
- __extends(DayGridView, _super);
- function DayGridView(context, viewSpec, dateProfileGenerator, parentEl) {
- var _this = _super.call(this, context, viewSpec, dateProfileGenerator, parentEl) || this;
+ var AbstractDayGridView = /** @class */ (function (_super) {
+ __extends(AbstractDayGridView, _super);
+ function AbstractDayGridView() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
+ _this.processOptions = core.memoize(_this._processOptions);
+ _this.renderSkeleton = core.memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
/* Header Rendering
------------------------------------------------------------------------------------------------------------------*/
// Generates the HTML that will go before the day-of week header cells
_this.renderHeadIntroHtml = function () {
- var theme = _this.theme;
+ var _a = _this.context, theme = _a.theme, options = _a.options;
if (_this.colWeekNumbersVisible) {
return '' +
'<th class="fc-week-number ' + theme.getClass('widgetHeader') + '" ' + _this.weekNumberStyleAttr() + '>' +
'<span>' + // needed for matchCellWidths
- core.htmlEscape(_this.opt('weekLabel')) +
+ core.htmlEscape(options.weekLabel) +
'</span>' +
'</th>';
}
@@ -1297,13 +1315,13 @@ Docs & License: https://fullcalendar.io/
------------------------------------------------------------------------------------------------------------------*/
// Generates the HTML that will go before content-skeleton cells that display the day/week numbers
_this.renderDayGridNumberIntroHtml = function (row, dayGrid) {
- var dateEnv = _this.dateEnv;
+ var _a = _this.context, options = _a.options, dateEnv = _a.dateEnv;
var weekStart = dayGrid.props.cells[row][0].date;
if (_this.colWeekNumbersVisible) {
return '' +
'<td class="fc-week-number" ' + _this.weekNumberStyleAttr() + '>' +
core.buildGotoAnchorHtml(// aside from link, important for matchCellWidths
- _this, { date: weekStart, type: 'week', forceOff: dayGrid.colCnt === 1 }, dateEnv.format(weekStart, WEEK_NUM_FORMAT$1) // inner HTML
+ options, dateEnv, { date: weekStart, type: 'week', forceOff: dayGrid.colCnt === 1 }, dateEnv.format(weekStart, WEEK_NUM_FORMAT$1) // inner HTML
) +
'</td>';
}
@@ -1311,7 +1329,7 @@ Docs & License: https://fullcalendar.io/
};
// Generates the HTML that goes before the day bg cells for each day-row
_this.renderDayGridBgIntroHtml = function () {
- var theme = _this.theme;
+ var theme = _this.context.theme;
if (_this.colWeekNumbersVisible) {
return '<td class="fc-week-number ' + theme.getClass('widgetContent') + '" ' + _this.weekNumberStyleAttr() + '></td>';
}
@@ -1325,52 +1343,64 @@ Docs & License: https://fullcalendar.io/
}
return '';
};
- _this.el.classList.add('fc-dayGrid-view');
- _this.el.innerHTML = _this.renderSkeletonHtml();
- _this.scroller = new core.ScrollComponent('hidden', // overflow x
- 'auto' // overflow y
- );
- var dayGridContainerEl = _this.scroller.el;
- _this.el.querySelector('.fc-body > tr > td').appendChild(dayGridContainerEl);
- dayGridContainerEl.classList.add('fc-day-grid-container');
- var dayGridEl = core.createElement('div', { className: 'fc-day-grid' });
- dayGridContainerEl.appendChild(dayGridEl);
- var cellWeekNumbersVisible;
- if (_this.opt('weekNumbers')) {
- if (_this.opt('weekNumbersWithinDays')) {
- cellWeekNumbersVisible = true;
- _this.colWeekNumbersVisible = false;
+ return _this;
+ }
+ AbstractDayGridView.prototype._processOptions = function (options) {
+ if (options.weekNumbers) {
+ if (options.weekNumbersWithinDays) {
+ this.cellWeekNumbersVisible = true;
+ this.colWeekNumbersVisible = false;
}
else {
- cellWeekNumbersVisible = false;
- _this.colWeekNumbersVisible = true;
+ this.cellWeekNumbersVisible = false;
+ this.colWeekNumbersVisible = true;
}
}
else {
- _this.colWeekNumbersVisible = false;
- cellWeekNumbersVisible = false;
- }
- _this.dayGrid = new DayGrid(_this.context, dayGridEl, {
- renderNumberIntroHtml: _this.renderDayGridNumberIntroHtml,
- renderBgIntroHtml: _this.renderDayGridBgIntroHtml,
- renderIntroHtml: _this.renderDayGridIntroHtml,
- colWeekNumbersVisible: _this.colWeekNumbersVisible,
- cellWeekNumbersVisible: cellWeekNumbersVisible
- });
- return _this;
- }
- DayGridView.prototype.destroy = function () {
+ this.colWeekNumbersVisible = false;
+ this.cellWeekNumbersVisible = false;
+ }
+ };
+ AbstractDayGridView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context);
+ this.processOptions(context.options);
+ this.renderSkeleton(context);
+ };
+ AbstractDayGridView.prototype.destroy = function () {
_super.prototype.destroy.call(this);
+ this.renderSkeleton.unrender();
+ };
+ AbstractDayGridView.prototype._renderSkeleton = function (context) {
+ this.el.classList.add('fc-dayGrid-view');
+ this.el.innerHTML = this.renderSkeletonHtml();
+ this.scroller = new core.ScrollComponent('hidden', // overflow x
+ 'auto' // overflow y
+ );
+ var dayGridContainerEl = this.scroller.el;
+ this.el.querySelector('.fc-body > tr > td').appendChild(dayGridContainerEl);
+ dayGridContainerEl.classList.add('fc-day-grid-container');
+ var dayGridEl = core.createElement('div', { className: 'fc-day-grid' });
+ dayGridContainerEl.appendChild(dayGridEl);
+ this.dayGrid = new DayGrid(dayGridEl, {
+ renderNumberIntroHtml: this.renderDayGridNumberIntroHtml,
+ renderBgIntroHtml: this.renderDayGridBgIntroHtml,
+ renderIntroHtml: this.renderDayGridIntroHtml,
+ colWeekNumbersVisible: this.colWeekNumbersVisible,
+ cellWeekNumbersVisible: this.cellWeekNumbersVisible
+ });
+ };
+ AbstractDayGridView.prototype._unrenderSkeleton = function () {
+ this.el.classList.remove('fc-dayGrid-view');
this.dayGrid.destroy();
this.scroller.destroy();
};
// Builds the HTML skeleton for the view.
// The day-grid component will render inside of a container defined by this HTML.
- DayGridView.prototype.renderSkeletonHtml = function () {
- var theme = this.theme;
+ AbstractDayGridView.prototype.renderSkeletonHtml = function () {
+ var _a = this.context, theme = _a.theme, options = _a.options;
return '' +
'<table class="' + theme.getClass('tableGrid') + '">' +
- (this.opt('columnHeader') ?
+ (options.columnHeader ?
'<thead class="fc-head">' +
'<tr>' +
'<td class="fc-head-container ' + theme.getClass('widgetHeader') + '">&nbsp;</td>' +
@@ -1385,27 +1415,27 @@ Docs & License: https://fullcalendar.io/
'</table>';
};
// Generates an HTML attribute string for setting the width of the week number column, if it is known
- DayGridView.prototype.weekNumberStyleAttr = function () {
+ AbstractDayGridView.prototype.weekNumberStyleAttr = function () {
if (this.weekNumberWidth != null) {
return 'style="width:' + this.weekNumberWidth + 'px"';
}
return '';
};
// Determines whether each row should have a constant height
- DayGridView.prototype.hasRigidRows = function () {
- var eventLimit = this.opt('eventLimit');
+ AbstractDayGridView.prototype.hasRigidRows = function () {
+ var eventLimit = this.context.options.eventLimit;
return eventLimit && typeof eventLimit !== 'number';
};
/* Dimensions
------------------------------------------------------------------------------------------------------------------*/
- DayGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {
+ AbstractDayGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {
_super.prototype.updateSize.call(this, isResize, viewHeight, isAuto); // will call updateBaseSize. important that executes first
this.dayGrid.updateSize(isResize);
};
// Refreshes the horizontal dimensions of the view
- DayGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {
+ AbstractDayGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {
var dayGrid = this.dayGrid;
- var eventLimit = this.opt('eventLimit');
+ var eventLimit = this.context.options.eventLimit;
var headRowEl = this.header ? this.header.el : null; // HACK
var scrollerHeight;
var scrollbarWidths;
@@ -1456,13 +1486,13 @@ Docs & License: https://fullcalendar.io/
}
};
// given a desired total height of the view, returns what the height of the scroller should be
- DayGridView.prototype.computeScrollerHeight = function (viewHeight) {
+ AbstractDayGridView.prototype.computeScrollerHeight = function (viewHeight) {
return viewHeight -
core.subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
};
// Sets the height of just the DayGrid component in this view
- DayGridView.prototype.setGridHeight = function (height, isAuto) {
- if (this.opt('monthMode')) {
+ AbstractDayGridView.prototype.setGridHeight = function (height, isAuto) {
+ if (this.context.options.monthMode) {
// if auto, make the height of each row the height that it would be if there were 6 weeks
if (isAuto) {
height *= this.dayGrid.rowCnt / 6;
@@ -1480,38 +1510,44 @@ Docs & License: https://fullcalendar.io/
};
/* Scroll
------------------------------------------------------------------------------------------------------------------*/
- DayGridView.prototype.computeInitialDateScroll = function () {
+ AbstractDayGridView.prototype.computeDateScroll = function (duration) {
return { top: 0 };
};
- DayGridView.prototype.queryDateScroll = function () {
+ AbstractDayGridView.prototype.queryDateScroll = function () {
return { top: this.scroller.getScrollTop() };
};
- DayGridView.prototype.applyDateScroll = function (scroll) {
+ AbstractDayGridView.prototype.applyDateScroll = function (scroll) {
if (scroll.top !== undefined) {
this.scroller.setScrollTop(scroll.top);
}
};
- return DayGridView;
+ return AbstractDayGridView;
}(core.View));
- DayGridView.prototype.dateProfileGeneratorClass = DayGridDateProfileGenerator;
+ AbstractDayGridView.prototype.dateProfileGeneratorClass = DayGridDateProfileGenerator;
var SimpleDayGrid = /** @class */ (function (_super) {
__extends(SimpleDayGrid, _super);
- function SimpleDayGrid(context, dayGrid) {
- var _this = _super.call(this, context, dayGrid.el) || this;
+ function SimpleDayGrid(dayGrid) {
+ var _this = _super.call(this, dayGrid.el) || this;
_this.slicer = new DayGridSlicer();
_this.dayGrid = dayGrid;
- context.calendar.registerInteractiveComponent(_this, { el: _this.dayGrid.el });
return _this;
}
+ SimpleDayGrid.prototype.firstContext = function (context) {
+ context.calendar.registerInteractiveComponent(this, { el: this.dayGrid.el });
+ };
SimpleDayGrid.prototype.destroy = function () {
_super.prototype.destroy.call(this);
- this.calendar.unregisterInteractiveComponent(this);
+ this.context.calendar.unregisterInteractiveComponent(this);
};
- SimpleDayGrid.prototype.render = function (props) {
+ SimpleDayGrid.prototype.render = function (props, context) {
var dayGrid = this.dayGrid;
var dateProfile = props.dateProfile, dayTable = props.dayTable;
- dayGrid.receiveProps(__assign({}, this.slicer.sliceProps(props, dateProfile, props.nextDayThreshold, dayGrid, dayTable), { dateProfile: dateProfile, cells: dayTable.cells, isRigid: props.isRigid }));
+ dayGrid.receiveContext(context); // hack because context is used in sliceProps
+ dayGrid.receiveProps(__assign({}, this.slicer.sliceProps(props, dateProfile, props.nextDayThreshold, context.calendar, dayGrid, dayTable), { dateProfile: dateProfile, cells: dayTable.cells, isRigid: props.isRigid }), context);
+ };
+ SimpleDayGrid.prototype.buildPositionCaches = function () {
+ this.dayGrid.buildPositionCaches();
};
SimpleDayGrid.prototype.queryHit = function (positionLeft, positionTop) {
var rawHit = this.dayGrid.positionToHit(positionLeft, positionTop);
@@ -1543,36 +1579,25 @@ Docs & License: https://fullcalendar.io/
return DayGridSlicer;
}(core.Slicer));
- var DayGridView$1 = /** @class */ (function (_super) {
+ var DayGridView = /** @class */ (function (_super) {
__extends(DayGridView, _super);
- function DayGridView(_context, viewSpec, dateProfileGenerator, parentEl) {
- var _this = _super.call(this, _context, viewSpec, dateProfileGenerator, parentEl) || this;
+ function DayGridView() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
_this.buildDayTable = core.memoize(buildDayTable);
- if (_this.opt('columnHeader')) {
- _this.header = new core.DayHeader(_this.context, _this.el.querySelector('.fc-head-container'));
- }
- _this.simpleDayGrid = new SimpleDayGrid(_this.context, _this.dayGrid);
return _this;
}
- DayGridView.prototype.destroy = function () {
- _super.prototype.destroy.call(this);
- if (this.header) {
- this.header.destroy();
- }
- this.simpleDayGrid.destroy();
- };
- DayGridView.prototype.render = function (props) {
- _super.prototype.render.call(this, props);
+ DayGridView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context); // will call _renderSkeleton/_unrenderSkeleton
var dateProfile = this.props.dateProfile;
var dayTable = this.dayTable =
- this.buildDayTable(dateProfile, this.dateProfileGenerator);
+ this.buildDayTable(dateProfile, props.dateProfileGenerator);
if (this.header) {
this.header.receiveProps({
dateProfile: dateProfile,
dates: dayTable.headerDates,
datesRepDistinctDays: dayTable.rowCnt === 1,
renderIntroHtml: this.renderHeadIntroHtml
- });
+ }, context);
}
this.simpleDayGrid.receiveProps({
dateProfile: dateProfile,
@@ -1585,11 +1610,25 @@ Docs & License: https://fullcalendar.io/
eventDrag: props.eventDrag,
eventResize: props.eventResize,
isRigid: this.hasRigidRows(),
- nextDayThreshold: this.nextDayThreshold
- });
+ nextDayThreshold: this.context.nextDayThreshold
+ }, context);
+ };
+ DayGridView.prototype._renderSkeleton = function (context) {
+ _super.prototype._renderSkeleton.call(this, context);
+ if (context.options.columnHeader) {
+ this.header = new core.DayHeader(this.el.querySelector('.fc-head-container'));
+ }
+ this.simpleDayGrid = new SimpleDayGrid(this.dayGrid);
+ };
+ DayGridView.prototype._unrenderSkeleton = function () {
+ _super.prototype._unrenderSkeleton.call(this);
+ if (this.header) {
+ this.header.destroy();
+ }
+ this.simpleDayGrid.destroy();
};
return DayGridView;
- }(DayGridView));
+ }(AbstractDayGridView));
function buildDayTable(dateProfile, dateProfileGenerator) {
var daySeries = new core.DaySeries(dateProfile.renderRange, dateProfileGenerator);
return new core.DayTable(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));
@@ -1598,7 +1637,7 @@ Docs & License: https://fullcalendar.io/
var main = core.createPlugin({
defaultView: 'dayGridMonth',
views: {
- dayGrid: DayGridView$1,
+ dayGrid: DayGridView,
dayGridDay: {
type: 'dayGrid',
duration: { days: 1 }
@@ -1616,11 +1655,11 @@ Docs & License: https://fullcalendar.io/
}
});
- exports.AbstractDayGridView = DayGridView;
+ exports.AbstractDayGridView = AbstractDayGridView;
exports.DayBgRow = DayBgRow;
exports.DayGrid = DayGrid;
exports.DayGridSlicer = DayGridSlicer;
- exports.DayGridView = DayGridView$1;
+ exports.DayGridView = DayGridView;
exports.SimpleDayGrid = SimpleDayGrid;
exports.buildBasicDayTable = buildDayTable;
exports.default = main;
diff --git a/library/fullcalendar/packages/daygrid/main.min.css b/library/fullcalendar/packages/daygrid/main.min.css
index 75fd5cb88..55a572412 100644
--- a/library/fullcalendar/packages/daygrid/main.min.css
+++ b/library/fullcalendar/packages/daygrid/main.min.css
@@ -1,5 +1 @@
-/*!
-FullCalendar Day Grid Plugin v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/.fc-dayGridDay-view .fc-content-skeleton,.fc-dayGridWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-dayGrid-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-dayGrid-view .fc-day-number,.fc-dayGrid-view .fc-week-number{padding:2px}.fc-dayGrid-view th.fc-day-number,.fc-dayGrid-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-dayGrid-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-dayGrid-view td.fc-week-number{text-align:center}.fc-dayGrid-view td.fc-week-number>*{display:inline-block;min-width:1.25em} \ No newline at end of file
+.fc-dayGridDay-view .fc-content-skeleton,.fc-dayGridWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-dayGrid-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-dayGrid-view .fc-day-number,.fc-dayGrid-view .fc-week-number{padding:2px}.fc-dayGrid-view th.fc-day-number,.fc-dayGrid-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-dayGrid-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-dayGrid-view td.fc-week-number{text-align:center}.fc-dayGrid-view td.fc-week-number>*{display:inline-block;min-width:1.25em} \ No newline at end of file
diff --git a/library/fullcalendar/packages/daygrid/main.min.js b/library/fullcalendar/packages/daygrid/main.min.js
index 54b390012..21715dfda 100644
--- a/library/fullcalendar/packages/daygrid/main.min.js
+++ b/library/fullcalendar/packages/daygrid/main.min.js
@@ -1,20 +1,6 @@
/*!
-FullCalendar Day Grid Plugin v4.0.2
+FullCalendar Day Grid Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):(e=e||self,t(e.FullCalendarDayGrid={},e.FullCalendar))}(this,function(e,t){"use strict";function r(e,t){function r(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function n(e,t){var r,n;for(r=0;r<t.length;r++)if(n=t[r],n.firstCol<=e.lastCol&&n.lastCol>=e.firstCol)return!0;return!1}function i(e,t){return e.leftCol-t.leftCol}function o(e,r,n,i){var o=n.dateEnv,s=n.theme,l=t.rangeContainsMarker(r.activeRange,e),a=t.getDayClasses(e,r,n);return a.unshift("fc-day",s.getClass("widgetContent")),'<td class="'+a.join(" ")+'"'+(l?' data-date="'+o.formatIso(e,{omitTime:!0})+'"':"")+(i?" "+i:"")+"></td>"}function s(e,r){var n=new t.DaySeries(e.renderRange,r);return new t.DayTable(n,/year|month|week/.test(e.currentRangeUnit))}/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var l=function(e,t){return(l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},a.apply(this,arguments)},d=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return r(n,e),n.prototype.buildRenderRange=function(r,n,i){var o,s=this.dateEnv,l=e.prototype.buildRenderRange.call(this,r,n,i),a=l.start,d=l.end;if(/^(year|month)$/.test(n)&&(a=s.startOfWeek(a),o=s.startOfWeek(d),o.valueOf()!==d.valueOf()&&(d=t.addWeeks(o,1))),this.options.monthMode&&this.options.fixedWeekCount){var c=Math.ceil(t.diffWeeks(a,d));d=t.addWeeks(d,6-c)}return{start:a,end:d}},n}(t.DateProfileGenerator),c=function(){function e(e){var t=this;this.isHidden=!0,this.margin=10,this.documentMousedown=function(e){t.el&&!t.el.contains(e.target)&&t.hide()},this.options=e}return e.prototype.show=function(){this.isHidden&&(this.el||this.render(),this.el.style.display="",this.position(),this.isHidden=!1,this.trigger("show"))},e.prototype.hide=function(){this.isHidden||(this.el.style.display="none",this.isHidden=!0,this.trigger("hide"))},e.prototype.render=function(){var e=this,r=this.options,n=this.el=t.createElement("div",{className:"fc-popover "+(r.className||""),style:{top:"0",left:"0"}});"function"==typeof r.content&&r.content(n),r.parentEl.appendChild(n),t.listenBySelector(n,"click",".fc-close",function(t){e.hide()}),r.autoHide&&document.addEventListener("mousedown",this.documentMousedown)},e.prototype.destroy=function(){this.hide(),this.el&&(t.removeElement(this.el),this.el=null),document.removeEventListener("mousedown",this.documentMousedown)},e.prototype.position=function(){var e,r,n=this.options,i=this.el,o=i.getBoundingClientRect(),s=t.computeRect(i.offsetParent),l=t.computeClippingRect(n.parentEl);e=n.top||0,r=void 0!==n.left?n.left:void 0!==n.right?n.right-o.width:0,e=Math.min(e,l.bottom-o.height-this.margin),e=Math.max(e,l.top+this.margin),r=Math.min(r,l.right-o.width-this.margin),r=Math.max(r,l.left+this.margin),t.applyStyle(i,{top:e-s.top,left:r-s.left})},e.prototype.trigger=function(e){this.options[e]&&this.options[e].apply(this,Array.prototype.slice.call(arguments,1))},e}(),h=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return r(n,e),n.prototype.renderSegHtml=function(e,r){var n,i,o=this.context.options,s=e.eventRange,l=s.def,a=s.ui,d=l.allDay,c=a.startEditable,h=d&&e.isStart&&a.durationEditable&&o.eventResizableFromStart,p=d&&e.isEnd&&a.durationEditable,u=this.getSegClasses(e,c,h||p,r),f=t.cssToStr(this.getSkinCss(a)),g="";return u.unshift("fc-day-grid-event","fc-h-event"),e.isStart&&(n=this.getTimeText(s))&&(g='<span class="fc-time">'+t.htmlEscape(n)+"</span>"),i='<span class="fc-title">'+(t.htmlEscape(l.title||"")||"&nbsp;")+"</span>",'<a class="'+u.join(" ")+'"'+(l.url?' href="'+t.htmlEscape(l.url)+'"':"")+(f?' style="'+f+'"':"")+'><div class="fc-content">'+("rtl"===o.dir?i+" "+g:g+" "+i)+"</div>"+(h?'<div class="fc-resizer fc-start-resizer"></div>':"")+(p?'<div class="fc-resizer fc-end-resizer"></div>':"")+"</a>"},n.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"}},n.prototype.computeDisplayEventEnd=function(){return!1},n}(t.FgEventRenderer),p=function(e){function o(t){var r=e.call(this,t.context)||this;return r.dayGrid=t,r}return r(o,e),o.prototype.attachSegs=function(e,t){var r=this.rowStructs=this.renderSegRows(e);this.dayGrid.rowEls.forEach(function(e,t){e.querySelector(".fc-content-skeleton > table").appendChild(r[t].tbodyEl)}),t||this.dayGrid.removeSegPopover()},o.prototype.detachSegs=function(){for(var e,r=this.rowStructs||[];e=r.pop();)t.removeElement(e.tbodyEl);this.rowStructs=null},o.prototype.renderSegRows=function(e){var t,r,n=[];for(t=this.groupSegRows(e),r=0;r<t.length;r++)n.push(this.renderSegRow(r,t[r]));return n},o.prototype.renderSegRow=function(e,r){function n(e){for(;s<e;)c=(b[i-1]||[])[s],c?c.rowSpan=(c.rowSpan||1)+1:(c=document.createElement("td"),l.appendChild(c)),v[i][s]=c,b[i][s]=c,s++}var i,o,s,l,a,d,c,h=this.dayGrid,p=h.colCnt,u=h.isRtl,f=this.buildSegLevels(r),g=Math.max(1,f.length),m=document.createElement("tbody"),y=[],v=[],b=[];for(i=0;i<g;i++){if(o=f[i],s=0,l=document.createElement("tr"),y.push([]),v.push([]),b.push([]),o)for(a=0;a<o.length;a++){d=o[a];var w=u?p-1-d.lastCol:d.firstCol,S=u?p-1-d.firstCol:d.lastCol;for(n(w),c=t.createElement("td",{className:"fc-event-container"},d.el),w!==S?c.colSpan=S-w+1:b[i][s]=c;s<=S;)v[i][s]=c,y[i][s]=d,s++;l.appendChild(c)}n(p);var C=h.renderProps.renderIntroHtml();C&&(h.isRtl?t.appendToElement(l,C):t.prependToElement(l,C)),m.appendChild(l)}return{row:e,tbodyEl:m,cellMatrix:v,segMatrix:y,segLevels:f,segs:r}},o.prototype.buildSegLevels=function(e){var t,r,o,s=this.dayGrid,l=s.isRtl,a=s.colCnt,d=[];for(e=this.sortEventSegs(e),t=0;t<e.length;t++){for(r=e[t],o=0;o<d.length&&n(r,d[o]);o++);r.level=o,r.leftCol=l?a-1-r.lastCol:r.firstCol,r.rightCol=l?a-1-r.firstCol:r.lastCol,(d[o]||(d[o]=[])).push(r)}for(o=0;o<d.length;o++)d[o].sort(i);return d},o.prototype.groupSegRows=function(e){var t,r=[];for(t=0;t<this.dayGrid.rowCnt;t++)r.push([]);for(t=0;t<e.length;t++)r[e[t].row].push(e[t]);return r},o.prototype.computeDisplayEventEnd=function(){return 1===this.dayGrid.colCnt},o}(h),u=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return r(n,e),n.prototype.attachSegs=function(e,r){var n=r.sourceSeg,i=this.rowStructs=this.renderSegRows(e);this.dayGrid.rowEls.forEach(function(e,r){var o,s,l=t.htmlToElement('<div class="fc-mirror-skeleton"><table></table></div>');n&&n.row===r?o=n.el:(o=e.querySelector(".fc-content-skeleton tbody"))||(o=e.querySelector(".fc-content-skeleton table")),s=o.getBoundingClientRect().top-e.getBoundingClientRect().top,l.style.top=s+"px",l.querySelector("table").appendChild(i[r].tbodyEl),e.appendChild(l)})},n}(p),f=function(e){function n(t){var r=e.call(this,t.context)||this;return r.fillSegTag="td",r.dayGrid=t,r}return r(n,e),n.prototype.renderSegs=function(t,r){"bgEvent"===t&&(r=r.filter(function(e){return e.eventRange.def.allDay})),e.prototype.renderSegs.call(this,t,r)},n.prototype.attachSegs=function(e,t){var r,n,i,o=[];for(r=0;r<t.length;r++)n=t[r],i=this.renderFillRow(e,n),this.dayGrid.rowEls[n.row].appendChild(i),o.push(i);return o},n.prototype.renderFillRow=function(e,r){var n,i,o,s=this.dayGrid,l=s.colCnt,a=s.isRtl,d=a?l-1-r.lastCol:r.firstCol,c=a?l-1-r.firstCol:r.lastCol,h=d,p=c+1;n="businessHours"===e?"bgevent":e.toLowerCase(),i=t.htmlToElement('<div class="fc-'+n+'-skeleton"><table><tr></tr></table></div>'),o=i.getElementsByTagName("tr")[0],h>0&&t.appendToElement(o,new Array(h+1).join("<td></td>")),r.el.colSpan=p-h,o.appendChild(r.el),p<l&&t.appendToElement(o,new Array(l-p+1).join("<td></td>"));var u=s.renderProps.renderIntroHtml();return u&&(s.isRtl?t.appendToElement(o,u):t.prependToElement(o,u)),i},n}(t.FillRenderer),g=function(e){function n(r,n){var i=e.call(this,r,n)||this,o=i.eventRenderer=new m(i),s=i.renderFrame=t.memoizeRendering(i._renderFrame);return i.renderFgEvents=t.memoizeRendering(o.renderSegs.bind(o),o.unrender.bind(o),[s]),i.renderEventSelection=t.memoizeRendering(o.selectByInstanceId.bind(o),o.unselectByInstanceId.bind(o),[i.renderFgEvents]),i.renderEventDrag=t.memoizeRendering(o.hideByHash.bind(o),o.showByHash.bind(o),[s]),i.renderEventResize=t.memoizeRendering(o.hideByHash.bind(o),o.showByHash.bind(o),[s]),r.calendar.registerInteractiveComponent(i,{el:i.el,useEventCenter:!1}),i}return r(n,e),n.prototype.render=function(e){this.renderFrame(e.date),this.renderFgEvents(e.fgSegs),this.renderEventSelection(e.eventSelection),this.renderEventDrag(e.eventDragInstances),this.renderEventResize(e.eventResizeInstances)},n.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderFrame.unrender(),this.calendar.unregisterInteractiveComponent(this)},n.prototype._renderFrame=function(e){var r=this,n=r.theme,i=r.dateEnv,o=i.format(e,t.createFormatter(this.opt("dayPopoverFormat")));this.el.innerHTML='<div class="fc-header '+n.getClass("popoverHeader")+'"><span class="fc-title">'+t.htmlEscape(o)+'</span><span class="fc-close '+n.getIconClass("close")+'"></span></div><div class="fc-body '+n.getClass("popoverContent")+'"><div class="fc-event-container"></div></div>',this.segContainerEl=this.el.querySelector(".fc-event-container")},n.prototype.queryHit=function(e,r,n,i){var o=this.props.date;if(e<n&&r<i)return{component:this,dateSpan:{allDay:!0,range:{start:o,end:t.addDays(o,1)}},dayEl:this.el,rect:{left:0,top:0,right:n,bottom:i},layer:1}},n}(t.DateComponent),m=function(e){function n(t){var r=e.call(this,t.context)||this;return r.dayTile=t,r}return r(n,e),n.prototype.attachSegs=function(e){for(var t=0,r=e;t<r.length;t++){var n=r[t];this.dayTile.segContainerEl.appendChild(n.el)}},n.prototype.detachSegs=function(e){for(var r=0,n=e;r<n.length;r++){var i=n[r];t.removeElement(i.el)}},n}(h),y=function(){function e(e){this.context=e}return e.prototype.renderHtml=function(e){var t=[];e.renderIntroHtml&&t.push(e.renderIntroHtml());for(var r=0,n=e.cells;r<n.length;r++){var i=n[r];t.push(o(i.date,e.dateProfile,this.context,i.htmlAttrs))}return e.cells.length||t.push('<td class="fc-day '+this.context.theme.getClass("widgetContent")+'"></td>'),"rtl"===this.context.options.dir&&t.reverse(),"<tr>"+t.join("")+"</tr>"},e}(),v=t.createFormatter({day:"numeric"}),b=t.createFormatter({week:"numeric"}),w=function(e){function n(r,n,i){var o=e.call(this,r,n)||this;o.bottomCoordPadding=0,o.isCellSizesDirty=!1;var s=o.eventRenderer=new p(o),l=o.fillRenderer=new f(o);o.mirrorRenderer=new u(o);var a=o.renderCells=t.memoizeRendering(o._renderCells,o._unrenderCells);return o.renderBusinessHours=t.memoizeRendering(l.renderSegs.bind(l,"businessHours"),l.unrender.bind(l,"businessHours"),[a]),o.renderDateSelection=t.memoizeRendering(l.renderSegs.bind(l,"highlight"),l.unrender.bind(l,"highlight"),[a]),o.renderBgEvents=t.memoizeRendering(l.renderSegs.bind(l,"bgEvent"),l.unrender.bind(l,"bgEvent"),[a]),o.renderFgEvents=t.memoizeRendering(s.renderSegs.bind(s),s.unrender.bind(s),[a]),o.renderEventSelection=t.memoizeRendering(s.selectByInstanceId.bind(s),s.unselectByInstanceId.bind(s),[o.renderFgEvents]),o.renderEventDrag=t.memoizeRendering(o._renderEventDrag,o._unrenderEventDrag,[a]),o.renderEventResize=t.memoizeRendering(o._renderEventResize,o._unrenderEventResize,[a]),o.renderProps=i,o}return r(n,e),n.prototype.render=function(e){var t=e.cells;this.rowCnt=t.length,this.colCnt=t[0].length,this.renderCells(t,e.isRigid),this.renderBusinessHours(e.businessHourSegs),this.renderDateSelection(e.dateSelectionSegs),this.renderBgEvents(e.bgEventSegs),this.renderFgEvents(e.fgEventSegs),this.renderEventSelection(e.eventSelection),this.renderEventDrag(e.eventDrag),this.renderEventResize(e.eventResize),this.segPopoverTile&&this.updateSegPopoverTile()},n.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderCells.unrender()},n.prototype.getCellRange=function(e,r){var n=this.props.cells[e][r].date;return{start:n,end:t.addDays(n,1)}},n.prototype.updateSegPopoverTile=function(e,t){var r=this.props;this.segPopoverTile.receiveProps({date:e||this.segPopoverTile.props.date,fgSegs:t||this.segPopoverTile.props.fgSegs,eventSelection:r.eventSelection,eventDragInstances:r.eventDrag?r.eventDrag.affectedInstances:null,eventResizeInstances:r.eventResize?r.eventResize.affectedInstances:null})},n.prototype._renderCells=function(e,r){var n,i,o=this,s=o.view,l=o.dateEnv,a=this,d=a.rowCnt,c=a.colCnt,h="";for(n=0;n<d;n++)h+=this.renderDayRowHtml(n,r);for(this.el.innerHTML=h,this.rowEls=t.findElements(this.el,".fc-row"),this.cellEls=t.findElements(this.el,".fc-day, .fc-disabled-day"),this.isRtl&&this.cellEls.reverse(),this.rowPositions=new t.PositionCache(this.el,this.rowEls,!1,!0),this.colPositions=new t.PositionCache(this.el,this.cellEls.slice(0,c),!0,!1),n=0;n<d;n++)for(i=0;i<c;i++)this.publiclyTrigger("dayRender",[{date:l.toDate(e[n][i].date),el:this.getCellEl(n,i),view:s}]);this.isCellSizesDirty=!0},n.prototype._unrenderCells=function(){this.removeSegPopover()},n.prototype.renderDayRowHtml=function(e,t){var r=this.theme,n=["fc-row","fc-week",r.getClass("dayRow")];t&&n.push("fc-rigid");var i=new y(this.context);return'<div class="'+n.join(" ")+'"><div class="fc-bg"><table class="'+r.getClass("tableGrid")+'">'+i.renderHtml({cells:this.props.cells[e],dateProfile:this.props.dateProfile,renderIntroHtml:this.renderProps.renderBgIntroHtml})+'</table></div><div class="fc-content-skeleton"><table>'+(this.getIsNumbersVisible()?"<thead>"+this.renderNumberTrHtml(e)+"</thead>":"")+"</table></div></div>"},n.prototype.getIsNumbersVisible=function(){return this.getIsDayNumbersVisible()||this.renderProps.cellWeekNumbersVisible||this.renderProps.colWeekNumbersVisible},n.prototype.getIsDayNumbersVisible=function(){return this.rowCnt>1},n.prototype.renderNumberTrHtml=function(e){var t=this.renderProps.renderNumberIntroHtml(e,this);return"<tr>"+(this.isRtl?"":t)+this.renderNumberCellsHtml(e)+(this.isRtl?t:"")+"</tr>"},n.prototype.renderNumberCellsHtml=function(e){var t,r,n=[];for(t=0;t<this.colCnt;t++)r=this.props.cells[e][t].date,n.push(this.renderNumberCellHtml(r));return this.isRtl&&n.reverse(),n.join("")},n.prototype.renderNumberCellHtml=function(e){var r,n,i=this,o=i.view,s=i.dateEnv,l="",a=t.rangeContainsMarker(this.props.dateProfile.activeRange,e),d=this.getIsDayNumbersVisible()&&a;return d||this.renderProps.cellWeekNumbersVisible?(r=t.getDayClasses(e,this.props.dateProfile,this.context),r.unshift("fc-day-top"),this.renderProps.cellWeekNumbersVisible&&(n=s.weekDow),l+='<td class="'+r.join(" ")+'"'+(a?' data-date="'+s.formatIso(e,{omitTime:!0})+'"':"")+">",this.renderProps.cellWeekNumbersVisible&&e.getUTCDay()===n&&(l+=t.buildGotoAnchorHtml(o,{date:e,type:"week"},{class:"fc-week-number"},s.format(e,b))),d&&(l+=t.buildGotoAnchorHtml(o,e,{class:"fc-day-number"},s.format(e,v))),l+="</td>"):"<td></td>"},n.prototype.updateSize=function(e){var t=this,r=t.fillRenderer,n=t.eventRenderer,i=t.mirrorRenderer;(e||this.isCellSizesDirty)&&(this.buildColPositions(),this.buildRowPositions(),this.isCellSizesDirty=!1),r.computeSizes(e),n.computeSizes(e),i.computeSizes(e),r.assignSizes(e),n.assignSizes(e),i.assignSizes(e)},n.prototype.buildColPositions=function(){this.colPositions.build()},n.prototype.buildRowPositions=function(){this.rowPositions.build(),this.rowPositions.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},n.prototype.positionToHit=function(e,t){var r=this,n=r.colPositions,i=r.rowPositions,o=n.leftToIndex(e),s=i.topToIndex(t);if(null!=s&&null!=o)return{row:s,col:o,dateSpan:{range:this.getCellRange(s,o),allDay:!0},dayEl:this.getCellEl(s,o),relativeRect:{left:n.lefts[o],right:n.rights[o],top:i.tops[s],bottom:i.bottoms[s]}}},n.prototype.getCellEl=function(e,t){return this.cellEls[e*this.colCnt+t]},n.prototype._renderEventDrag=function(e){e&&(this.eventRenderer.hideByHash(e.affectedInstances),this.fillRenderer.renderSegs("highlight",e.segs))},n.prototype._unrenderEventDrag=function(e){e&&(this.eventRenderer.showByHash(e.affectedInstances),this.fillRenderer.unrender("highlight"))},n.prototype._renderEventResize=function(e){e&&(this.eventRenderer.hideByHash(e.affectedInstances),this.fillRenderer.renderSegs("highlight",e.segs),this.mirrorRenderer.renderSegs(e.segs,{isResizing:!0,sourceSeg:e.sourceSeg}))},n.prototype._unrenderEventResize=function(e){e&&(this.eventRenderer.showByHash(e.affectedInstances),this.fillRenderer.unrender("highlight"),this.mirrorRenderer.unrender(e.segs,{isResizing:!0,sourceSeg:e.sourceSeg}))},n.prototype.removeSegPopover=function(){this.segPopover&&this.segPopover.hide()},n.prototype.limitRows=function(e){var t,r,n=this.eventRenderer.rowStructs||[];for(t=0;t<n.length;t++)this.unlimitRow(t),!1!==(r=!!e&&("number"==typeof e?e:this.computeRowLevelLimit(t)))&&this.limitRow(t,r)},n.prototype.computeRowLevelLimit=function(e){var r,n,i=this.rowEls[e],o=i.getBoundingClientRect().bottom,s=t.findChildren(this.eventRenderer.rowStructs[e].tbodyEl);for(r=0;r<s.length;r++)if(n=s[r],n.classList.remove("fc-limited"),n.getBoundingClientRect().bottom>o)return r;return!1},n.prototype.limitRow=function(e,r){var n,i,o,s,l,a,d,c,h,p,u,f,g,m,y,v=this,b=this,w=b.colCnt,S=b.isRtl,C=this.eventRenderer.rowStructs[e],E=[],R=0,H=function(n){for(;R<n;)a=v.getCellSegs(e,R,r),a.length&&(h=i[r-1][R],y=v.renderMoreLink(e,R,a),m=t.createElement("div",null,y),h.appendChild(m),E.push(m[0])),R++};if(r&&r<C.segLevels.length){for(n=C.segLevels[r-1],i=C.cellMatrix,o=t.findChildren(C.tbodyEl).slice(r),o.forEach(function(e){e.classList.add("fc-limited")}),s=0;s<n.length;s++){l=n[s];var D=S?w-1-l.lastCol:l.firstCol,P=S?w-1-l.firstCol:l.lastCol;for(H(D),c=[],d=0;R<=P;)a=this.getCellSegs(e,R,r),c.push(a),d+=a.length,R++;if(d){for(h=i[r-1][D],p=h.rowSpan||1,u=[],f=0;f<c.length;f++)g=t.createElement("td",{className:"fc-more-cell",rowSpan:p}),a=c[f],y=this.renderMoreLink(e,D+f,[l].concat(a)),m=t.createElement("div",null,y),g.appendChild(m),u.push(g),E.push(g);h.classList.add("fc-limited"),t.insertAfterElement(h,u),o.push(h)}}H(this.colCnt),C.moreEls=E,C.limitedEls=o}},n.prototype.unlimitRow=function(e){var r=this.eventRenderer.rowStructs[e];r.moreEls&&(r.moreEls.forEach(t.removeElement),r.moreEls=null),r.limitedEls&&(r.limitedEls.forEach(function(e){e.classList.remove("fc-limited")}),r.limitedEls=null)},n.prototype.renderMoreLink=function(e,r,n){var i=this,o=this,s=o.view,l=o.dateEnv,a=t.createElement("a",{className:"fc-more"});return a.innerText=this.getMoreLinkText(n.length),a.addEventListener("click",function(t){var o=i.opt("eventLimitClick"),a=i.isRtl?i.colCnt-r-1:r,d=i.props.cells[e][a].date,c=t.currentTarget,h=i.getCellEl(e,r),p=i.getCellSegs(e,r),u=i.resliceDaySegs(p,d),f=i.resliceDaySegs(n,d);"function"==typeof o&&(o=i.publiclyTrigger("eventLimitClick",[{date:l.toDate(d),allDay:!0,dayEl:h,moreEl:c,segs:u,hiddenSegs:f,jsEvent:t,view:s}])),"popover"===o?i.showSegPopover(e,r,c,u):"string"==typeof o&&s.calendar.zoomTo(d,o)}),a},n.prototype.showSegPopover=function(e,r,n,i){var o,s,l=this,a=this,d=a.calendar,h=a.view,p=a.theme,u=this.isRtl?this.colCnt-r-1:r,f=n.parentNode;o=1===this.rowCnt?h.el:this.rowEls[e],s={className:"fc-more-popover "+p.getClass("popover"),parentEl:h.el,top:t.computeRect(o).top,autoHide:!0,content:function(t){l.segPopoverTile=new g(l.context,t),l.updateSegPopoverTile(l.props.cells[e][u].date,i)},hide:function(){l.segPopoverTile.destroy(),l.segPopoverTile=null,l.segPopover.destroy(),l.segPopover=null}},this.isRtl?s.right=t.computeRect(f).right+1:s.left=t.computeRect(f).left-1,this.segPopover=new c(s),this.segPopover.show(),d.releaseAfterSizingTriggers()},n.prototype.resliceDaySegs=function(e,r){for(var n=r,i=t.addDays(n,1),o={start:n,end:i},s=[],l=0,d=e;l<d.length;l++){var c=d[l],h=c.eventRange,p=h.range,u=t.intersectRanges(p,o);u&&s.push(a({},c,{eventRange:{def:h.def,ui:a({},h.ui,{durationEditable:!1}),instance:h.instance,range:u},isStart:c.isStart&&u.start.valueOf()===p.start.valueOf(),isEnd:c.isEnd&&u.end.valueOf()===p.end.valueOf()}))}return s},n.prototype.getMoreLinkText=function(e){var t=this.opt("eventLimitText");return"function"==typeof t?t(e):"+"+e+" "+t},n.prototype.getCellSegs=function(e,t,r){for(var n,i=this.eventRenderer.rowStructs[e].segMatrix,o=r||0,s=[];o<i.length;)n=i[o][t],n&&s.push(n),o++;return s},n}(t.DateComponent),S=t.createFormatter({week:"numeric"}),C=function(e){function n(r,n,i,o){var s=e.call(this,r,n,i,o)||this;s.renderHeadIntroHtml=function(){var e=s.theme;return s.colWeekNumbersVisible?'<th class="fc-week-number '+e.getClass("widgetHeader")+'" '+s.weekNumberStyleAttr()+"><span>"+t.htmlEscape(s.opt("weekLabel"))+"</span></th>":""},s.renderDayGridNumberIntroHtml=function(e,r){var n=s.dateEnv,i=r.props.cells[e][0].date;return s.colWeekNumbersVisible?'<td class="fc-week-number" '+s.weekNumberStyleAttr()+">"+t.buildGotoAnchorHtml(s,{date:i,type:"week",forceOff:1===r.colCnt},n.format(i,S))+"</td>":""},s.renderDayGridBgIntroHtml=function(){var e=s.theme;return s.colWeekNumbersVisible?'<td class="fc-week-number '+e.getClass("widgetContent")+'" '+s.weekNumberStyleAttr()+"></td>":""},s.renderDayGridIntroHtml=function(){return s.colWeekNumbersVisible?'<td class="fc-week-number" '+s.weekNumberStyleAttr()+"></td>":""},s.el.classList.add("fc-dayGrid-view"),s.el.innerHTML=s.renderSkeletonHtml(),s.scroller=new t.ScrollComponent("hidden","auto");var l=s.scroller.el;s.el.querySelector(".fc-body > tr > td").appendChild(l),l.classList.add("fc-day-grid-container");var a=t.createElement("div",{className:"fc-day-grid"});l.appendChild(a);var d;return s.opt("weekNumbers")?s.opt("weekNumbersWithinDays")?(d=!0,s.colWeekNumbersVisible=!1):(d=!1,s.colWeekNumbersVisible=!0):(s.colWeekNumbersVisible=!1,d=!1),s.dayGrid=new w(s.context,a,{renderNumberIntroHtml:s.renderDayGridNumberIntroHtml,renderBgIntroHtml:s.renderDayGridBgIntroHtml,renderIntroHtml:s.renderDayGridIntroHtml,colWeekNumbersVisible:s.colWeekNumbersVisible,cellWeekNumbersVisible:d}),s}return r(n,e),n.prototype.destroy=function(){e.prototype.destroy.call(this),this.dayGrid.destroy(),this.scroller.destroy()},n.prototype.renderSkeletonHtml=function(){var e=this.theme;return'<table class="'+e.getClass("tableGrid")+'">'+(this.opt("columnHeader")?'<thead class="fc-head"><tr><td class="fc-head-container '+e.getClass("widgetHeader")+'">&nbsp;</td></tr></thead>':"")+'<tbody class="fc-body"><tr><td class="'+e.getClass("widgetContent")+'"></td></tr></tbody></table>'},n.prototype.weekNumberStyleAttr=function(){return null!=this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},n.prototype.hasRigidRows=function(){var e=this.opt("eventLimit");return e&&"number"!=typeof e},n.prototype.updateSize=function(t,r,n){e.prototype.updateSize.call(this,t,r,n),this.dayGrid.updateSize(t)},n.prototype.updateBaseSize=function(e,r,n){var i,o,s=this.dayGrid,l=this.opt("eventLimit"),a=this.header?this.header.el:null;if(!s.rowEls)return void(n||(i=this.computeScrollerHeight(r),this.scroller.setHeight(i)));this.colWeekNumbersVisible&&(this.weekNumberWidth=t.matchCellWidths(t.findElements(this.el,".fc-week-number"))),this.scroller.clear(),a&&t.uncompensateScroll(a),s.removeSegPopover(),l&&"number"==typeof l&&s.limitRows(l),i=this.computeScrollerHeight(r),this.setGridHeight(i,n),l&&"number"!=typeof l&&s.limitRows(l),n||(this.scroller.setHeight(i),o=this.scroller.getScrollbarWidths(),(o.left||o.right)&&(a&&t.compensateScroll(a,o),i=this.computeScrollerHeight(r),this.scroller.setHeight(i)),this.scroller.lockOverflow(o))},n.prototype.computeScrollerHeight=function(e){return e-t.subtractInnerElHeight(this.el,this.scroller.el)},n.prototype.setGridHeight=function(e,r){this.opt("monthMode")?(r&&(e*=this.dayGrid.rowCnt/6),t.distributeHeight(this.dayGrid.rowEls,e,!r)):r?t.undistributeHeight(this.dayGrid.rowEls):t.distributeHeight(this.dayGrid.rowEls,e,!0)},n.prototype.computeInitialDateScroll=function(){return{top:0}},n.prototype.queryDateScroll=function(){return{top:this.scroller.getScrollTop()}},n.prototype.applyDateScroll=function(e){void 0!==e.top&&this.scroller.setScrollTop(e.top)},n}(t.View);C.prototype.dateProfileGeneratorClass=d;var E=function(e){function t(t,r){var n=e.call(this,t,r.el)||this;return n.slicer=new R,n.dayGrid=r,t.calendar.registerInteractiveComponent(n,{el:n.dayGrid.el}),n}return r(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this),this.calendar.unregisterInteractiveComponent(this)},t.prototype.render=function(e){var t=this.dayGrid,r=e.dateProfile,n=e.dayTable;t.receiveProps(a({},this.slicer.sliceProps(e,r,e.nextDayThreshold,t,n),{dateProfile:r,cells:n.cells,isRigid:e.isRigid}))},t.prototype.queryHit=function(e,t){var r=this.dayGrid.positionToHit(e,t);if(r)return{component:this.dayGrid,dateSpan:r.dateSpan,dayEl:r.dayEl,rect:{left:r.relativeRect.left,right:r.relativeRect.right,top:r.relativeRect.top,bottom:r.relativeRect.bottom},layer:0}},t}(t.DateComponent),R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.sliceRange=function(e,t){return t.sliceRange(e)},t}(t.Slicer),H=function(e){function n(r,n,i,o){var l=e.call(this,r,n,i,o)||this;return l.buildDayTable=t.memoize(s),l.opt("columnHeader")&&(l.header=new t.DayHeader(l.context,l.el.querySelector(".fc-head-container"))),l.simpleDayGrid=new E(l.context,l.dayGrid),l}return r(n,e),n.prototype.destroy=function(){e.prototype.destroy.call(this),this.header&&this.header.destroy(),this.simpleDayGrid.destroy()},n.prototype.render=function(t){e.prototype.render.call(this,t);var r=this.props.dateProfile,n=this.dayTable=this.buildDayTable(r,this.dateProfileGenerator);this.header&&this.header.receiveProps({dateProfile:r,dates:n.headerDates,datesRepDistinctDays:1===n.rowCnt,renderIntroHtml:this.renderHeadIntroHtml}),this.simpleDayGrid.receiveProps({dateProfile:r,dayTable:n,businessHours:t.businessHours,dateSelection:t.dateSelection,eventStore:t.eventStore,eventUiBases:t.eventUiBases,eventSelection:t.eventSelection,eventDrag:t.eventDrag,eventResize:t.eventResize,isRigid:this.hasRigidRows(),nextDayThreshold:this.nextDayThreshold})},n}(C),D=t.createPlugin({defaultView:"dayGridMonth",views:{dayGrid:H,dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},monthMode:!0,fixedWeekCount:!0}}});e.AbstractDayGridView=C,e.DayBgRow=y,e.DayGrid=w,e.DayGridSlicer=R,e.DayGridView=H,e.SimpleDayGrid=E,e.buildBasicDayTable=s,e.default=D,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):t((e=e||self).FullCalendarDayGrid={},e.FullCalendar)}(this,(function(e,t){"use strict";var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function n(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return(i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},o=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.prototype.buildRenderRange=function(r,n,i){var o,s=this.dateEnv,l=e.prototype.buildRenderRange.call(this,r,n,i),a=l.start,d=l.end;if(/^(year|month)$/.test(n)&&(a=s.startOfWeek(a),(o=s.startOfWeek(d)).valueOf()!==d.valueOf()&&(d=t.addWeeks(o,1))),this.options.monthMode&&this.options.fixedWeekCount){var c=Math.ceil(t.diffWeeks(a,d));d=t.addWeeks(d,6-c)}return{start:a,end:d}},r}(t.DateProfileGenerator),s=function(){function e(e){var t=this;this.isHidden=!0,this.margin=10,this.documentMousedown=function(e){t.el&&!t.el.contains(e.target)&&t.hide()},this.options=e}return e.prototype.show=function(){this.isHidden&&(this.el||this.render(),this.el.style.display="",this.position(),this.isHidden=!1,this.trigger("show"))},e.prototype.hide=function(){this.isHidden||(this.el.style.display="none",this.isHidden=!0,this.trigger("hide"))},e.prototype.render=function(){var e=this,r=this.options,n=this.el=t.createElement("div",{className:"fc-popover "+(r.className||""),style:{top:"0",left:"0"}});"function"==typeof r.content&&r.content(n),r.parentEl.appendChild(n),t.listenBySelector(n,"click",".fc-close",(function(t){e.hide()})),r.autoHide&&document.addEventListener("mousedown",this.documentMousedown)},e.prototype.destroy=function(){this.hide(),this.el&&(t.removeElement(this.el),this.el=null),document.removeEventListener("mousedown",this.documentMousedown)},e.prototype.position=function(){var e,r,n=this.options,i=this.el,o=i.getBoundingClientRect(),s=t.computeRect(i.offsetParent),l=t.computeClippingRect(n.parentEl);e=n.top||0,r=void 0!==n.left?n.left:void 0!==n.right?n.right-o.width:0,e=Math.min(e,l.bottom-o.height-this.margin),e=Math.max(e,l.top+this.margin),r=Math.min(r,l.right-o.width-this.margin),r=Math.max(r,l.left+this.margin),t.applyStyle(i,{top:e-s.top,left:r-s.left})},e.prototype.trigger=function(e){this.options[e]&&this.options[e].apply(this,Array.prototype.slice.call(arguments,1))},e}(),l=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.prototype.renderSegHtml=function(e,r){var n,i,o=this.context,s=e.eventRange,l=s.def,a=s.ui,d=l.allDay,c=t.computeEventDraggable(o,l,a),h=d&&e.isStart&&t.computeEventStartResizable(o,l,a),p=d&&e.isEnd&&t.computeEventEndResizable(o,l,a),u=this.getSegClasses(e,c,h||p,r),f=t.cssToStr(this.getSkinCss(a)),m="";return u.unshift("fc-day-grid-event","fc-h-event"),e.isStart&&(n=this.getTimeText(s))&&(m='<span class="fc-time">'+t.htmlEscape(n)+"</span>"),i='<span class="fc-title">'+(t.htmlEscape(l.title||"")||"&nbsp;")+"</span>",'<a class="'+u.join(" ")+'"'+(l.url?' href="'+t.htmlEscape(l.url)+'"':"")+(f?' style="'+f+'"':"")+'><div class="fc-content">'+("rtl"===o.options.dir?i+" "+m:m+" "+i)+"</div>"+(h?'<div class="fc-resizer fc-start-resizer"></div>':"")+(p?'<div class="fc-resizer fc-end-resizer"></div>':"")+"</a>"},r.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"}},r.prototype.computeDisplayEventEnd=function(){return!1},r}(t.FgEventRenderer),a=function(e){function r(t){var r=e.call(this)||this;return r.dayGrid=t,r}return n(r,e),r.prototype.attachSegs=function(e,t){var r=this.rowStructs=this.renderSegRows(e);this.dayGrid.rowEls.forEach((function(e,t){e.querySelector(".fc-content-skeleton > table").appendChild(r[t].tbodyEl)})),t||this.dayGrid.removeSegPopover()},r.prototype.detachSegs=function(){for(var e,r=this.rowStructs||[];e=r.pop();)t.removeElement(e.tbodyEl);this.rowStructs=null},r.prototype.renderSegRows=function(e){var t,r,n=[];for(t=this.groupSegRows(e),r=0;r<t.length;r++)n.push(this.renderSegRow(r,t[r]));return n},r.prototype.renderSegRow=function(e,r){var n,i,o,s,l,a,d,c=this.context.isRtl,h=this.dayGrid,p=h.colCnt,u=this.buildSegLevels(r),f=Math.max(1,u.length),m=document.createElement("tbody"),g=[],y=[],v=[];function b(e){for(;o<e;)(d=(v[n-1]||[])[o])?d.rowSpan=(d.rowSpan||1)+1:(d=document.createElement("td"),s.appendChild(d)),y[n][o]=d,v[n][o]=d,o++}for(n=0;n<f;n++){if(i=u[n],o=0,s=document.createElement("tr"),g.push([]),y.push([]),v.push([]),i)for(l=0;l<i.length;l++){a=i[l];var S=c?p-1-a.lastCol:a.firstCol,w=c?p-1-a.firstCol:a.lastCol;for(b(S),d=t.createElement("td",{className:"fc-event-container"},a.el),S!==w?d.colSpan=w-S+1:v[n][o]=d;o<=w;)y[n][o]=d,g[n][o]=a,o++;s.appendChild(d)}b(p);var C=h.renderProps.renderIntroHtml();C&&(c?t.appendToElement(s,C):t.prependToElement(s,C)),m.appendChild(s)}return{row:e,tbodyEl:m,cellMatrix:y,segMatrix:g,segLevels:u,segs:r}},r.prototype.buildSegLevels=function(e){var t,r,n,i=this.context.isRtl,o=this.dayGrid.colCnt,s=[];for(e=this.sortEventSegs(e),t=0;t<e.length;t++){for(r=e[t],n=0;n<s.length&&d(r,s[n]);n++);r.level=n,r.leftCol=i?o-1-r.lastCol:r.firstCol,r.rightCol=i?o-1-r.firstCol:r.lastCol,(s[n]||(s[n]=[])).push(r)}for(n=0;n<s.length;n++)s[n].sort(c);return s},r.prototype.groupSegRows=function(e){var t,r=[];for(t=0;t<this.dayGrid.rowCnt;t++)r.push([]);for(t=0;t<e.length;t++)r[e[t].row].push(e[t]);return r},r.prototype.computeDisplayEventEnd=function(){return 1===this.dayGrid.colCnt},r}(l);function d(e,t){var r,n;for(r=0;r<t.length;r++)if((n=t[r]).firstCol<=e.lastCol&&n.lastCol>=e.firstCol)return!0;return!1}function c(e,t){return e.leftCol-t.leftCol}var h=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.prototype.attachSegs=function(e,r){var n=r.sourceSeg,i=this.rowStructs=this.renderSegRows(e);this.dayGrid.rowEls.forEach((function(e,r){var o,s,l=t.htmlToElement('<div class="fc-mirror-skeleton"><table></table></div>');n&&n.row===r?o=n.el:(o=e.querySelector(".fc-content-skeleton tbody"))||(o=e.querySelector(".fc-content-skeleton table")),s=o.getBoundingClientRect().top-e.getBoundingClientRect().top,l.style.top=s+"px",l.querySelector("table").appendChild(i[r].tbodyEl),e.appendChild(l)}))},r}(a),p=function(e){function r(t){var r=e.call(this)||this;return r.fillSegTag="td",r.dayGrid=t,r}return n(r,e),r.prototype.renderSegs=function(t,r,n){"bgEvent"===t&&(n=n.filter((function(e){return e.eventRange.def.allDay}))),e.prototype.renderSegs.call(this,t,r,n)},r.prototype.attachSegs=function(e,t){var r,n,i,o=[];for(r=0;r<t.length;r++)n=t[r],i=this.renderFillRow(e,n),this.dayGrid.rowEls[n.row].appendChild(i),o.push(i);return o},r.prototype.renderFillRow=function(e,r){var n,i,o,s=this.dayGrid,l=this.context.isRtl,a=s.colCnt,d=l?a-1-r.lastCol:r.firstCol,c=(l?a-1-r.firstCol:r.lastCol)+1;n="businessHours"===e?"bgevent":e.toLowerCase(),o=(i=t.htmlToElement('<div class="fc-'+n+'-skeleton"><table><tr></tr></table></div>')).getElementsByTagName("tr")[0],d>0&&t.appendToElement(o,new Array(d+1).join('<td style="pointer-events:none"></td>')),r.el.colSpan=c-d,o.appendChild(r.el),c<a&&t.appendToElement(o,new Array(a-c+1).join('<td style="pointer-events:none"></td>'));var h=s.renderProps.renderIntroHtml();return h&&(l?t.appendToElement(o,h):t.prependToElement(o,h)),i},r}(t.FillRenderer),u=function(e){function r(r){var n=e.call(this,r)||this,i=n.eventRenderer=new f(n),o=n.renderFrame=t.memoizeRendering(n._renderFrame);return n.renderFgEvents=t.memoizeRendering(i.renderSegs.bind(i),i.unrender.bind(i),[o]),n.renderEventSelection=t.memoizeRendering(i.selectByInstanceId.bind(i),i.unselectByInstanceId.bind(i),[n.renderFgEvents]),n.renderEventDrag=t.memoizeRendering(i.hideByHash.bind(i),i.showByHash.bind(i),[o]),n.renderEventResize=t.memoizeRendering(i.hideByHash.bind(i),i.showByHash.bind(i),[o]),n}return n(r,e),r.prototype.firstContext=function(e){e.calendar.registerInteractiveComponent(this,{el:this.el,useEventCenter:!1})},r.prototype.render=function(e,t){this.renderFrame(e.date),this.renderFgEvents(t,e.fgSegs),this.renderEventSelection(e.eventSelection),this.renderEventDrag(e.eventDragInstances),this.renderEventResize(e.eventResizeInstances)},r.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderFrame.unrender(),this.context.calendar.unregisterInteractiveComponent(this)},r.prototype._renderFrame=function(e){var r=this.context,n=r.theme,i=r.dateEnv,o=r.options,s=i.format(e,t.createFormatter(o.dayPopoverFormat));this.el.innerHTML='<div class="fc-header '+n.getClass("popoverHeader")+'"><span class="fc-title">'+t.htmlEscape(s)+'</span><span class="fc-close '+n.getIconClass("close")+'"></span></div><div class="fc-body '+n.getClass("popoverContent")+'"><div class="fc-event-container"></div></div>',this.segContainerEl=this.el.querySelector(".fc-event-container")},r.prototype.queryHit=function(e,r,n,i){var o=this.props.date;if(e<n&&r<i)return{component:this,dateSpan:{allDay:!0,range:{start:o,end:t.addDays(o,1)}},dayEl:this.el,rect:{left:0,top:0,right:n,bottom:i},layer:1}},r}(t.DateComponent),f=function(e){function r(t){var r=e.call(this)||this;return r.dayTile=t,r}return n(r,e),r.prototype.attachSegs=function(e){for(var t=0,r=e;t<r.length;t++){var n=r[t];this.dayTile.segContainerEl.appendChild(n.el)}},r.prototype.detachSegs=function(e){for(var r=0,n=e;r<n.length;r++){var i=n[r];t.removeElement(i.el)}},r}(l),m=function(){function e(e){this.context=e}return e.prototype.renderHtml=function(e){var t=[];e.renderIntroHtml&&t.push(e.renderIntroHtml());for(var r=0,n=e.cells;r<n.length;r++){var i=n[r];t.push(g(i.date,e.dateProfile,this.context,i.htmlAttrs))}return e.cells.length||t.push('<td class="fc-day '+this.context.theme.getClass("widgetContent")+'"></td>'),"rtl"===this.context.options.dir&&t.reverse(),"<tr>"+t.join("")+"</tr>"},e}();function g(e,r,n,i){var o=n.dateEnv,s=n.theme,l=t.rangeContainsMarker(r.activeRange,e),a=t.getDayClasses(e,r,n);return a.unshift("fc-day",s.getClass("widgetContent")),'<td class="'+a.join(" ")+'"'+(l?' data-date="'+o.formatIso(e,{omitTime:!0})+'"':"")+(i?" "+i:"")+"></td>"}var y=t.createFormatter({day:"numeric"}),v=t.createFormatter({week:"numeric"}),b=function(e){function r(r,n){var i=e.call(this,r)||this;i.bottomCoordPadding=0,i.isCellSizesDirty=!1,i.renderProps=n;var o=i.eventRenderer=new a(i),s=i.fillRenderer=new p(i);i.mirrorRenderer=new h(i);var l=i.renderCells=t.memoizeRendering(i._renderCells,i._unrenderCells);return i.renderBusinessHours=t.memoizeRendering(s.renderSegs.bind(s,"businessHours"),s.unrender.bind(s,"businessHours"),[l]),i.renderDateSelection=t.memoizeRendering(s.renderSegs.bind(s,"highlight"),s.unrender.bind(s,"highlight"),[l]),i.renderBgEvents=t.memoizeRendering(s.renderSegs.bind(s,"bgEvent"),s.unrender.bind(s,"bgEvent"),[l]),i.renderFgEvents=t.memoizeRendering(o.renderSegs.bind(o),o.unrender.bind(o),[l]),i.renderEventSelection=t.memoizeRendering(o.selectByInstanceId.bind(o),o.unselectByInstanceId.bind(o),[i.renderFgEvents]),i.renderEventDrag=t.memoizeRendering(i._renderEventDrag,i._unrenderEventDrag,[l]),i.renderEventResize=t.memoizeRendering(i._renderEventResize,i._unrenderEventResize,[l]),i}return n(r,e),r.prototype.render=function(e,t){var r=e.cells;this.rowCnt=r.length,this.colCnt=r[0].length,this.renderCells(r,e.isRigid),this.renderBusinessHours(t,e.businessHourSegs),this.renderDateSelection(t,e.dateSelectionSegs),this.renderBgEvents(t,e.bgEventSegs),this.renderFgEvents(t,e.fgEventSegs),this.renderEventSelection(e.eventSelection),this.renderEventDrag(e.eventDrag),this.renderEventResize(e.eventResize),this.segPopoverTile&&this.updateSegPopoverTile()},r.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderCells.unrender()},r.prototype.getCellRange=function(e,r){var n=this.props.cells[e][r].date;return{start:n,end:t.addDays(n,1)}},r.prototype.updateSegPopoverTile=function(e,t){var r=this.props;this.segPopoverTile.receiveProps({date:e||this.segPopoverTile.props.date,fgSegs:t||this.segPopoverTile.props.fgSegs,eventSelection:r.eventSelection,eventDragInstances:r.eventDrag?r.eventDrag.affectedInstances:null,eventResizeInstances:r.eventResize?r.eventResize.affectedInstances:null},this.context)},r.prototype._renderCells=function(e,r){var n,i,o=this.context,s=o.calendar,l=o.view,a=o.isRtl,d=o.dateEnv,c=this.rowCnt,h=this.colCnt,p="";for(n=0;n<c;n++)p+=this.renderDayRowHtml(n,r);for(this.el.innerHTML=p,this.rowEls=t.findElements(this.el,".fc-row"),this.cellEls=t.findElements(this.el,".fc-day, .fc-disabled-day"),a&&this.cellEls.reverse(),this.rowPositions=new t.PositionCache(this.el,this.rowEls,!1,!0),this.colPositions=new t.PositionCache(this.el,this.cellEls.slice(0,h),!0,!1),n=0;n<c;n++)for(i=0;i<h;i++)s.publiclyTrigger("dayRender",[{date:d.toDate(e[n][i].date),el:this.getCellEl(n,i),view:l}]);this.isCellSizesDirty=!0},r.prototype._unrenderCells=function(){this.removeSegPopover()},r.prototype.renderDayRowHtml=function(e,t){var r=this.context.theme,n=["fc-row","fc-week",r.getClass("dayRow")];t&&n.push("fc-rigid");var i=new m(this.context);return'<div class="'+n.join(" ")+'"><div class="fc-bg"><table class="'+r.getClass("tableGrid")+'">'+i.renderHtml({cells:this.props.cells[e],dateProfile:this.props.dateProfile,renderIntroHtml:this.renderProps.renderBgIntroHtml})+'</table></div><div class="fc-content-skeleton"><table>'+(this.getIsNumbersVisible()?"<thead>"+this.renderNumberTrHtml(e)+"</thead>":"")+"</table></div></div>"},r.prototype.getIsNumbersVisible=function(){return this.getIsDayNumbersVisible()||this.renderProps.cellWeekNumbersVisible||this.renderProps.colWeekNumbersVisible},r.prototype.getIsDayNumbersVisible=function(){return this.rowCnt>1},r.prototype.renderNumberTrHtml=function(e){var t=this.context.isRtl,r=this.renderProps.renderNumberIntroHtml(e,this);return"<tr>"+(t?"":r)+this.renderNumberCellsHtml(e)+(t?r:"")+"</tr>"},r.prototype.renderNumberCellsHtml=function(e){var t,r,n=[];for(t=0;t<this.colCnt;t++)r=this.props.cells[e][t].date,n.push(this.renderNumberCellHtml(r));return this.context.isRtl&&n.reverse(),n.join("")},r.prototype.renderNumberCellHtml=function(e){var r,n,i=this.context,o=i.dateEnv,s=i.options,l="",a=t.rangeContainsMarker(this.props.dateProfile.activeRange,e),d=this.getIsDayNumbersVisible()&&a;return d||this.renderProps.cellWeekNumbersVisible?((r=t.getDayClasses(e,this.props.dateProfile,this.context)).unshift("fc-day-top"),this.renderProps.cellWeekNumbersVisible&&(n=o.weekDow),l+='<td class="'+r.join(" ")+'"'+(a?' data-date="'+o.formatIso(e,{omitTime:!0})+'"':"")+">",this.renderProps.cellWeekNumbersVisible&&e.getUTCDay()===n&&(l+=t.buildGotoAnchorHtml(s,o,{date:e,type:"week"},{class:"fc-week-number"},o.format(e,v))),d&&(l+=t.buildGotoAnchorHtml(s,o,e,{class:"fc-day-number"},o.format(e,y))),l+="</td>"):"<td></td>"},r.prototype.updateSize=function(e){var t=this.context.calendar,r=this.fillRenderer,n=this.eventRenderer,i=this.mirrorRenderer;(e||this.isCellSizesDirty||t.isEventsUpdated)&&(this.buildPositionCaches(),this.isCellSizesDirty=!1),r.computeSizes(e),n.computeSizes(e),i.computeSizes(e),r.assignSizes(e),n.assignSizes(e),i.assignSizes(e)},r.prototype.buildPositionCaches=function(){this.buildColPositions(),this.buildRowPositions()},r.prototype.buildColPositions=function(){this.colPositions.build()},r.prototype.buildRowPositions=function(){this.rowPositions.build(),this.rowPositions.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},r.prototype.positionToHit=function(e,t){var r=this.colPositions,n=this.rowPositions,i=r.leftToIndex(e),o=n.topToIndex(t);if(null!=o&&null!=i)return{row:o,col:i,dateSpan:{range:this.getCellRange(o,i),allDay:!0},dayEl:this.getCellEl(o,i),relativeRect:{left:r.lefts[i],right:r.rights[i],top:n.tops[o],bottom:n.bottoms[o]}}},r.prototype.getCellEl=function(e,t){return this.cellEls[e*this.colCnt+t]},r.prototype._renderEventDrag=function(e){e&&(this.eventRenderer.hideByHash(e.affectedInstances),this.fillRenderer.renderSegs("highlight",this.context,e.segs))},r.prototype._unrenderEventDrag=function(e){e&&(this.eventRenderer.showByHash(e.affectedInstances),this.fillRenderer.unrender("highlight",this.context))},r.prototype._renderEventResize=function(e){e&&(this.eventRenderer.hideByHash(e.affectedInstances),this.fillRenderer.renderSegs("highlight",this.context,e.segs),this.mirrorRenderer.renderSegs(this.context,e.segs,{isResizing:!0,sourceSeg:e.sourceSeg}))},r.prototype._unrenderEventResize=function(e){e&&(this.eventRenderer.showByHash(e.affectedInstances),this.fillRenderer.unrender("highlight",this.context),this.mirrorRenderer.unrender(this.context,e.segs,{isResizing:!0,sourceSeg:e.sourceSeg}))},r.prototype.removeSegPopover=function(){this.segPopover&&this.segPopover.hide()},r.prototype.limitRows=function(e){var t,r,n=this.eventRenderer.rowStructs||[];for(t=0;t<n.length;t++)this.unlimitRow(t),!1!==(r=!!e&&("number"==typeof e?e:this.computeRowLevelLimit(t)))&&this.limitRow(t,r)},r.prototype.computeRowLevelLimit=function(e){var r,n,i=this.rowEls[e].getBoundingClientRect().bottom,o=t.findChildren(this.eventRenderer.rowStructs[e].tbodyEl);for(r=0;r<o.length;r++)if((n=o[r]).classList.remove("fc-limited"),n.getBoundingClientRect().bottom>i)return r;return!1},r.prototype.limitRow=function(e,r){var n,i,o,s,l,a,d,c,h,p,u,f,m,g,y,v=this,b=this.colCnt,S=this.context.isRtl,w=this.eventRenderer.rowStructs[e],C=[],E=0,R=function(n){for(;E<n;)(a=v.getCellSegs(e,E,r)).length&&(h=i[r-1][E],y=v.renderMoreLink(e,E,a),g=t.createElement("div",null,y),h.appendChild(g),C.push(g)),E++};if(r&&r<w.segLevels.length){for(n=w.segLevels[r-1],i=w.cellMatrix,(o=t.findChildren(w.tbodyEl).slice(r)).forEach((function(e){e.classList.add("fc-limited")})),s=0;s<n.length;s++){l=n[s];var H=S?b-1-l.lastCol:l.firstCol,k=S?b-1-l.firstCol:l.lastCol;for(R(H),c=[],d=0;E<=k;)a=this.getCellSegs(e,E,r),c.push(a),d+=a.length,E++;if(d){for(p=(h=i[r-1][H]).rowSpan||1,u=[],f=0;f<c.length;f++)m=t.createElement("td",{className:"fc-more-cell",rowSpan:p}),a=c[f],y=this.renderMoreLink(e,H+f,[l].concat(a)),g=t.createElement("div",null,y),m.appendChild(g),u.push(m),C.push(m);h.classList.add("fc-limited"),t.insertAfterElement(h,u),o.push(h)}}R(this.colCnt),w.moreEls=C,w.limitedEls=o}},r.prototype.unlimitRow=function(e){var r=this.eventRenderer.rowStructs[e];r.moreEls&&(r.moreEls.forEach(t.removeElement),r.moreEls=null),r.limitedEls&&(r.limitedEls.forEach((function(e){e.classList.remove("fc-limited")})),r.limitedEls=null)},r.prototype.renderMoreLink=function(e,r,n){var i=this,o=this.context,s=o.calendar,l=o.view,a=o.dateEnv,d=o.options,c=o.isRtl,h=t.createElement("a",{className:"fc-more"});return h.innerText=this.getMoreLinkText(n.length),h.addEventListener("click",(function(t){var o=d.eventLimitClick,h=c?i.colCnt-r-1:r,p=i.props.cells[e][h].date,u=t.currentTarget,f=i.getCellEl(e,r),m=i.getCellSegs(e,r),g=i.resliceDaySegs(m,p),y=i.resliceDaySegs(n,p);"function"==typeof o&&(o=s.publiclyTrigger("eventLimitClick",[{date:a.toDate(p),allDay:!0,dayEl:f,moreEl:u,segs:g,hiddenSegs:y,jsEvent:t,view:l}])),"popover"===o?i.showSegPopover(e,r,u,g):"string"==typeof o&&s.zoomTo(p,o)})),h},r.prototype.showSegPopover=function(e,r,n,i){var o,l,a=this,d=this.context,c=d.calendar,h=d.view,p=d.theme,f=d.isRtl,m=f?this.colCnt-r-1:r,g=n.parentNode;o=1===this.rowCnt?h.el:this.rowEls[e],l={className:"fc-more-popover "+p.getClass("popover"),parentEl:h.el,top:t.computeRect(o).top,autoHide:!0,content:function(t){a.segPopoverTile=new u(t),a.updateSegPopoverTile(a.props.cells[e][m].date,i)},hide:function(){a.segPopoverTile.destroy(),a.segPopoverTile=null,a.segPopover.destroy(),a.segPopover=null}},f?l.right=t.computeRect(g).right+1:l.left=t.computeRect(g).left-1,this.segPopover=new s(l),this.segPopover.show(),c.releaseAfterSizingTriggers()},r.prototype.resliceDaySegs=function(e,r){for(var n=r,o={start:n,end:t.addDays(n,1)},s=[],l=0,a=e;l<a.length;l++){var d=a[l],c=d.eventRange,h=c.range,p=t.intersectRanges(h,o);p&&s.push(i({},d,{eventRange:{def:c.def,ui:i({},c.ui,{durationEditable:!1}),instance:c.instance,range:p},isStart:d.isStart&&p.start.valueOf()===h.start.valueOf(),isEnd:d.isEnd&&p.end.valueOf()===h.end.valueOf()}))}return s},r.prototype.getMoreLinkText=function(e){var t=this.context.options.eventLimitText;return"function"==typeof t?t(e):"+"+e+" "+t},r.prototype.getCellSegs=function(e,t,r){for(var n,i=this.eventRenderer.rowStructs[e].segMatrix,o=r||0,s=[];o<i.length;)(n=i[o][t])&&s.push(n),o++;return s},r}(t.DateComponent),S=t.createFormatter({week:"numeric"}),w=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.processOptions=t.memoize(r._processOptions),r.renderSkeleton=t.memoizeRendering(r._renderSkeleton,r._unrenderSkeleton),r.renderHeadIntroHtml=function(){var e=r.context,n=e.theme,i=e.options;return r.colWeekNumbersVisible?'<th class="fc-week-number '+n.getClass("widgetHeader")+'" '+r.weekNumberStyleAttr()+"><span>"+t.htmlEscape(i.weekLabel)+"</span></th>":""},r.renderDayGridNumberIntroHtml=function(e,n){var i=r.context,o=i.options,s=i.dateEnv,l=n.props.cells[e][0].date;return r.colWeekNumbersVisible?'<td class="fc-week-number" '+r.weekNumberStyleAttr()+">"+t.buildGotoAnchorHtml(o,s,{date:l,type:"week",forceOff:1===n.colCnt},s.format(l,S))+"</td>":""},r.renderDayGridBgIntroHtml=function(){var e=r.context.theme;return r.colWeekNumbersVisible?'<td class="fc-week-number '+e.getClass("widgetContent")+'" '+r.weekNumberStyleAttr()+"></td>":""},r.renderDayGridIntroHtml=function(){return r.colWeekNumbersVisible?'<td class="fc-week-number" '+r.weekNumberStyleAttr()+"></td>":""},r}return n(r,e),r.prototype._processOptions=function(e){e.weekNumbers?e.weekNumbersWithinDays?(this.cellWeekNumbersVisible=!0,this.colWeekNumbersVisible=!1):(this.cellWeekNumbersVisible=!1,this.colWeekNumbersVisible=!0):(this.colWeekNumbersVisible=!1,this.cellWeekNumbersVisible=!1)},r.prototype.render=function(t,r){e.prototype.render.call(this,t,r),this.processOptions(r.options),this.renderSkeleton(r)},r.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderSkeleton.unrender()},r.prototype._renderSkeleton=function(e){this.el.classList.add("fc-dayGrid-view"),this.el.innerHTML=this.renderSkeletonHtml(),this.scroller=new t.ScrollComponent("hidden","auto");var r=this.scroller.el;this.el.querySelector(".fc-body > tr > td").appendChild(r),r.classList.add("fc-day-grid-container");var n=t.createElement("div",{className:"fc-day-grid"});r.appendChild(n),this.dayGrid=new b(n,{renderNumberIntroHtml:this.renderDayGridNumberIntroHtml,renderBgIntroHtml:this.renderDayGridBgIntroHtml,renderIntroHtml:this.renderDayGridIntroHtml,colWeekNumbersVisible:this.colWeekNumbersVisible,cellWeekNumbersVisible:this.cellWeekNumbersVisible})},r.prototype._unrenderSkeleton=function(){this.el.classList.remove("fc-dayGrid-view"),this.dayGrid.destroy(),this.scroller.destroy()},r.prototype.renderSkeletonHtml=function(){var e=this.context,t=e.theme,r=e.options;return'<table class="'+t.getClass("tableGrid")+'">'+(r.columnHeader?'<thead class="fc-head"><tr><td class="fc-head-container '+t.getClass("widgetHeader")+'">&nbsp;</td></tr></thead>':"")+'<tbody class="fc-body"><tr><td class="'+t.getClass("widgetContent")+'"></td></tr></tbody></table>'},r.prototype.weekNumberStyleAttr=function(){return null!=this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},r.prototype.hasRigidRows=function(){var e=this.context.options.eventLimit;return e&&"number"!=typeof e},r.prototype.updateSize=function(t,r,n){e.prototype.updateSize.call(this,t,r,n),this.dayGrid.updateSize(t)},r.prototype.updateBaseSize=function(e,r,n){var i,o,s=this.dayGrid,l=this.context.options.eventLimit,a=this.header?this.header.el:null;s.rowEls?(this.colWeekNumbersVisible&&(this.weekNumberWidth=t.matchCellWidths(t.findElements(this.el,".fc-week-number"))),this.scroller.clear(),a&&t.uncompensateScroll(a),s.removeSegPopover(),l&&"number"==typeof l&&s.limitRows(l),i=this.computeScrollerHeight(r),this.setGridHeight(i,n),l&&"number"!=typeof l&&s.limitRows(l),n||(this.scroller.setHeight(i),((o=this.scroller.getScrollbarWidths()).left||o.right)&&(a&&t.compensateScroll(a,o),i=this.computeScrollerHeight(r),this.scroller.setHeight(i)),this.scroller.lockOverflow(o))):n||(i=this.computeScrollerHeight(r),this.scroller.setHeight(i))},r.prototype.computeScrollerHeight=function(e){return e-t.subtractInnerElHeight(this.el,this.scroller.el)},r.prototype.setGridHeight=function(e,r){this.context.options.monthMode?(r&&(e*=this.dayGrid.rowCnt/6),t.distributeHeight(this.dayGrid.rowEls,e,!r)):r?t.undistributeHeight(this.dayGrid.rowEls):t.distributeHeight(this.dayGrid.rowEls,e,!0)},r.prototype.computeDateScroll=function(e){return{top:0}},r.prototype.queryDateScroll=function(){return{top:this.scroller.getScrollTop()}},r.prototype.applyDateScroll=function(e){void 0!==e.top&&this.scroller.setScrollTop(e.top)},r}(t.View);w.prototype.dateProfileGeneratorClass=o;var C=function(e){function t(t){var r=e.call(this,t.el)||this;return r.slicer=new E,r.dayGrid=t,r}return n(t,e),t.prototype.firstContext=function(e){e.calendar.registerInteractiveComponent(this,{el:this.dayGrid.el})},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.context.calendar.unregisterInteractiveComponent(this)},t.prototype.render=function(e,t){var r=this.dayGrid,n=e.dateProfile,o=e.dayTable;r.receiveContext(t),r.receiveProps(i({},this.slicer.sliceProps(e,n,e.nextDayThreshold,t.calendar,r,o),{dateProfile:n,cells:o.cells,isRigid:e.isRigid}),t)},t.prototype.buildPositionCaches=function(){this.dayGrid.buildPositionCaches()},t.prototype.queryHit=function(e,t){var r=this.dayGrid.positionToHit(e,t);if(r)return{component:this.dayGrid,dateSpan:r.dateSpan,dayEl:r.dayEl,rect:{left:r.relativeRect.left,right:r.relativeRect.right,top:r.relativeRect.top,bottom:r.relativeRect.bottom},layer:0}},t}(t.DateComponent),E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t.prototype.sliceRange=function(e,t){return t.sliceRange(e)},t}(t.Slicer),R=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.buildDayTable=t.memoize(H),r}return n(r,e),r.prototype.render=function(t,r){e.prototype.render.call(this,t,r);var n=this.props.dateProfile,i=this.dayTable=this.buildDayTable(n,t.dateProfileGenerator);this.header&&this.header.receiveProps({dateProfile:n,dates:i.headerDates,datesRepDistinctDays:1===i.rowCnt,renderIntroHtml:this.renderHeadIntroHtml},r),this.simpleDayGrid.receiveProps({dateProfile:n,dayTable:i,businessHours:t.businessHours,dateSelection:t.dateSelection,eventStore:t.eventStore,eventUiBases:t.eventUiBases,eventSelection:t.eventSelection,eventDrag:t.eventDrag,eventResize:t.eventResize,isRigid:this.hasRigidRows(),nextDayThreshold:this.context.nextDayThreshold},r)},r.prototype._renderSkeleton=function(r){e.prototype._renderSkeleton.call(this,r),r.options.columnHeader&&(this.header=new t.DayHeader(this.el.querySelector(".fc-head-container"))),this.simpleDayGrid=new C(this.dayGrid)},r.prototype._unrenderSkeleton=function(){e.prototype._unrenderSkeleton.call(this),this.header&&this.header.destroy(),this.simpleDayGrid.destroy()},r}(w);function H(e,r){var n=new t.DaySeries(e.renderRange,r);return new t.DayTable(n,/year|month|week/.test(e.currentRangeUnit))}var k=t.createPlugin({defaultView:"dayGridMonth",views:{dayGrid:R,dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},monthMode:!0,fixedWeekCount:!0}}});e.AbstractDayGridView=w,e.DayBgRow=m,e.DayGrid=b,e.DayGridSlicer=E,e.DayGridView=R,e.SimpleDayGrid=C,e.buildBasicDayTable=H,e.default=k,Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/daygrid/package.json b/library/fullcalendar/packages/daygrid/package.json
new file mode 100644
index 000000000..0db9794e5
--- /dev/null
+++ b/library/fullcalendar/packages/daygrid/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@fullcalendar/daygrid",
+ "version": "4.4.2",
+ "title": "FullCalendar Day Grid Plugin",
+ "description": "Display events on Month view or DayGrid view",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/month-view",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/google-calendar/LICENSE.txt b/library/fullcalendar/packages/google-calendar/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/google-calendar/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/google-calendar/README.md b/library/fullcalendar/packages/google-calendar/README.md
new file mode 100644
index 000000000..a4d6c5cc0
--- /dev/null
+++ b/library/fullcalendar/packages/google-calendar/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Google Calendar Plugin
+
+Fetch events from a public Google Calendar feed
+
+[View the docs &raquo;](https://fullcalendar.io/docs/google-calendar)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/google-calendar/main.d.ts b/library/fullcalendar/packages/google-calendar/main.d.ts
new file mode 100644
index 000000000..1ed96f778
--- /dev/null
+++ b/library/fullcalendar/packages/google-calendar/main.d.ts
@@ -0,0 +1,21 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// main.d.ts
+
+declare module '@fullcalendar/google-calendar' {
+ module '@fullcalendar/core' {
+ interface OptionsInput {
+ googleCalendarApiKey?: string;
+ }
+ }
+ module '@fullcalendar/core/structs/event-source' {
+ interface ExtendedEventSourceInput {
+ googleCalendarApiKey?: string;
+ googleCalendarId?: string;
+ googleCalendarApiBase?: string;
+ }
+ }
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
diff --git a/library/fullcalendar/packages/google-calendar/main.esm.js b/library/fullcalendar/packages/google-calendar/main.esm.js
new file mode 100644
index 000000000..58cb94106
--- /dev/null
+++ b/library/fullcalendar/packages/google-calendar/main.esm.js
@@ -0,0 +1,167 @@
+/*!
+FullCalendar Google Calendar Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import { createPlugin, refineProps, requestJson, addDays } from '@fullcalendar/core';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+
+var __assign = function() {
+ __assign = Object.assign || function __assign(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+
+// TODO: expose somehow
+var API_BASE = 'https://www.googleapis.com/calendar/v3/calendars';
+var STANDARD_PROPS = {
+ url: String,
+ googleCalendarApiKey: String,
+ googleCalendarId: String,
+ googleCalendarApiBase: String,
+ data: null
+};
+var eventSourceDef = {
+ parseMeta: function (raw) {
+ if (typeof raw === 'string') {
+ raw = { url: raw };
+ }
+ if (typeof raw === 'object') {
+ var standardProps = refineProps(raw, STANDARD_PROPS);
+ if (!standardProps.googleCalendarId && standardProps.url) {
+ standardProps.googleCalendarId = parseGoogleCalendarId(standardProps.url);
+ }
+ delete standardProps.url;
+ if (standardProps.googleCalendarId) {
+ return standardProps;
+ }
+ }
+ return null;
+ },
+ fetch: function (arg, onSuccess, onFailure) {
+ var calendar = arg.calendar;
+ var meta = arg.eventSource.meta;
+ var apiKey = meta.googleCalendarApiKey || calendar.opt('googleCalendarApiKey');
+ if (!apiKey) {
+ onFailure({
+ message: 'Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/'
+ });
+ }
+ else {
+ var url = buildUrl(meta);
+ var requestParams_1 = buildRequestParams(arg.range, apiKey, meta.data, calendar.dateEnv);
+ requestJson('GET', url, requestParams_1, function (body, xhr) {
+ if (body.error) {
+ onFailure({
+ message: 'Google Calendar API: ' + body.error.message,
+ errors: body.error.errors,
+ xhr: xhr
+ });
+ }
+ else {
+ onSuccess({
+ rawEvents: gcalItemsToRawEventDefs(body.items, requestParams_1.timeZone),
+ xhr: xhr
+ });
+ }
+ }, function (message, xhr) {
+ onFailure({ message: message, xhr: xhr });
+ });
+ }
+ }
+};
+function parseGoogleCalendarId(url) {
+ var match;
+ // detect if the ID was specified as a single string.
+ // will match calendars like "asdf1234@calendar.google.com" in addition to person email calendars.
+ if (/^[^\/]+@([^\/\.]+\.)*(google|googlemail|gmail)\.com$/.test(url)) {
+ return url;
+ }
+ else if ((match = /^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^\/]*)/.exec(url)) ||
+ (match = /^https?:\/\/www.google.com\/calendar\/feeds\/([^\/]*)/.exec(url))) {
+ return decodeURIComponent(match[1]);
+ }
+}
+function buildUrl(meta) {
+ var apiBase = meta.googleCalendarApiBase;
+ if (!apiBase) {
+ apiBase = API_BASE;
+ }
+ return apiBase + '/' + encodeURIComponent(meta.googleCalendarId) + '/events';
+}
+function buildRequestParams(range, apiKey, extraParams, dateEnv) {
+ var params;
+ var startStr;
+ var endStr;
+ if (dateEnv.canComputeOffset) {
+ // strings will naturally have offsets, which GCal needs
+ startStr = dateEnv.formatIso(range.start);
+ endStr = dateEnv.formatIso(range.end);
+ }
+ else {
+ // when timezone isn't known, we don't know what the UTC offset should be, so ask for +/- 1 day
+ // from the UTC day-start to guarantee we're getting all the events
+ // (start/end will be UTC-coerced dates, so toISOString is okay)
+ startStr = addDays(range.start, -1).toISOString();
+ endStr = addDays(range.end, 1).toISOString();
+ }
+ params = __assign({}, (extraParams || {}), { key: apiKey, timeMin: startStr, timeMax: endStr, singleEvents: true, maxResults: 9999 });
+ if (dateEnv.timeZone !== 'local') {
+ params.timeZone = dateEnv.timeZone;
+ }
+ return params;
+}
+function gcalItemsToRawEventDefs(items, gcalTimezone) {
+ return items.map(function (item) {
+ return gcalItemToRawEventDef(item, gcalTimezone);
+ });
+}
+function gcalItemToRawEventDef(item, gcalTimezone) {
+ var url = item.htmlLink || null;
+ // make the URLs for each event show times in the correct timezone
+ if (url && gcalTimezone) {
+ url = injectQsComponent(url, 'ctz=' + gcalTimezone);
+ }
+ return {
+ id: item.id,
+ title: item.summary,
+ start: item.start.dateTime || item.start.date,
+ end: item.end.dateTime || item.end.date,
+ url: url,
+ location: item.location,
+ description: item.description
+ };
+}
+// Injects a string like "arg=value" into the querystring of a URL
+// TODO: move to a general util file?
+function injectQsComponent(url, component) {
+ // inject it after the querystring but before the fragment
+ return url.replace(/(\?.*?)?(#|$)/, function (whole, qs, hash) {
+ return (qs ? qs + '&' : '?') + component + hash;
+ });
+}
+var main = createPlugin({
+ eventSourceDefs: [eventSourceDef]
+});
+
+export default main;
diff --git a/library/fullcalendar/packages/google-calendar/main.js b/library/fullcalendar/packages/google-calendar/main.js
index 89ce3d7a6..adf80e6a7 100644
--- a/library/fullcalendar/packages/google-calendar/main.js
+++ b/library/fullcalendar/packages/google-calendar/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar Google Calendar Plugin v4.0.2
+FullCalendar Google Calendar Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', '@fullcalendar/core'], factory) :
@@ -10,18 +11,18 @@ Docs & License: https://fullcalendar.io/
}(this, function (exports, core) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var __assign = function() {
@@ -41,6 +42,7 @@ Docs & License: https://fullcalendar.io/
url: String,
googleCalendarApiKey: String,
googleCalendarId: String,
+ googleCalendarApiBase: String,
data: null
};
var eventSourceDef = {
@@ -105,7 +107,11 @@ Docs & License: https://fullcalendar.io/
}
}
function buildUrl(meta) {
- return API_BASE + '/' + encodeURIComponent(meta.googleCalendarId) + '/events';
+ var apiBase = meta.googleCalendarApiBase;
+ if (!apiBase) {
+ apiBase = API_BASE;
+ }
+ return apiBase + '/' + encodeURIComponent(meta.googleCalendarId) + '/events';
}
function buildRequestParams(range, apiKey, extraParams, dateEnv) {
var params;
diff --git a/library/fullcalendar/packages/google-calendar/main.min.js b/library/fullcalendar/packages/google-calendar/main.min.js
index 51947e659..63ee15585 100644
--- a/library/fullcalendar/packages/google-calendar/main.min.js
+++ b/library/fullcalendar/packages/google-calendar/main.min.js
@@ -1,20 +1,6 @@
/*!
-FullCalendar Google Calendar Plugin v4.0.2
+FullCalendar Google Calendar Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],r):(e=e||self,r(e.FullCalendarGoogleCalendar={},e.FullCalendar))}(this,function(e,r){"use strict";function t(e){var r;return/^[^\/]+@([^\/\.]+\.)*(google|googlemail|gmail)\.com$/.test(e)?e:(r=/^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^\/]*)/.exec(e))||(r=/^https?:\/\/www.google.com\/calendar\/feeds\/([^\/]*)/.exec(e))?decodeURIComponent(r[1]):void 0}function n(e){return s+"/"+encodeURIComponent(e.googleCalendarId)+"/events"}function o(e,t,n,o){var a,l,i;return o.canComputeOffset?(l=o.formatIso(e.start),i=o.formatIso(e.end)):(l=r.addDays(e.start,-1).toISOString(),i=r.addDays(e.end,1).toISOString()),a=d({},n||{},{key:t,timeMin:l,timeMax:i,singleEvents:!0,maxResults:9999}),"local"!==o.timeZone&&(a.timeZone=o.timeZone),a}function a(e,r){return e.map(function(e){return l(e,r)})}function l(e,r){var t=e.htmlLink||null;return t&&r&&(t=i(t,"ctz="+r)),{id:e.id,title:e.summary,start:e.start.dateTime||e.start.date,end:e.end.dateTime||e.end.date,url:t,location:e.location,description:e.description}}function i(e,r){return e.replace(/(\?.*?)?(#|$)/,function(e,t,n){return(t?t+"&":"?")+r+n})}/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var d=function(){return d=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++){r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},d.apply(this,arguments)},s="https://www.googleapis.com/calendar/v3/calendars",c={url:String,googleCalendarApiKey:String,googleCalendarId:String,data:null},u={parseMeta:function(e){if("string"==typeof e&&(e={url:e}),"object"==typeof e){var n=r.refineProps(e,c);if(!n.googleCalendarId&&n.url&&(n.googleCalendarId=t(n.url)),delete n.url,n.googleCalendarId)return n}return null},fetch:function(e,t,l){var i=e.calendar,d=e.eventSource.meta,s=d.googleCalendarApiKey||i.opt("googleCalendarApiKey");if(s){var c=n(d),u=o(e.range,s,d.data,i.dateEnv);r.requestJson("GET",c,u,function(e,r){e.error?l({message:"Google Calendar API: "+e.error.message,errors:e.error.errors,xhr:r}):t({rawEvents:a(e.items,u.timeZone),xhr:r})},function(e,r){l({message:e,xhr:r})})}else l({message:"Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/"})}},g=r.createPlugin({eventSourceDefs:[u]});e.default=g,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],r):r((e=e||self).FullCalendarGoogleCalendar={},e.FullCalendar)}(this,(function(e,r){"use strict";var n=function(){return(n=Object.assign||function(e){for(var r,n=1,t=arguments.length;n<t;n++)for(var a in r=arguments[n])Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);return e}).apply(this,arguments)},t={url:String,googleCalendarApiKey:String,googleCalendarId:String,googleCalendarApiBase:String,data:null},a={parseMeta:function(e){if("string"==typeof e&&(e={url:e}),"object"==typeof e){var n=r.refineProps(e,t);if(!n.googleCalendarId&&n.url&&(n.googleCalendarId=function(e){var r;if(/^[^\/]+@([^\/\.]+\.)*(google|googlemail|gmail)\.com$/.test(e))return e;if((r=/^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^\/]*)/.exec(e))||(r=/^https?:\/\/www.google.com\/calendar\/feeds\/([^\/]*)/.exec(e)))return decodeURIComponent(r[1])}(n.url)),delete n.url,n.googleCalendarId)return n}return null},fetch:function(e,t,a){var o=e.calendar,l=e.eventSource.meta,i=l.googleCalendarApiKey||o.opt("googleCalendarApiKey");if(i){var d=function(e){var r=e.googleCalendarApiBase;r||(r="https://www.googleapis.com/calendar/v3/calendars");return r+"/"+encodeURIComponent(e.googleCalendarId)+"/events"}(l),s=function(e,t,a,o){var l,i,d;o.canComputeOffset?(i=o.formatIso(e.start),d=o.formatIso(e.end)):(i=r.addDays(e.start,-1).toISOString(),d=r.addDays(e.end,1).toISOString());l=n({},a||{},{key:t,timeMin:i,timeMax:d,singleEvents:!0,maxResults:9999}),"local"!==o.timeZone&&(l.timeZone=o.timeZone);return l}(e.range,i,l.data,o.dateEnv);r.requestJson("GET",d,s,(function(e,r){var n,o;e.error?a({message:"Google Calendar API: "+e.error.message,errors:e.error.errors,xhr:r}):t({rawEvents:(n=e.items,o=s.timeZone,n.map((function(e){return function(e,r){var n=e.htmlLink||null;n&&r&&(n=function(e,r){return e.replace(/(\?.*?)?(#|$)/,(function(e,n,t){return(n?n+"&":"?")+r+t}))}(n,"ctz="+r));return{id:e.id,title:e.summary,start:e.start.dateTime||e.start.date,end:e.end.dateTime||e.end.date,url:n,location:e.location,description:e.description}}(e,o)}))),xhr:r})}),(function(e,r){a({message:e,xhr:r})}))}else a({message:"Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/"})}};var o=r.createPlugin({eventSourceDefs:[a]});e.default=o,Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/google-calendar/package.json b/library/fullcalendar/packages/google-calendar/package.json
new file mode 100644
index 000000000..e701b3802
--- /dev/null
+++ b/library/fullcalendar/packages/google-calendar/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@fullcalendar/google-calendar",
+ "version": "4.4.2",
+ "title": "FullCalendar Google Calendar Plugin",
+ "description": "Fetch events from a public Google Calendar feed",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/google-calendar",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/interaction/LICENSE.txt b/library/fullcalendar/packages/interaction/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/interaction/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/interaction/README.md b/library/fullcalendar/packages/interaction/README.md
new file mode 100644
index 000000000..ee5c738ab
--- /dev/null
+++ b/library/fullcalendar/packages/interaction/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Interaction Plugin
+
+Provides functionality for event drag-n-drop, resizing, dateClick, and selectable actions
+
+[View the docs &raquo;](https://fullcalendar.io/docs/editable)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/interaction/main.d.ts b/library/fullcalendar/packages/interaction/main.d.ts
new file mode 100644
index 000000000..b7398ba76
--- /dev/null
+++ b/library/fullcalendar/packages/interaction/main.d.ts
@@ -0,0 +1,323 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/interaction' {
+ import FeaturefulElementDragging from '@fullcalendar/interaction/dnd/FeaturefulElementDragging';
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+ export { FeaturefulElementDragging };
+ export { default as PointerDragging } from '@fullcalendar/interaction/dnd/PointerDragging';
+ export { default as Draggable } from '@fullcalendar/interaction/interactions-external/ExternalDraggable';
+ export { default as ThirdPartyDraggable } from '@fullcalendar/interaction/interactions-external/ThirdPartyDraggable';
+}
+
+declare module '@fullcalendar/interaction/dnd/FeaturefulElementDragging' {
+ import { PointerDragEvent, ElementDragging } from '@fullcalendar/core';
+ import PointerDragging from '@fullcalendar/interaction/dnd/PointerDragging';
+ import ElementMirror from '@fullcalendar/interaction/dnd/ElementMirror';
+ import AutoScroller from '@fullcalendar/interaction/dnd/AutoScroller';
+ export { FeaturefulElementDragging as default, FeaturefulElementDragging };
+ class FeaturefulElementDragging extends ElementDragging {
+ pointer: PointerDragging;
+ mirror: ElementMirror;
+ autoScroller: AutoScroller;
+ delay: number | null;
+ minDistance: number;
+ touchScrollAllowed: boolean;
+ mirrorNeedsRevert: boolean;
+ isInteracting: boolean;
+ isDragging: boolean;
+ isDelayEnded: boolean;
+ isDistanceSurpassed: boolean;
+ delayTimeoutId: number | null;
+ constructor(containerEl: HTMLElement);
+ destroy(): void;
+ onPointerDown: (ev: PointerDragEvent) => void;
+ onPointerMove: (ev: PointerDragEvent) => void;
+ onPointerUp: (ev: PointerDragEvent) => void;
+ startDelay(ev: PointerDragEvent): void;
+ handleDelayEnd(ev: PointerDragEvent): void;
+ handleDistanceSurpassed(ev: PointerDragEvent): void;
+ tryStartDrag(ev: PointerDragEvent): void;
+ tryStopDrag(ev: PointerDragEvent): void;
+ stopDrag(ev: PointerDragEvent): void;
+ setIgnoreMove(bool: boolean): void;
+ setMirrorIsVisible(bool: boolean): void;
+ setMirrorNeedsRevert(bool: boolean): void;
+ setAutoScrollEnabled(bool: boolean): void;
+ }
+}
+
+declare module '@fullcalendar/interaction/dnd/PointerDragging' {
+ import { EmitterMixin, PointerDragEvent } from '@fullcalendar/core';
+ export { PointerDragging as default, PointerDragging };
+ class PointerDragging {
+ containerEl: EventTarget;
+ subjectEl: HTMLElement | null;
+ downEl: HTMLElement | null;
+ emitter: EmitterMixin;
+ selector: string;
+ handleSelector: string;
+ shouldIgnoreMove: boolean;
+ shouldWatchScroll: boolean;
+ isDragging: boolean;
+ isTouchDragging: boolean;
+ wasTouchScroll: boolean;
+ origPageX: number;
+ origPageY: number;
+ prevPageX: number;
+ prevPageY: number;
+ prevScrollX: number;
+ prevScrollY: number;
+ constructor(containerEl: EventTarget);
+ destroy(): void;
+ tryStart(ev: UIEvent): boolean;
+ cleanup(): void;
+ querySubjectEl(ev: UIEvent): HTMLElement;
+ handleMouseDown: (ev: MouseEvent) => void;
+ handleMouseMove: (ev: MouseEvent) => void;
+ handleMouseUp: (ev: MouseEvent) => void;
+ shouldIgnoreMouse(): number | boolean;
+ handleTouchStart: (ev: TouchEvent) => void;
+ handleTouchMove: (ev: TouchEvent) => void;
+ handleTouchEnd: (ev: TouchEvent) => void;
+ handleTouchScroll: () => void;
+ cancelTouchScroll(): void;
+ initScrollWatch(ev: PointerDragEvent): void;
+ recordCoords(ev: PointerDragEvent): void;
+ handleScroll: (ev: UIEvent) => void;
+ destroyScrollWatch(): void;
+ createEventFromMouse(ev: MouseEvent, isFirst?: boolean): PointerDragEvent;
+ createEventFromTouch(ev: TouchEvent, isFirst?: boolean): PointerDragEvent;
+ }
+}
+
+declare module '@fullcalendar/interaction/interactions-external/ExternalDraggable' {
+ import { PointerDragEvent } from '@fullcalendar/core';
+ import FeaturefulElementDragging from '@fullcalendar/interaction/dnd/FeaturefulElementDragging';
+ import { DragMetaGenerator } from '@fullcalendar/interaction/interactions-external/ExternalElementDragging';
+ export interface ExternalDraggableSettings {
+ eventData?: DragMetaGenerator;
+ itemSelector?: string;
+ minDistance?: number;
+ longPressDelay?: number;
+ appendTo?: HTMLElement;
+ }
+ export { ExternalDraggable as default, ExternalDraggable };
+ class ExternalDraggable {
+ dragging: FeaturefulElementDragging;
+ settings: ExternalDraggableSettings;
+ constructor(el: HTMLElement, settings?: ExternalDraggableSettings);
+ handlePointerDown: (ev: PointerDragEvent) => void;
+ handleDragStart: (ev: PointerDragEvent) => void;
+ destroy(): void;
+ }
+}
+
+declare module '@fullcalendar/interaction/interactions-external/ThirdPartyDraggable' {
+ import { DragMetaGenerator } from '@fullcalendar/interaction/interactions-external/ExternalElementDragging';
+ import InferredElementDragging from '@fullcalendar/interaction/interactions-external/InferredElementDragging';
+ export interface ThirdPartyDraggableSettings {
+ eventData?: DragMetaGenerator;
+ itemSelector?: string;
+ mirrorSelector?: string;
+ }
+ export { ThirdPartyDraggable as default, ThirdPartyDraggable };
+ class ThirdPartyDraggable {
+ dragging: InferredElementDragging;
+ constructor(containerOrSettings?: EventTarget | ThirdPartyDraggableSettings, settings?: ThirdPartyDraggableSettings);
+ destroy(): void;
+ }
+}
+
+declare module '@fullcalendar/interaction/dnd/ElementMirror' {
+ import { Rect } from '@fullcalendar/core';
+ export { ElementMirror as default, ElementMirror };
+ class ElementMirror {
+ isVisible: boolean;
+ origScreenX?: number;
+ origScreenY?: number;
+ deltaX?: number;
+ deltaY?: number;
+ sourceEl: HTMLElement | null;
+ mirrorEl: HTMLElement | null;
+ sourceElRect: Rect | null;
+ parentNode: HTMLElement;
+ zIndex: number;
+ revertDuration: number;
+ start(sourceEl: HTMLElement, pageX: number, pageY: number): void;
+ handleMove(pageX: number, pageY: number): void;
+ setIsVisible(bool: boolean): void;
+ stop(needsRevertAnimation: boolean, callback: () => void): void;
+ doRevertAnimation(callback: () => void, revertDuration: number): void;
+ cleanup(): void;
+ updateElPosition(): void;
+ getMirrorEl(): HTMLElement;
+ }
+}
+
+declare module '@fullcalendar/interaction/dnd/AutoScroller' {
+ import { ScrollGeomCache } from '@fullcalendar/interaction/scroll-geom-cache';
+ export { AutoScroller as default, AutoScroller };
+ class AutoScroller {
+ isEnabled: boolean;
+ scrollQuery: (Window | string)[];
+ edgeThreshold: number;
+ maxVelocity: number;
+ pointerScreenX: number | null;
+ pointerScreenY: number | null;
+ isAnimating: boolean;
+ scrollCaches: ScrollGeomCache[] | null;
+ msSinceRequest?: number;
+ everMovedUp: boolean;
+ everMovedDown: boolean;
+ everMovedLeft: boolean;
+ everMovedRight: boolean;
+ start(pageX: number, pageY: number): void;
+ handleMove(pageX: number, pageY: number): void;
+ stop(): void;
+ requestAnimation(now: number): void;
+ }
+}
+
+declare module '@fullcalendar/interaction/interactions-external/ExternalElementDragging' {
+ import { Hit, PointerDragEvent, EventTuple, DatePointApi, Calendar, EventInteractionState, DragMetaInput, DragMeta, View, ElementDragging } from '@fullcalendar/core';
+ import HitDragging from '@fullcalendar/interaction/interactions/HitDragging';
+ export type DragMetaGenerator = DragMetaInput | ((el: HTMLElement) => DragMetaInput);
+ export interface ExternalDropApi extends DatePointApi {
+ draggedEl: HTMLElement;
+ jsEvent: UIEvent;
+ view: View;
+ }
+ export { ExternalElementDragging as default, ExternalElementDragging };
+ class ExternalElementDragging {
+ hitDragging: HitDragging;
+ receivingCalendar: Calendar | null;
+ droppableEvent: EventTuple | null;
+ suppliedDragMeta: DragMetaGenerator | null;
+ dragMeta: DragMeta | null;
+ constructor(dragging: ElementDragging, suppliedDragMeta?: DragMetaGenerator);
+ handleDragStart: (ev: PointerDragEvent) => void;
+ buildDragMeta(subjectEl: HTMLElement): DragMeta;
+ handleHitUpdate: (hit: Hit, isFinal: boolean, ev: PointerDragEvent) => void;
+ handleDragEnd: (pev: PointerDragEvent) => void;
+ displayDrag(nextCalendar: Calendar | null, state: EventInteractionState): void;
+ clearDrag(): void;
+ canDropElOnCalendar(el: HTMLElement, receivingCalendar: Calendar): boolean;
+ }
+}
+
+declare module '@fullcalendar/interaction/interactions-external/InferredElementDragging' {
+ import { PointerDragEvent, ElementDragging } from '@fullcalendar/core';
+ import PointerDragging from '@fullcalendar/interaction/dnd/PointerDragging';
+ export { InferredElementDragging as default, InferredElementDragging };
+ class InferredElementDragging extends ElementDragging {
+ pointer: PointerDragging;
+ shouldIgnoreMove: boolean;
+ mirrorSelector: string;
+ currentMirrorEl: HTMLElement | null;
+ constructor(containerEl: HTMLElement);
+ destroy(): void;
+ handlePointerDown: (ev: PointerDragEvent) => void;
+ handlePointerMove: (ev: PointerDragEvent) => void;
+ handlePointerUp: (ev: PointerDragEvent) => void;
+ setIgnoreMove(bool: boolean): void;
+ setMirrorIsVisible(bool: boolean): void;
+ }
+}
+
+declare module '@fullcalendar/interaction/scroll-geom-cache' {
+ import { Rect, ScrollController } from '@fullcalendar/core';
+ export abstract class ScrollGeomCache extends ScrollController {
+ clientRect: Rect;
+ origScrollTop: number;
+ origScrollLeft: number;
+ protected scrollController: ScrollController;
+ protected doesListening: boolean;
+ protected scrollTop: number;
+ protected scrollLeft: number;
+ protected scrollWidth: number;
+ protected scrollHeight: number;
+ protected clientWidth: number;
+ protected clientHeight: number;
+ constructor(scrollController: ScrollController, doesListening: boolean);
+ abstract getEventTarget(): EventTarget;
+ abstract computeClientRect(): Rect;
+ destroy(): void;
+ handleScroll: () => void;
+ getScrollTop(): number;
+ getScrollLeft(): number;
+ setScrollTop(top: number): void;
+ setScrollLeft(top: number): void;
+ getClientWidth(): number;
+ getClientHeight(): number;
+ getScrollWidth(): number;
+ getScrollHeight(): number;
+ handleScrollChange(): void;
+ }
+ export class ElementScrollGeomCache extends ScrollGeomCache {
+ constructor(el: HTMLElement, doesListening: boolean);
+ getEventTarget(): EventTarget;
+ computeClientRect(): {
+ left: number;
+ right: number;
+ top: number;
+ bottom: number;
+ };
+ }
+ export class WindowScrollGeomCache extends ScrollGeomCache {
+ constructor(doesListening: boolean);
+ getEventTarget(): EventTarget;
+ computeClientRect(): Rect;
+ handleScrollChange(): void;
+ }
+}
+
+declare module '@fullcalendar/interaction/interactions/HitDragging' {
+ import { EmitterMixin, PointerDragEvent, Point, Hit, InteractionSettingsStore, ElementDragging } from '@fullcalendar/core';
+ import OffsetTracker from '@fullcalendar/interaction/OffsetTracker';
+ export { HitDragging as default, HitDragging };
+ class HitDragging {
+ droppableStore: InteractionSettingsStore;
+ dragging: ElementDragging;
+ emitter: EmitterMixin;
+ useSubjectCenter: boolean;
+ requireInitial: boolean;
+ offsetTrackers: {
+ [componentUid: string]: OffsetTracker;
+ };
+ initialHit: Hit | null;
+ movingHit: Hit | null;
+ finalHit: Hit | null;
+ coordAdjust?: Point;
+ constructor(dragging: ElementDragging, droppableStore: InteractionSettingsStore);
+ handlePointerDown: (ev: PointerDragEvent) => void;
+ processFirstCoord(ev: PointerDragEvent): void;
+ handleDragStart: (ev: PointerDragEvent) => void;
+ handleDragMove: (ev: PointerDragEvent) => void;
+ handlePointerUp: (ev: PointerDragEvent) => void;
+ handleDragEnd: (ev: PointerDragEvent) => void;
+ handleMove(ev: PointerDragEvent, forceHandle?: boolean): void;
+ prepareHits(): void;
+ releaseHits(): void;
+ queryHitForOffset(offsetLeft: number, offsetTop: number): Hit | null;
+ }
+ export function isHitsEqual(hit0: Hit | null, hit1: Hit | null): boolean;
+}
+
+declare module '@fullcalendar/interaction/OffsetTracker' {
+ import { Rect } from '@fullcalendar/core';
+ import { ElementScrollGeomCache } from '@fullcalendar/interaction/scroll-geom-cache';
+ export { OffsetTracker as default, OffsetTracker };
+ class OffsetTracker {
+ scrollCaches: ElementScrollGeomCache[];
+ origRect: Rect;
+ constructor(el: HTMLElement);
+ destroy(): void;
+ computeLeft(): number;
+ computeTop(): number;
+ isWithinClipping(pageX: number, pageY: number): boolean;
+ }
+}
+
diff --git a/library/fullcalendar/packages/interaction/main.esm.js b/library/fullcalendar/packages/interaction/main.esm.js
new file mode 100644
index 000000000..af9ef4074
--- /dev/null
+++ b/library/fullcalendar/packages/interaction/main.esm.js
@@ -0,0 +1,2141 @@
+/*!
+FullCalendar Interaction Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import { config, elementClosest, EmitterMixin, applyStyle, whenTransitionDone, removeElement, ScrollController, ElementScrollController, computeInnerRect, WindowScrollController, preventSelection, preventContextMenu, allowSelection, allowContextMenu, ElementDragging, computeRect, getClippingParents, pointInsideRect, isDateSpansEqual, constrainPoint, intersectRects, getRectCenter, diffPoints, mapHash, rangeContainsRange, interactionSettingsToStore, Interaction, enableCursor, disableCursor, compareNumbers, getElSeg, getRelevantEvents, EventApi, createEmptyEventStore, applyMutationToEventStore, interactionSettingsStore, startOfDay, diffDates, createDuration, eventTupleToStore, isInteractionValid, parseDragMeta, elementMatches, parseEventDef, createEventInstance, globalDefaults, createPlugin } from '@fullcalendar/core';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var __assign = function() {
+ __assign = Object.assign || function __assign(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+
+config.touchMouseIgnoreWait = 500;
+var ignoreMouseDepth = 0;
+var listenerCnt = 0;
+var isWindowTouchMoveCancelled = false;
+/*
+Uses a "pointer" abstraction, which monitors UI events for both mouse and touch.
+Tracks when the pointer "drags" on a certain element, meaning down+move+up.
+
+Also, tracks if there was touch-scrolling.
+Also, can prevent touch-scrolling from happening.
+Also, can fire pointermove events when scrolling happens underneath, even when no real pointer movement.
+
+emits:
+- pointerdown
+- pointermove
+- pointerup
+*/
+var PointerDragging = /** @class */ (function () {
+ function PointerDragging(containerEl) {
+ var _this = this;
+ this.subjectEl = null;
+ this.downEl = null;
+ // options that can be directly assigned by caller
+ this.selector = ''; // will cause subjectEl in all emitted events to be this element
+ this.handleSelector = '';
+ this.shouldIgnoreMove = false;
+ this.shouldWatchScroll = true; // for simulating pointermove on scroll
+ // internal states
+ this.isDragging = false;
+ this.isTouchDragging = false;
+ this.wasTouchScroll = false;
+ // Mouse
+ // ----------------------------------------------------------------------------------------------------
+ this.handleMouseDown = function (ev) {
+ if (!_this.shouldIgnoreMouse() &&
+ isPrimaryMouseButton(ev) &&
+ _this.tryStart(ev)) {
+ var pev = _this.createEventFromMouse(ev, true);
+ _this.emitter.trigger('pointerdown', pev);
+ _this.initScrollWatch(pev);
+ if (!_this.shouldIgnoreMove) {
+ document.addEventListener('mousemove', _this.handleMouseMove);
+ }
+ document.addEventListener('mouseup', _this.handleMouseUp);
+ }
+ };
+ this.handleMouseMove = function (ev) {
+ var pev = _this.createEventFromMouse(ev);
+ _this.recordCoords(pev);
+ _this.emitter.trigger('pointermove', pev);
+ };
+ this.handleMouseUp = function (ev) {
+ document.removeEventListener('mousemove', _this.handleMouseMove);
+ document.removeEventListener('mouseup', _this.handleMouseUp);
+ _this.emitter.trigger('pointerup', _this.createEventFromMouse(ev));
+ _this.cleanup(); // call last so that pointerup has access to props
+ };
+ // Touch
+ // ----------------------------------------------------------------------------------------------------
+ this.handleTouchStart = function (ev) {
+ if (_this.tryStart(ev)) {
+ _this.isTouchDragging = true;
+ var pev = _this.createEventFromTouch(ev, true);
+ _this.emitter.trigger('pointerdown', pev);
+ _this.initScrollWatch(pev);
+ // unlike mouse, need to attach to target, not document
+ // https://stackoverflow.com/a/45760014
+ var target = ev.target;
+ if (!_this.shouldIgnoreMove) {
+ target.addEventListener('touchmove', _this.handleTouchMove);
+ }
+ target.addEventListener('touchend', _this.handleTouchEnd);
+ target.addEventListener('touchcancel', _this.handleTouchEnd); // treat it as a touch end
+ // attach a handler to get called when ANY scroll action happens on the page.
+ // this was impossible to do with normal on/off because 'scroll' doesn't bubble.
+ // http://stackoverflow.com/a/32954565/96342
+ window.addEventListener('scroll', _this.handleTouchScroll, true // useCapture
+ );
+ }
+ };
+ this.handleTouchMove = function (ev) {
+ var pev = _this.createEventFromTouch(ev);
+ _this.recordCoords(pev);
+ _this.emitter.trigger('pointermove', pev);
+ };
+ this.handleTouchEnd = function (ev) {
+ if (_this.isDragging) { // done to guard against touchend followed by touchcancel
+ var target = ev.target;
+ target.removeEventListener('touchmove', _this.handleTouchMove);
+ target.removeEventListener('touchend', _this.handleTouchEnd);
+ target.removeEventListener('touchcancel', _this.handleTouchEnd);
+ window.removeEventListener('scroll', _this.handleTouchScroll, true); // useCaptured=true
+ _this.emitter.trigger('pointerup', _this.createEventFromTouch(ev));
+ _this.cleanup(); // call last so that pointerup has access to props
+ _this.isTouchDragging = false;
+ startIgnoringMouse();
+ }
+ };
+ this.handleTouchScroll = function () {
+ _this.wasTouchScroll = true;
+ };
+ this.handleScroll = function (ev) {
+ if (!_this.shouldIgnoreMove) {
+ var pageX = (window.pageXOffset - _this.prevScrollX) + _this.prevPageX;
+ var pageY = (window.pageYOffset - _this.prevScrollY) + _this.prevPageY;
+ _this.emitter.trigger('pointermove', {
+ origEvent: ev,
+ isTouch: _this.isTouchDragging,
+ subjectEl: _this.subjectEl,
+ pageX: pageX,
+ pageY: pageY,
+ deltaX: pageX - _this.origPageX,
+ deltaY: pageY - _this.origPageY
+ });
+ }
+ };
+ this.containerEl = containerEl;
+ this.emitter = new EmitterMixin();
+ containerEl.addEventListener('mousedown', this.handleMouseDown);
+ containerEl.addEventListener('touchstart', this.handleTouchStart, { passive: true });
+ listenerCreated();
+ }
+ PointerDragging.prototype.destroy = function () {
+ this.containerEl.removeEventListener('mousedown', this.handleMouseDown);
+ this.containerEl.removeEventListener('touchstart', this.handleTouchStart, { passive: true });
+ listenerDestroyed();
+ };
+ PointerDragging.prototype.tryStart = function (ev) {
+ var subjectEl = this.querySubjectEl(ev);
+ var downEl = ev.target;
+ if (subjectEl &&
+ (!this.handleSelector || elementClosest(downEl, this.handleSelector))) {
+ this.subjectEl = subjectEl;
+ this.downEl = downEl;
+ this.isDragging = true; // do this first so cancelTouchScroll will work
+ this.wasTouchScroll = false;
+ return true;
+ }
+ return false;
+ };
+ PointerDragging.prototype.cleanup = function () {
+ isWindowTouchMoveCancelled = false;
+ this.isDragging = false;
+ this.subjectEl = null;
+ this.downEl = null;
+ // keep wasTouchScroll around for later access
+ this.destroyScrollWatch();
+ };
+ PointerDragging.prototype.querySubjectEl = function (ev) {
+ if (this.selector) {
+ return elementClosest(ev.target, this.selector);
+ }
+ else {
+ return this.containerEl;
+ }
+ };
+ PointerDragging.prototype.shouldIgnoreMouse = function () {
+ return ignoreMouseDepth || this.isTouchDragging;
+ };
+ // can be called by user of this class, to cancel touch-based scrolling for the current drag
+ PointerDragging.prototype.cancelTouchScroll = function () {
+ if (this.isDragging) {
+ isWindowTouchMoveCancelled = true;
+ }
+ };
+ // Scrolling that simulates pointermoves
+ // ----------------------------------------------------------------------------------------------------
+ PointerDragging.prototype.initScrollWatch = function (ev) {
+ if (this.shouldWatchScroll) {
+ this.recordCoords(ev);
+ window.addEventListener('scroll', this.handleScroll, true); // useCapture=true
+ }
+ };
+ PointerDragging.prototype.recordCoords = function (ev) {
+ if (this.shouldWatchScroll) {
+ this.prevPageX = ev.pageX;
+ this.prevPageY = ev.pageY;
+ this.prevScrollX = window.pageXOffset;
+ this.prevScrollY = window.pageYOffset;
+ }
+ };
+ PointerDragging.prototype.destroyScrollWatch = function () {
+ if (this.shouldWatchScroll) {
+ window.removeEventListener('scroll', this.handleScroll, true); // useCaptured=true
+ }
+ };
+ // Event Normalization
+ // ----------------------------------------------------------------------------------------------------
+ PointerDragging.prototype.createEventFromMouse = function (ev, isFirst) {
+ var deltaX = 0;
+ var deltaY = 0;
+ // TODO: repeat code
+ if (isFirst) {
+ this.origPageX = ev.pageX;
+ this.origPageY = ev.pageY;
+ }
+ else {
+ deltaX = ev.pageX - this.origPageX;
+ deltaY = ev.pageY - this.origPageY;
+ }
+ return {
+ origEvent: ev,
+ isTouch: false,
+ subjectEl: this.subjectEl,
+ pageX: ev.pageX,
+ pageY: ev.pageY,
+ deltaX: deltaX,
+ deltaY: deltaY
+ };
+ };
+ PointerDragging.prototype.createEventFromTouch = function (ev, isFirst) {
+ var touches = ev.touches;
+ var pageX;
+ var pageY;
+ var deltaX = 0;
+ var deltaY = 0;
+ // if touch coords available, prefer,
+ // because FF would give bad ev.pageX ev.pageY
+ if (touches && touches.length) {
+ pageX = touches[0].pageX;
+ pageY = touches[0].pageY;
+ }
+ else {
+ pageX = ev.pageX;
+ pageY = ev.pageY;
+ }
+ // TODO: repeat code
+ if (isFirst) {
+ this.origPageX = pageX;
+ this.origPageY = pageY;
+ }
+ else {
+ deltaX = pageX - this.origPageX;
+ deltaY = pageY - this.origPageY;
+ }
+ return {
+ origEvent: ev,
+ isTouch: true,
+ subjectEl: this.subjectEl,
+ pageX: pageX,
+ pageY: pageY,
+ deltaX: deltaX,
+ deltaY: deltaY
+ };
+ };
+ return PointerDragging;
+}());
+// Returns a boolean whether this was a left mouse click and no ctrl key (which means right click on Mac)
+function isPrimaryMouseButton(ev) {
+ return ev.button === 0 && !ev.ctrlKey;
+}
+// Ignoring fake mouse events generated by touch
+// ----------------------------------------------------------------------------------------------------
+function startIgnoringMouse() {
+ ignoreMouseDepth++;
+ setTimeout(function () {
+ ignoreMouseDepth--;
+ }, config.touchMouseIgnoreWait);
+}
+// We want to attach touchmove as early as possible for Safari
+// ----------------------------------------------------------------------------------------------------
+function listenerCreated() {
+ if (!(listenerCnt++)) {
+ window.addEventListener('touchmove', onWindowTouchMove, { passive: false });
+ }
+}
+function listenerDestroyed() {
+ if (!(--listenerCnt)) {
+ window.removeEventListener('touchmove', onWindowTouchMove, { passive: false });
+ }
+}
+function onWindowTouchMove(ev) {
+ if (isWindowTouchMoveCancelled) {
+ ev.preventDefault();
+ }
+}
+
+/*
+An effect in which an element follows the movement of a pointer across the screen.
+The moving element is a clone of some other element.
+Must call start + handleMove + stop.
+*/
+var ElementMirror = /** @class */ (function () {
+ function ElementMirror() {
+ this.isVisible = false; // must be explicitly enabled
+ this.sourceEl = null;
+ this.mirrorEl = null;
+ this.sourceElRect = null; // screen coords relative to viewport
+ // options that can be set directly by caller
+ this.parentNode = document.body;
+ this.zIndex = 9999;
+ this.revertDuration = 0;
+ }
+ ElementMirror.prototype.start = function (sourceEl, pageX, pageY) {
+ this.sourceEl = sourceEl;
+ this.sourceElRect = this.sourceEl.getBoundingClientRect();
+ this.origScreenX = pageX - window.pageXOffset;
+ this.origScreenY = pageY - window.pageYOffset;
+ this.deltaX = 0;
+ this.deltaY = 0;
+ this.updateElPosition();
+ };
+ ElementMirror.prototype.handleMove = function (pageX, pageY) {
+ this.deltaX = (pageX - window.pageXOffset) - this.origScreenX;
+ this.deltaY = (pageY - window.pageYOffset) - this.origScreenY;
+ this.updateElPosition();
+ };
+ // can be called before start
+ ElementMirror.prototype.setIsVisible = function (bool) {
+ if (bool) {
+ if (!this.isVisible) {
+ if (this.mirrorEl) {
+ this.mirrorEl.style.display = '';
+ }
+ this.isVisible = bool; // needs to happen before updateElPosition
+ this.updateElPosition(); // because was not updating the position while invisible
+ }
+ }
+ else {
+ if (this.isVisible) {
+ if (this.mirrorEl) {
+ this.mirrorEl.style.display = 'none';
+ }
+ this.isVisible = bool;
+ }
+ }
+ };
+ // always async
+ ElementMirror.prototype.stop = function (needsRevertAnimation, callback) {
+ var _this = this;
+ var done = function () {
+ _this.cleanup();
+ callback();
+ };
+ if (needsRevertAnimation &&
+ this.mirrorEl &&
+ this.isVisible &&
+ this.revertDuration && // if 0, transition won't work
+ (this.deltaX || this.deltaY) // if same coords, transition won't work
+ ) {
+ this.doRevertAnimation(done, this.revertDuration);
+ }
+ else {
+ setTimeout(done, 0);
+ }
+ };
+ ElementMirror.prototype.doRevertAnimation = function (callback, revertDuration) {
+ var mirrorEl = this.mirrorEl;
+ var finalSourceElRect = this.sourceEl.getBoundingClientRect(); // because autoscrolling might have happened
+ mirrorEl.style.transition =
+ 'top ' + revertDuration + 'ms,' +
+ 'left ' + revertDuration + 'ms';
+ applyStyle(mirrorEl, {
+ left: finalSourceElRect.left,
+ top: finalSourceElRect.top
+ });
+ whenTransitionDone(mirrorEl, function () {
+ mirrorEl.style.transition = '';
+ callback();
+ });
+ };
+ ElementMirror.prototype.cleanup = function () {
+ if (this.mirrorEl) {
+ removeElement(this.mirrorEl);
+ this.mirrorEl = null;
+ }
+ this.sourceEl = null;
+ };
+ ElementMirror.prototype.updateElPosition = function () {
+ if (this.sourceEl && this.isVisible) {
+ applyStyle(this.getMirrorEl(), {
+ left: this.sourceElRect.left + this.deltaX,
+ top: this.sourceElRect.top + this.deltaY
+ });
+ }
+ };
+ ElementMirror.prototype.getMirrorEl = function () {
+ var sourceElRect = this.sourceElRect;
+ var mirrorEl = this.mirrorEl;
+ if (!mirrorEl) {
+ mirrorEl = this.mirrorEl = this.sourceEl.cloneNode(true); // cloneChildren=true
+ // we don't want long taps or any mouse interaction causing selection/menus.
+ // would use preventSelection(), but that prevents selectstart, causing problems.
+ mirrorEl.classList.add('fc-unselectable');
+ mirrorEl.classList.add('fc-dragging');
+ applyStyle(mirrorEl, {
+ position: 'fixed',
+ zIndex: this.zIndex,
+ visibility: '',
+ boxSizing: 'border-box',
+ width: sourceElRect.right - sourceElRect.left,
+ height: sourceElRect.bottom - sourceElRect.top,
+ right: 'auto',
+ bottom: 'auto',
+ margin: 0
+ });
+ this.parentNode.appendChild(mirrorEl);
+ }
+ return mirrorEl;
+ };
+ return ElementMirror;
+}());
+
+/*
+Is a cache for a given element's scroll information (all the info that ScrollController stores)
+in addition the "client rectangle" of the element.. the area within the scrollbars.
+
+The cache can be in one of two modes:
+- doesListening:false - ignores when the container is scrolled by someone else
+- doesListening:true - watch for scrolling and update the cache
+*/
+var ScrollGeomCache = /** @class */ (function (_super) {
+ __extends(ScrollGeomCache, _super);
+ function ScrollGeomCache(scrollController, doesListening) {
+ var _this = _super.call(this) || this;
+ _this.handleScroll = function () {
+ _this.scrollTop = _this.scrollController.getScrollTop();
+ _this.scrollLeft = _this.scrollController.getScrollLeft();
+ _this.handleScrollChange();
+ };
+ _this.scrollController = scrollController;
+ _this.doesListening = doesListening;
+ _this.scrollTop = _this.origScrollTop = scrollController.getScrollTop();
+ _this.scrollLeft = _this.origScrollLeft = scrollController.getScrollLeft();
+ _this.scrollWidth = scrollController.getScrollWidth();
+ _this.scrollHeight = scrollController.getScrollHeight();
+ _this.clientWidth = scrollController.getClientWidth();
+ _this.clientHeight = scrollController.getClientHeight();
+ _this.clientRect = _this.computeClientRect(); // do last in case it needs cached values
+ if (_this.doesListening) {
+ _this.getEventTarget().addEventListener('scroll', _this.handleScroll);
+ }
+ return _this;
+ }
+ ScrollGeomCache.prototype.destroy = function () {
+ if (this.doesListening) {
+ this.getEventTarget().removeEventListener('scroll', this.handleScroll);
+ }
+ };
+ ScrollGeomCache.prototype.getScrollTop = function () {
+ return this.scrollTop;
+ };
+ ScrollGeomCache.prototype.getScrollLeft = function () {
+ return this.scrollLeft;
+ };
+ ScrollGeomCache.prototype.setScrollTop = function (top) {
+ this.scrollController.setScrollTop(top);
+ if (!this.doesListening) {
+ // we are not relying on the element to normalize out-of-bounds scroll values
+ // so we need to sanitize ourselves
+ this.scrollTop = Math.max(Math.min(top, this.getMaxScrollTop()), 0);
+ this.handleScrollChange();
+ }
+ };
+ ScrollGeomCache.prototype.setScrollLeft = function (top) {
+ this.scrollController.setScrollLeft(top);
+ if (!this.doesListening) {
+ // we are not relying on the element to normalize out-of-bounds scroll values
+ // so we need to sanitize ourselves
+ this.scrollLeft = Math.max(Math.min(top, this.getMaxScrollLeft()), 0);
+ this.handleScrollChange();
+ }
+ };
+ ScrollGeomCache.prototype.getClientWidth = function () {
+ return this.clientWidth;
+ };
+ ScrollGeomCache.prototype.getClientHeight = function () {
+ return this.clientHeight;
+ };
+ ScrollGeomCache.prototype.getScrollWidth = function () {
+ return this.scrollWidth;
+ };
+ ScrollGeomCache.prototype.getScrollHeight = function () {
+ return this.scrollHeight;
+ };
+ ScrollGeomCache.prototype.handleScrollChange = function () {
+ };
+ return ScrollGeomCache;
+}(ScrollController));
+var ElementScrollGeomCache = /** @class */ (function (_super) {
+ __extends(ElementScrollGeomCache, _super);
+ function ElementScrollGeomCache(el, doesListening) {
+ return _super.call(this, new ElementScrollController(el), doesListening) || this;
+ }
+ ElementScrollGeomCache.prototype.getEventTarget = function () {
+ return this.scrollController.el;
+ };
+ ElementScrollGeomCache.prototype.computeClientRect = function () {
+ return computeInnerRect(this.scrollController.el);
+ };
+ return ElementScrollGeomCache;
+}(ScrollGeomCache));
+var WindowScrollGeomCache = /** @class */ (function (_super) {
+ __extends(WindowScrollGeomCache, _super);
+ function WindowScrollGeomCache(doesListening) {
+ return _super.call(this, new WindowScrollController(), doesListening) || this;
+ }
+ WindowScrollGeomCache.prototype.getEventTarget = function () {
+ return window;
+ };
+ WindowScrollGeomCache.prototype.computeClientRect = function () {
+ return {
+ left: this.scrollLeft,
+ right: this.scrollLeft + this.clientWidth,
+ top: this.scrollTop,
+ bottom: this.scrollTop + this.clientHeight
+ };
+ };
+ // the window is the only scroll object that changes it's rectangle relative
+ // to the document's topleft as it scrolls
+ WindowScrollGeomCache.prototype.handleScrollChange = function () {
+ this.clientRect = this.computeClientRect();
+ };
+ return WindowScrollGeomCache;
+}(ScrollGeomCache));
+
+// If available we are using native "performance" API instead of "Date"
+// Read more about it on MDN:
+// https://developer.mozilla.org/en-US/docs/Web/API/Performance
+var getTime = typeof performance === 'function' ? performance.now : Date.now;
+/*
+For a pointer interaction, automatically scrolls certain scroll containers when the pointer
+approaches the edge.
+
+The caller must call start + handleMove + stop.
+*/
+var AutoScroller = /** @class */ (function () {
+ function AutoScroller() {
+ var _this = this;
+ // options that can be set by caller
+ this.isEnabled = true;
+ this.scrollQuery = [window, '.fc-scroller'];
+ this.edgeThreshold = 50; // pixels
+ this.maxVelocity = 300; // pixels per second
+ // internal state
+ this.pointerScreenX = null;
+ this.pointerScreenY = null;
+ this.isAnimating = false;
+ this.scrollCaches = null;
+ // protect against the initial pointerdown being too close to an edge and starting the scroll
+ this.everMovedUp = false;
+ this.everMovedDown = false;
+ this.everMovedLeft = false;
+ this.everMovedRight = false;
+ this.animate = function () {
+ if (_this.isAnimating) { // wasn't cancelled between animation calls
+ var edge = _this.computeBestEdge(_this.pointerScreenX + window.pageXOffset, _this.pointerScreenY + window.pageYOffset);
+ if (edge) {
+ var now = getTime();
+ _this.handleSide(edge, (now - _this.msSinceRequest) / 1000);
+ _this.requestAnimation(now);
+ }
+ else {
+ _this.isAnimating = false; // will stop animation
+ }
+ }
+ };
+ }
+ AutoScroller.prototype.start = function (pageX, pageY) {
+ if (this.isEnabled) {
+ this.scrollCaches = this.buildCaches();
+ this.pointerScreenX = null;
+ this.pointerScreenY = null;
+ this.everMovedUp = false;
+ this.everMovedDown = false;
+ this.everMovedLeft = false;
+ this.everMovedRight = false;
+ this.handleMove(pageX, pageY);
+ }
+ };
+ AutoScroller.prototype.handleMove = function (pageX, pageY) {
+ if (this.isEnabled) {
+ var pointerScreenX = pageX - window.pageXOffset;
+ var pointerScreenY = pageY - window.pageYOffset;
+ var yDelta = this.pointerScreenY === null ? 0 : pointerScreenY - this.pointerScreenY;
+ var xDelta = this.pointerScreenX === null ? 0 : pointerScreenX - this.pointerScreenX;
+ if (yDelta < 0) {
+ this.everMovedUp = true;
+ }
+ else if (yDelta > 0) {
+ this.everMovedDown = true;
+ }
+ if (xDelta < 0) {
+ this.everMovedLeft = true;
+ }
+ else if (xDelta > 0) {
+ this.everMovedRight = true;
+ }
+ this.pointerScreenX = pointerScreenX;
+ this.pointerScreenY = pointerScreenY;
+ if (!this.isAnimating) {
+ this.isAnimating = true;
+ this.requestAnimation(getTime());
+ }
+ }
+ };
+ AutoScroller.prototype.stop = function () {
+ if (this.isEnabled) {
+ this.isAnimating = false; // will stop animation
+ for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {
+ var scrollCache = _a[_i];
+ scrollCache.destroy();
+ }
+ this.scrollCaches = null;
+ }
+ };
+ AutoScroller.prototype.requestAnimation = function (now) {
+ this.msSinceRequest = now;
+ requestAnimationFrame(this.animate);
+ };
+ AutoScroller.prototype.handleSide = function (edge, seconds) {
+ var scrollCache = edge.scrollCache;
+ var edgeThreshold = this.edgeThreshold;
+ var invDistance = edgeThreshold - edge.distance;
+ var velocity = // the closer to the edge, the faster we scroll
+ (invDistance * invDistance) / (edgeThreshold * edgeThreshold) * // quadratic
+ this.maxVelocity * seconds;
+ var sign = 1;
+ switch (edge.name) {
+ case 'left':
+ sign = -1;
+ // falls through
+ case 'right':
+ scrollCache.setScrollLeft(scrollCache.getScrollLeft() + velocity * sign);
+ break;
+ case 'top':
+ sign = -1;
+ // falls through
+ case 'bottom':
+ scrollCache.setScrollTop(scrollCache.getScrollTop() + velocity * sign);
+ break;
+ }
+ };
+ // left/top are relative to document topleft
+ AutoScroller.prototype.computeBestEdge = function (left, top) {
+ var edgeThreshold = this.edgeThreshold;
+ var bestSide = null;
+ for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {
+ var scrollCache = _a[_i];
+ var rect = scrollCache.clientRect;
+ var leftDist = left - rect.left;
+ var rightDist = rect.right - left;
+ var topDist = top - rect.top;
+ var bottomDist = rect.bottom - top;
+ // completely within the rect?
+ if (leftDist >= 0 && rightDist >= 0 && topDist >= 0 && bottomDist >= 0) {
+ if (topDist <= edgeThreshold && this.everMovedUp && scrollCache.canScrollUp() &&
+ (!bestSide || bestSide.distance > topDist)) {
+ bestSide = { scrollCache: scrollCache, name: 'top', distance: topDist };
+ }
+ if (bottomDist <= edgeThreshold && this.everMovedDown && scrollCache.canScrollDown() &&
+ (!bestSide || bestSide.distance > bottomDist)) {
+ bestSide = { scrollCache: scrollCache, name: 'bottom', distance: bottomDist };
+ }
+ if (leftDist <= edgeThreshold && this.everMovedLeft && scrollCache.canScrollLeft() &&
+ (!bestSide || bestSide.distance > leftDist)) {
+ bestSide = { scrollCache: scrollCache, name: 'left', distance: leftDist };
+ }
+ if (rightDist <= edgeThreshold && this.everMovedRight && scrollCache.canScrollRight() &&
+ (!bestSide || bestSide.distance > rightDist)) {
+ bestSide = { scrollCache: scrollCache, name: 'right', distance: rightDist };
+ }
+ }
+ }
+ return bestSide;
+ };
+ AutoScroller.prototype.buildCaches = function () {
+ return this.queryScrollEls().map(function (el) {
+ if (el === window) {
+ return new WindowScrollGeomCache(false); // false = don't listen to user-generated scrolls
+ }
+ else {
+ return new ElementScrollGeomCache(el, false); // false = don't listen to user-generated scrolls
+ }
+ });
+ };
+ AutoScroller.prototype.queryScrollEls = function () {
+ var els = [];
+ for (var _i = 0, _a = this.scrollQuery; _i < _a.length; _i++) {
+ var query = _a[_i];
+ if (typeof query === 'object') {
+ els.push(query);
+ }
+ else {
+ els.push.apply(els, Array.prototype.slice.call(document.querySelectorAll(query)));
+ }
+ }
+ return els;
+ };
+ return AutoScroller;
+}());
+
+/*
+Monitors dragging on an element. Has a number of high-level features:
+- minimum distance required before dragging
+- minimum wait time ("delay") before dragging
+- a mirror element that follows the pointer
+*/
+var FeaturefulElementDragging = /** @class */ (function (_super) {
+ __extends(FeaturefulElementDragging, _super);
+ function FeaturefulElementDragging(containerEl) {
+ var _this = _super.call(this, containerEl) || this;
+ // options that can be directly set by caller
+ // the caller can also set the PointerDragging's options as well
+ _this.delay = null;
+ _this.minDistance = 0;
+ _this.touchScrollAllowed = true; // prevents drag from starting and blocks scrolling during drag
+ _this.mirrorNeedsRevert = false;
+ _this.isInteracting = false; // is the user validly moving the pointer? lasts until pointerup
+ _this.isDragging = false; // is it INTENTFULLY dragging? lasts until after revert animation
+ _this.isDelayEnded = false;
+ _this.isDistanceSurpassed = false;
+ _this.delayTimeoutId = null;
+ _this.onPointerDown = function (ev) {
+ if (!_this.isDragging) { // so new drag doesn't happen while revert animation is going
+ _this.isInteracting = true;
+ _this.isDelayEnded = false;
+ _this.isDistanceSurpassed = false;
+ preventSelection(document.body);
+ preventContextMenu(document.body);
+ // prevent links from being visited if there's an eventual drag.
+ // also prevents selection in older browsers (maybe?).
+ // not necessary for touch, besides, browser would complain about passiveness.
+ if (!ev.isTouch) {
+ ev.origEvent.preventDefault();
+ }
+ _this.emitter.trigger('pointerdown', ev);
+ if (!_this.pointer.shouldIgnoreMove) {
+ // actions related to initiating dragstart+dragmove+dragend...
+ _this.mirror.setIsVisible(false); // reset. caller must set-visible
+ _this.mirror.start(ev.subjectEl, ev.pageX, ev.pageY); // must happen on first pointer down
+ _this.startDelay(ev);
+ if (!_this.minDistance) {
+ _this.handleDistanceSurpassed(ev);
+ }
+ }
+ }
+ };
+ _this.onPointerMove = function (ev) {
+ if (_this.isInteracting) { // if false, still waiting for previous drag's revert
+ _this.emitter.trigger('pointermove', ev);
+ if (!_this.isDistanceSurpassed) {
+ var minDistance = _this.minDistance;
+ var distanceSq = void 0; // current distance from the origin, squared
+ var deltaX = ev.deltaX, deltaY = ev.deltaY;
+ distanceSq = deltaX * deltaX + deltaY * deltaY;
+ if (distanceSq >= minDistance * minDistance) { // use pythagorean theorem
+ _this.handleDistanceSurpassed(ev);
+ }
+ }
+ if (_this.isDragging) {
+ // a real pointer move? (not one simulated by scrolling)
+ if (ev.origEvent.type !== 'scroll') {
+ _this.mirror.handleMove(ev.pageX, ev.pageY);
+ _this.autoScroller.handleMove(ev.pageX, ev.pageY);
+ }
+ _this.emitter.trigger('dragmove', ev);
+ }
+ }
+ };
+ _this.onPointerUp = function (ev) {
+ if (_this.isInteracting) { // if false, still waiting for previous drag's revert
+ _this.isInteracting = false;
+ allowSelection(document.body);
+ allowContextMenu(document.body);
+ _this.emitter.trigger('pointerup', ev); // can potentially set mirrorNeedsRevert
+ if (_this.isDragging) {
+ _this.autoScroller.stop();
+ _this.tryStopDrag(ev); // which will stop the mirror
+ }
+ if (_this.delayTimeoutId) {
+ clearTimeout(_this.delayTimeoutId);
+ _this.delayTimeoutId = null;
+ }
+ }
+ };
+ var pointer = _this.pointer = new PointerDragging(containerEl);
+ pointer.emitter.on('pointerdown', _this.onPointerDown);
+ pointer.emitter.on('pointermove', _this.onPointerMove);
+ pointer.emitter.on('pointerup', _this.onPointerUp);
+ _this.mirror = new ElementMirror();
+ _this.autoScroller = new AutoScroller();
+ return _this;
+ }
+ FeaturefulElementDragging.prototype.destroy = function () {
+ this.pointer.destroy();
+ };
+ FeaturefulElementDragging.prototype.startDelay = function (ev) {
+ var _this = this;
+ if (typeof this.delay === 'number') {
+ this.delayTimeoutId = setTimeout(function () {
+ _this.delayTimeoutId = null;
+ _this.handleDelayEnd(ev);
+ }, this.delay); // not assignable to number!
+ }
+ else {
+ this.handleDelayEnd(ev);
+ }
+ };
+ FeaturefulElementDragging.prototype.handleDelayEnd = function (ev) {
+ this.isDelayEnded = true;
+ this.tryStartDrag(ev);
+ };
+ FeaturefulElementDragging.prototype.handleDistanceSurpassed = function (ev) {
+ this.isDistanceSurpassed = true;
+ this.tryStartDrag(ev);
+ };
+ FeaturefulElementDragging.prototype.tryStartDrag = function (ev) {
+ if (this.isDelayEnded && this.isDistanceSurpassed) {
+ if (!this.pointer.wasTouchScroll || this.touchScrollAllowed) {
+ this.isDragging = true;
+ this.mirrorNeedsRevert = false;
+ this.autoScroller.start(ev.pageX, ev.pageY);
+ this.emitter.trigger('dragstart', ev);
+ if (this.touchScrollAllowed === false) {
+ this.pointer.cancelTouchScroll();
+ }
+ }
+ }
+ };
+ FeaturefulElementDragging.prototype.tryStopDrag = function (ev) {
+ // .stop() is ALWAYS asynchronous, which we NEED because we want all pointerup events
+ // that come from the document to fire beforehand. much more convenient this way.
+ this.mirror.stop(this.mirrorNeedsRevert, this.stopDrag.bind(this, ev) // bound with args
+ );
+ };
+ FeaturefulElementDragging.prototype.stopDrag = function (ev) {
+ this.isDragging = false;
+ this.emitter.trigger('dragend', ev);
+ };
+ // fill in the implementations...
+ FeaturefulElementDragging.prototype.setIgnoreMove = function (bool) {
+ this.pointer.shouldIgnoreMove = bool;
+ };
+ FeaturefulElementDragging.prototype.setMirrorIsVisible = function (bool) {
+ this.mirror.setIsVisible(bool);
+ };
+ FeaturefulElementDragging.prototype.setMirrorNeedsRevert = function (bool) {
+ this.mirrorNeedsRevert = bool;
+ };
+ FeaturefulElementDragging.prototype.setAutoScrollEnabled = function (bool) {
+ this.autoScroller.isEnabled = bool;
+ };
+ return FeaturefulElementDragging;
+}(ElementDragging));
+
+/*
+When this class is instantiated, it records the offset of an element (relative to the document topleft),
+and continues to monitor scrolling, updating the cached coordinates if it needs to.
+Does not access the DOM after instantiation, so highly performant.
+
+Also keeps track of all scrolling/overflow:hidden containers that are parents of the given element
+and an determine if a given point is inside the combined clipping rectangle.
+*/
+var OffsetTracker = /** @class */ (function () {
+ function OffsetTracker(el) {
+ this.origRect = computeRect(el);
+ // will work fine for divs that have overflow:hidden
+ this.scrollCaches = getClippingParents(el).map(function (el) {
+ return new ElementScrollGeomCache(el, true); // listen=true
+ });
+ }
+ OffsetTracker.prototype.destroy = function () {
+ for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {
+ var scrollCache = _a[_i];
+ scrollCache.destroy();
+ }
+ };
+ OffsetTracker.prototype.computeLeft = function () {
+ var left = this.origRect.left;
+ for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {
+ var scrollCache = _a[_i];
+ left += scrollCache.origScrollLeft - scrollCache.getScrollLeft();
+ }
+ return left;
+ };
+ OffsetTracker.prototype.computeTop = function () {
+ var top = this.origRect.top;
+ for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {
+ var scrollCache = _a[_i];
+ top += scrollCache.origScrollTop - scrollCache.getScrollTop();
+ }
+ return top;
+ };
+ OffsetTracker.prototype.isWithinClipping = function (pageX, pageY) {
+ var point = { left: pageX, top: pageY };
+ for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {
+ var scrollCache = _a[_i];
+ if (!isIgnoredClipping(scrollCache.getEventTarget()) &&
+ !pointInsideRect(point, scrollCache.clientRect)) {
+ return false;
+ }
+ }
+ return true;
+ };
+ return OffsetTracker;
+}());
+// certain clipping containers should never constrain interactions, like <html> and <body>
+// https://github.com/fullcalendar/fullcalendar/issues/3615
+function isIgnoredClipping(node) {
+ var tagName = node.tagName;
+ return tagName === 'HTML' || tagName === 'BODY';
+}
+
+/*
+Tracks movement over multiple droppable areas (aka "hits")
+that exist in one or more DateComponents.
+Relies on an existing draggable.
+
+emits:
+- pointerdown
+- dragstart
+- hitchange - fires initially, even if not over a hit
+- pointerup
+- (hitchange - again, to null, if ended over a hit)
+- dragend
+*/
+var HitDragging = /** @class */ (function () {
+ function HitDragging(dragging, droppableStore) {
+ var _this = this;
+ // options that can be set by caller
+ this.useSubjectCenter = false;
+ this.requireInitial = true; // if doesn't start out on a hit, won't emit any events
+ this.initialHit = null;
+ this.movingHit = null;
+ this.finalHit = null; // won't ever be populated if shouldIgnoreMove
+ this.handlePointerDown = function (ev) {
+ var dragging = _this.dragging;
+ _this.initialHit = null;
+ _this.movingHit = null;
+ _this.finalHit = null;
+ _this.prepareHits();
+ _this.processFirstCoord(ev);
+ if (_this.initialHit || !_this.requireInitial) {
+ dragging.setIgnoreMove(false);
+ _this.emitter.trigger('pointerdown', ev); // TODO: fire this before computing processFirstCoord, so listeners can cancel. this gets fired by almost every handler :(
+ }
+ else {
+ dragging.setIgnoreMove(true);
+ }
+ };
+ this.handleDragStart = function (ev) {
+ _this.emitter.trigger('dragstart', ev);
+ _this.handleMove(ev, true); // force = fire even if initially null
+ };
+ this.handleDragMove = function (ev) {
+ _this.emitter.trigger('dragmove', ev);
+ _this.handleMove(ev);
+ };
+ this.handlePointerUp = function (ev) {
+ _this.releaseHits();
+ _this.emitter.trigger('pointerup', ev);
+ };
+ this.handleDragEnd = function (ev) {
+ if (_this.movingHit) {
+ _this.emitter.trigger('hitupdate', null, true, ev);
+ }
+ _this.finalHit = _this.movingHit;
+ _this.movingHit = null;
+ _this.emitter.trigger('dragend', ev);
+ };
+ this.droppableStore = droppableStore;
+ dragging.emitter.on('pointerdown', this.handlePointerDown);
+ dragging.emitter.on('dragstart', this.handleDragStart);
+ dragging.emitter.on('dragmove', this.handleDragMove);
+ dragging.emitter.on('pointerup', this.handlePointerUp);
+ dragging.emitter.on('dragend', this.handleDragEnd);
+ this.dragging = dragging;
+ this.emitter = new EmitterMixin();
+ }
+ // sets initialHit
+ // sets coordAdjust
+ HitDragging.prototype.processFirstCoord = function (ev) {
+ var origPoint = { left: ev.pageX, top: ev.pageY };
+ var adjustedPoint = origPoint;
+ var subjectEl = ev.subjectEl;
+ var subjectRect;
+ if (subjectEl !== document) {
+ subjectRect = computeRect(subjectEl);
+ adjustedPoint = constrainPoint(adjustedPoint, subjectRect);
+ }
+ var initialHit = this.initialHit = this.queryHitForOffset(adjustedPoint.left, adjustedPoint.top);
+ if (initialHit) {
+ if (this.useSubjectCenter && subjectRect) {
+ var slicedSubjectRect = intersectRects(subjectRect, initialHit.rect);
+ if (slicedSubjectRect) {
+ adjustedPoint = getRectCenter(slicedSubjectRect);
+ }
+ }
+ this.coordAdjust = diffPoints(adjustedPoint, origPoint);
+ }
+ else {
+ this.coordAdjust = { left: 0, top: 0 };
+ }
+ };
+ HitDragging.prototype.handleMove = function (ev, forceHandle) {
+ var hit = this.queryHitForOffset(ev.pageX + this.coordAdjust.left, ev.pageY + this.coordAdjust.top);
+ if (forceHandle || !isHitsEqual(this.movingHit, hit)) {
+ this.movingHit = hit;
+ this.emitter.trigger('hitupdate', hit, false, ev);
+ }
+ };
+ HitDragging.prototype.prepareHits = function () {
+ this.offsetTrackers = mapHash(this.droppableStore, function (interactionSettings) {
+ interactionSettings.component.buildPositionCaches();
+ return new OffsetTracker(interactionSettings.el);
+ });
+ };
+ HitDragging.prototype.releaseHits = function () {
+ var offsetTrackers = this.offsetTrackers;
+ for (var id in offsetTrackers) {
+ offsetTrackers[id].destroy();
+ }
+ this.offsetTrackers = {};
+ };
+ HitDragging.prototype.queryHitForOffset = function (offsetLeft, offsetTop) {
+ var _a = this, droppableStore = _a.droppableStore, offsetTrackers = _a.offsetTrackers;
+ var bestHit = null;
+ for (var id in droppableStore) {
+ var component = droppableStore[id].component;
+ var offsetTracker = offsetTrackers[id];
+ if (offsetTracker.isWithinClipping(offsetLeft, offsetTop)) {
+ var originLeft = offsetTracker.computeLeft();
+ var originTop = offsetTracker.computeTop();
+ var positionLeft = offsetLeft - originLeft;
+ var positionTop = offsetTop - originTop;
+ var origRect = offsetTracker.origRect;
+ var width = origRect.right - origRect.left;
+ var height = origRect.bottom - origRect.top;
+ if (
+ // must be within the element's bounds
+ positionLeft >= 0 && positionLeft < width &&
+ positionTop >= 0 && positionTop < height) {
+ var hit = component.queryHit(positionLeft, positionTop, width, height);
+ if (hit &&
+ (
+ // make sure the hit is within activeRange, meaning it's not a deal cell
+ !component.props.dateProfile || // hack for DayTile
+ rangeContainsRange(component.props.dateProfile.activeRange, hit.dateSpan.range)) &&
+ (!bestHit || hit.layer > bestHit.layer)) {
+ // TODO: better way to re-orient rectangle
+ hit.rect.left += originLeft;
+ hit.rect.right += originLeft;
+ hit.rect.top += originTop;
+ hit.rect.bottom += originTop;
+ bestHit = hit;
+ }
+ }
+ }
+ }
+ return bestHit;
+ };
+ return HitDragging;
+}());
+function isHitsEqual(hit0, hit1) {
+ if (!hit0 && !hit1) {
+ return true;
+ }
+ if (Boolean(hit0) !== Boolean(hit1)) {
+ return false;
+ }
+ return isDateSpansEqual(hit0.dateSpan, hit1.dateSpan);
+}
+
+/*
+Monitors when the user clicks on a specific date/time of a component.
+A pointerdown+pointerup on the same "hit" constitutes a click.
+*/
+var DateClicking = /** @class */ (function (_super) {
+ __extends(DateClicking, _super);
+ function DateClicking(settings) {
+ var _this = _super.call(this, settings) || this;
+ _this.handlePointerDown = function (ev) {
+ var dragging = _this.dragging;
+ // do this in pointerdown (not dragend) because DOM might be mutated by the time dragend is fired
+ dragging.setIgnoreMove(!_this.component.isValidDateDownEl(dragging.pointer.downEl));
+ };
+ // won't even fire if moving was ignored
+ _this.handleDragEnd = function (ev) {
+ var component = _this.component;
+ var _a = component.context, calendar = _a.calendar, view = _a.view;
+ var pointer = _this.dragging.pointer;
+ if (!pointer.wasTouchScroll) {
+ var _b = _this.hitDragging, initialHit = _b.initialHit, finalHit = _b.finalHit;
+ if (initialHit && finalHit && isHitsEqual(initialHit, finalHit)) {
+ calendar.triggerDateClick(initialHit.dateSpan, initialHit.dayEl, view, ev.origEvent);
+ }
+ }
+ };
+ var component = settings.component;
+ // we DO want to watch pointer moves because otherwise finalHit won't get populated
+ _this.dragging = new FeaturefulElementDragging(component.el);
+ _this.dragging.autoScroller.isEnabled = false;
+ var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));
+ hitDragging.emitter.on('pointerdown', _this.handlePointerDown);
+ hitDragging.emitter.on('dragend', _this.handleDragEnd);
+ return _this;
+ }
+ DateClicking.prototype.destroy = function () {
+ this.dragging.destroy();
+ };
+ return DateClicking;
+}(Interaction));
+
+/*
+Tracks when the user selects a portion of time of a component,
+constituted by a drag over date cells, with a possible delay at the beginning of the drag.
+*/
+var DateSelecting = /** @class */ (function (_super) {
+ __extends(DateSelecting, _super);
+ function DateSelecting(settings) {
+ var _this = _super.call(this, settings) || this;
+ _this.dragSelection = null;
+ _this.handlePointerDown = function (ev) {
+ var _a = _this, component = _a.component, dragging = _a.dragging;
+ var options = component.context.options;
+ var canSelect = options.selectable &&
+ component.isValidDateDownEl(ev.origEvent.target);
+ // don't bother to watch expensive moves if component won't do selection
+ dragging.setIgnoreMove(!canSelect);
+ // if touch, require user to hold down
+ dragging.delay = ev.isTouch ? getComponentTouchDelay(component) : null;
+ };
+ _this.handleDragStart = function (ev) {
+ _this.component.context.calendar.unselect(ev); // unselect previous selections
+ };
+ _this.handleHitUpdate = function (hit, isFinal) {
+ var calendar = _this.component.context.calendar;
+ var dragSelection = null;
+ var isInvalid = false;
+ if (hit) {
+ dragSelection = joinHitsIntoSelection(_this.hitDragging.initialHit, hit, calendar.pluginSystem.hooks.dateSelectionTransformers);
+ if (!dragSelection || !_this.component.isDateSelectionValid(dragSelection)) {
+ isInvalid = true;
+ dragSelection = null;
+ }
+ }
+ if (dragSelection) {
+ calendar.dispatch({ type: 'SELECT_DATES', selection: dragSelection });
+ }
+ else if (!isFinal) { // only unselect if moved away while dragging
+ calendar.dispatch({ type: 'UNSELECT_DATES' });
+ }
+ if (!isInvalid) {
+ enableCursor();
+ }
+ else {
+ disableCursor();
+ }
+ if (!isFinal) {
+ _this.dragSelection = dragSelection; // only clear if moved away from all hits while dragging
+ }
+ };
+ _this.handlePointerUp = function (pev) {
+ if (_this.dragSelection) {
+ // selection is already rendered, so just need to report selection
+ _this.component.context.calendar.triggerDateSelect(_this.dragSelection, pev);
+ _this.dragSelection = null;
+ }
+ };
+ var component = settings.component;
+ var options = component.context.options;
+ var dragging = _this.dragging = new FeaturefulElementDragging(component.el);
+ dragging.touchScrollAllowed = false;
+ dragging.minDistance = options.selectMinDistance || 0;
+ dragging.autoScroller.isEnabled = options.dragScroll;
+ var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));
+ hitDragging.emitter.on('pointerdown', _this.handlePointerDown);
+ hitDragging.emitter.on('dragstart', _this.handleDragStart);
+ hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);
+ hitDragging.emitter.on('pointerup', _this.handlePointerUp);
+ return _this;
+ }
+ DateSelecting.prototype.destroy = function () {
+ this.dragging.destroy();
+ };
+ return DateSelecting;
+}(Interaction));
+function getComponentTouchDelay(component) {
+ var options = component.context.options;
+ var delay = options.selectLongPressDelay;
+ if (delay == null) {
+ delay = options.longPressDelay;
+ }
+ return delay;
+}
+function joinHitsIntoSelection(hit0, hit1, dateSelectionTransformers) {
+ var dateSpan0 = hit0.dateSpan;
+ var dateSpan1 = hit1.dateSpan;
+ var ms = [
+ dateSpan0.range.start,
+ dateSpan0.range.end,
+ dateSpan1.range.start,
+ dateSpan1.range.end
+ ];
+ ms.sort(compareNumbers);
+ var props = {};
+ for (var _i = 0, dateSelectionTransformers_1 = dateSelectionTransformers; _i < dateSelectionTransformers_1.length; _i++) {
+ var transformer = dateSelectionTransformers_1[_i];
+ var res = transformer(hit0, hit1);
+ if (res === false) {
+ return null;
+ }
+ else if (res) {
+ __assign(props, res);
+ }
+ }
+ props.range = { start: ms[0], end: ms[3] };
+ props.allDay = dateSpan0.allDay;
+ return props;
+}
+
+var EventDragging = /** @class */ (function (_super) {
+ __extends(EventDragging, _super);
+ function EventDragging(settings) {
+ var _this = _super.call(this, settings) || this;
+ // internal state
+ _this.subjectSeg = null; // the seg being selected/dragged
+ _this.isDragging = false;
+ _this.eventRange = null;
+ _this.relevantEvents = null; // the events being dragged
+ _this.receivingCalendar = null;
+ _this.validMutation = null;
+ _this.mutatedRelevantEvents = null;
+ _this.handlePointerDown = function (ev) {
+ var origTarget = ev.origEvent.target;
+ var _a = _this, component = _a.component, dragging = _a.dragging;
+ var mirror = dragging.mirror;
+ var options = component.context.options;
+ var initialCalendar = component.context.calendar;
+ var subjectSeg = _this.subjectSeg = getElSeg(ev.subjectEl);
+ var eventRange = _this.eventRange = subjectSeg.eventRange;
+ var eventInstanceId = eventRange.instance.instanceId;
+ _this.relevantEvents = getRelevantEvents(initialCalendar.state.eventStore, eventInstanceId);
+ dragging.minDistance = ev.isTouch ? 0 : options.eventDragMinDistance;
+ dragging.delay =
+ // only do a touch delay if touch and this event hasn't been selected yet
+ (ev.isTouch && eventInstanceId !== component.props.eventSelection) ?
+ getComponentTouchDelay$1(component) :
+ null;
+ mirror.parentNode = initialCalendar.el;
+ mirror.revertDuration = options.dragRevertDuration;
+ var isValid = component.isValidSegDownEl(origTarget) &&
+ !elementClosest(origTarget, '.fc-resizer'); // NOT on a resizer
+ dragging.setIgnoreMove(!isValid);
+ // disable dragging for elements that are resizable (ie, selectable)
+ // but are not draggable
+ _this.isDragging = isValid &&
+ ev.subjectEl.classList.contains('fc-draggable');
+ };
+ _this.handleDragStart = function (ev) {
+ var context = _this.component.context;
+ var initialCalendar = context.calendar;
+ var eventRange = _this.eventRange;
+ var eventInstanceId = eventRange.instance.instanceId;
+ if (ev.isTouch) {
+ // need to select a different event?
+ if (eventInstanceId !== _this.component.props.eventSelection) {
+ initialCalendar.dispatch({ type: 'SELECT_EVENT', eventInstanceId: eventInstanceId });
+ }
+ }
+ else {
+ // if now using mouse, but was previous touch interaction, clear selected event
+ initialCalendar.dispatch({ type: 'UNSELECT_EVENT' });
+ }
+ if (_this.isDragging) {
+ initialCalendar.unselect(ev); // unselect *date* selection
+ initialCalendar.publiclyTrigger('eventDragStart', [
+ {
+ el: _this.subjectSeg.el,
+ event: new EventApi(initialCalendar, eventRange.def, eventRange.instance),
+ jsEvent: ev.origEvent,
+ view: context.view
+ }
+ ]);
+ }
+ };
+ _this.handleHitUpdate = function (hit, isFinal) {
+ if (!_this.isDragging) {
+ return;
+ }
+ var relevantEvents = _this.relevantEvents;
+ var initialHit = _this.hitDragging.initialHit;
+ var initialCalendar = _this.component.context.calendar;
+ // states based on new hit
+ var receivingCalendar = null;
+ var mutation = null;
+ var mutatedRelevantEvents = null;
+ var isInvalid = false;
+ var interaction = {
+ affectedEvents: relevantEvents,
+ mutatedEvents: createEmptyEventStore(),
+ isEvent: true,
+ origSeg: _this.subjectSeg
+ };
+ if (hit) {
+ var receivingComponent = hit.component;
+ receivingCalendar = receivingComponent.context.calendar;
+ var receivingOptions = receivingComponent.context.options;
+ if (initialCalendar === receivingCalendar ||
+ receivingOptions.editable && receivingOptions.droppable) {
+ mutation = computeEventMutation(initialHit, hit, receivingCalendar.pluginSystem.hooks.eventDragMutationMassagers);
+ if (mutation) {
+ mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, receivingCalendar.eventUiBases, mutation, receivingCalendar);
+ interaction.mutatedEvents = mutatedRelevantEvents;
+ if (!receivingComponent.isInteractionValid(interaction)) {
+ isInvalid = true;
+ mutation = null;
+ mutatedRelevantEvents = null;
+ interaction.mutatedEvents = createEmptyEventStore();
+ }
+ }
+ }
+ else {
+ receivingCalendar = null;
+ }
+ }
+ _this.displayDrag(receivingCalendar, interaction);
+ if (!isInvalid) {
+ enableCursor();
+ }
+ else {
+ disableCursor();
+ }
+ if (!isFinal) {
+ if (initialCalendar === receivingCalendar && // TODO: write test for this
+ isHitsEqual(initialHit, hit)) {
+ mutation = null;
+ }
+ _this.dragging.setMirrorNeedsRevert(!mutation);
+ // render the mirror if no already-rendered mirror
+ // TODO: wish we could somehow wait for dispatch to guarantee render
+ _this.dragging.setMirrorIsVisible(!hit || !document.querySelector('.fc-mirror'));
+ // assign states based on new hit
+ _this.receivingCalendar = receivingCalendar;
+ _this.validMutation = mutation;
+ _this.mutatedRelevantEvents = mutatedRelevantEvents;
+ }
+ };
+ _this.handlePointerUp = function () {
+ if (!_this.isDragging) {
+ _this.cleanup(); // because handleDragEnd won't fire
+ }
+ };
+ _this.handleDragEnd = function (ev) {
+ if (_this.isDragging) {
+ var context = _this.component.context;
+ var initialCalendar_1 = context.calendar;
+ var initialView = context.view;
+ var _a = _this, receivingCalendar = _a.receivingCalendar, validMutation = _a.validMutation;
+ var eventDef = _this.eventRange.def;
+ var eventInstance = _this.eventRange.instance;
+ var eventApi = new EventApi(initialCalendar_1, eventDef, eventInstance);
+ var relevantEvents_1 = _this.relevantEvents;
+ var mutatedRelevantEvents = _this.mutatedRelevantEvents;
+ var finalHit = _this.hitDragging.finalHit;
+ _this.clearDrag(); // must happen after revert animation
+ initialCalendar_1.publiclyTrigger('eventDragStop', [
+ {
+ el: _this.subjectSeg.el,
+ event: eventApi,
+ jsEvent: ev.origEvent,
+ view: initialView
+ }
+ ]);
+ if (validMutation) {
+ // dropped within same calendar
+ if (receivingCalendar === initialCalendar_1) {
+ initialCalendar_1.dispatch({
+ type: 'MERGE_EVENTS',
+ eventStore: mutatedRelevantEvents
+ });
+ var transformed = {};
+ for (var _i = 0, _b = initialCalendar_1.pluginSystem.hooks.eventDropTransformers; _i < _b.length; _i++) {
+ var transformer = _b[_i];
+ __assign(transformed, transformer(validMutation, initialCalendar_1));
+ }
+ var eventDropArg = __assign({}, transformed, { el: ev.subjectEl, delta: validMutation.datesDelta, oldEvent: eventApi, event: new EventApi(// the data AFTER the mutation
+ initialCalendar_1, mutatedRelevantEvents.defs[eventDef.defId], eventInstance ? mutatedRelevantEvents.instances[eventInstance.instanceId] : null), revert: function () {
+ initialCalendar_1.dispatch({
+ type: 'MERGE_EVENTS',
+ eventStore: relevantEvents_1
+ });
+ }, jsEvent: ev.origEvent, view: initialView });
+ initialCalendar_1.publiclyTrigger('eventDrop', [eventDropArg]);
+ // dropped in different calendar
+ }
+ else if (receivingCalendar) {
+ initialCalendar_1.publiclyTrigger('eventLeave', [
+ {
+ draggedEl: ev.subjectEl,
+ event: eventApi,
+ view: initialView
+ }
+ ]);
+ initialCalendar_1.dispatch({
+ type: 'REMOVE_EVENT_INSTANCES',
+ instances: _this.mutatedRelevantEvents.instances
+ });
+ receivingCalendar.dispatch({
+ type: 'MERGE_EVENTS',
+ eventStore: _this.mutatedRelevantEvents
+ });
+ if (ev.isTouch) {
+ receivingCalendar.dispatch({
+ type: 'SELECT_EVENT',
+ eventInstanceId: eventInstance.instanceId
+ });
+ }
+ var dropArg = __assign({}, receivingCalendar.buildDatePointApi(finalHit.dateSpan), { draggedEl: ev.subjectEl, jsEvent: ev.origEvent, view: finalHit.component // should this be finalHit.component.view? See #4644
+ });
+ receivingCalendar.publiclyTrigger('drop', [dropArg]);
+ receivingCalendar.publiclyTrigger('eventReceive', [
+ {
+ draggedEl: ev.subjectEl,
+ event: new EventApi(// the data AFTER the mutation
+ receivingCalendar, mutatedRelevantEvents.defs[eventDef.defId], mutatedRelevantEvents.instances[eventInstance.instanceId]),
+ view: finalHit.component // should this be finalHit.component.view? See #4644
+ }
+ ]);
+ }
+ }
+ else {
+ initialCalendar_1.publiclyTrigger('_noEventDrop');
+ }
+ }
+ _this.cleanup();
+ };
+ var component = _this.component;
+ var options = component.context.options;
+ var dragging = _this.dragging = new FeaturefulElementDragging(component.el);
+ dragging.pointer.selector = EventDragging.SELECTOR;
+ dragging.touchScrollAllowed = false;
+ dragging.autoScroller.isEnabled = options.dragScroll;
+ var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsStore);
+ hitDragging.useSubjectCenter = settings.useEventCenter;
+ hitDragging.emitter.on('pointerdown', _this.handlePointerDown);
+ hitDragging.emitter.on('dragstart', _this.handleDragStart);
+ hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);
+ hitDragging.emitter.on('pointerup', _this.handlePointerUp);
+ hitDragging.emitter.on('dragend', _this.handleDragEnd);
+ return _this;
+ }
+ EventDragging.prototype.destroy = function () {
+ this.dragging.destroy();
+ };
+ // render a drag state on the next receivingCalendar
+ EventDragging.prototype.displayDrag = function (nextCalendar, state) {
+ var initialCalendar = this.component.context.calendar;
+ var prevCalendar = this.receivingCalendar;
+ // does the previous calendar need to be cleared?
+ if (prevCalendar && prevCalendar !== nextCalendar) {
+ // does the initial calendar need to be cleared?
+ // if so, don't clear all the way. we still need to to hide the affectedEvents
+ if (prevCalendar === initialCalendar) {
+ prevCalendar.dispatch({
+ type: 'SET_EVENT_DRAG',
+ state: {
+ affectedEvents: state.affectedEvents,
+ mutatedEvents: createEmptyEventStore(),
+ isEvent: true,
+ origSeg: state.origSeg
+ }
+ });
+ // completely clear the old calendar if it wasn't the initial
+ }
+ else {
+ prevCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' });
+ }
+ }
+ if (nextCalendar) {
+ nextCalendar.dispatch({ type: 'SET_EVENT_DRAG', state: state });
+ }
+ };
+ EventDragging.prototype.clearDrag = function () {
+ var initialCalendar = this.component.context.calendar;
+ var receivingCalendar = this.receivingCalendar;
+ if (receivingCalendar) {
+ receivingCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' });
+ }
+ // the initial calendar might have an dummy drag state from displayDrag
+ if (initialCalendar !== receivingCalendar) {
+ initialCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' });
+ }
+ };
+ EventDragging.prototype.cleanup = function () {
+ this.subjectSeg = null;
+ this.isDragging = false;
+ this.eventRange = null;
+ this.relevantEvents = null;
+ this.receivingCalendar = null;
+ this.validMutation = null;
+ this.mutatedRelevantEvents = null;
+ };
+ EventDragging.SELECTOR = '.fc-draggable, .fc-resizable'; // TODO: test this in IE11
+ return EventDragging;
+}(Interaction));
+function computeEventMutation(hit0, hit1, massagers) {
+ var dateSpan0 = hit0.dateSpan;
+ var dateSpan1 = hit1.dateSpan;
+ var date0 = dateSpan0.range.start;
+ var date1 = dateSpan1.range.start;
+ var standardProps = {};
+ if (dateSpan0.allDay !== dateSpan1.allDay) {
+ standardProps.allDay = dateSpan1.allDay;
+ standardProps.hasEnd = hit1.component.context.options.allDayMaintainDuration;
+ if (dateSpan1.allDay) {
+ // means date1 is already start-of-day,
+ // but date0 needs to be converted
+ date0 = startOfDay(date0);
+ }
+ }
+ var delta = diffDates(date0, date1, hit0.component.context.dateEnv, hit0.component === hit1.component ?
+ hit0.component.largeUnit :
+ null);
+ if (delta.milliseconds) { // has hours/minutes/seconds
+ standardProps.allDay = false;
+ }
+ var mutation = {
+ datesDelta: delta,
+ standardProps: standardProps
+ };
+ for (var _i = 0, massagers_1 = massagers; _i < massagers_1.length; _i++) {
+ var massager = massagers_1[_i];
+ massager(mutation, hit0, hit1);
+ }
+ return mutation;
+}
+function getComponentTouchDelay$1(component) {
+ var options = component.context.options;
+ var delay = options.eventLongPressDelay;
+ if (delay == null) {
+ delay = options.longPressDelay;
+ }
+ return delay;
+}
+
+var EventDragging$1 = /** @class */ (function (_super) {
+ __extends(EventDragging, _super);
+ function EventDragging(settings) {
+ var _this = _super.call(this, settings) || this;
+ // internal state
+ _this.draggingSeg = null; // TODO: rename to resizingSeg? subjectSeg?
+ _this.eventRange = null;
+ _this.relevantEvents = null;
+ _this.validMutation = null;
+ _this.mutatedRelevantEvents = null;
+ _this.handlePointerDown = function (ev) {
+ var component = _this.component;
+ var seg = _this.querySeg(ev);
+ var eventRange = _this.eventRange = seg.eventRange;
+ _this.dragging.minDistance = component.context.options.eventDragMinDistance;
+ // if touch, need to be working with a selected event
+ _this.dragging.setIgnoreMove(!_this.component.isValidSegDownEl(ev.origEvent.target) ||
+ (ev.isTouch && _this.component.props.eventSelection !== eventRange.instance.instanceId));
+ };
+ _this.handleDragStart = function (ev) {
+ var _a = _this.component.context, calendar = _a.calendar, view = _a.view;
+ var eventRange = _this.eventRange;
+ _this.relevantEvents = getRelevantEvents(calendar.state.eventStore, _this.eventRange.instance.instanceId);
+ _this.draggingSeg = _this.querySeg(ev);
+ calendar.unselect();
+ calendar.publiclyTrigger('eventResizeStart', [
+ {
+ el: _this.draggingSeg.el,
+ event: new EventApi(calendar, eventRange.def, eventRange.instance),
+ jsEvent: ev.origEvent,
+ view: view
+ }
+ ]);
+ };
+ _this.handleHitUpdate = function (hit, isFinal, ev) {
+ var calendar = _this.component.context.calendar;
+ var relevantEvents = _this.relevantEvents;
+ var initialHit = _this.hitDragging.initialHit;
+ var eventInstance = _this.eventRange.instance;
+ var mutation = null;
+ var mutatedRelevantEvents = null;
+ var isInvalid = false;
+ var interaction = {
+ affectedEvents: relevantEvents,
+ mutatedEvents: createEmptyEventStore(),
+ isEvent: true,
+ origSeg: _this.draggingSeg
+ };
+ if (hit) {
+ mutation = computeMutation(initialHit, hit, ev.subjectEl.classList.contains('fc-start-resizer'), eventInstance.range, calendar.pluginSystem.hooks.eventResizeJoinTransforms);
+ }
+ if (mutation) {
+ mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, calendar.eventUiBases, mutation, calendar);
+ interaction.mutatedEvents = mutatedRelevantEvents;
+ if (!_this.component.isInteractionValid(interaction)) {
+ isInvalid = true;
+ mutation = null;
+ mutatedRelevantEvents = null;
+ interaction.mutatedEvents = null;
+ }
+ }
+ if (mutatedRelevantEvents) {
+ calendar.dispatch({
+ type: 'SET_EVENT_RESIZE',
+ state: interaction
+ });
+ }
+ else {
+ calendar.dispatch({ type: 'UNSET_EVENT_RESIZE' });
+ }
+ if (!isInvalid) {
+ enableCursor();
+ }
+ else {
+ disableCursor();
+ }
+ if (!isFinal) {
+ if (mutation && isHitsEqual(initialHit, hit)) {
+ mutation = null;
+ }
+ _this.validMutation = mutation;
+ _this.mutatedRelevantEvents = mutatedRelevantEvents;
+ }
+ };
+ _this.handleDragEnd = function (ev) {
+ var _a = _this.component.context, calendar = _a.calendar, view = _a.view;
+ var eventDef = _this.eventRange.def;
+ var eventInstance = _this.eventRange.instance;
+ var eventApi = new EventApi(calendar, eventDef, eventInstance);
+ var relevantEvents = _this.relevantEvents;
+ var mutatedRelevantEvents = _this.mutatedRelevantEvents;
+ calendar.publiclyTrigger('eventResizeStop', [
+ {
+ el: _this.draggingSeg.el,
+ event: eventApi,
+ jsEvent: ev.origEvent,
+ view: view
+ }
+ ]);
+ if (_this.validMutation) {
+ calendar.dispatch({
+ type: 'MERGE_EVENTS',
+ eventStore: mutatedRelevantEvents
+ });
+ calendar.publiclyTrigger('eventResize', [
+ {
+ el: _this.draggingSeg.el,
+ startDelta: _this.validMutation.startDelta || createDuration(0),
+ endDelta: _this.validMutation.endDelta || createDuration(0),
+ prevEvent: eventApi,
+ event: new EventApi(// the data AFTER the mutation
+ calendar, mutatedRelevantEvents.defs[eventDef.defId], eventInstance ? mutatedRelevantEvents.instances[eventInstance.instanceId] : null),
+ revert: function () {
+ calendar.dispatch({
+ type: 'MERGE_EVENTS',
+ eventStore: relevantEvents
+ });
+ },
+ jsEvent: ev.origEvent,
+ view: view
+ }
+ ]);
+ }
+ else {
+ calendar.publiclyTrigger('_noEventResize');
+ }
+ // reset all internal state
+ _this.draggingSeg = null;
+ _this.relevantEvents = null;
+ _this.validMutation = null;
+ // okay to keep eventInstance around. useful to set it in handlePointerDown
+ };
+ var component = settings.component;
+ var dragging = _this.dragging = new FeaturefulElementDragging(component.el);
+ dragging.pointer.selector = '.fc-resizer';
+ dragging.touchScrollAllowed = false;
+ dragging.autoScroller.isEnabled = component.context.options.dragScroll;
+ var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));
+ hitDragging.emitter.on('pointerdown', _this.handlePointerDown);
+ hitDragging.emitter.on('dragstart', _this.handleDragStart);
+ hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);
+ hitDragging.emitter.on('dragend', _this.handleDragEnd);
+ return _this;
+ }
+ EventDragging.prototype.destroy = function () {
+ this.dragging.destroy();
+ };
+ EventDragging.prototype.querySeg = function (ev) {
+ return getElSeg(elementClosest(ev.subjectEl, this.component.fgSegSelector));
+ };
+ return EventDragging;
+}(Interaction));
+function computeMutation(hit0, hit1, isFromStart, instanceRange, transforms) {
+ var dateEnv = hit0.component.context.dateEnv;
+ var date0 = hit0.dateSpan.range.start;
+ var date1 = hit1.dateSpan.range.start;
+ var delta = diffDates(date0, date1, dateEnv, hit0.component.largeUnit);
+ var props = {};
+ for (var _i = 0, transforms_1 = transforms; _i < transforms_1.length; _i++) {
+ var transform = transforms_1[_i];
+ var res = transform(hit0, hit1);
+ if (res === false) {
+ return null;
+ }
+ else if (res) {
+ __assign(props, res);
+ }
+ }
+ if (isFromStart) {
+ if (dateEnv.add(instanceRange.start, delta) < instanceRange.end) {
+ props.startDelta = delta;
+ return props;
+ }
+ }
+ else {
+ if (dateEnv.add(instanceRange.end, delta) > instanceRange.start) {
+ props.endDelta = delta;
+ return props;
+ }
+ }
+ return null;
+}
+
+var UnselectAuto = /** @class */ (function () {
+ function UnselectAuto(calendar) {
+ var _this = this;
+ this.isRecentPointerDateSelect = false; // wish we could use a selector to detect date selection, but uses hit system
+ this.onSelect = function (selectInfo) {
+ if (selectInfo.jsEvent) {
+ _this.isRecentPointerDateSelect = true;
+ }
+ };
+ this.onDocumentPointerUp = function (pev) {
+ var _a = _this, calendar = _a.calendar, documentPointer = _a.documentPointer;
+ var state = calendar.state;
+ // touch-scrolling should never unfocus any type of selection
+ if (!documentPointer.wasTouchScroll) {
+ if (state.dateSelection && // an existing date selection?
+ !_this.isRecentPointerDateSelect // a new pointer-initiated date selection since last onDocumentPointerUp?
+ ) {
+ var unselectAuto = calendar.viewOpt('unselectAuto');
+ var unselectCancel = calendar.viewOpt('unselectCancel');
+ if (unselectAuto && (!unselectAuto || !elementClosest(documentPointer.downEl, unselectCancel))) {
+ calendar.unselect(pev);
+ }
+ }
+ if (state.eventSelection && // an existing event selected?
+ !elementClosest(documentPointer.downEl, EventDragging.SELECTOR) // interaction DIDN'T start on an event
+ ) {
+ calendar.dispatch({ type: 'UNSELECT_EVENT' });
+ }
+ }
+ _this.isRecentPointerDateSelect = false;
+ };
+ this.calendar = calendar;
+ var documentPointer = this.documentPointer = new PointerDragging(document);
+ documentPointer.shouldIgnoreMove = true;
+ documentPointer.shouldWatchScroll = false;
+ documentPointer.emitter.on('pointerup', this.onDocumentPointerUp);
+ /*
+ TODO: better way to know about whether there was a selection with the pointer
+ */
+ calendar.on('select', this.onSelect);
+ }
+ UnselectAuto.prototype.destroy = function () {
+ this.calendar.off('select', this.onSelect);
+ this.documentPointer.destroy();
+ };
+ return UnselectAuto;
+}());
+
+/*
+Given an already instantiated draggable object for one-or-more elements,
+Interprets any dragging as an attempt to drag an events that lives outside
+of a calendar onto a calendar.
+*/
+var ExternalElementDragging = /** @class */ (function () {
+ function ExternalElementDragging(dragging, suppliedDragMeta) {
+ var _this = this;
+ this.receivingCalendar = null;
+ this.droppableEvent = null; // will exist for all drags, even if create:false
+ this.suppliedDragMeta = null;
+ this.dragMeta = null;
+ this.handleDragStart = function (ev) {
+ _this.dragMeta = _this.buildDragMeta(ev.subjectEl);
+ };
+ this.handleHitUpdate = function (hit, isFinal, ev) {
+ var dragging = _this.hitDragging.dragging;
+ var receivingCalendar = null;
+ var droppableEvent = null;
+ var isInvalid = false;
+ var interaction = {
+ affectedEvents: createEmptyEventStore(),
+ mutatedEvents: createEmptyEventStore(),
+ isEvent: _this.dragMeta.create,
+ origSeg: null
+ };
+ if (hit) {
+ receivingCalendar = hit.component.context.calendar;
+ if (_this.canDropElOnCalendar(ev.subjectEl, receivingCalendar)) {
+ droppableEvent = computeEventForDateSpan(hit.dateSpan, _this.dragMeta, receivingCalendar);
+ interaction.mutatedEvents = eventTupleToStore(droppableEvent);
+ isInvalid = !isInteractionValid(interaction, receivingCalendar);
+ if (isInvalid) {
+ interaction.mutatedEvents = createEmptyEventStore();
+ droppableEvent = null;
+ }
+ }
+ }
+ _this.displayDrag(receivingCalendar, interaction);
+ // show mirror if no already-rendered mirror element OR if we are shutting down the mirror (?)
+ // TODO: wish we could somehow wait for dispatch to guarantee render
+ dragging.setMirrorIsVisible(isFinal || !droppableEvent || !document.querySelector('.fc-mirror'));
+ if (!isInvalid) {
+ enableCursor();
+ }
+ else {
+ disableCursor();
+ }
+ if (!isFinal) {
+ dragging.setMirrorNeedsRevert(!droppableEvent);
+ _this.receivingCalendar = receivingCalendar;
+ _this.droppableEvent = droppableEvent;
+ }
+ };
+ this.handleDragEnd = function (pev) {
+ var _a = _this, receivingCalendar = _a.receivingCalendar, droppableEvent = _a.droppableEvent;
+ _this.clearDrag();
+ if (receivingCalendar && droppableEvent) {
+ var finalHit = _this.hitDragging.finalHit;
+ var finalView = finalHit.component.context.view;
+ var dragMeta = _this.dragMeta;
+ var arg = __assign({}, receivingCalendar.buildDatePointApi(finalHit.dateSpan), { draggedEl: pev.subjectEl, jsEvent: pev.origEvent, view: finalView });
+ receivingCalendar.publiclyTrigger('drop', [arg]);
+ if (dragMeta.create) {
+ receivingCalendar.dispatch({
+ type: 'MERGE_EVENTS',
+ eventStore: eventTupleToStore(droppableEvent)
+ });
+ if (pev.isTouch) {
+ receivingCalendar.dispatch({
+ type: 'SELECT_EVENT',
+ eventInstanceId: droppableEvent.instance.instanceId
+ });
+ }
+ // signal that an external event landed
+ receivingCalendar.publiclyTrigger('eventReceive', [
+ {
+ draggedEl: pev.subjectEl,
+ event: new EventApi(receivingCalendar, droppableEvent.def, droppableEvent.instance),
+ view: finalView
+ }
+ ]);
+ }
+ }
+ _this.receivingCalendar = null;
+ _this.droppableEvent = null;
+ };
+ var hitDragging = this.hitDragging = new HitDragging(dragging, interactionSettingsStore);
+ hitDragging.requireInitial = false; // will start outside of a component
+ hitDragging.emitter.on('dragstart', this.handleDragStart);
+ hitDragging.emitter.on('hitupdate', this.handleHitUpdate);
+ hitDragging.emitter.on('dragend', this.handleDragEnd);
+ this.suppliedDragMeta = suppliedDragMeta;
+ }
+ ExternalElementDragging.prototype.buildDragMeta = function (subjectEl) {
+ if (typeof this.suppliedDragMeta === 'object') {
+ return parseDragMeta(this.suppliedDragMeta);
+ }
+ else if (typeof this.suppliedDragMeta === 'function') {
+ return parseDragMeta(this.suppliedDragMeta(subjectEl));
+ }
+ else {
+ return getDragMetaFromEl(subjectEl);
+ }
+ };
+ ExternalElementDragging.prototype.displayDrag = function (nextCalendar, state) {
+ var prevCalendar = this.receivingCalendar;
+ if (prevCalendar && prevCalendar !== nextCalendar) {
+ prevCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' });
+ }
+ if (nextCalendar) {
+ nextCalendar.dispatch({ type: 'SET_EVENT_DRAG', state: state });
+ }
+ };
+ ExternalElementDragging.prototype.clearDrag = function () {
+ if (this.receivingCalendar) {
+ this.receivingCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' });
+ }
+ };
+ ExternalElementDragging.prototype.canDropElOnCalendar = function (el, receivingCalendar) {
+ var dropAccept = receivingCalendar.opt('dropAccept');
+ if (typeof dropAccept === 'function') {
+ return dropAccept(el);
+ }
+ else if (typeof dropAccept === 'string' && dropAccept) {
+ return Boolean(elementMatches(el, dropAccept));
+ }
+ return true;
+ };
+ return ExternalElementDragging;
+}());
+// Utils for computing event store from the DragMeta
+// ----------------------------------------------------------------------------------------------------
+function computeEventForDateSpan(dateSpan, dragMeta, calendar) {
+ var defProps = __assign({}, dragMeta.leftoverProps);
+ for (var _i = 0, _a = calendar.pluginSystem.hooks.externalDefTransforms; _i < _a.length; _i++) {
+ var transform = _a[_i];
+ __assign(defProps, transform(dateSpan, dragMeta));
+ }
+ var def = parseEventDef(defProps, dragMeta.sourceId, dateSpan.allDay, calendar.opt('forceEventDuration') || Boolean(dragMeta.duration), // hasEnd
+ calendar);
+ var start = dateSpan.range.start;
+ // only rely on time info if drop zone is all-day,
+ // otherwise, we already know the time
+ if (dateSpan.allDay && dragMeta.startTime) {
+ start = calendar.dateEnv.add(start, dragMeta.startTime);
+ }
+ var end = dragMeta.duration ?
+ calendar.dateEnv.add(start, dragMeta.duration) :
+ calendar.getDefaultEventEnd(dateSpan.allDay, start);
+ var instance = createEventInstance(def.defId, { start: start, end: end });
+ return { def: def, instance: instance };
+}
+// Utils for extracting data from element
+// ----------------------------------------------------------------------------------------------------
+function getDragMetaFromEl(el) {
+ var str = getEmbeddedElData(el, 'event');
+ var obj = str ?
+ JSON.parse(str) :
+ { create: false }; // if no embedded data, assume no event creation
+ return parseDragMeta(obj);
+}
+config.dataAttrPrefix = '';
+function getEmbeddedElData(el, name) {
+ var prefix = config.dataAttrPrefix;
+ var prefixedName = (prefix ? prefix + '-' : '') + name;
+ return el.getAttribute('data-' + prefixedName) || '';
+}
+
+/*
+Makes an element (that is *external* to any calendar) draggable.
+Can pass in data that determines how an event will be created when dropped onto a calendar.
+Leverages FullCalendar's internal drag-n-drop functionality WITHOUT a third-party drag system.
+*/
+var ExternalDraggable = /** @class */ (function () {
+ function ExternalDraggable(el, settings) {
+ var _this = this;
+ if (settings === void 0) { settings = {}; }
+ this.handlePointerDown = function (ev) {
+ var dragging = _this.dragging;
+ var _a = _this.settings, minDistance = _a.minDistance, longPressDelay = _a.longPressDelay;
+ dragging.minDistance =
+ minDistance != null ?
+ minDistance :
+ (ev.isTouch ? 0 : globalDefaults.eventDragMinDistance);
+ dragging.delay =
+ ev.isTouch ? // TODO: eventually read eventLongPressDelay instead vvv
+ (longPressDelay != null ? longPressDelay : globalDefaults.longPressDelay) :
+ 0;
+ };
+ this.handleDragStart = function (ev) {
+ if (ev.isTouch &&
+ _this.dragging.delay &&
+ ev.subjectEl.classList.contains('fc-event')) {
+ _this.dragging.mirror.getMirrorEl().classList.add('fc-selected');
+ }
+ };
+ this.settings = settings;
+ var dragging = this.dragging = new FeaturefulElementDragging(el);
+ dragging.touchScrollAllowed = false;
+ if (settings.itemSelector != null) {
+ dragging.pointer.selector = settings.itemSelector;
+ }
+ if (settings.appendTo != null) {
+ dragging.mirror.parentNode = settings.appendTo; // TODO: write tests
+ }
+ dragging.emitter.on('pointerdown', this.handlePointerDown);
+ dragging.emitter.on('dragstart', this.handleDragStart);
+ new ExternalElementDragging(dragging, settings.eventData);
+ }
+ ExternalDraggable.prototype.destroy = function () {
+ this.dragging.destroy();
+ };
+ return ExternalDraggable;
+}());
+
+/*
+Detects when a *THIRD-PARTY* drag-n-drop system interacts with elements.
+The third-party system is responsible for drawing the visuals effects of the drag.
+This class simply monitors for pointer movements and fires events.
+It also has the ability to hide the moving element (the "mirror") during the drag.
+*/
+var InferredElementDragging = /** @class */ (function (_super) {
+ __extends(InferredElementDragging, _super);
+ function InferredElementDragging(containerEl) {
+ var _this = _super.call(this, containerEl) || this;
+ _this.shouldIgnoreMove = false;
+ _this.mirrorSelector = '';
+ _this.currentMirrorEl = null;
+ _this.handlePointerDown = function (ev) {
+ _this.emitter.trigger('pointerdown', ev);
+ if (!_this.shouldIgnoreMove) {
+ // fire dragstart right away. does not support delay or min-distance
+ _this.emitter.trigger('dragstart', ev);
+ }
+ };
+ _this.handlePointerMove = function (ev) {
+ if (!_this.shouldIgnoreMove) {
+ _this.emitter.trigger('dragmove', ev);
+ }
+ };
+ _this.handlePointerUp = function (ev) {
+ _this.emitter.trigger('pointerup', ev);
+ if (!_this.shouldIgnoreMove) {
+ // fire dragend right away. does not support a revert animation
+ _this.emitter.trigger('dragend', ev);
+ }
+ };
+ var pointer = _this.pointer = new PointerDragging(containerEl);
+ pointer.emitter.on('pointerdown', _this.handlePointerDown);
+ pointer.emitter.on('pointermove', _this.handlePointerMove);
+ pointer.emitter.on('pointerup', _this.handlePointerUp);
+ return _this;
+ }
+ InferredElementDragging.prototype.destroy = function () {
+ this.pointer.destroy();
+ };
+ InferredElementDragging.prototype.setIgnoreMove = function (bool) {
+ this.shouldIgnoreMove = bool;
+ };
+ InferredElementDragging.prototype.setMirrorIsVisible = function (bool) {
+ if (bool) {
+ // restore a previously hidden element.
+ // use the reference in case the selector class has already been removed.
+ if (this.currentMirrorEl) {
+ this.currentMirrorEl.style.visibility = '';
+ this.currentMirrorEl = null;
+ }
+ }
+ else {
+ var mirrorEl = this.mirrorSelector ?
+ document.querySelector(this.mirrorSelector) :
+ null;
+ if (mirrorEl) {
+ this.currentMirrorEl = mirrorEl;
+ mirrorEl.style.visibility = 'hidden';
+ }
+ }
+ };
+ return InferredElementDragging;
+}(ElementDragging));
+
+/*
+Bridges third-party drag-n-drop systems with FullCalendar.
+Must be instantiated and destroyed by caller.
+*/
+var ThirdPartyDraggable = /** @class */ (function () {
+ function ThirdPartyDraggable(containerOrSettings, settings) {
+ var containerEl = document;
+ if (
+ // wish we could just test instanceof EventTarget, but doesn't work in IE11
+ containerOrSettings === document ||
+ containerOrSettings instanceof Element) {
+ containerEl = containerOrSettings;
+ settings = settings || {};
+ }
+ else {
+ settings = (containerOrSettings || {});
+ }
+ var dragging = this.dragging = new InferredElementDragging(containerEl);
+ if (typeof settings.itemSelector === 'string') {
+ dragging.pointer.selector = settings.itemSelector;
+ }
+ else if (containerEl === document) {
+ dragging.pointer.selector = '[data-event]';
+ }
+ if (typeof settings.mirrorSelector === 'string') {
+ dragging.mirrorSelector = settings.mirrorSelector;
+ }
+ new ExternalElementDragging(dragging, settings.eventData);
+ }
+ ThirdPartyDraggable.prototype.destroy = function () {
+ this.dragging.destroy();
+ };
+ return ThirdPartyDraggable;
+}());
+
+var main = createPlugin({
+ componentInteractions: [DateClicking, DateSelecting, EventDragging, EventDragging$1],
+ calendarInteractions: [UnselectAuto],
+ elementDraggingImpl: FeaturefulElementDragging
+});
+
+export default main;
+export { ExternalDraggable as Draggable, FeaturefulElementDragging, PointerDragging, ThirdPartyDraggable };
diff --git a/library/fullcalendar/packages/interaction/main.js b/library/fullcalendar/packages/interaction/main.js
index 8dbb47bde..4420650fb 100644
--- a/library/fullcalendar/packages/interaction/main.js
+++ b/library/fullcalendar/packages/interaction/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar Interaction Plugin v4.0.2
+FullCalendar Interaction Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', '@fullcalendar/core'], factory) :
@@ -10,18 +11,18 @@ Docs & License: https://fullcalendar.io/
}(this, function (exports, core) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
@@ -842,7 +843,7 @@ Docs & License: https://fullcalendar.io/
this.delayTimeoutId = setTimeout(function () {
_this.delayTimeoutId = null;
_this.handleDelayEnd(ev);
- }, this.delay);
+ }, this.delay); // not assignable to number!
}
else {
this.handleDelayEnd(ev);
@@ -1053,6 +1054,7 @@ Docs & License: https://fullcalendar.io/
};
HitDragging.prototype.prepareHits = function () {
this.offsetTrackers = core.mapHash(this.droppableStore, function (interactionSettings) {
+ interactionSettings.component.buildPositionCaches();
return new OffsetTracker(interactionSettings.el);
});
};
@@ -1128,11 +1130,12 @@ Docs & License: https://fullcalendar.io/
// won't even fire if moving was ignored
_this.handleDragEnd = function (ev) {
var component = _this.component;
+ var _a = component.context, calendar = _a.calendar, view = _a.view;
var pointer = _this.dragging.pointer;
if (!pointer.wasTouchScroll) {
- var _a = _this.hitDragging, initialHit = _a.initialHit, finalHit = _a.finalHit;
+ var _b = _this.hitDragging, initialHit = _b.initialHit, finalHit = _b.finalHit;
if (initialHit && finalHit && isHitsEqual(initialHit, finalHit)) {
- component.calendar.triggerDateClick(initialHit.dateSpan, initialHit.dayEl, component.view, ev.origEvent);
+ calendar.triggerDateClick(initialHit.dateSpan, initialHit.dayEl, view, ev.origEvent);
}
}
};
@@ -1162,7 +1165,8 @@ Docs & License: https://fullcalendar.io/
_this.dragSelection = null;
_this.handlePointerDown = function (ev) {
var _a = _this, component = _a.component, dragging = _a.dragging;
- var canSelect = component.opt('selectable') &&
+ var options = component.context.options;
+ var canSelect = options.selectable &&
component.isValidDateDownEl(ev.origEvent.target);
// don't bother to watch expensive moves if component won't do selection
dragging.setIgnoreMove(!canSelect);
@@ -1170,10 +1174,10 @@ Docs & License: https://fullcalendar.io/
dragging.delay = ev.isTouch ? getComponentTouchDelay(component) : null;
};
_this.handleDragStart = function (ev) {
- _this.component.calendar.unselect(ev); // unselect previous selections
+ _this.component.context.calendar.unselect(ev); // unselect previous selections
};
_this.handleHitUpdate = function (hit, isFinal) {
- var calendar = _this.component.calendar;
+ var calendar = _this.component.context.calendar;
var dragSelection = null;
var isInvalid = false;
if (hit) {
@@ -1202,15 +1206,16 @@ Docs & License: https://fullcalendar.io/
_this.handlePointerUp = function (pev) {
if (_this.dragSelection) {
// selection is already rendered, so just need to report selection
- _this.component.calendar.triggerDateSelect(_this.dragSelection, pev);
+ _this.component.context.calendar.triggerDateSelect(_this.dragSelection, pev);
_this.dragSelection = null;
}
};
var component = settings.component;
+ var options = component.context.options;
var dragging = _this.dragging = new FeaturefulElementDragging(component.el);
dragging.touchScrollAllowed = false;
- dragging.minDistance = component.opt('selectMinDistance') || 0;
- dragging.autoScroller.isEnabled = component.opt('dragScroll');
+ dragging.minDistance = options.selectMinDistance || 0;
+ dragging.autoScroller.isEnabled = options.dragScroll;
var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, core.interactionSettingsToStore(settings));
hitDragging.emitter.on('pointerdown', _this.handlePointerDown);
hitDragging.emitter.on('dragstart', _this.handleDragStart);
@@ -1224,9 +1229,10 @@ Docs & License: https://fullcalendar.io/
return DateSelecting;
}(core.Interaction));
function getComponentTouchDelay(component) {
- var delay = component.opt('selectLongPressDelay');
+ var options = component.context.options;
+ var delay = options.selectLongPressDelay;
if (delay == null) {
- delay = component.opt('longPressDelay');
+ delay = options.longPressDelay;
}
return delay;
}
@@ -1272,21 +1278,22 @@ Docs & License: https://fullcalendar.io/
var origTarget = ev.origEvent.target;
var _a = _this, component = _a.component, dragging = _a.dragging;
var mirror = dragging.mirror;
- var initialCalendar = component.calendar;
+ var options = component.context.options;
+ var initialCalendar = component.context.calendar;
var subjectSeg = _this.subjectSeg = core.getElSeg(ev.subjectEl);
var eventRange = _this.eventRange = subjectSeg.eventRange;
var eventInstanceId = eventRange.instance.instanceId;
_this.relevantEvents = core.getRelevantEvents(initialCalendar.state.eventStore, eventInstanceId);
- dragging.minDistance = ev.isTouch ? 0 : component.opt('eventDragMinDistance');
+ dragging.minDistance = ev.isTouch ? 0 : options.eventDragMinDistance;
dragging.delay =
// only do a touch delay if touch and this event hasn't been selected yet
(ev.isTouch && eventInstanceId !== component.props.eventSelection) ?
getComponentTouchDelay$1(component) :
null;
mirror.parentNode = initialCalendar.el;
- mirror.revertDuration = component.opt('dragRevertDuration');
+ mirror.revertDuration = options.dragRevertDuration;
var isValid = component.isValidSegDownEl(origTarget) &&
- !core.elementClosest(origTarget, '.fc-resizer');
+ !core.elementClosest(origTarget, '.fc-resizer'); // NOT on a resizer
dragging.setIgnoreMove(!isValid);
// disable dragging for elements that are resizable (ie, selectable)
// but are not draggable
@@ -1294,7 +1301,8 @@ Docs & License: https://fullcalendar.io/
ev.subjectEl.classList.contains('fc-draggable');
};
_this.handleDragStart = function (ev) {
- var initialCalendar = _this.component.calendar;
+ var context = _this.component.context;
+ var initialCalendar = context.calendar;
var eventRange = _this.eventRange;
var eventInstanceId = eventRange.instance.instanceId;
if (ev.isTouch) {
@@ -1314,7 +1322,7 @@ Docs & License: https://fullcalendar.io/
el: _this.subjectSeg.el,
event: new core.EventApi(initialCalendar, eventRange.def, eventRange.instance),
jsEvent: ev.origEvent,
- view: _this.component.view
+ view: context.view
}
]);
}
@@ -1325,7 +1333,7 @@ Docs & License: https://fullcalendar.io/
}
var relevantEvents = _this.relevantEvents;
var initialHit = _this.hitDragging.initialHit;
- var initialCalendar = _this.component.calendar;
+ var initialCalendar = _this.component.context.calendar;
// states based on new hit
var receivingCalendar = null;
var mutation = null;
@@ -1339,9 +1347,10 @@ Docs & License: https://fullcalendar.io/
};
if (hit) {
var receivingComponent = hit.component;
- receivingCalendar = receivingComponent.calendar;
+ receivingCalendar = receivingComponent.context.calendar;
+ var receivingOptions = receivingComponent.context.options;
if (initialCalendar === receivingCalendar ||
- receivingComponent.opt('editable') && receivingComponent.opt('droppable')) {
+ receivingOptions.editable && receivingOptions.droppable) {
mutation = computeEventMutation(initialHit, hit, receivingCalendar.pluginSystem.hooks.eventDragMutationMassagers);
if (mutation) {
mutatedRelevantEvents = core.applyMutationToEventStore(relevantEvents, receivingCalendar.eventUiBases, mutation, receivingCalendar);
@@ -1387,9 +1396,10 @@ Docs & License: https://fullcalendar.io/
};
_this.handleDragEnd = function (ev) {
if (_this.isDragging) {
- var initialCalendar_1 = _this.component.calendar;
- var initialView = _this.component.view;
- var receivingCalendar = _this.receivingCalendar;
+ var context = _this.component.context;
+ var initialCalendar_1 = context.calendar;
+ var initialView = context.view;
+ var _a = _this, receivingCalendar = _a.receivingCalendar, validMutation = _a.validMutation;
var eventDef = _this.eventRange.def;
var eventInstance = _this.eventRange.instance;
var eventApi = new core.EventApi(initialCalendar_1, eventDef, eventInstance);
@@ -1405,33 +1415,25 @@ Docs & License: https://fullcalendar.io/
view: initialView
}
]);
- if (_this.validMutation) {
+ if (validMutation) {
// dropped within same calendar
if (receivingCalendar === initialCalendar_1) {
initialCalendar_1.dispatch({
type: 'MERGE_EVENTS',
eventStore: mutatedRelevantEvents
});
- var eventDropArg = {};
- for (var _i = 0, _a = initialCalendar_1.pluginSystem.hooks.eventDropTransformers; _i < _a.length; _i++) {
- var transformer = _a[_i];
- __assign(eventDropArg, transformer(_this.validMutation, initialCalendar_1));
+ var transformed = {};
+ for (var _i = 0, _b = initialCalendar_1.pluginSystem.hooks.eventDropTransformers; _i < _b.length; _i++) {
+ var transformer = _b[_i];
+ __assign(transformed, transformer(validMutation, initialCalendar_1));
}
- __assign(eventDropArg, {
- el: ev.subjectEl,
- delta: _this.validMutation.startDelta,
- oldEvent: eventApi,
- event: new core.EventApi(// the data AFTER the mutation
- initialCalendar_1, mutatedRelevantEvents.defs[eventDef.defId], eventInstance ? mutatedRelevantEvents.instances[eventInstance.instanceId] : null),
- revert: function () {
+ var eventDropArg = __assign({}, transformed, { el: ev.subjectEl, delta: validMutation.datesDelta, oldEvent: eventApi, event: new core.EventApi(// the data AFTER the mutation
+ initialCalendar_1, mutatedRelevantEvents.defs[eventDef.defId], eventInstance ? mutatedRelevantEvents.instances[eventInstance.instanceId] : null), revert: function () {
initialCalendar_1.dispatch({
type: 'MERGE_EVENTS',
eventStore: relevantEvents_1
});
- },
- jsEvent: ev.origEvent,
- view: initialView
- });
+ }, jsEvent: ev.origEvent, view: initialView });
initialCalendar_1.publiclyTrigger('eventDrop', [eventDropArg]);
// dropped in different calendar
}
@@ -1457,17 +1459,15 @@ Docs & License: https://fullcalendar.io/
eventInstanceId: eventInstance.instanceId
});
}
- var dropArg = receivingCalendar.buildDatePointApi(finalHit.dateSpan);
- dropArg.draggedEl = ev.subjectEl;
- dropArg.jsEvent = ev.origEvent;
- dropArg.view = finalHit.component; // ?
+ var dropArg = __assign({}, receivingCalendar.buildDatePointApi(finalHit.dateSpan), { draggedEl: ev.subjectEl, jsEvent: ev.origEvent, view: finalHit.component // should this be finalHit.component.view? See #4644
+ });
receivingCalendar.publiclyTrigger('drop', [dropArg]);
receivingCalendar.publiclyTrigger('eventReceive', [
{
draggedEl: ev.subjectEl,
event: new core.EventApi(// the data AFTER the mutation
receivingCalendar, mutatedRelevantEvents.defs[eventDef.defId], mutatedRelevantEvents.instances[eventInstance.instanceId]),
- view: finalHit.component
+ view: finalHit.component // should this be finalHit.component.view? See #4644
}
]);
}
@@ -1479,10 +1479,11 @@ Docs & License: https://fullcalendar.io/
_this.cleanup();
};
var component = _this.component;
+ var options = component.context.options;
var dragging = _this.dragging = new FeaturefulElementDragging(component.el);
dragging.pointer.selector = EventDragging.SELECTOR;
dragging.touchScrollAllowed = false;
- dragging.autoScroller.isEnabled = component.opt('dragScroll');
+ dragging.autoScroller.isEnabled = options.dragScroll;
var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, core.interactionSettingsStore);
hitDragging.useSubjectCenter = settings.useEventCenter;
hitDragging.emitter.on('pointerdown', _this.handlePointerDown);
@@ -1497,7 +1498,7 @@ Docs & License: https://fullcalendar.io/
};
// render a drag state on the next receivingCalendar
EventDragging.prototype.displayDrag = function (nextCalendar, state) {
- var initialCalendar = this.component.calendar;
+ var initialCalendar = this.component.context.calendar;
var prevCalendar = this.receivingCalendar;
// does the previous calendar need to be cleared?
if (prevCalendar && prevCalendar !== nextCalendar) {
@@ -1524,7 +1525,7 @@ Docs & License: https://fullcalendar.io/
}
};
EventDragging.prototype.clearDrag = function () {
- var initialCalendar = this.component.calendar;
+ var initialCalendar = this.component.context.calendar;
var receivingCalendar = this.receivingCalendar;
if (receivingCalendar) {
receivingCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' });
@@ -1554,22 +1555,21 @@ Docs & License: https://fullcalendar.io/
var standardProps = {};
if (dateSpan0.allDay !== dateSpan1.allDay) {
standardProps.allDay = dateSpan1.allDay;
- standardProps.hasEnd = hit1.component.opt('allDayMaintainDuration');
+ standardProps.hasEnd = hit1.component.context.options.allDayMaintainDuration;
if (dateSpan1.allDay) {
// means date1 is already start-of-day,
// but date0 needs to be converted
date0 = core.startOfDay(date0);
}
}
- var delta = core.diffDates(date0, date1, hit0.component.dateEnv, hit0.component === hit1.component ?
+ var delta = core.diffDates(date0, date1, hit0.component.context.dateEnv, hit0.component === hit1.component ?
hit0.component.largeUnit :
null);
if (delta.milliseconds) { // has hours/minutes/seconds
standardProps.allDay = false;
}
var mutation = {
- startDelta: delta,
- endDelta: delta,
+ datesDelta: delta,
standardProps: standardProps
};
for (var _i = 0, massagers_1 = massagers; _i < massagers_1.length; _i++) {
@@ -1579,9 +1579,10 @@ Docs & License: https://fullcalendar.io/
return mutation;
}
function getComponentTouchDelay$1(component) {
- var delay = component.opt('eventLongPressDelay');
+ var options = component.context.options;
+ var delay = options.eventLongPressDelay;
if (delay == null) {
- delay = component.opt('longPressDelay');
+ delay = options.longPressDelay;
}
return delay;
}
@@ -1600,13 +1601,13 @@ Docs & License: https://fullcalendar.io/
var component = _this.component;
var seg = _this.querySeg(ev);
var eventRange = _this.eventRange = seg.eventRange;
- _this.dragging.minDistance = component.opt('eventDragMinDistance');
+ _this.dragging.minDistance = component.context.options.eventDragMinDistance;
// if touch, need to be working with a selected event
_this.dragging.setIgnoreMove(!_this.component.isValidSegDownEl(ev.origEvent.target) ||
(ev.isTouch && _this.component.props.eventSelection !== eventRange.instance.instanceId));
};
_this.handleDragStart = function (ev) {
- var calendar = _this.component.calendar;
+ var _a = _this.component.context, calendar = _a.calendar, view = _a.view;
var eventRange = _this.eventRange;
_this.relevantEvents = core.getRelevantEvents(calendar.state.eventStore, _this.eventRange.instance.instanceId);
_this.draggingSeg = _this.querySeg(ev);
@@ -1616,12 +1617,12 @@ Docs & License: https://fullcalendar.io/
el: _this.draggingSeg.el,
event: new core.EventApi(calendar, eventRange.def, eventRange.instance),
jsEvent: ev.origEvent,
- view: _this.component.view
+ view: view
}
]);
};
_this.handleHitUpdate = function (hit, isFinal, ev) {
- var calendar = _this.component.calendar;
+ var calendar = _this.component.context.calendar;
var relevantEvents = _this.relevantEvents;
var initialHit = _this.hitDragging.initialHit;
var eventInstance = _this.eventRange.instance;
@@ -1671,8 +1672,7 @@ Docs & License: https://fullcalendar.io/
}
};
_this.handleDragEnd = function (ev) {
- var calendar = _this.component.calendar;
- var view = _this.component.view;
+ var _a = _this.component.context, calendar = _a.calendar, view = _a.view;
var eventDef = _this.eventRange.def;
var eventInstance = _this.eventRange.instance;
var eventApi = new core.EventApi(calendar, eventDef, eventInstance);
@@ -1723,7 +1723,7 @@ Docs & License: https://fullcalendar.io/
var dragging = _this.dragging = new FeaturefulElementDragging(component.el);
dragging.pointer.selector = '.fc-resizer';
dragging.touchScrollAllowed = false;
- dragging.autoScroller.isEnabled = component.opt('dragScroll');
+ dragging.autoScroller.isEnabled = component.context.options.dragScroll;
var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, core.interactionSettingsToStore(settings));
hitDragging.emitter.on('pointerdown', _this.handlePointerDown);
hitDragging.emitter.on('dragstart', _this.handleDragStart);
@@ -1740,7 +1740,7 @@ Docs & License: https://fullcalendar.io/
return EventDragging;
}(core.Interaction));
function computeMutation(hit0, hit1, isFromStart, instanceRange, transforms) {
- var dateEnv = hit0.component.dateEnv;
+ var dateEnv = hit0.component.context.dateEnv;
var date0 = hit0.dateSpan.range.start;
var date1 = hit1.dateSpan.range.start;
var delta = core.diffDates(date0, date1, dateEnv, hit0.component.largeUnit);
@@ -1845,7 +1845,7 @@ Docs & License: https://fullcalendar.io/
origSeg: null
};
if (hit) {
- receivingCalendar = hit.component.calendar;
+ receivingCalendar = hit.component.context.calendar;
if (_this.canDropElOnCalendar(ev.subjectEl, receivingCalendar)) {
droppableEvent = computeEventForDateSpan(hit.dateSpan, _this.dragMeta, receivingCalendar);
interaction.mutatedEvents = core.eventTupleToStore(droppableEvent);
@@ -1877,12 +1877,9 @@ Docs & License: https://fullcalendar.io/
_this.clearDrag();
if (receivingCalendar && droppableEvent) {
var finalHit = _this.hitDragging.finalHit;
- var finalView = finalHit.component.view;
+ var finalView = finalHit.component.context.view;
var dragMeta = _this.dragMeta;
- var arg = receivingCalendar.buildDatePointApi(finalHit.dateSpan);
- arg.draggedEl = pev.subjectEl;
- arg.jsEvent = pev.origEvent;
- arg.view = finalView;
+ var arg = __assign({}, receivingCalendar.buildDatePointApi(finalHit.dateSpan), { draggedEl: pev.subjectEl, jsEvent: pev.origEvent, view: finalView });
receivingCalendar.publiclyTrigger('drop', [arg]);
if (dragMeta.create) {
receivingCalendar.dispatch({
diff --git a/library/fullcalendar/packages/interaction/main.min.js b/library/fullcalendar/packages/interaction/main.min.js
index 58c189c8a..6f0cdcc63 100644
--- a/library/fullcalendar/packages/interaction/main.min.js
+++ b/library/fullcalendar/packages/interaction/main.min.js
@@ -1,21 +1,6 @@
/*!
-FullCalendar Interaction Plugin v4.0.2
+FullCalendar Interaction Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):(e=e||self,t(e.FullCalendarInteraction={},e.FullCalendar))}(this,function(e,t){"use strict";function n(e,t){function n(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function r(e){return 0===e.button&&!e.ctrlKey}function i(){y++,setTimeout(function(){y--},t.config.touchMouseIgnoreWait)}function o(){D++||window.addEventListener("touchmove",l,{passive:!1})}function a(){--D||window.removeEventListener("touchmove",l,{passive:!1})}function l(e){w&&e.preventDefault()}function s(e){var t=e.tagName;return"HTML"===t||"BODY"===t}function c(e,n){return!e&&!n||Boolean(e)===Boolean(n)&&t.isDateSpansEqual(e.dateSpan,n.dateSpan)}function d(e){var t=e.opt("selectLongPressDelay");return null==t&&(t=e.opt("longPressDelay")),t}function u(e,n,r){var i=e.dateSpan,o=n.dateSpan,a=[i.range.start,i.range.end,o.range.start,o.range.end];a.sort(t.compareNumbers);for(var l={},s=0,c=r;s<c.length;s++){var d=c[s],u=d(e,n);if(!1===u)return null;u&&S(l,u)}return l.range={start:a[0],end:a[3]},l.allDay=i.allDay,l}function g(e,n,r){var i=e.dateSpan,o=n.dateSpan,a=i.range.start,l=o.range.start,s={};i.allDay!==o.allDay&&(s.allDay=o.allDay,s.hasEnd=n.component.opt("allDayMaintainDuration"),o.allDay&&(a=t.startOfDay(a)));var c=t.diffDates(a,l,e.component.dateEnv,e.component===n.component?e.component.largeUnit:null);c.milliseconds&&(s.allDay=!1);for(var d={startDelta:c,endDelta:c,standardProps:s},u=0,g=r;u<g.length;u++){(0,g[u])(d,e,n)}return d}function h(e){var t=e.opt("eventLongPressDelay");return null==t&&(t=e.opt("longPressDelay")),t}function p(e,n,r,i,o){for(var a=e.component.dateEnv,l=e.dateSpan.range.start,s=n.dateSpan.range.start,c=t.diffDates(l,s,a,e.component.largeUnit),d={},u=0,g=o;u<g.length;u++){var h=g[u],p=h(e,n);if(!1===p)return null;p&&S(d,p)}if(r){if(a.add(i.start,c)<i.end)return d.startDelta=c,d}else if(a.add(i.end,c)>i.start)return d.endDelta=c,d;return null}function v(e,n,r){for(var i=S({},n.leftoverProps),o=0,a=r.pluginSystem.hooks.externalDefTransforms;o<a.length;o++){var l=a[o];S(i,l(e,n))}var s=t.parseEventDef(i,n.sourceId,e.allDay,r.opt("forceEventDuration")||Boolean(n.duration),r),c=e.range.start;e.allDay&&n.startTime&&(c=r.dateEnv.add(c,n.startTime));var d=n.duration?r.dateEnv.add(c,n.duration):r.getDefaultEventEnd(e.allDay,c);return{def:s,instance:t.createEventInstance(s.defId,{start:c,end:d})}}function f(e){var n=E(e,"event"),r=n?JSON.parse(n):{create:!1};return t.parseDragMeta(r)}function E(e,n){var r=t.config.dataAttrPrefix,i=(r?r+"-":"")+n;return e.getAttribute("data-"+i)||""}/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var m=function(e,t){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},S=function(){return S=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},S.apply(this,arguments)};t.config.touchMouseIgnoreWait=500;var y=0,D=0,w=!1,T=function(){function e(e){var n=this;this.subjectEl=null,this.downEl=null,this.selector="",this.handleSelector="",this.shouldIgnoreMove=!1,this.shouldWatchScroll=!0,this.isDragging=!1,this.isTouchDragging=!1,this.wasTouchScroll=!1,this.handleMouseDown=function(e){if(!n.shouldIgnoreMouse()&&r(e)&&n.tryStart(e)){var t=n.createEventFromMouse(e,!0);n.emitter.trigger("pointerdown",t),n.initScrollWatch(t),n.shouldIgnoreMove||document.addEventListener("mousemove",n.handleMouseMove),document.addEventListener("mouseup",n.handleMouseUp)}},this.handleMouseMove=function(e){var t=n.createEventFromMouse(e);n.recordCoords(t),n.emitter.trigger("pointermove",t)},this.handleMouseUp=function(e){document.removeEventListener("mousemove",n.handleMouseMove),document.removeEventListener("mouseup",n.handleMouseUp),n.emitter.trigger("pointerup",n.createEventFromMouse(e)),n.cleanup()},this.handleTouchStart=function(e){if(n.tryStart(e)){n.isTouchDragging=!0;var t=n.createEventFromTouch(e,!0);n.emitter.trigger("pointerdown",t),n.initScrollWatch(t);var r=e.target;n.shouldIgnoreMove||r.addEventListener("touchmove",n.handleTouchMove),r.addEventListener("touchend",n.handleTouchEnd),r.addEventListener("touchcancel",n.handleTouchEnd),window.addEventListener("scroll",n.handleTouchScroll,!0)}},this.handleTouchMove=function(e){var t=n.createEventFromTouch(e);n.recordCoords(t),n.emitter.trigger("pointermove",t)},this.handleTouchEnd=function(e){if(n.isDragging){var t=e.target;t.removeEventListener("touchmove",n.handleTouchMove),t.removeEventListener("touchend",n.handleTouchEnd),t.removeEventListener("touchcancel",n.handleTouchEnd),window.removeEventListener("scroll",n.handleTouchScroll,!0),n.emitter.trigger("pointerup",n.createEventFromTouch(e)),n.cleanup(),n.isTouchDragging=!1,i()}},this.handleTouchScroll=function(){n.wasTouchScroll=!0},this.handleScroll=function(e){if(!n.shouldIgnoreMove){var t=window.pageXOffset-n.prevScrollX+n.prevPageX,r=window.pageYOffset-n.prevScrollY+n.prevPageY;n.emitter.trigger("pointermove",{origEvent:e,isTouch:n.isTouchDragging,subjectEl:n.subjectEl,pageX:t,pageY:r,deltaX:t-n.origPageX,deltaY:r-n.origPageY})}},this.containerEl=e,this.emitter=new t.EmitterMixin,e.addEventListener("mousedown",this.handleMouseDown),e.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),o()}return e.prototype.destroy=function(){this.containerEl.removeEventListener("mousedown",this.handleMouseDown),this.containerEl.removeEventListener("touchstart",this.handleTouchStart,{passive:!0}),a()},e.prototype.tryStart=function(e){var n=this.querySubjectEl(e),r=e.target;return!(!n||this.handleSelector&&!t.elementClosest(r,this.handleSelector))&&(this.subjectEl=n,this.downEl=r,this.isDragging=!0,this.wasTouchScroll=!1,!0)},e.prototype.cleanup=function(){w=!1,this.isDragging=!1,this.subjectEl=null,this.downEl=null,this.destroyScrollWatch()},e.prototype.querySubjectEl=function(e){return this.selector?t.elementClosest(e.target,this.selector):this.containerEl},e.prototype.shouldIgnoreMouse=function(){return y||this.isTouchDragging},e.prototype.cancelTouchScroll=function(){this.isDragging&&(w=!0)},e.prototype.initScrollWatch=function(e){this.shouldWatchScroll&&(this.recordCoords(e),window.addEventListener("scroll",this.handleScroll,!0))},e.prototype.recordCoords=function(e){this.shouldWatchScroll&&(this.prevPageX=e.pageX,this.prevPageY=e.pageY,this.prevScrollX=window.pageXOffset,this.prevScrollY=window.pageYOffset)},e.prototype.destroyScrollWatch=function(){this.shouldWatchScroll&&window.removeEventListener("scroll",this.handleScroll,!0)},e.prototype.createEventFromMouse=function(e,t){var n=0,r=0;return t?(this.origPageX=e.pageX,this.origPageY=e.pageY):(n=e.pageX-this.origPageX,r=e.pageY-this.origPageY),{origEvent:e,isTouch:!1,subjectEl:this.subjectEl,pageX:e.pageX,pageY:e.pageY,deltaX:n,deltaY:r}},e.prototype.createEventFromTouch=function(e,t){var n,r,i=e.touches,o=0,a=0;return i&&i.length?(n=i[0].pageX,r=i[0].pageY):(n=e.pageX,r=e.pageY),t?(this.origPageX=n,this.origPageY=r):(o=n-this.origPageX,a=r-this.origPageY),{origEvent:e,isTouch:!0,subjectEl:this.subjectEl,pageX:n,pageY:r,deltaX:o,deltaY:a}},e}(),M=function(){function e(){this.isVisible=!1,this.sourceEl=null,this.mirrorEl=null,this.sourceElRect=null,this.parentNode=document.body,this.zIndex=9999,this.revertDuration=0}return e.prototype.start=function(e,t,n){this.sourceEl=e,this.sourceElRect=this.sourceEl.getBoundingClientRect(),this.origScreenX=t-window.pageXOffset,this.origScreenY=n-window.pageYOffset,this.deltaX=0,this.deltaY=0,this.updateElPosition()},e.prototype.handleMove=function(e,t){this.deltaX=e-window.pageXOffset-this.origScreenX,this.deltaY=t-window.pageYOffset-this.origScreenY,this.updateElPosition()},e.prototype.setIsVisible=function(e){e?this.isVisible||(this.mirrorEl&&(this.mirrorEl.style.display=""),this.isVisible=e,this.updateElPosition()):this.isVisible&&(this.mirrorEl&&(this.mirrorEl.style.display="none"),this.isVisible=e)},e.prototype.stop=function(e,t){var n=this,r=function(){n.cleanup(),t()};e&&this.mirrorEl&&this.isVisible&&this.revertDuration&&(this.deltaX||this.deltaY)?this.doRevertAnimation(r,this.revertDuration):setTimeout(r,0)},e.prototype.doRevertAnimation=function(e,n){var r=this.mirrorEl,i=this.sourceEl.getBoundingClientRect();r.style.transition="top "+n+"ms,left "+n+"ms",t.applyStyle(r,{left:i.left,top:i.top}),t.whenTransitionDone(r,function(){r.style.transition="",e()})},e.prototype.cleanup=function(){this.mirrorEl&&(t.removeElement(this.mirrorEl),this.mirrorEl=null),this.sourceEl=null},e.prototype.updateElPosition=function(){this.sourceEl&&this.isVisible&&t.applyStyle(this.getMirrorEl(),{left:this.sourceElRect.left+this.deltaX,top:this.sourceElRect.top+this.deltaY})},e.prototype.getMirrorEl=function(){var e=this.sourceElRect,n=this.mirrorEl;return n||(n=this.mirrorEl=this.sourceEl.cloneNode(!0),n.classList.add("fc-unselectable"),n.classList.add("fc-dragging"),t.applyStyle(n,{position:"fixed",zIndex:this.zIndex,visibility:"",boxSizing:"border-box",width:e.right-e.left,height:e.bottom-e.top,right:"auto",bottom:"auto",margin:0}),this.parentNode.appendChild(n)),n},e}(),b=function(e){function t(t,n){var r=e.call(this)||this;return r.handleScroll=function(){r.scrollTop=r.scrollController.getScrollTop(),r.scrollLeft=r.scrollController.getScrollLeft(),r.handleScrollChange()},r.scrollController=t,r.doesListening=n,r.scrollTop=r.origScrollTop=t.getScrollTop(),r.scrollLeft=r.origScrollLeft=t.getScrollLeft(),r.scrollWidth=t.getScrollWidth(),r.scrollHeight=t.getScrollHeight(),r.clientWidth=t.getClientWidth(),r.clientHeight=t.getClientHeight(),r.clientRect=r.computeClientRect(),r.doesListening&&r.getEventTarget().addEventListener("scroll",r.handleScroll),r}return n(t,e),t.prototype.destroy=function(){this.doesListening&&this.getEventTarget().removeEventListener("scroll",this.handleScroll)},t.prototype.getScrollTop=function(){return this.scrollTop},t.prototype.getScrollLeft=function(){return this.scrollLeft},t.prototype.setScrollTop=function(e){this.scrollController.setScrollTop(e),this.doesListening||(this.scrollTop=Math.max(Math.min(e,this.getMaxScrollTop()),0),this.handleScrollChange())},t.prototype.setScrollLeft=function(e){this.scrollController.setScrollLeft(e),this.doesListening||(this.scrollLeft=Math.max(Math.min(e,this.getMaxScrollLeft()),0),this.handleScrollChange())},t.prototype.getClientWidth=function(){return this.clientWidth},t.prototype.getClientHeight=function(){return this.clientHeight},t.prototype.getScrollWidth=function(){return this.scrollWidth},t.prototype.getScrollHeight=function(){return this.scrollHeight},t.prototype.handleScrollChange=function(){},t}(t.ScrollController),C=function(e){function r(n,r){return e.call(this,new t.ElementScrollController(n),r)||this}return n(r,e),r.prototype.getEventTarget=function(){return this.scrollController.el},r.prototype.computeClientRect=function(){return t.computeInnerRect(this.scrollController.el)},r}(b),R=function(e){function r(n){return e.call(this,new t.WindowScrollController,n)||this}return n(r,e),r.prototype.getEventTarget=function(){return window},r.prototype.computeClientRect=function(){return{left:this.scrollLeft,right:this.scrollLeft+this.clientWidth,top:this.scrollTop,bottom:this.scrollTop+this.clientHeight}},r.prototype.handleScrollChange=function(){this.clientRect=this.computeClientRect()},r}(b),I="function"==typeof performance?performance.now:Date.now,P=function(){function e(){var e=this;this.isEnabled=!0,this.scrollQuery=[window,".fc-scroller"],this.edgeThreshold=50,this.maxVelocity=300,this.pointerScreenX=null,this.pointerScreenY=null,this.isAnimating=!1,this.scrollCaches=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.animate=function(){if(e.isAnimating){var t=e.computeBestEdge(e.pointerScreenX+window.pageXOffset,e.pointerScreenY+window.pageYOffset);if(t){var n=I();e.handleSide(t,(n-e.msSinceRequest)/1e3),e.requestAnimation(n)}else e.isAnimating=!1}}}return e.prototype.start=function(e,t){this.isEnabled&&(this.scrollCaches=this.buildCaches(),this.pointerScreenX=null,this.pointerScreenY=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.handleMove(e,t))},e.prototype.handleMove=function(e,t){if(this.isEnabled){var n=e-window.pageXOffset,r=t-window.pageYOffset,i=null===this.pointerScreenY?0:r-this.pointerScreenY,o=null===this.pointerScreenX?0:n-this.pointerScreenX;i<0?this.everMovedUp=!0:i>0&&(this.everMovedDown=!0),o<0?this.everMovedLeft=!0:o>0&&(this.everMovedRight=!0),this.pointerScreenX=n,this.pointerScreenY=r,this.isAnimating||(this.isAnimating=!0,this.requestAnimation(I()))}},e.prototype.stop=function(){if(this.isEnabled){this.isAnimating=!1;for(var e=0,t=this.scrollCaches;e<t.length;e++){t[e].destroy()}this.scrollCaches=null}},e.prototype.requestAnimation=function(e){this.msSinceRequest=e,requestAnimationFrame(this.animate)},e.prototype.handleSide=function(e,t){var n=e.scrollCache,r=this.edgeThreshold,i=r-e.distance,o=i*i/(r*r)*this.maxVelocity*t,a=1;switch(e.name){case"left":a=-1;case"right":n.setScrollLeft(n.getScrollLeft()+o*a);break;case"top":a=-1;case"bottom":n.setScrollTop(n.getScrollTop()+o*a)}},e.prototype.computeBestEdge=function(e,t){for(var n=this.edgeThreshold,r=null,i=0,o=this.scrollCaches;i<o.length;i++){var a=o[i],l=a.clientRect,s=e-l.left,c=l.right-e,d=t-l.top,u=l.bottom-t;s>=0&&c>=0&&d>=0&&u>=0&&(d<=n&&this.everMovedUp&&a.canScrollUp()&&(!r||r.distance>d)&&(r={scrollCache:a,name:"top",distance:d}),u<=n&&this.everMovedDown&&a.canScrollDown()&&(!r||r.distance>u)&&(r={scrollCache:a,name:"bottom",distance:u}),s<=n&&this.everMovedLeft&&a.canScrollLeft()&&(!r||r.distance>s)&&(r={scrollCache:a,name:"left",distance:s}),c<=n&&this.everMovedRight&&a.canScrollRight()&&(!r||r.distance>c)&&(r={scrollCache:a,name:"right",distance:c}))}return r},e.prototype.buildCaches=function(){return this.queryScrollEls().map(function(e){return e===window?new R(!1):new C(e,!1)})},e.prototype.queryScrollEls=function(){for(var e=[],t=0,n=this.scrollQuery;t<n.length;t++){var r=n[t];"object"==typeof r?e.push(r):e.push.apply(e,Array.prototype.slice.call(document.querySelectorAll(r)))}return e},e}(),L=function(e){function r(n){var r=e.call(this,n)||this;r.delay=null,r.minDistance=0,r.touchScrollAllowed=!0,r.mirrorNeedsRevert=!1,r.isInteracting=!1,r.isDragging=!1,r.isDelayEnded=!1,r.isDistanceSurpassed=!1,r.delayTimeoutId=null,r.onPointerDown=function(e){r.isDragging||(r.isInteracting=!0,r.isDelayEnded=!1,r.isDistanceSurpassed=!1,t.preventSelection(document.body),t.preventContextMenu(document.body),e.isTouch||e.origEvent.preventDefault(),r.emitter.trigger("pointerdown",e),r.pointer.shouldIgnoreMove||(r.mirror.setIsVisible(!1),r.mirror.start(e.subjectEl,e.pageX,e.pageY),r.startDelay(e),r.minDistance||r.handleDistanceSurpassed(e)))},r.onPointerMove=function(e){if(r.isInteracting){if(r.emitter.trigger("pointermove",e),!r.isDistanceSurpassed){var t=r.minDistance,n=void 0,i=e.deltaX,o=e.deltaY;n=i*i+o*o,n>=t*t&&r.handleDistanceSurpassed(e)}r.isDragging&&("scroll"!==e.origEvent.type&&(r.mirror.handleMove(e.pageX,e.pageY),r.autoScroller.handleMove(e.pageX,e.pageY)),r.emitter.trigger("dragmove",e))}},r.onPointerUp=function(e){r.isInteracting&&(r.isInteracting=!1,t.allowSelection(document.body),t.allowContextMenu(document.body),r.emitter.trigger("pointerup",e),r.isDragging&&(r.autoScroller.stop(),r.tryStopDrag(e)),r.delayTimeoutId&&(clearTimeout(r.delayTimeoutId),r.delayTimeoutId=null))};var i=r.pointer=new T(n);return i.emitter.on("pointerdown",r.onPointerDown),i.emitter.on("pointermove",r.onPointerMove),i.emitter.on("pointerup",r.onPointerUp),r.mirror=new M,r.autoScroller=new P,r}return n(r,e),r.prototype.destroy=function(){this.pointer.destroy()},r.prototype.startDelay=function(e){var t=this;"number"==typeof this.delay?this.delayTimeoutId=setTimeout(function(){t.delayTimeoutId=null,t.handleDelayEnd(e)},this.delay):this.handleDelayEnd(e)},r.prototype.handleDelayEnd=function(e){this.isDelayEnded=!0,this.tryStartDrag(e)},r.prototype.handleDistanceSurpassed=function(e){this.isDistanceSurpassed=!0,this.tryStartDrag(e)},r.prototype.tryStartDrag=function(e){this.isDelayEnded&&this.isDistanceSurpassed&&(this.pointer.wasTouchScroll&&!this.touchScrollAllowed||(this.isDragging=!0,this.mirrorNeedsRevert=!1,this.autoScroller.start(e.pageX,e.pageY),this.emitter.trigger("dragstart",e),!1===this.touchScrollAllowed&&this.pointer.cancelTouchScroll()))},r.prototype.tryStopDrag=function(e){this.mirror.stop(this.mirrorNeedsRevert,this.stopDrag.bind(this,e))},r.prototype.stopDrag=function(e){this.isDragging=!1,this.emitter.trigger("dragend",e)},r.prototype.setIgnoreMove=function(e){this.pointer.shouldIgnoreMove=e},r.prototype.setMirrorIsVisible=function(e){this.mirror.setIsVisible(e)},r.prototype.setMirrorNeedsRevert=function(e){this.mirrorNeedsRevert=e},r.prototype.setAutoScrollEnabled=function(e){this.autoScroller.isEnabled=e},r}(t.ElementDragging),j=function(){function e(e){this.origRect=t.computeRect(e),this.scrollCaches=t.getClippingParents(e).map(function(e){return new C(e,!0)})}return e.prototype.destroy=function(){for(var e=0,t=this.scrollCaches;e<t.length;e++){t[e].destroy()}},e.prototype.computeLeft=function(){for(var e=this.origRect.left,t=0,n=this.scrollCaches;t<n.length;t++){var r=n[t];e+=r.origScrollLeft-r.getScrollLeft()}return e},e.prototype.computeTop=function(){for(var e=this.origRect.top,t=0,n=this.scrollCaches;t<n.length;t++){var r=n[t];e+=r.origScrollTop-r.getScrollTop()}return e},e.prototype.isWithinClipping=function(e,n){for(var r={left:e,top:n},i=0,o=this.scrollCaches;i<o.length;i++){var a=o[i];if(!s(a.getEventTarget())&&!t.pointInsideRect(r,a.clientRect))return!1}return!0},e}(),A=function(){function e(e,n){var r=this;this.useSubjectCenter=!1,this.requireInitial=!0,this.initialHit=null,this.movingHit=null,this.finalHit=null,this.handlePointerDown=function(e){var t=r.dragging;r.initialHit=null,r.movingHit=null,r.finalHit=null,r.prepareHits(),r.processFirstCoord(e),r.initialHit||!r.requireInitial?(t.setIgnoreMove(!1),r.emitter.trigger("pointerdown",e)):t.setIgnoreMove(!0)},this.handleDragStart=function(e){r.emitter.trigger("dragstart",e),r.handleMove(e,!0)},this.handleDragMove=function(e){r.emitter.trigger("dragmove",e),r.handleMove(e)},this.handlePointerUp=function(e){r.releaseHits(),r.emitter.trigger("pointerup",e)},this.handleDragEnd=function(e){r.movingHit&&r.emitter.trigger("hitupdate",null,!0,e),r.finalHit=r.movingHit,r.movingHit=null,r.emitter.trigger("dragend",e)},this.droppableStore=n,e.emitter.on("pointerdown",this.handlePointerDown),e.emitter.on("dragstart",this.handleDragStart),e.emitter.on("dragmove",this.handleDragMove),e.emitter.on("pointerup",this.handlePointerUp),e.emitter.on("dragend",this.handleDragEnd),this.dragging=e,this.emitter=new t.EmitterMixin}return e.prototype.processFirstCoord=function(e){var n,r={left:e.pageX,top:e.pageY},i=r,o=e.subjectEl;o!==document&&(n=t.computeRect(o),i=t.constrainPoint(i,n));var a=this.initialHit=this.queryHitForOffset(i.left,i.top);if(a){if(this.useSubjectCenter&&n){var l=t.intersectRects(n,a.rect);l&&(i=t.getRectCenter(l))}this.coordAdjust=t.diffPoints(i,r)}else this.coordAdjust={left:0,top:0}},e.prototype.handleMove=function(e,t){var n=this.queryHitForOffset(e.pageX+this.coordAdjust.left,e.pageY+this.coordAdjust.top);!t&&c(this.movingHit,n)||(this.movingHit=n,this.emitter.trigger("hitupdate",n,!1,e))},e.prototype.prepareHits=function(){this.offsetTrackers=t.mapHash(this.droppableStore,function(e){return new j(e.el)})},e.prototype.releaseHits=function(){var e=this.offsetTrackers;for(var t in e)e[t].destroy();this.offsetTrackers={}},e.prototype.queryHitForOffset=function(e,n){var r=this,i=r.droppableStore,o=r.offsetTrackers,a=null;for(var l in i){var s=i[l].component,c=o[l];if(c.isWithinClipping(e,n)){var d=c.computeLeft(),u=c.computeTop(),g=e-d,h=n-u,p=c.origRect,v=p.right-p.left,f=p.bottom-p.top;if(g>=0&&g<v&&h>=0&&h<f){var E=s.queryHit(g,h,v,f);!E||s.props.dateProfile&&!t.rangeContainsRange(s.props.dateProfile.activeRange,E.dateSpan.range)||a&&!(E.layer>a.layer)||(E.rect.left+=d,E.rect.right+=d,E.rect.top+=u,E.rect.bottom+=u,a=E)}}}return a},e}(),H=function(e){function r(n){var r=e.call(this,n)||this;r.handlePointerDown=function(e){var t=r.dragging;t.setIgnoreMove(!r.component.isValidDateDownEl(t.pointer.downEl))},r.handleDragEnd=function(e){var t=r.component;if(!r.dragging.pointer.wasTouchScroll){var n=r.hitDragging,i=n.initialHit,o=n.finalHit;i&&o&&c(i,o)&&t.calendar.triggerDateClick(i.dateSpan,i.dayEl,t.view,e.origEvent)}};var i=n.component;r.dragging=new L(i.el),r.dragging.autoScroller.isEnabled=!1;var o=r.hitDragging=new A(r.dragging,t.interactionSettingsToStore(n));return o.emitter.on("pointerdown",r.handlePointerDown),o.emitter.on("dragend",r.handleDragEnd),r}return n(r,e),r.prototype.destroy=function(){this.dragging.destroy()},r}(t.Interaction),N=function(e){function r(n){var r=e.call(this,n)||this;r.dragSelection=null,r.handlePointerDown=function(e){var t=r,n=t.component,i=t.dragging,o=n.opt("selectable")&&n.isValidDateDownEl(e.origEvent.target);i.setIgnoreMove(!o),i.delay=e.isTouch?d(n):null},r.handleDragStart=function(e){r.component.calendar.unselect(e)},r.handleHitUpdate=function(e,n){var i=r.component.calendar,o=null,a=!1;e&&((o=u(r.hitDragging.initialHit,e,i.pluginSystem.hooks.dateSelectionTransformers))&&r.component.isDateSelectionValid(o)||(a=!0,o=null)),o?i.dispatch({type:"SELECT_DATES",selection:o}):n||i.dispatch({type:"UNSELECT_DATES"}),a?t.disableCursor():t.enableCursor(),n||(r.dragSelection=o)},r.handlePointerUp=function(e){r.dragSelection&&(r.component.calendar.triggerDateSelect(r.dragSelection,e),r.dragSelection=null)};var i=n.component,o=r.dragging=new L(i.el);o.touchScrollAllowed=!1,o.minDistance=i.opt("selectMinDistance")||0,o.autoScroller.isEnabled=i.opt("dragScroll");var a=r.hitDragging=new A(r.dragging,t.interactionSettingsToStore(n));return a.emitter.on("pointerdown",r.handlePointerDown),a.emitter.on("dragstart",r.handleDragStart),a.emitter.on("hitupdate",r.handleHitUpdate),a.emitter.on("pointerup",r.handlePointerUp),r}return n(r,e),r.prototype.destroy=function(){this.dragging.destroy()},r}(t.Interaction),V=function(e){function r(n){var i=e.call(this,n)||this;i.subjectSeg=null,i.isDragging=!1,i.eventRange=null,i.relevantEvents=null,i.receivingCalendar=null,i.validMutation=null,i.mutatedRelevantEvents=null,i.handlePointerDown=function(e){var n=e.origEvent.target,r=i,o=r.component,a=r.dragging,l=a.mirror,s=o.calendar,c=i.subjectSeg=t.getElSeg(e.subjectEl),d=i.eventRange=c.eventRange,u=d.instance.instanceId;i.relevantEvents=t.getRelevantEvents(s.state.eventStore,u),a.minDistance=e.isTouch?0:o.opt("eventDragMinDistance"),a.delay=e.isTouch&&u!==o.props.eventSelection?h(o):null,l.parentNode=s.el,l.revertDuration=o.opt("dragRevertDuration");var g=o.isValidSegDownEl(n)&&!t.elementClosest(n,".fc-resizer");a.setIgnoreMove(!g),i.isDragging=g&&e.subjectEl.classList.contains("fc-draggable")},i.handleDragStart=function(e){var n=i.component.calendar,r=i.eventRange,o=r.instance.instanceId;e.isTouch?o!==i.component.props.eventSelection&&n.dispatch({type:"SELECT_EVENT",eventInstanceId:o}):n.dispatch({type:"UNSELECT_EVENT"}),i.isDragging&&(n.unselect(e),n.publiclyTrigger("eventDragStart",[{el:i.subjectSeg.el,event:new t.EventApi(n,r.def,r.instance),jsEvent:e.origEvent,view:i.component.view}]))},i.handleHitUpdate=function(e,n){if(i.isDragging){var r=i.relevantEvents,o=i.hitDragging.initialHit,a=i.component.calendar,l=null,s=null,d=null,u=!1,h={affectedEvents:r,mutatedEvents:t.createEmptyEventStore(),isEvent:!0,origSeg:i.subjectSeg};if(e){var p=e.component;l=p.calendar,a===l||p.opt("editable")&&p.opt("droppable")?(s=g(o,e,l.pluginSystem.hooks.eventDragMutationMassagers))&&(d=t.applyMutationToEventStore(r,l.eventUiBases,s,l),h.mutatedEvents=d,p.isInteractionValid(h)||(u=!0,s=null,d=null,h.mutatedEvents=t.createEmptyEventStore())):l=null}i.displayDrag(l,h),u?t.disableCursor():t.enableCursor(),n||(a===l&&c(o,e)&&(s=null),i.dragging.setMirrorNeedsRevert(!s),i.dragging.setMirrorIsVisible(!e||!document.querySelector(".fc-mirror")),i.receivingCalendar=l,i.validMutation=s,i.mutatedRelevantEvents=d)}},i.handlePointerUp=function(){i.isDragging||i.cleanup()},i.handleDragEnd=function(e){if(i.isDragging){var n=i.component.calendar,r=i.component.view,o=i.receivingCalendar,a=i.eventRange.def,l=i.eventRange.instance,s=new t.EventApi(n,a,l),c=i.relevantEvents,d=i.mutatedRelevantEvents,u=i.hitDragging.finalHit;if(i.clearDrag(),n.publiclyTrigger("eventDragStop",[{el:i.subjectSeg.el,event:s,jsEvent:e.origEvent,view:r}]),i.validMutation){if(o===n){n.dispatch({type:"MERGE_EVENTS",eventStore:d});for(var g={},h=0,p=n.pluginSystem.hooks.eventDropTransformers;h<p.length;h++){var v=p[h];S(g,v(i.validMutation,n))}S(g,{el:e.subjectEl,delta:i.validMutation.startDelta,oldEvent:s,event:new t.EventApi(n,d.defs[a.defId],l?d.instances[l.instanceId]:null),revert:function(){n.dispatch({type:"MERGE_EVENTS",eventStore:c})},jsEvent:e.origEvent,view:r}),n.publiclyTrigger("eventDrop",[g])}else if(o){n.publiclyTrigger("eventLeave",[{draggedEl:e.subjectEl,event:s,view:r}]),n.dispatch({type:"REMOVE_EVENT_INSTANCES",instances:i.mutatedRelevantEvents.instances}),o.dispatch({type:"MERGE_EVENTS",eventStore:i.mutatedRelevantEvents}),e.isTouch&&o.dispatch({type:"SELECT_EVENT",eventInstanceId:l.instanceId});var f=o.buildDatePointApi(u.dateSpan);f.draggedEl=e.subjectEl,f.jsEvent=e.origEvent,f.view=u.component,o.publiclyTrigger("drop",[f]),o.publiclyTrigger("eventReceive",[{draggedEl:e.subjectEl,event:new t.EventApi(o,d.defs[a.defId],d.instances[l.instanceId]),view:u.component}])}}else n.publiclyTrigger("_noEventDrop")}i.cleanup()};var o=i.component,a=i.dragging=new L(o.el);a.pointer.selector=r.SELECTOR,a.touchScrollAllowed=!1,a.autoScroller.isEnabled=o.opt("dragScroll");var l=i.hitDragging=new A(i.dragging,t.interactionSettingsStore);return l.useSubjectCenter=n.useEventCenter,l.emitter.on("pointerdown",i.handlePointerDown),l.emitter.on("dragstart",i.handleDragStart),l.emitter.on("hitupdate",i.handleHitUpdate),l.emitter.on("pointerup",i.handlePointerUp),l.emitter.on("dragend",i.handleDragEnd),i}return n(r,e),r.prototype.destroy=function(){this.dragging.destroy()},r.prototype.displayDrag=function(e,n){var r=this.component.calendar,i=this.receivingCalendar;i&&i!==e&&(i===r?i.dispatch({type:"SET_EVENT_DRAG",state:{affectedEvents:n.affectedEvents,mutatedEvents:t.createEmptyEventStore(),isEvent:!0,origSeg:n.origSeg}}):i.dispatch({type:"UNSET_EVENT_DRAG"})),e&&e.dispatch({type:"SET_EVENT_DRAG",state:n})},r.prototype.clearDrag=function(){var e=this.component.calendar,t=this.receivingCalendar;t&&t.dispatch({type:"UNSET_EVENT_DRAG"}),e!==t&&e.dispatch({type:"UNSET_EVENT_DRAG"})},r.prototype.cleanup=function(){this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingCalendar=null,this.validMutation=null,this.mutatedRelevantEvents=null},r.SELECTOR=".fc-draggable, .fc-resizable",r}(t.Interaction),Y=function(e){function r(n){var r=e.call(this,n)||this;r.draggingSeg=null,r.eventRange=null,r.relevantEvents=null,r.validMutation=null,r.mutatedRelevantEvents=null,r.handlePointerDown=function(e){var t=r.component,n=r.querySeg(e),i=r.eventRange=n.eventRange;r.dragging.minDistance=t.opt("eventDragMinDistance"),r.dragging.setIgnoreMove(!r.component.isValidSegDownEl(e.origEvent.target)||e.isTouch&&r.component.props.eventSelection!==i.instance.instanceId)},r.handleDragStart=function(e){var n=r.component.calendar,i=r.eventRange;r.relevantEvents=t.getRelevantEvents(n.state.eventStore,r.eventRange.instance.instanceId),r.draggingSeg=r.querySeg(e),n.unselect(),n.publiclyTrigger("eventResizeStart",[{el:r.draggingSeg.el,event:new t.EventApi(n,i.def,i.instance),jsEvent:e.origEvent,view:r.component.view}])},r.handleHitUpdate=function(e,n,i){var o=r.component.calendar,a=r.relevantEvents,l=r.hitDragging.initialHit,s=r.eventRange.instance,d=null,u=null,g=!1,h={affectedEvents:a,mutatedEvents:t.createEmptyEventStore(),isEvent:!0,origSeg:r.draggingSeg};e&&(d=p(l,e,i.subjectEl.classList.contains("fc-start-resizer"),s.range,o.pluginSystem.hooks.eventResizeJoinTransforms)),d&&(u=t.applyMutationToEventStore(a,o.eventUiBases,d,o),h.mutatedEvents=u,r.component.isInteractionValid(h)||(g=!0,d=null,u=null,h.mutatedEvents=null)),u?o.dispatch({type:"SET_EVENT_RESIZE",state:h}):o.dispatch({type:"UNSET_EVENT_RESIZE"}),g?t.disableCursor():t.enableCursor(),n||(d&&c(l,e)&&(d=null),r.validMutation=d,r.mutatedRelevantEvents=u)},r.handleDragEnd=function(e){var n=r.component.calendar,i=r.component.view,o=r.eventRange.def,a=r.eventRange.instance,l=new t.EventApi(n,o,a),s=r.relevantEvents,c=r.mutatedRelevantEvents;n.publiclyTrigger("eventResizeStop",[{el:r.draggingSeg.el,event:l,jsEvent:e.origEvent,view:i}]),r.validMutation?(n.dispatch({type:"MERGE_EVENTS",eventStore:c}),n.publiclyTrigger("eventResize",[{el:r.draggingSeg.el,startDelta:r.validMutation.startDelta||t.createDuration(0),endDelta:r.validMutation.endDelta||t.createDuration(0),prevEvent:l,event:new t.EventApi(n,c.defs[o.defId],a?c.instances[a.instanceId]:null),revert:function(){n.dispatch({type:"MERGE_EVENTS",eventStore:s})},jsEvent:e.origEvent,view:i}])):n.publiclyTrigger("_noEventResize"),r.draggingSeg=null,r.relevantEvents=null,r.validMutation=null};var i=n.component,o=r.dragging=new L(i.el);o.pointer.selector=".fc-resizer",o.touchScrollAllowed=!1,o.autoScroller.isEnabled=i.opt("dragScroll");var a=r.hitDragging=new A(r.dragging,t.interactionSettingsToStore(n));return a.emitter.on("pointerdown",r.handlePointerDown),a.emitter.on("dragstart",r.handleDragStart),a.emitter.on("hitupdate",r.handleHitUpdate),a.emitter.on("dragend",r.handleDragEnd),r}return n(r,e),r.prototype.destroy=function(){this.dragging.destroy()},r.prototype.querySeg=function(e){return t.getElSeg(t.elementClosest(e.subjectEl,this.component.fgSegSelector))},r}(t.Interaction),_=function(){function e(e){var n=this;this.isRecentPointerDateSelect=!1,this.onSelect=function(e){e.jsEvent&&(n.isRecentPointerDateSelect=!0)},this.onDocumentPointerUp=function(e){var r=n,i=r.calendar,o=r.documentPointer,a=i.state;if(!o.wasTouchScroll){if(a.dateSelection&&!n.isRecentPointerDateSelect){var l=i.viewOpt("unselectAuto"),s=i.viewOpt("unselectCancel");!l||l&&t.elementClosest(o.downEl,s)||i.unselect(e)}a.eventSelection&&!t.elementClosest(o.downEl,V.SELECTOR)&&i.dispatch({type:"UNSELECT_EVENT"})}n.isRecentPointerDateSelect=!1},this.calendar=e;var r=this.documentPointer=new T(document);r.shouldIgnoreMove=!0,r.shouldWatchScroll=!1,r.emitter.on("pointerup",this.onDocumentPointerUp),e.on("select",this.onSelect)}return e.prototype.destroy=function(){this.calendar.off("select",this.onSelect),this.documentPointer.destroy()},e}(),X=function(){function e(e,n){var r=this;this.receivingCalendar=null,this.droppableEvent=null,this.suppliedDragMeta=null,this.dragMeta=null,this.handleDragStart=function(e){r.dragMeta=r.buildDragMeta(e.subjectEl)},this.handleHitUpdate=function(e,n,i){var o=r.hitDragging.dragging,a=null,l=null,s=!1,c={affectedEvents:t.createEmptyEventStore(),mutatedEvents:t.createEmptyEventStore(),isEvent:r.dragMeta.create,origSeg:null};e&&(a=e.component.calendar,r.canDropElOnCalendar(i.subjectEl,a)&&(l=v(e.dateSpan,r.dragMeta,a),c.mutatedEvents=t.eventTupleToStore(l),(s=!t.isInteractionValid(c,a))&&(c.mutatedEvents=t.createEmptyEventStore(),l=null))),r.displayDrag(a,c),o.setMirrorIsVisible(n||!l||!document.querySelector(".fc-mirror")),s?t.disableCursor():t.enableCursor(),n||(o.setMirrorNeedsRevert(!l),r.receivingCalendar=a,r.droppableEvent=l)},this.handleDragEnd=function(e){var n=r,i=n.receivingCalendar,o=n.droppableEvent;if(r.clearDrag(),i&&o){var a=r.hitDragging.finalHit,l=a.component.view,s=r.dragMeta,c=i.buildDatePointApi(a.dateSpan);c.draggedEl=e.subjectEl,c.jsEvent=e.origEvent,c.view=l,i.publiclyTrigger("drop",[c]),s.create&&(i.dispatch({type:"MERGE_EVENTS",eventStore:t.eventTupleToStore(o)}),e.isTouch&&i.dispatch({type:"SELECT_EVENT",eventInstanceId:o.instance.instanceId}),i.publiclyTrigger("eventReceive",[{draggedEl:e.subjectEl,event:new t.EventApi(i,o.def,o.instance),view:l}]))}r.receivingCalendar=null,r.droppableEvent=null};var i=this.hitDragging=new A(e,t.interactionSettingsStore);i.requireInitial=!1,i.emitter.on("dragstart",this.handleDragStart),i.emitter.on("hitupdate",this.handleHitUpdate),i.emitter.on("dragend",this.handleDragEnd),this.suppliedDragMeta=n}return e.prototype.buildDragMeta=function(e){return"object"==typeof this.suppliedDragMeta?t.parseDragMeta(this.suppliedDragMeta):"function"==typeof this.suppliedDragMeta?t.parseDragMeta(this.suppliedDragMeta(e)):f(e)},e.prototype.displayDrag=function(e,t){var n=this.receivingCalendar;n&&n!==e&&n.dispatch({type:"UNSET_EVENT_DRAG"}),e&&e.dispatch({type:"SET_EVENT_DRAG",state:t})},e.prototype.clearDrag=function(){this.receivingCalendar&&this.receivingCalendar.dispatch({type:"UNSET_EVENT_DRAG"})},e.prototype.canDropElOnCalendar=function(e,n){var r=n.opt("dropAccept");return"function"==typeof r?r(e):"string"!=typeof r||!r||Boolean(t.elementMatches(e,r))},e}();t.config.dataAttrPrefix="";var U=function(){function e(e,n){var r=this;void 0===n&&(n={}),this.handlePointerDown=function(e){var n=r.dragging,i=r.settings,o=i.minDistance,a=i.longPressDelay;n.minDistance=null!=o?o:e.isTouch?0:t.globalDefaults.eventDragMinDistance,n.delay=e.isTouch?null!=a?a:t.globalDefaults.longPressDelay:0},this.handleDragStart=function(e){e.isTouch&&r.dragging.delay&&e.subjectEl.classList.contains("fc-event")&&r.dragging.mirror.getMirrorEl().classList.add("fc-selected")},this.settings=n;var i=this.dragging=new L(e);i.touchScrollAllowed=!1,null!=n.itemSelector&&(i.pointer.selector=n.itemSelector),null!=n.appendTo&&(i.mirror.parentNode=n.appendTo),i.emitter.on("pointerdown",this.handlePointerDown),i.emitter.on("dragstart",this.handleDragStart),new X(i,n.eventData)}return e.prototype.destroy=function(){this.dragging.destroy()},e}(),O=function(e){function t(t){var n=e.call(this,t)||this;n.shouldIgnoreMove=!1,n.mirrorSelector="",n.currentMirrorEl=null,n.handlePointerDown=function(e){n.emitter.trigger("pointerdown",e),n.shouldIgnoreMove||n.emitter.trigger("dragstart",e)},n.handlePointerMove=function(e){n.shouldIgnoreMove||n.emitter.trigger("dragmove",e)},n.handlePointerUp=function(e){n.emitter.trigger("pointerup",e),n.shouldIgnoreMove||n.emitter.trigger("dragend",e)};var r=n.pointer=new T(t)
-;return r.emitter.on("pointerdown",n.handlePointerDown),r.emitter.on("pointermove",n.handlePointerMove),r.emitter.on("pointerup",n.handlePointerUp),n}return n(t,e),t.prototype.destroy=function(){this.pointer.destroy()},t.prototype.setIgnoreMove=function(e){this.shouldIgnoreMove=e},t.prototype.setMirrorIsVisible=function(e){if(e)this.currentMirrorEl&&(this.currentMirrorEl.style.visibility="",this.currentMirrorEl=null);else{var t=this.mirrorSelector?document.querySelector(this.mirrorSelector):null;t&&(this.currentMirrorEl=t,t.style.visibility="hidden")}},t}(t.ElementDragging),q=function(){function e(e,t){var n=document;e===document||e instanceof Element?(n=e,t=t||{}):t=e||{};var r=this.dragging=new O(n);"string"==typeof t.itemSelector?r.pointer.selector=t.itemSelector:n===document&&(r.pointer.selector="[data-event]"),"string"==typeof t.mirrorSelector&&(r.mirrorSelector=t.mirrorSelector),new X(r,t.eventData)}return e.prototype.destroy=function(){this.dragging.destroy()},e}(),W=t.createPlugin({componentInteractions:[H,N,V,Y],calendarInteractions:[_],elementDraggingImpl:L});e.Draggable=U,e.FeaturefulElementDragging=L,e.PointerDragging=T,e.ThirdPartyDraggable=q,e.default=W,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):t((e=e||self).FullCalendarInteraction={},e.FullCalendar)}(this,(function(e,t){"use strict";var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function r(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};t.config.touchMouseIgnoreWait=500;var o=0,a=0,l=!1,s=function(){function e(e){var n=this;this.subjectEl=null,this.downEl=null,this.selector="",this.handleSelector="",this.shouldIgnoreMove=!1,this.shouldWatchScroll=!0,this.isDragging=!1,this.isTouchDragging=!1,this.wasTouchScroll=!1,this.handleMouseDown=function(e){if(!n.shouldIgnoreMouse()&&function(e){return 0===e.button&&!e.ctrlKey}(e)&&n.tryStart(e)){var t=n.createEventFromMouse(e,!0);n.emitter.trigger("pointerdown",t),n.initScrollWatch(t),n.shouldIgnoreMove||document.addEventListener("mousemove",n.handleMouseMove),document.addEventListener("mouseup",n.handleMouseUp)}},this.handleMouseMove=function(e){var t=n.createEventFromMouse(e);n.recordCoords(t),n.emitter.trigger("pointermove",t)},this.handleMouseUp=function(e){document.removeEventListener("mousemove",n.handleMouseMove),document.removeEventListener("mouseup",n.handleMouseUp),n.emitter.trigger("pointerup",n.createEventFromMouse(e)),n.cleanup()},this.handleTouchStart=function(e){if(n.tryStart(e)){n.isTouchDragging=!0;var t=n.createEventFromTouch(e,!0);n.emitter.trigger("pointerdown",t),n.initScrollWatch(t);var r=e.target;n.shouldIgnoreMove||r.addEventListener("touchmove",n.handleTouchMove),r.addEventListener("touchend",n.handleTouchEnd),r.addEventListener("touchcancel",n.handleTouchEnd),window.addEventListener("scroll",n.handleTouchScroll,!0)}},this.handleTouchMove=function(e){var t=n.createEventFromTouch(e);n.recordCoords(t),n.emitter.trigger("pointermove",t)},this.handleTouchEnd=function(e){if(n.isDragging){var r=e.target;r.removeEventListener("touchmove",n.handleTouchMove),r.removeEventListener("touchend",n.handleTouchEnd),r.removeEventListener("touchcancel",n.handleTouchEnd),window.removeEventListener("scroll",n.handleTouchScroll,!0),n.emitter.trigger("pointerup",n.createEventFromTouch(e)),n.cleanup(),n.isTouchDragging=!1,o++,setTimeout((function(){o--}),t.config.touchMouseIgnoreWait)}},this.handleTouchScroll=function(){n.wasTouchScroll=!0},this.handleScroll=function(e){if(!n.shouldIgnoreMove){var t=window.pageXOffset-n.prevScrollX+n.prevPageX,r=window.pageYOffset-n.prevScrollY+n.prevPageY;n.emitter.trigger("pointermove",{origEvent:e,isTouch:n.isTouchDragging,subjectEl:n.subjectEl,pageX:t,pageY:r,deltaX:t-n.origPageX,deltaY:r-n.origPageY})}},this.containerEl=e,this.emitter=new t.EmitterMixin,e.addEventListener("mousedown",this.handleMouseDown),e.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),a++||window.addEventListener("touchmove",c,{passive:!1})}return e.prototype.destroy=function(){this.containerEl.removeEventListener("mousedown",this.handleMouseDown),this.containerEl.removeEventListener("touchstart",this.handleTouchStart,{passive:!0}),--a||window.removeEventListener("touchmove",c,{passive:!1})},e.prototype.tryStart=function(e){var n=this.querySubjectEl(e),r=e.target;return!(!n||this.handleSelector&&!t.elementClosest(r,this.handleSelector))&&(this.subjectEl=n,this.downEl=r,this.isDragging=!0,this.wasTouchScroll=!1,!0)},e.prototype.cleanup=function(){l=!1,this.isDragging=!1,this.subjectEl=null,this.downEl=null,this.destroyScrollWatch()},e.prototype.querySubjectEl=function(e){return this.selector?t.elementClosest(e.target,this.selector):this.containerEl},e.prototype.shouldIgnoreMouse=function(){return o||this.isTouchDragging},e.prototype.cancelTouchScroll=function(){this.isDragging&&(l=!0)},e.prototype.initScrollWatch=function(e){this.shouldWatchScroll&&(this.recordCoords(e),window.addEventListener("scroll",this.handleScroll,!0))},e.prototype.recordCoords=function(e){this.shouldWatchScroll&&(this.prevPageX=e.pageX,this.prevPageY=e.pageY,this.prevScrollX=window.pageXOffset,this.prevScrollY=window.pageYOffset)},e.prototype.destroyScrollWatch=function(){this.shouldWatchScroll&&window.removeEventListener("scroll",this.handleScroll,!0)},e.prototype.createEventFromMouse=function(e,t){var n=0,r=0;return t?(this.origPageX=e.pageX,this.origPageY=e.pageY):(n=e.pageX-this.origPageX,r=e.pageY-this.origPageY),{origEvent:e,isTouch:!1,subjectEl:this.subjectEl,pageX:e.pageX,pageY:e.pageY,deltaX:n,deltaY:r}},e.prototype.createEventFromTouch=function(e,t){var n,r,i=e.touches,o=0,a=0;return i&&i.length?(n=i[0].pageX,r=i[0].pageY):(n=e.pageX,r=e.pageY),t?(this.origPageX=n,this.origPageY=r):(o=n-this.origPageX,a=r-this.origPageY),{origEvent:e,isTouch:!0,subjectEl:this.subjectEl,pageX:n,pageY:r,deltaX:o,deltaY:a}},e}();function c(e){l&&e.preventDefault()}var d=function(){function e(){this.isVisible=!1,this.sourceEl=null,this.mirrorEl=null,this.sourceElRect=null,this.parentNode=document.body,this.zIndex=9999,this.revertDuration=0}return e.prototype.start=function(e,t,n){this.sourceEl=e,this.sourceElRect=this.sourceEl.getBoundingClientRect(),this.origScreenX=t-window.pageXOffset,this.origScreenY=n-window.pageYOffset,this.deltaX=0,this.deltaY=0,this.updateElPosition()},e.prototype.handleMove=function(e,t){this.deltaX=e-window.pageXOffset-this.origScreenX,this.deltaY=t-window.pageYOffset-this.origScreenY,this.updateElPosition()},e.prototype.setIsVisible=function(e){e?this.isVisible||(this.mirrorEl&&(this.mirrorEl.style.display=""),this.isVisible=e,this.updateElPosition()):this.isVisible&&(this.mirrorEl&&(this.mirrorEl.style.display="none"),this.isVisible=e)},e.prototype.stop=function(e,t){var n=this,r=function(){n.cleanup(),t()};e&&this.mirrorEl&&this.isVisible&&this.revertDuration&&(this.deltaX||this.deltaY)?this.doRevertAnimation(r,this.revertDuration):setTimeout(r,0)},e.prototype.doRevertAnimation=function(e,n){var r=this.mirrorEl,i=this.sourceEl.getBoundingClientRect();r.style.transition="top "+n+"ms,left "+n+"ms",t.applyStyle(r,{left:i.left,top:i.top}),t.whenTransitionDone(r,(function(){r.style.transition="",e()}))},e.prototype.cleanup=function(){this.mirrorEl&&(t.removeElement(this.mirrorEl),this.mirrorEl=null),this.sourceEl=null},e.prototype.updateElPosition=function(){this.sourceEl&&this.isVisible&&t.applyStyle(this.getMirrorEl(),{left:this.sourceElRect.left+this.deltaX,top:this.sourceElRect.top+this.deltaY})},e.prototype.getMirrorEl=function(){var e=this.sourceElRect,n=this.mirrorEl;return n||((n=this.mirrorEl=this.sourceEl.cloneNode(!0)).classList.add("fc-unselectable"),n.classList.add("fc-dragging"),t.applyStyle(n,{position:"fixed",zIndex:this.zIndex,visibility:"",boxSizing:"border-box",width:e.right-e.left,height:e.bottom-e.top,right:"auto",bottom:"auto",margin:0}),this.parentNode.appendChild(n)),n},e}(),g=function(e){function t(t,n){var r=e.call(this)||this;return r.handleScroll=function(){r.scrollTop=r.scrollController.getScrollTop(),r.scrollLeft=r.scrollController.getScrollLeft(),r.handleScrollChange()},r.scrollController=t,r.doesListening=n,r.scrollTop=r.origScrollTop=t.getScrollTop(),r.scrollLeft=r.origScrollLeft=t.getScrollLeft(),r.scrollWidth=t.getScrollWidth(),r.scrollHeight=t.getScrollHeight(),r.clientWidth=t.getClientWidth(),r.clientHeight=t.getClientHeight(),r.clientRect=r.computeClientRect(),r.doesListening&&r.getEventTarget().addEventListener("scroll",r.handleScroll),r}return r(t,e),t.prototype.destroy=function(){this.doesListening&&this.getEventTarget().removeEventListener("scroll",this.handleScroll)},t.prototype.getScrollTop=function(){return this.scrollTop},t.prototype.getScrollLeft=function(){return this.scrollLeft},t.prototype.setScrollTop=function(e){this.scrollController.setScrollTop(e),this.doesListening||(this.scrollTop=Math.max(Math.min(e,this.getMaxScrollTop()),0),this.handleScrollChange())},t.prototype.setScrollLeft=function(e){this.scrollController.setScrollLeft(e),this.doesListening||(this.scrollLeft=Math.max(Math.min(e,this.getMaxScrollLeft()),0),this.handleScrollChange())},t.prototype.getClientWidth=function(){return this.clientWidth},t.prototype.getClientHeight=function(){return this.clientHeight},t.prototype.getScrollWidth=function(){return this.scrollWidth},t.prototype.getScrollHeight=function(){return this.scrollHeight},t.prototype.handleScrollChange=function(){},t}(t.ScrollController),u=function(e){function n(n,r){return e.call(this,new t.ElementScrollController(n),r)||this}return r(n,e),n.prototype.getEventTarget=function(){return this.scrollController.el},n.prototype.computeClientRect=function(){return t.computeInnerRect(this.scrollController.el)},n}(g),h=function(e){function n(n){return e.call(this,new t.WindowScrollController,n)||this}return r(n,e),n.prototype.getEventTarget=function(){return window},n.prototype.computeClientRect=function(){return{left:this.scrollLeft,right:this.scrollLeft+this.clientWidth,top:this.scrollTop,bottom:this.scrollTop+this.clientHeight}},n.prototype.handleScrollChange=function(){this.clientRect=this.computeClientRect()},n}(g),p="function"==typeof performance?performance.now:Date.now,v=function(){function e(){var e=this;this.isEnabled=!0,this.scrollQuery=[window,".fc-scroller"],this.edgeThreshold=50,this.maxVelocity=300,this.pointerScreenX=null,this.pointerScreenY=null,this.isAnimating=!1,this.scrollCaches=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.animate=function(){if(e.isAnimating){var t=e.computeBestEdge(e.pointerScreenX+window.pageXOffset,e.pointerScreenY+window.pageYOffset);if(t){var n=p();e.handleSide(t,(n-e.msSinceRequest)/1e3),e.requestAnimation(n)}else e.isAnimating=!1}}}return e.prototype.start=function(e,t){this.isEnabled&&(this.scrollCaches=this.buildCaches(),this.pointerScreenX=null,this.pointerScreenY=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.handleMove(e,t))},e.prototype.handleMove=function(e,t){if(this.isEnabled){var n=e-window.pageXOffset,r=t-window.pageYOffset,i=null===this.pointerScreenY?0:r-this.pointerScreenY,o=null===this.pointerScreenX?0:n-this.pointerScreenX;i<0?this.everMovedUp=!0:i>0&&(this.everMovedDown=!0),o<0?this.everMovedLeft=!0:o>0&&(this.everMovedRight=!0),this.pointerScreenX=n,this.pointerScreenY=r,this.isAnimating||(this.isAnimating=!0,this.requestAnimation(p()))}},e.prototype.stop=function(){if(this.isEnabled){this.isAnimating=!1;for(var e=0,t=this.scrollCaches;e<t.length;e++){t[e].destroy()}this.scrollCaches=null}},e.prototype.requestAnimation=function(e){this.msSinceRequest=e,requestAnimationFrame(this.animate)},e.prototype.handleSide=function(e,t){var n=e.scrollCache,r=this.edgeThreshold,i=r-e.distance,o=i*i/(r*r)*this.maxVelocity*t,a=1;switch(e.name){case"left":a=-1;case"right":n.setScrollLeft(n.getScrollLeft()+o*a);break;case"top":a=-1;case"bottom":n.setScrollTop(n.getScrollTop()+o*a)}},e.prototype.computeBestEdge=function(e,t){for(var n=this.edgeThreshold,r=null,i=0,o=this.scrollCaches;i<o.length;i++){var a=o[i],l=a.clientRect,s=e-l.left,c=l.right-e,d=t-l.top,g=l.bottom-t;s>=0&&c>=0&&d>=0&&g>=0&&(d<=n&&this.everMovedUp&&a.canScrollUp()&&(!r||r.distance>d)&&(r={scrollCache:a,name:"top",distance:d}),g<=n&&this.everMovedDown&&a.canScrollDown()&&(!r||r.distance>g)&&(r={scrollCache:a,name:"bottom",distance:g}),s<=n&&this.everMovedLeft&&a.canScrollLeft()&&(!r||r.distance>s)&&(r={scrollCache:a,name:"left",distance:s}),c<=n&&this.everMovedRight&&a.canScrollRight()&&(!r||r.distance>c)&&(r={scrollCache:a,name:"right",distance:c}))}return r},e.prototype.buildCaches=function(){return this.queryScrollEls().map((function(e){return e===window?new h(!1):new u(e,!1)}))},e.prototype.queryScrollEls=function(){for(var e=[],t=0,n=this.scrollQuery;t<n.length;t++){var r=n[t];"object"==typeof r?e.push(r):e.push.apply(e,Array.prototype.slice.call(document.querySelectorAll(r)))}return e},e}(),f=function(e){function n(n){var r=e.call(this,n)||this;r.delay=null,r.minDistance=0,r.touchScrollAllowed=!0,r.mirrorNeedsRevert=!1,r.isInteracting=!1,r.isDragging=!1,r.isDelayEnded=!1,r.isDistanceSurpassed=!1,r.delayTimeoutId=null,r.onPointerDown=function(e){r.isDragging||(r.isInteracting=!0,r.isDelayEnded=!1,r.isDistanceSurpassed=!1,t.preventSelection(document.body),t.preventContextMenu(document.body),e.isTouch||e.origEvent.preventDefault(),r.emitter.trigger("pointerdown",e),r.pointer.shouldIgnoreMove||(r.mirror.setIsVisible(!1),r.mirror.start(e.subjectEl,e.pageX,e.pageY),r.startDelay(e),r.minDistance||r.handleDistanceSurpassed(e)))},r.onPointerMove=function(e){if(r.isInteracting){if(r.emitter.trigger("pointermove",e),!r.isDistanceSurpassed){var t=r.minDistance,n=e.deltaX,i=e.deltaY;n*n+i*i>=t*t&&r.handleDistanceSurpassed(e)}r.isDragging&&("scroll"!==e.origEvent.type&&(r.mirror.handleMove(e.pageX,e.pageY),r.autoScroller.handleMove(e.pageX,e.pageY)),r.emitter.trigger("dragmove",e))}},r.onPointerUp=function(e){r.isInteracting&&(r.isInteracting=!1,t.allowSelection(document.body),t.allowContextMenu(document.body),r.emitter.trigger("pointerup",e),r.isDragging&&(r.autoScroller.stop(),r.tryStopDrag(e)),r.delayTimeoutId&&(clearTimeout(r.delayTimeoutId),r.delayTimeoutId=null))};var i=r.pointer=new s(n);return i.emitter.on("pointerdown",r.onPointerDown),i.emitter.on("pointermove",r.onPointerMove),i.emitter.on("pointerup",r.onPointerUp),r.mirror=new d,r.autoScroller=new v,r}return r(n,e),n.prototype.destroy=function(){this.pointer.destroy()},n.prototype.startDelay=function(e){var t=this;"number"==typeof this.delay?this.delayTimeoutId=setTimeout((function(){t.delayTimeoutId=null,t.handleDelayEnd(e)}),this.delay):this.handleDelayEnd(e)},n.prototype.handleDelayEnd=function(e){this.isDelayEnded=!0,this.tryStartDrag(e)},n.prototype.handleDistanceSurpassed=function(e){this.isDistanceSurpassed=!0,this.tryStartDrag(e)},n.prototype.tryStartDrag=function(e){this.isDelayEnded&&this.isDistanceSurpassed&&(this.pointer.wasTouchScroll&&!this.touchScrollAllowed||(this.isDragging=!0,this.mirrorNeedsRevert=!1,this.autoScroller.start(e.pageX,e.pageY),this.emitter.trigger("dragstart",e),!1===this.touchScrollAllowed&&this.pointer.cancelTouchScroll()))},n.prototype.tryStopDrag=function(e){this.mirror.stop(this.mirrorNeedsRevert,this.stopDrag.bind(this,e))},n.prototype.stopDrag=function(e){this.isDragging=!1,this.emitter.trigger("dragend",e)},n.prototype.setIgnoreMove=function(e){this.pointer.shouldIgnoreMove=e},n.prototype.setMirrorIsVisible=function(e){this.mirror.setIsVisible(e)},n.prototype.setMirrorNeedsRevert=function(e){this.mirrorNeedsRevert=e},n.prototype.setAutoScrollEnabled=function(e){this.autoScroller.isEnabled=e},n}(t.ElementDragging),E=function(){function e(e){this.origRect=t.computeRect(e),this.scrollCaches=t.getClippingParents(e).map((function(e){return new u(e,!0)}))}return e.prototype.destroy=function(){for(var e=0,t=this.scrollCaches;e<t.length;e++){t[e].destroy()}},e.prototype.computeLeft=function(){for(var e=this.origRect.left,t=0,n=this.scrollCaches;t<n.length;t++){var r=n[t];e+=r.origScrollLeft-r.getScrollLeft()}return e},e.prototype.computeTop=function(){for(var e=this.origRect.top,t=0,n=this.scrollCaches;t<n.length;t++){var r=n[t];e+=r.origScrollTop-r.getScrollTop()}return e},e.prototype.isWithinClipping=function(e,n){for(var r,i,o={left:e,top:n},a=0,l=this.scrollCaches;a<l.length;a++){var s=l[a];if(r=s.getEventTarget(),i=void 0,"HTML"!==(i=r.tagName)&&"BODY"!==i&&!t.pointInsideRect(o,s.clientRect))return!1}return!0},e}();var m=function(){function e(e,n){var r=this;this.useSubjectCenter=!1,this.requireInitial=!0,this.initialHit=null,this.movingHit=null,this.finalHit=null,this.handlePointerDown=function(e){var t=r.dragging;r.initialHit=null,r.movingHit=null,r.finalHit=null,r.prepareHits(),r.processFirstCoord(e),r.initialHit||!r.requireInitial?(t.setIgnoreMove(!1),r.emitter.trigger("pointerdown",e)):t.setIgnoreMove(!0)},this.handleDragStart=function(e){r.emitter.trigger("dragstart",e),r.handleMove(e,!0)},this.handleDragMove=function(e){r.emitter.trigger("dragmove",e),r.handleMove(e)},this.handlePointerUp=function(e){r.releaseHits(),r.emitter.trigger("pointerup",e)},this.handleDragEnd=function(e){r.movingHit&&r.emitter.trigger("hitupdate",null,!0,e),r.finalHit=r.movingHit,r.movingHit=null,r.emitter.trigger("dragend",e)},this.droppableStore=n,e.emitter.on("pointerdown",this.handlePointerDown),e.emitter.on("dragstart",this.handleDragStart),e.emitter.on("dragmove",this.handleDragMove),e.emitter.on("pointerup",this.handlePointerUp),e.emitter.on("dragend",this.handleDragEnd),this.dragging=e,this.emitter=new t.EmitterMixin}return e.prototype.processFirstCoord=function(e){var n,r={left:e.pageX,top:e.pageY},i=r,o=e.subjectEl;o!==document&&(n=t.computeRect(o),i=t.constrainPoint(i,n));var a=this.initialHit=this.queryHitForOffset(i.left,i.top);if(a){if(this.useSubjectCenter&&n){var l=t.intersectRects(n,a.rect);l&&(i=t.getRectCenter(l))}this.coordAdjust=t.diffPoints(i,r)}else this.coordAdjust={left:0,top:0}},e.prototype.handleMove=function(e,t){var n=this.queryHitForOffset(e.pageX+this.coordAdjust.left,e.pageY+this.coordAdjust.top);!t&&S(this.movingHit,n)||(this.movingHit=n,this.emitter.trigger("hitupdate",n,!1,e))},e.prototype.prepareHits=function(){this.offsetTrackers=t.mapHash(this.droppableStore,(function(e){return e.component.buildPositionCaches(),new E(e.el)}))},e.prototype.releaseHits=function(){var e=this.offsetTrackers;for(var t in e)e[t].destroy();this.offsetTrackers={}},e.prototype.queryHitForOffset=function(e,n){var r=this.droppableStore,i=this.offsetTrackers,o=null;for(var a in r){var l=r[a].component,s=i[a];if(s.isWithinClipping(e,n)){var c=s.computeLeft(),d=s.computeTop(),g=e-c,u=n-d,h=s.origRect,p=h.right-h.left,v=h.bottom-h.top;if(g>=0&&g<p&&u>=0&&u<v){var f=l.queryHit(g,u,p,v);!f||l.props.dateProfile&&!t.rangeContainsRange(l.props.dateProfile.activeRange,f.dateSpan.range)||o&&!(f.layer>o.layer)||(f.rect.left+=c,f.rect.right+=c,f.rect.top+=d,f.rect.bottom+=d,o=f)}}}return o},e}();function S(e,n){return!e&&!n||Boolean(e)===Boolean(n)&&t.isDateSpansEqual(e.dateSpan,n.dateSpan)}var y=function(e){function n(n){var r=e.call(this,n)||this;r.handlePointerDown=function(e){var t=r.dragging;t.setIgnoreMove(!r.component.isValidDateDownEl(t.pointer.downEl))},r.handleDragEnd=function(e){var t=r.component.context,n=t.calendar,i=t.view;if(!r.dragging.pointer.wasTouchScroll){var o=r.hitDragging,a=o.initialHit,l=o.finalHit;a&&l&&S(a,l)&&n.triggerDateClick(a.dateSpan,a.dayEl,i,e.origEvent)}};var i=n.component;r.dragging=new f(i.el),r.dragging.autoScroller.isEnabled=!1;var o=r.hitDragging=new m(r.dragging,t.interactionSettingsToStore(n));return o.emitter.on("pointerdown",r.handlePointerDown),o.emitter.on("dragend",r.handleDragEnd),r}return r(n,e),n.prototype.destroy=function(){this.dragging.destroy()},n}(t.Interaction),D=function(e){function n(n){var r=e.call(this,n)||this;r.dragSelection=null,r.handlePointerDown=function(e){var t=r,n=t.component,i=t.dragging,o=n.context.options.selectable&&n.isValidDateDownEl(e.origEvent.target);i.setIgnoreMove(!o),i.delay=e.isTouch?function(e){var t=e.context.options,n=t.selectLongPressDelay;null==n&&(n=t.longPressDelay);return n}(n):null},r.handleDragStart=function(e){r.component.context.calendar.unselect(e)},r.handleHitUpdate=function(e,n){var o=r.component.context.calendar,a=null,l=!1;e&&((a=function(e,n,r){var o=e.dateSpan,a=n.dateSpan,l=[o.range.start,o.range.end,a.range.start,a.range.end];l.sort(t.compareNumbers);for(var s={},c=0,d=r;c<d.length;c++){var g=(0,d[c])(e,n);if(!1===g)return null;g&&i(s,g)}return s.range={start:l[0],end:l[3]},s.allDay=o.allDay,s}(r.hitDragging.initialHit,e,o.pluginSystem.hooks.dateSelectionTransformers))&&r.component.isDateSelectionValid(a)||(l=!0,a=null)),a?o.dispatch({type:"SELECT_DATES",selection:a}):n||o.dispatch({type:"UNSELECT_DATES"}),l?t.disableCursor():t.enableCursor(),n||(r.dragSelection=a)},r.handlePointerUp=function(e){r.dragSelection&&(r.component.context.calendar.triggerDateSelect(r.dragSelection,e),r.dragSelection=null)};var o=n.component,a=o.context.options,l=r.dragging=new f(o.el);l.touchScrollAllowed=!1,l.minDistance=a.selectMinDistance||0,l.autoScroller.isEnabled=a.dragScroll;var s=r.hitDragging=new m(r.dragging,t.interactionSettingsToStore(n));return s.emitter.on("pointerdown",r.handlePointerDown),s.emitter.on("dragstart",r.handleDragStart),s.emitter.on("hitupdate",r.handleHitUpdate),s.emitter.on("pointerup",r.handlePointerUp),r}return r(n,e),n.prototype.destroy=function(){this.dragging.destroy()},n}(t.Interaction);var w=function(e){function n(r){var o=e.call(this,r)||this;o.subjectSeg=null,o.isDragging=!1,o.eventRange=null,o.relevantEvents=null,o.receivingCalendar=null,o.validMutation=null,o.mutatedRelevantEvents=null,o.handlePointerDown=function(e){var n=e.origEvent.target,r=o,i=r.component,a=r.dragging,l=a.mirror,s=i.context.options,c=i.context.calendar,d=o.subjectSeg=t.getElSeg(e.subjectEl),g=(o.eventRange=d.eventRange).instance.instanceId;o.relevantEvents=t.getRelevantEvents(c.state.eventStore,g),a.minDistance=e.isTouch?0:s.eventDragMinDistance,a.delay=e.isTouch&&g!==i.props.eventSelection?function(e){var t=e.context.options,n=t.eventLongPressDelay;null==n&&(n=t.longPressDelay);return n}(i):null,l.parentNode=c.el,l.revertDuration=s.dragRevertDuration;var u=i.isValidSegDownEl(n)&&!t.elementClosest(n,".fc-resizer");a.setIgnoreMove(!u),o.isDragging=u&&e.subjectEl.classList.contains("fc-draggable")},o.handleDragStart=function(e){var n=o.component.context,r=n.calendar,i=o.eventRange,a=i.instance.instanceId;e.isTouch?a!==o.component.props.eventSelection&&r.dispatch({type:"SELECT_EVENT",eventInstanceId:a}):r.dispatch({type:"UNSELECT_EVENT"}),o.isDragging&&(r.unselect(e),r.publiclyTrigger("eventDragStart",[{el:o.subjectSeg.el,event:new t.EventApi(r,i.def,i.instance),jsEvent:e.origEvent,view:n.view}]))},o.handleHitUpdate=function(e,n){if(o.isDragging){var r=o.relevantEvents,i=o.hitDragging.initialHit,a=o.component.context.calendar,l=null,s=null,c=null,d=!1,g={affectedEvents:r,mutatedEvents:t.createEmptyEventStore(),isEvent:!0,origSeg:o.subjectSeg};if(e){var u=e.component;l=u.context.calendar;var h=u.context.options;a===l||h.editable&&h.droppable?(s=function(e,n,r){var i=e.dateSpan,o=n.dateSpan,a=i.range.start,l=o.range.start,s={};i.allDay!==o.allDay&&(s.allDay=o.allDay,s.hasEnd=n.component.context.options.allDayMaintainDuration,o.allDay&&(a=t.startOfDay(a)));var c=t.diffDates(a,l,e.component.context.dateEnv,e.component===n.component?e.component.largeUnit:null);c.milliseconds&&(s.allDay=!1);for(var d={datesDelta:c,standardProps:s},g=0,u=r;g<u.length;g++){(0,u[g])(d,e,n)}return d}(i,e,l.pluginSystem.hooks.eventDragMutationMassagers))&&(c=t.applyMutationToEventStore(r,l.eventUiBases,s,l),g.mutatedEvents=c,u.isInteractionValid(g)||(d=!0,s=null,c=null,g.mutatedEvents=t.createEmptyEventStore())):l=null}o.displayDrag(l,g),d?t.disableCursor():t.enableCursor(),n||(a===l&&S(i,e)&&(s=null),o.dragging.setMirrorNeedsRevert(!s),o.dragging.setMirrorIsVisible(!e||!document.querySelector(".fc-mirror")),o.receivingCalendar=l,o.validMutation=s,o.mutatedRelevantEvents=c)}},o.handlePointerUp=function(){o.isDragging||o.cleanup()},o.handleDragEnd=function(e){if(o.isDragging){var n=o.component.context,r=n.calendar,a=n.view,l=o,s=l.receivingCalendar,c=l.validMutation,d=o.eventRange.def,g=o.eventRange.instance,u=new t.EventApi(r,d,g),h=o.relevantEvents,p=o.mutatedRelevantEvents,v=o.hitDragging.finalHit;if(o.clearDrag(),r.publiclyTrigger("eventDragStop",[{el:o.subjectSeg.el,event:u,jsEvent:e.origEvent,view:a}]),c){if(s===r){r.dispatch({type:"MERGE_EVENTS",eventStore:p});for(var f={},E=0,m=r.pluginSystem.hooks.eventDropTransformers;E<m.length;E++){var S=m[E];i(f,S(c,r))}var y=i({},f,{el:e.subjectEl,delta:c.datesDelta,oldEvent:u,event:new t.EventApi(r,p.defs[d.defId],g?p.instances[g.instanceId]:null),revert:function(){r.dispatch({type:"MERGE_EVENTS",eventStore:h})},jsEvent:e.origEvent,view:a});r.publiclyTrigger("eventDrop",[y])}else if(s){r.publiclyTrigger("eventLeave",[{draggedEl:e.subjectEl,event:u,view:a}]),r.dispatch({type:"REMOVE_EVENT_INSTANCES",instances:o.mutatedRelevantEvents.instances}),s.dispatch({type:"MERGE_EVENTS",eventStore:o.mutatedRelevantEvents}),e.isTouch&&s.dispatch({type:"SELECT_EVENT",eventInstanceId:g.instanceId});var D=i({},s.buildDatePointApi(v.dateSpan),{draggedEl:e.subjectEl,jsEvent:e.origEvent,view:v.component});s.publiclyTrigger("drop",[D]),s.publiclyTrigger("eventReceive",[{draggedEl:e.subjectEl,event:new t.EventApi(s,p.defs[d.defId],p.instances[g.instanceId]),view:v.component}])}}else r.publiclyTrigger("_noEventDrop")}o.cleanup()};var a=o.component,l=a.context.options,s=o.dragging=new f(a.el);s.pointer.selector=n.SELECTOR,s.touchScrollAllowed=!1,s.autoScroller.isEnabled=l.dragScroll;var c=o.hitDragging=new m(o.dragging,t.interactionSettingsStore);return c.useSubjectCenter=r.useEventCenter,c.emitter.on("pointerdown",o.handlePointerDown),c.emitter.on("dragstart",o.handleDragStart),c.emitter.on("hitupdate",o.handleHitUpdate),c.emitter.on("pointerup",o.handlePointerUp),c.emitter.on("dragend",o.handleDragEnd),o}return r(n,e),n.prototype.destroy=function(){this.dragging.destroy()},n.prototype.displayDrag=function(e,n){var r=this.component.context.calendar,i=this.receivingCalendar;i&&i!==e&&(i===r?i.dispatch({type:"SET_EVENT_DRAG",state:{affectedEvents:n.affectedEvents,mutatedEvents:t.createEmptyEventStore(),isEvent:!0,origSeg:n.origSeg}}):i.dispatch({type:"UNSET_EVENT_DRAG"})),e&&e.dispatch({type:"SET_EVENT_DRAG",state:n})},n.prototype.clearDrag=function(){var e=this.component.context.calendar,t=this.receivingCalendar;t&&t.dispatch({type:"UNSET_EVENT_DRAG"}),e!==t&&e.dispatch({type:"UNSET_EVENT_DRAG"})},n.prototype.cleanup=function(){this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingCalendar=null,this.validMutation=null,this.mutatedRelevantEvents=null},n.SELECTOR=".fc-draggable, .fc-resizable",n}(t.Interaction);var T=function(e){function n(n){var r=e.call(this,n)||this;r.draggingSeg=null,r.eventRange=null,r.relevantEvents=null,r.validMutation=null,r.mutatedRelevantEvents=null,r.handlePointerDown=function(e){var t=r.component,n=r.querySeg(e),i=r.eventRange=n.eventRange;r.dragging.minDistance=t.context.options.eventDragMinDistance,r.dragging.setIgnoreMove(!r.component.isValidSegDownEl(e.origEvent.target)||e.isTouch&&r.component.props.eventSelection!==i.instance.instanceId)},r.handleDragStart=function(e){var n=r.component.context,i=n.calendar,o=n.view,a=r.eventRange;r.relevantEvents=t.getRelevantEvents(i.state.eventStore,r.eventRange.instance.instanceId),r.draggingSeg=r.querySeg(e),i.unselect(),i.publiclyTrigger("eventResizeStart",[{el:r.draggingSeg.el,event:new t.EventApi(i,a.def,a.instance),jsEvent:e.origEvent,view:o}])},r.handleHitUpdate=function(e,n,o){var a=r.component.context.calendar,l=r.relevantEvents,s=r.hitDragging.initialHit,c=r.eventRange.instance,d=null,g=null,u=!1,h={affectedEvents:l,mutatedEvents:t.createEmptyEventStore(),isEvent:!0,origSeg:r.draggingSeg};e&&(d=function(e,n,r,o,a){for(var l=e.component.context.dateEnv,s=e.dateSpan.range.start,c=n.dateSpan.range.start,d=t.diffDates(s,c,l,e.component.largeUnit),g={},u=0,h=a;u<h.length;u++){var p=(0,h[u])(e,n);if(!1===p)return null;p&&i(g,p)}if(r){if(l.add(o.start,d)<o.end)return g.startDelta=d,g}else if(l.add(o.end,d)>o.start)return g.endDelta=d,g;return null}(s,e,o.subjectEl.classList.contains("fc-start-resizer"),c.range,a.pluginSystem.hooks.eventResizeJoinTransforms)),d&&(g=t.applyMutationToEventStore(l,a.eventUiBases,d,a),h.mutatedEvents=g,r.component.isInteractionValid(h)||(u=!0,d=null,g=null,h.mutatedEvents=null)),g?a.dispatch({type:"SET_EVENT_RESIZE",state:h}):a.dispatch({type:"UNSET_EVENT_RESIZE"}),u?t.disableCursor():t.enableCursor(),n||(d&&S(s,e)&&(d=null),r.validMutation=d,r.mutatedRelevantEvents=g)},r.handleDragEnd=function(e){var n=r.component.context,i=n.calendar,o=n.view,a=r.eventRange.def,l=r.eventRange.instance,s=new t.EventApi(i,a,l),c=r.relevantEvents,d=r.mutatedRelevantEvents;i.publiclyTrigger("eventResizeStop",[{el:r.draggingSeg.el,event:s,jsEvent:e.origEvent,view:o}]),r.validMutation?(i.dispatch({type:"MERGE_EVENTS",eventStore:d}),i.publiclyTrigger("eventResize",[{el:r.draggingSeg.el,startDelta:r.validMutation.startDelta||t.createDuration(0),endDelta:r.validMutation.endDelta||t.createDuration(0),prevEvent:s,event:new t.EventApi(i,d.defs[a.defId],l?d.instances[l.instanceId]:null),revert:function(){i.dispatch({type:"MERGE_EVENTS",eventStore:c})},jsEvent:e.origEvent,view:o}])):i.publiclyTrigger("_noEventResize"),r.draggingSeg=null,r.relevantEvents=null,r.validMutation=null};var o=n.component,a=r.dragging=new f(o.el);a.pointer.selector=".fc-resizer",a.touchScrollAllowed=!1,a.autoScroller.isEnabled=o.context.options.dragScroll;var l=r.hitDragging=new m(r.dragging,t.interactionSettingsToStore(n));return l.emitter.on("pointerdown",r.handlePointerDown),l.emitter.on("dragstart",r.handleDragStart),l.emitter.on("hitupdate",r.handleHitUpdate),l.emitter.on("dragend",r.handleDragEnd),r}return r(n,e),n.prototype.destroy=function(){this.dragging.destroy()},n.prototype.querySeg=function(e){return t.getElSeg(t.elementClosest(e.subjectEl,this.component.fgSegSelector))},n}(t.Interaction);var M=function(){function e(e){var n=this;this.isRecentPointerDateSelect=!1,this.onSelect=function(e){e.jsEvent&&(n.isRecentPointerDateSelect=!0)},this.onDocumentPointerUp=function(e){var r=n,i=r.calendar,o=r.documentPointer,a=i.state;if(!o.wasTouchScroll){if(a.dateSelection&&!n.isRecentPointerDateSelect){var l=i.viewOpt("unselectAuto"),s=i.viewOpt("unselectCancel");!l||l&&t.elementClosest(o.downEl,s)||i.unselect(e)}a.eventSelection&&!t.elementClosest(o.downEl,w.SELECTOR)&&i.dispatch({type:"UNSELECT_EVENT"})}n.isRecentPointerDateSelect=!1},this.calendar=e;var r=this.documentPointer=new s(document);r.shouldIgnoreMove=!0,r.shouldWatchScroll=!1,r.emitter.on("pointerup",this.onDocumentPointerUp),e.on("select",this.onSelect)}return e.prototype.destroy=function(){this.calendar.off("select",this.onSelect),this.documentPointer.destroy()},e}(),b=function(){function e(e,n){var r=this;this.receivingCalendar=null,this.droppableEvent=null,this.suppliedDragMeta=null,this.dragMeta=null,this.handleDragStart=function(e){r.dragMeta=r.buildDragMeta(e.subjectEl)},this.handleHitUpdate=function(e,n,o){var a=r.hitDragging.dragging,l=null,s=null,c=!1,d={affectedEvents:t.createEmptyEventStore(),mutatedEvents:t.createEmptyEventStore(),isEvent:r.dragMeta.create,origSeg:null};e&&(l=e.component.context.calendar,r.canDropElOnCalendar(o.subjectEl,l)&&(s=function(e,n,r){for(var o=i({},n.leftoverProps),a=0,l=r.pluginSystem.hooks.externalDefTransforms;a<l.length;a++){var s=l[a];i(o,s(e,n))}var c=t.parseEventDef(o,n.sourceId,e.allDay,r.opt("forceEventDuration")||Boolean(n.duration),r),d=e.range.start;e.allDay&&n.startTime&&(d=r.dateEnv.add(d,n.startTime));var g=n.duration?r.dateEnv.add(d,n.duration):r.getDefaultEventEnd(e.allDay,d),u=t.createEventInstance(c.defId,{start:d,end:g});return{def:c,instance:u}}(e.dateSpan,r.dragMeta,l),d.mutatedEvents=t.eventTupleToStore(s),(c=!t.isInteractionValid(d,l))&&(d.mutatedEvents=t.createEmptyEventStore(),s=null))),r.displayDrag(l,d),a.setMirrorIsVisible(n||!s||!document.querySelector(".fc-mirror")),c?t.disableCursor():t.enableCursor(),n||(a.setMirrorNeedsRevert(!s),r.receivingCalendar=l,r.droppableEvent=s)},this.handleDragEnd=function(e){var n=r,o=n.receivingCalendar,a=n.droppableEvent;if(r.clearDrag(),o&&a){var l=r.hitDragging.finalHit,s=l.component.context.view,c=r.dragMeta,d=i({},o.buildDatePointApi(l.dateSpan),{draggedEl:e.subjectEl,jsEvent:e.origEvent,view:s});o.publiclyTrigger("drop",[d]),c.create&&(o.dispatch({type:"MERGE_EVENTS",eventStore:t.eventTupleToStore(a)}),e.isTouch&&o.dispatch({type:"SELECT_EVENT",eventInstanceId:a.instance.instanceId}),o.publiclyTrigger("eventReceive",[{draggedEl:e.subjectEl,event:new t.EventApi(o,a.def,a.instance),view:s}]))}r.receivingCalendar=null,r.droppableEvent=null};var o=this.hitDragging=new m(e,t.interactionSettingsStore);o.requireInitial=!1,o.emitter.on("dragstart",this.handleDragStart),o.emitter.on("hitupdate",this.handleHitUpdate),o.emitter.on("dragend",this.handleDragEnd),this.suppliedDragMeta=n}return e.prototype.buildDragMeta=function(e){return"object"==typeof this.suppliedDragMeta?t.parseDragMeta(this.suppliedDragMeta):"function"==typeof this.suppliedDragMeta?t.parseDragMeta(this.suppliedDragMeta(e)):(n=function(e,n){var r=t.config.dataAttrPrefix,i=(r?r+"-":"")+n;return e.getAttribute("data-"+i)||""}(e,"event"),r=n?JSON.parse(n):{create:!1},t.parseDragMeta(r));var n,r},e.prototype.displayDrag=function(e,t){var n=this.receivingCalendar;n&&n!==e&&n.dispatch({type:"UNSET_EVENT_DRAG"}),e&&e.dispatch({type:"SET_EVENT_DRAG",state:t})},e.prototype.clearDrag=function(){this.receivingCalendar&&this.receivingCalendar.dispatch({type:"UNSET_EVENT_DRAG"})},e.prototype.canDropElOnCalendar=function(e,n){var r=n.opt("dropAccept");return"function"==typeof r?r(e):"string"!=typeof r||!r||Boolean(t.elementMatches(e,r))},e}();t.config.dataAttrPrefix="";var C=function(){function e(e,n){var r=this;void 0===n&&(n={}),this.handlePointerDown=function(e){var n=r.dragging,i=r.settings,o=i.minDistance,a=i.longPressDelay;n.minDistance=null!=o?o:e.isTouch?0:t.globalDefaults.eventDragMinDistance,n.delay=e.isTouch?null!=a?a:t.globalDefaults.longPressDelay:0},this.handleDragStart=function(e){e.isTouch&&r.dragging.delay&&e.subjectEl.classList.contains("fc-event")&&r.dragging.mirror.getMirrorEl().classList.add("fc-selected")},this.settings=n;var i=this.dragging=new f(e);i.touchScrollAllowed=!1,null!=n.itemSelector&&(i.pointer.selector=n.itemSelector),null!=n.appendTo&&(i.mirror.parentNode=n.appendTo),i.emitter.on("pointerdown",this.handlePointerDown),i.emitter.on("dragstart",this.handleDragStart),new b(i,n.eventData)}return e.prototype.destroy=function(){this.dragging.destroy()},e}(),R=function(e){function t(t){var n=e.call(this,t)||this;n.shouldIgnoreMove=!1,n.mirrorSelector="",n.currentMirrorEl=null,n.handlePointerDown=function(e){n.emitter.trigger("pointerdown",e),n.shouldIgnoreMove||n.emitter.trigger("dragstart",e)},n.handlePointerMove=function(e){n.shouldIgnoreMove||n.emitter.trigger("dragmove",e)},n.handlePointerUp=function(e){n.emitter.trigger("pointerup",e),n.shouldIgnoreMove||n.emitter.trigger("dragend",e)};var r=n.pointer=new s(t);return r.emitter.on("pointerdown",n.handlePointerDown),r.emitter.on("pointermove",n.handlePointerMove),r.emitter.on("pointerup",n.handlePointerUp),n}return r(t,e),t.prototype.destroy=function(){this.pointer.destroy()},t.prototype.setIgnoreMove=function(e){this.shouldIgnoreMove=e},t.prototype.setMirrorIsVisible=function(e){if(e)this.currentMirrorEl&&(this.currentMirrorEl.style.visibility="",this.currentMirrorEl=null);else{var t=this.mirrorSelector?document.querySelector(this.mirrorSelector):null;t&&(this.currentMirrorEl=t,t.style.visibility="hidden")}},t}(t.ElementDragging),I=function(){function e(e,t){var n=document;e===document||e instanceof Element?(n=e,t=t||{}):t=e||{};var r=this.dragging=new R(n);"string"==typeof t.itemSelector?r.pointer.selector=t.itemSelector:n===document&&(r.pointer.selector="[data-event]"),"string"==typeof t.mirrorSelector&&(r.mirrorSelector=t.mirrorSelector),new b(r,t.eventData)}return e.prototype.destroy=function(){this.dragging.destroy()},e}(),P=t.createPlugin({componentInteractions:[y,D,w,T],calendarInteractions:[M],elementDraggingImpl:f});e.Draggable=C,e.FeaturefulElementDragging=f,e.PointerDragging=s,e.ThirdPartyDraggable=I,e.default=P,Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/interaction/package.json b/library/fullcalendar/packages/interaction/package.json
new file mode 100644
index 000000000..b3dc22110
--- /dev/null
+++ b/library/fullcalendar/packages/interaction/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@fullcalendar/interaction",
+ "version": "4.4.2",
+ "title": "FullCalendar Interaction Plugin",
+ "description": "Provides functionality for event drag-n-drop, resizing, dateClick, and selectable actions",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/editable",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/list/LICENSE.txt b/library/fullcalendar/packages/list/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/list/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/list/README.md b/library/fullcalendar/packages/list/README.md
new file mode 100644
index 000000000..1122d7f9d
--- /dev/null
+++ b/library/fullcalendar/packages/list/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar List View Plugin
+
+View your events as a bulleted list
+
+[View the docs &raquo;](https://fullcalendar.io/docs/list-view)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/list/main.css b/library/fullcalendar/packages/list/main.css
index eac305505..6af9bb70c 100644
--- a/library/fullcalendar/packages/list/main.css
+++ b/library/fullcalendar/packages/list/main.css
@@ -1,8 +1,3 @@
-/*!
-FullCalendar List View Plugin v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/
/* List View
--------------------------------------------------------------------------------------------------*/
/* possibly reusable */
@@ -10,73 +5,91 @@ Docs & License: https://fullcalendar.io/
display: inline-block;
width: 10px;
height: 10px;
- border-radius: 5px; }
+ border-radius: 5px;
+}
/* view wrapper */
.fc-rtl .fc-list-view {
direction: rtl;
- /* unlike core views, leverage browser RTL */ }
+ /* unlike core views, leverage browser RTL */
+}
.fc-list-view {
border-width: 1px;
- border-style: solid; }
+ border-style: solid;
+}
/* table resets */
.fc .fc-list-table {
table-layout: auto;
- /* for shrinkwrapping cell content */ }
+ /* for shrinkwrapping cell content */
+}
.fc-list-table td {
border-width: 1px 0 0;
- padding: 8px 14px; }
+ padding: 8px 14px;
+}
.fc-list-table tr:first-child td {
- border-top-width: 0; }
+ border-top-width: 0;
+}
/* day headings with the list */
.fc-list-heading {
- border-bottom-width: 1px; }
+ border-bottom-width: 1px;
+}
.fc-list-heading td {
- font-weight: bold; }
+ font-weight: bold;
+}
.fc-ltr .fc-list-heading-main {
- float: left; }
+ float: left;
+}
.fc-ltr .fc-list-heading-alt {
- float: right; }
+ float: right;
+}
.fc-rtl .fc-list-heading-main {
- float: right; }
+ float: right;
+}
.fc-rtl .fc-list-heading-alt {
- float: left; }
+ float: left;
+}
/* event list items */
.fc-list-item.fc-has-url {
cursor: pointer;
- /* whole row will be clickable */ }
+ /* whole row will be clickable */
+}
.fc-list-item-marker,
.fc-list-item-time {
white-space: nowrap;
- width: 1px; }
+ width: 1px;
+}
/* make the dot closer to the event title */
.fc-ltr .fc-list-item-marker {
- padding-right: 0; }
+ padding-right: 0;
+}
.fc-rtl .fc-list-item-marker {
- padding-left: 0; }
+ padding-left: 0;
+}
.fc-list-item-title a {
/* every event title cell has an <a> tag */
text-decoration: none;
- color: inherit; }
+ color: inherit;
+}
.fc-list-item-title a[href]:hover {
/* hover effect only on titles with hrefs */
- text-decoration: underline; }
+ text-decoration: underline;
+}
/* message when no events */
.fc-list-empty-wrap2 {
@@ -84,18 +97,22 @@ Docs & License: https://fullcalendar.io/
top: 0;
left: 0;
right: 0;
- bottom: 0; }
+ bottom: 0;
+}
.fc-list-empty-wrap1 {
width: 100%;
height: 100%;
- display: table; }
+ display: table;
+}
.fc-list-empty {
display: table-cell;
vertical-align: middle;
- text-align: center; }
+ text-align: center;
+}
.fc-unthemed .fc-list-empty {
/* theme will provide own background */
- background-color: #eee; }
+ background-color: #eee;
+}
diff --git a/library/fullcalendar/packages/list/main.d.ts b/library/fullcalendar/packages/list/main.d.ts
new file mode 100644
index 000000000..ecbb49679
--- /dev/null
+++ b/library/fullcalendar/packages/list/main.d.ts
@@ -0,0 +1,36 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/list' {
+ import ListView from '@fullcalendar/list/ListView';
+ export { ListView };
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
+declare module '@fullcalendar/list/ListView' {
+ import { View, ViewProps, ScrollComponent, DateMarker, DateRange, ComponentContext, EventUiHash, EventRenderRange, EventStore, Seg, ViewSpec } from '@fullcalendar/core';
+ export { ListView as default, ListView };
+ class ListView extends View {
+ scroller: ScrollComponent;
+ contentEl: HTMLElement;
+ dayDates: DateMarker[];
+ constructor(viewSpec: ViewSpec, parentEl: HTMLElement);
+ firstContext(context: ComponentContext): void;
+ render(props: ViewProps, context: ComponentContext): void;
+ destroy(): void;
+ _renderSkeleton(context: ComponentContext): void;
+ _unrenderSkeleton(): void;
+ updateSize(isResize: any, viewHeight: any, isAuto: any): void;
+ computeScrollerHeight(viewHeight: any): number;
+ _eventStoreToSegs(eventStore: EventStore, eventUiBases: EventUiHash, dayRanges: DateRange[]): Seg[];
+ eventRangesToSegs(eventRanges: EventRenderRange[], dayRanges: DateRange[]): any[];
+ eventRangeToSegs(eventRange: EventRenderRange, dayRanges: DateRange[]): any[];
+ renderEmptyMessage(): void;
+ renderSegList(allSegs: any): void;
+ groupSegsByDay(segs: any): any[];
+ buildDayHeaderRow(dayDate: any): HTMLTableRowElement;
+ }
+}
+
diff --git a/library/fullcalendar/packages/list/main.esm.js b/library/fullcalendar/packages/list/main.esm.js
new file mode 100644
index 000000000..a03226977
--- /dev/null
+++ b/library/fullcalendar/packages/list/main.esm.js
@@ -0,0 +1,348 @@
+/*!
+FullCalendar List View Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import { getAllDayHtml, isMultiDayRange, htmlEscape, FgEventRenderer, memoize, memoizeRendering, ScrollComponent, subtractInnerElHeight, sliceEventStore, intersectRanges, htmlToElement, createFormatter, createElement, buildGotoAnchorHtml, View, startOfDay, addDays, createPlugin } from '@fullcalendar/core';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var ListEventRenderer = /** @class */ (function (_super) {
+ __extends(ListEventRenderer, _super);
+ function ListEventRenderer(listView) {
+ var _this = _super.call(this) || this;
+ _this.listView = listView;
+ return _this;
+ }
+ ListEventRenderer.prototype.attachSegs = function (segs) {
+ if (!segs.length) {
+ this.listView.renderEmptyMessage();
+ }
+ else {
+ this.listView.renderSegList(segs);
+ }
+ };
+ ListEventRenderer.prototype.detachSegs = function () {
+ };
+ // generates the HTML for a single event row
+ ListEventRenderer.prototype.renderSegHtml = function (seg) {
+ var _a = this.context, theme = _a.theme, options = _a.options;
+ var eventRange = seg.eventRange;
+ var eventDef = eventRange.def;
+ var eventInstance = eventRange.instance;
+ var eventUi = eventRange.ui;
+ var url = eventDef.url;
+ var classes = ['fc-list-item'].concat(eventUi.classNames);
+ var bgColor = eventUi.backgroundColor;
+ var timeHtml;
+ if (eventDef.allDay) {
+ timeHtml = getAllDayHtml(options);
+ }
+ else if (isMultiDayRange(eventRange.range)) {
+ if (seg.isStart) {
+ timeHtml = htmlEscape(this._getTimeText(eventInstance.range.start, seg.end, false // allDay
+ ));
+ }
+ else if (seg.isEnd) {
+ timeHtml = htmlEscape(this._getTimeText(seg.start, eventInstance.range.end, false // allDay
+ ));
+ }
+ else { // inner segment that lasts the whole day
+ timeHtml = getAllDayHtml(options);
+ }
+ }
+ else {
+ // Display the normal time text for the *event's* times
+ timeHtml = htmlEscape(this.getTimeText(eventRange));
+ }
+ if (url) {
+ classes.push('fc-has-url');
+ }
+ return '<tr class="' + classes.join(' ') + '">' +
+ (this.displayEventTime ?
+ '<td class="fc-list-item-time ' + theme.getClass('widgetContent') + '">' +
+ (timeHtml || '') +
+ '</td>' :
+ '') +
+ '<td class="fc-list-item-marker ' + theme.getClass('widgetContent') + '">' +
+ '<span class="fc-event-dot"' +
+ (bgColor ?
+ ' style="background-color:' + bgColor + '"' :
+ '') +
+ '></span>' +
+ '</td>' +
+ '<td class="fc-list-item-title ' + theme.getClass('widgetContent') + '">' +
+ '<a' + (url ? ' href="' + htmlEscape(url) + '"' : '') + '>' +
+ htmlEscape(eventDef.title || '') +
+ '</a>' +
+ '</td>' +
+ '</tr>';
+ };
+ // like "4:00am"
+ ListEventRenderer.prototype.computeEventTimeFormat = function () {
+ return {
+ hour: 'numeric',
+ minute: '2-digit',
+ meridiem: 'short'
+ };
+ };
+ return ListEventRenderer;
+}(FgEventRenderer));
+
+/*
+Responsible for the scroller, and forwarding event-related actions into the "grid".
+*/
+var ListView = /** @class */ (function (_super) {
+ __extends(ListView, _super);
+ function ListView(viewSpec, parentEl) {
+ var _this = _super.call(this, viewSpec, parentEl) || this;
+ _this.computeDateVars = memoize(computeDateVars);
+ _this.eventStoreToSegs = memoize(_this._eventStoreToSegs);
+ _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
+ var eventRenderer = _this.eventRenderer = new ListEventRenderer(_this);
+ _this.renderContent = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [_this.renderSkeleton]);
+ return _this;
+ }
+ ListView.prototype.firstContext = function (context) {
+ context.calendar.registerInteractiveComponent(this, {
+ el: this.el
+ // TODO: make aware that it doesn't do Hits
+ });
+ };
+ ListView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context);
+ var _a = this.computeDateVars(props.dateProfile), dayDates = _a.dayDates, dayRanges = _a.dayRanges;
+ this.dayDates = dayDates;
+ this.renderSkeleton(context);
+ this.renderContent(context, this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges));
+ };
+ ListView.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderSkeleton.unrender();
+ this.renderContent.unrender();
+ this.context.calendar.unregisterInteractiveComponent(this);
+ };
+ ListView.prototype._renderSkeleton = function (context) {
+ var theme = context.theme;
+ this.el.classList.add('fc-list-view');
+ var listViewClassNames = (theme.getClass('listView') || '').split(' '); // wish we didn't have to do this
+ for (var _i = 0, listViewClassNames_1 = listViewClassNames; _i < listViewClassNames_1.length; _i++) {
+ var listViewClassName = listViewClassNames_1[_i];
+ if (listViewClassName) { // in case input was empty string
+ this.el.classList.add(listViewClassName);
+ }
+ }
+ this.scroller = new ScrollComponent('hidden', // overflow x
+ 'auto' // overflow y
+ );
+ this.el.appendChild(this.scroller.el);
+ this.contentEl = this.scroller.el; // shortcut
+ };
+ ListView.prototype._unrenderSkeleton = function () {
+ // TODO: remove classNames
+ this.scroller.destroy(); // will remove the Grid too
+ };
+ ListView.prototype.updateSize = function (isResize, viewHeight, isAuto) {
+ _super.prototype.updateSize.call(this, isResize, viewHeight, isAuto);
+ this.eventRenderer.computeSizes(isResize);
+ this.eventRenderer.assignSizes(isResize);
+ this.scroller.clear(); // sets height to 'auto' and clears overflow
+ if (!isAuto) {
+ this.scroller.setHeight(this.computeScrollerHeight(viewHeight));
+ }
+ };
+ ListView.prototype.computeScrollerHeight = function (viewHeight) {
+ return viewHeight -
+ subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
+ };
+ ListView.prototype._eventStoreToSegs = function (eventStore, eventUiBases, dayRanges) {
+ return this.eventRangesToSegs(sliceEventStore(eventStore, eventUiBases, this.props.dateProfile.activeRange, this.context.nextDayThreshold).fg, dayRanges);
+ };
+ ListView.prototype.eventRangesToSegs = function (eventRanges, dayRanges) {
+ var segs = [];
+ for (var _i = 0, eventRanges_1 = eventRanges; _i < eventRanges_1.length; _i++) {
+ var eventRange = eventRanges_1[_i];
+ segs.push.apply(segs, this.eventRangeToSegs(eventRange, dayRanges));
+ }
+ return segs;
+ };
+ ListView.prototype.eventRangeToSegs = function (eventRange, dayRanges) {
+ var _a = this.context, dateEnv = _a.dateEnv, nextDayThreshold = _a.nextDayThreshold;
+ var range = eventRange.range;
+ var allDay = eventRange.def.allDay;
+ var dayIndex;
+ var segRange;
+ var seg;
+ var segs = [];
+ for (dayIndex = 0; dayIndex < dayRanges.length; dayIndex++) {
+ segRange = intersectRanges(range, dayRanges[dayIndex]);
+ if (segRange) {
+ seg = {
+ component: this,
+ eventRange: eventRange,
+ start: segRange.start,
+ end: segRange.end,
+ isStart: eventRange.isStart && segRange.start.valueOf() === range.start.valueOf(),
+ isEnd: eventRange.isEnd && segRange.end.valueOf() === range.end.valueOf(),
+ dayIndex: dayIndex
+ };
+ segs.push(seg);
+ // detect when range won't go fully into the next day,
+ // and mutate the latest seg to the be the end.
+ if (!seg.isEnd && !allDay &&
+ dayIndex + 1 < dayRanges.length &&
+ range.end <
+ dateEnv.add(dayRanges[dayIndex + 1].start, nextDayThreshold)) {
+ seg.end = range.end;
+ seg.isEnd = true;
+ break;
+ }
+ }
+ }
+ return segs;
+ };
+ ListView.prototype.renderEmptyMessage = function () {
+ this.contentEl.innerHTML =
+ '<div class="fc-list-empty-wrap2">' + // TODO: try less wraps
+ '<div class="fc-list-empty-wrap1">' +
+ '<div class="fc-list-empty">' +
+ htmlEscape(this.context.options.noEventsMessage) +
+ '</div>' +
+ '</div>' +
+ '</div>';
+ };
+ // called by ListEventRenderer
+ ListView.prototype.renderSegList = function (allSegs) {
+ var theme = this.context.theme;
+ var segsByDay = this.groupSegsByDay(allSegs); // sparse array
+ var dayIndex;
+ var daySegs;
+ var i;
+ var tableEl = htmlToElement('<table class="fc-list-table ' + theme.getClass('tableList') + '"><tbody></tbody></table>');
+ var tbodyEl = tableEl.querySelector('tbody');
+ for (dayIndex = 0; dayIndex < segsByDay.length; dayIndex++) {
+ daySegs = segsByDay[dayIndex];
+ if (daySegs) { // sparse array, so might be undefined
+ // append a day header
+ tbodyEl.appendChild(this.buildDayHeaderRow(this.dayDates[dayIndex]));
+ daySegs = this.eventRenderer.sortEventSegs(daySegs);
+ for (i = 0; i < daySegs.length; i++) {
+ tbodyEl.appendChild(daySegs[i].el); // append event row
+ }
+ }
+ }
+ this.contentEl.innerHTML = '';
+ this.contentEl.appendChild(tableEl);
+ };
+ // Returns a sparse array of arrays, segs grouped by their dayIndex
+ ListView.prototype.groupSegsByDay = function (segs) {
+ var segsByDay = []; // sparse array
+ var i;
+ var seg;
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ (segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))
+ .push(seg);
+ }
+ return segsByDay;
+ };
+ // generates the HTML for the day headers that live amongst the event rows
+ ListView.prototype.buildDayHeaderRow = function (dayDate) {
+ var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;
+ var mainFormat = createFormatter(options.listDayFormat); // TODO: cache
+ var altFormat = createFormatter(options.listDayAltFormat); // TODO: cache
+ return createElement('tr', {
+ className: 'fc-list-heading',
+ 'data-date': dateEnv.formatIso(dayDate, { omitTime: true })
+ }, '<td class="' + (theme.getClass('tableListHeading') ||
+ theme.getClass('widgetHeader')) + '" colspan="3">' +
+ (mainFormat ?
+ buildGotoAnchorHtml(options, dateEnv, dayDate, { 'class': 'fc-list-heading-main' }, htmlEscape(dateEnv.format(dayDate, mainFormat)) // inner HTML
+ ) :
+ '') +
+ (altFormat ?
+ buildGotoAnchorHtml(options, dateEnv, dayDate, { 'class': 'fc-list-heading-alt' }, htmlEscape(dateEnv.format(dayDate, altFormat)) // inner HTML
+ ) :
+ '') +
+ '</td>');
+ };
+ return ListView;
+}(View));
+ListView.prototype.fgSegSelector = '.fc-list-item'; // which elements accept event actions
+function computeDateVars(dateProfile) {
+ var dayStart = startOfDay(dateProfile.renderRange.start);
+ var viewEnd = dateProfile.renderRange.end;
+ var dayDates = [];
+ var dayRanges = [];
+ while (dayStart < viewEnd) {
+ dayDates.push(dayStart);
+ dayRanges.push({
+ start: dayStart,
+ end: addDays(dayStart, 1)
+ });
+ dayStart = addDays(dayStart, 1);
+ }
+ return { dayDates: dayDates, dayRanges: dayRanges };
+}
+
+var main = createPlugin({
+ views: {
+ list: {
+ class: ListView,
+ buttonTextKey: 'list',
+ listDayFormat: { month: 'long', day: 'numeric', year: 'numeric' } // like "January 1, 2016"
+ },
+ listDay: {
+ type: 'list',
+ duration: { days: 1 },
+ listDayFormat: { weekday: 'long' } // day-of-week is all we need. full date is probably in header
+ },
+ listWeek: {
+ type: 'list',
+ duration: { weeks: 1 },
+ listDayFormat: { weekday: 'long' },
+ listDayAltFormat: { month: 'long', day: 'numeric', year: 'numeric' }
+ },
+ listMonth: {
+ type: 'list',
+ duration: { month: 1 },
+ listDayAltFormat: { weekday: 'long' } // day-of-week is nice-to-have
+ },
+ listYear: {
+ type: 'list',
+ duration: { year: 1 },
+ listDayAltFormat: { weekday: 'long' } // day-of-week is nice-to-have
+ }
+ }
+});
+
+export default main;
+export { ListView };
diff --git a/library/fullcalendar/packages/list/main.js b/library/fullcalendar/packages/list/main.js
index abd7c1192..84b12341e 100644
--- a/library/fullcalendar/packages/list/main.js
+++ b/library/fullcalendar/packages/list/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar List View Plugin v4.0.2
+FullCalendar List View Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', '@fullcalendar/core'], factory) :
@@ -10,18 +11,18 @@ Docs & License: https://fullcalendar.io/
}(this, function (exports, core) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
@@ -41,7 +42,7 @@ Docs & License: https://fullcalendar.io/
var ListEventRenderer = /** @class */ (function (_super) {
__extends(ListEventRenderer, _super);
function ListEventRenderer(listView) {
- var _this = _super.call(this, listView.context) || this;
+ var _this = _super.call(this) || this;
_this.listView = listView;
return _this;
}
@@ -57,7 +58,7 @@ Docs & License: https://fullcalendar.io/
};
// generates the HTML for a single event row
ListEventRenderer.prototype.renderSegHtml = function (seg) {
- var _a = this.context, view = _a.view, theme = _a.theme;
+ var _a = this.context, theme = _a.theme, options = _a.options;
var eventRange = seg.eventRange;
var eventDef = eventRange.def;
var eventInstance = eventRange.instance;
@@ -67,7 +68,7 @@ Docs & License: https://fullcalendar.io/
var bgColor = eventUi.backgroundColor;
var timeHtml;
if (eventDef.allDay) {
- timeHtml = core.getAllDayHtml(view);
+ timeHtml = core.getAllDayHtml(options);
}
else if (core.isMultiDayRange(eventRange.range)) {
if (seg.isStart) {
@@ -79,7 +80,7 @@ Docs & License: https://fullcalendar.io/
));
}
else { // inner segment that lasts the whole day
- timeHtml = core.getAllDayHtml(view);
+ timeHtml = core.getAllDayHtml(options);
}
}
else {
@@ -125,40 +126,53 @@ Docs & License: https://fullcalendar.io/
*/
var ListView = /** @class */ (function (_super) {
__extends(ListView, _super);
- function ListView(context, viewSpec, dateProfileGenerator, parentEl) {
- var _this = _super.call(this, context, viewSpec, dateProfileGenerator, parentEl) || this;
+ function ListView(viewSpec, parentEl) {
+ var _this = _super.call(this, viewSpec, parentEl) || this;
_this.computeDateVars = core.memoize(computeDateVars);
_this.eventStoreToSegs = core.memoize(_this._eventStoreToSegs);
+ _this.renderSkeleton = core.memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
var eventRenderer = _this.eventRenderer = new ListEventRenderer(_this);
- _this.renderContent = core.memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer));
- _this.el.classList.add('fc-list-view');
- var listViewClassNames = (_this.theme.getClass('listView') || '').split(' '); // wish we didn't have to do this
+ _this.renderContent = core.memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [_this.renderSkeleton]);
+ return _this;
+ }
+ ListView.prototype.firstContext = function (context) {
+ context.calendar.registerInteractiveComponent(this, {
+ el: this.el
+ // TODO: make aware that it doesn't do Hits
+ });
+ };
+ ListView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context);
+ var _a = this.computeDateVars(props.dateProfile), dayDates = _a.dayDates, dayRanges = _a.dayRanges;
+ this.dayDates = dayDates;
+ this.renderSkeleton(context);
+ this.renderContent(context, this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges));
+ };
+ ListView.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderSkeleton.unrender();
+ this.renderContent.unrender();
+ this.context.calendar.unregisterInteractiveComponent(this);
+ };
+ ListView.prototype._renderSkeleton = function (context) {
+ var theme = context.theme;
+ this.el.classList.add('fc-list-view');
+ var listViewClassNames = (theme.getClass('listView') || '').split(' '); // wish we didn't have to do this
for (var _i = 0, listViewClassNames_1 = listViewClassNames; _i < listViewClassNames_1.length; _i++) {
var listViewClassName = listViewClassNames_1[_i];
if (listViewClassName) { // in case input was empty string
- _this.el.classList.add(listViewClassName);
+ this.el.classList.add(listViewClassName);
}
}
- _this.scroller = new core.ScrollComponent('hidden', // overflow x
+ this.scroller = new core.ScrollComponent('hidden', // overflow x
'auto' // overflow y
);
- _this.el.appendChild(_this.scroller.el);
- _this.contentEl = _this.scroller.el; // shortcut
- context.calendar.registerInteractiveComponent(_this, {
- el: _this.el
- // TODO: make aware that it doesn't do Hits
- });
- return _this;
- }
- ListView.prototype.render = function (props) {
- var _a = this.computeDateVars(props.dateProfile), dayDates = _a.dayDates, dayRanges = _a.dayRanges;
- this.dayDates = dayDates;
- this.renderContent(this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges));
+ this.el.appendChild(this.scroller.el);
+ this.contentEl = this.scroller.el; // shortcut
};
- ListView.prototype.destroy = function () {
- _super.prototype.destroy.call(this);
+ ListView.prototype._unrenderSkeleton = function () {
+ // TODO: remove classNames
this.scroller.destroy(); // will remove the Grid too
- this.calendar.unregisterInteractiveComponent(this);
};
ListView.prototype.updateSize = function (isResize, viewHeight, isAuto) {
_super.prototype.updateSize.call(this, isResize, viewHeight, isAuto);
@@ -174,7 +188,7 @@ Docs & License: https://fullcalendar.io/
core.subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
};
ListView.prototype._eventStoreToSegs = function (eventStore, eventUiBases, dayRanges) {
- return this.eventRangesToSegs(core.sliceEventStore(eventStore, eventUiBases, this.props.dateProfile.activeRange, this.nextDayThreshold).fg, dayRanges);
+ return this.eventRangesToSegs(core.sliceEventStore(eventStore, eventUiBases, this.props.dateProfile.activeRange, this.context.nextDayThreshold).fg, dayRanges);
};
ListView.prototype.eventRangesToSegs = function (eventRanges, dayRanges) {
var segs = [];
@@ -185,7 +199,7 @@ Docs & License: https://fullcalendar.io/
return segs;
};
ListView.prototype.eventRangeToSegs = function (eventRange, dayRanges) {
- var _a = this, dateEnv = _a.dateEnv, nextDayThreshold = _a.nextDayThreshold;
+ var _a = this.context, dateEnv = _a.dateEnv, nextDayThreshold = _a.nextDayThreshold;
var range = eventRange.range;
var allDay = eventRange.def.allDay;
var dayIndex;
@@ -224,18 +238,19 @@ Docs & License: https://fullcalendar.io/
'<div class="fc-list-empty-wrap2">' + // TODO: try less wraps
'<div class="fc-list-empty-wrap1">' +
'<div class="fc-list-empty">' +
- core.htmlEscape(this.opt('noEventsMessage')) +
+ core.htmlEscape(this.context.options.noEventsMessage) +
'</div>' +
'</div>' +
'</div>';
};
// called by ListEventRenderer
ListView.prototype.renderSegList = function (allSegs) {
+ var theme = this.context.theme;
var segsByDay = this.groupSegsByDay(allSegs); // sparse array
var dayIndex;
var daySegs;
var i;
- var tableEl = core.htmlToElement('<table class="fc-list-table ' + this.calendar.theme.getClass('tableList') + '"><tbody></tbody></table>');
+ var tableEl = core.htmlToElement('<table class="fc-list-table ' + theme.getClass('tableList') + '"><tbody></tbody></table>');
var tbodyEl = tableEl.querySelector('tbody');
for (dayIndex = 0; dayIndex < segsByDay.length; dayIndex++) {
daySegs = segsByDay[dayIndex];
@@ -265,20 +280,20 @@ Docs & License: https://fullcalendar.io/
};
// generates the HTML for the day headers that live amongst the event rows
ListView.prototype.buildDayHeaderRow = function (dayDate) {
- var dateEnv = this.dateEnv;
- var mainFormat = core.createFormatter(this.opt('listDayFormat')); // TODO: cache
- var altFormat = core.createFormatter(this.opt('listDayAltFormat')); // TODO: cache
+ var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;
+ var mainFormat = core.createFormatter(options.listDayFormat); // TODO: cache
+ var altFormat = core.createFormatter(options.listDayAltFormat); // TODO: cache
return core.createElement('tr', {
className: 'fc-list-heading',
'data-date': dateEnv.formatIso(dayDate, { omitTime: true })
- }, '<td class="' + (this.calendar.theme.getClass('tableListHeading') ||
- this.calendar.theme.getClass('widgetHeader')) + '" colspan="3">' +
+ }, '<td class="' + (theme.getClass('tableListHeading') ||
+ theme.getClass('widgetHeader')) + '" colspan="3">' +
(mainFormat ?
- core.buildGotoAnchorHtml(this, dayDate, { 'class': 'fc-list-heading-main' }, core.htmlEscape(dateEnv.format(dayDate, mainFormat)) // inner HTML
+ core.buildGotoAnchorHtml(options, dateEnv, dayDate, { 'class': 'fc-list-heading-main' }, core.htmlEscape(dateEnv.format(dayDate, mainFormat)) // inner HTML
) :
'') +
(altFormat ?
- core.buildGotoAnchorHtml(this, dayDate, { 'class': 'fc-list-heading-alt' }, core.htmlEscape(dateEnv.format(dayDate, altFormat)) // inner HTML
+ core.buildGotoAnchorHtml(options, dateEnv, dayDate, { 'class': 'fc-list-heading-alt' }, core.htmlEscape(dateEnv.format(dayDate, altFormat)) // inner HTML
) :
'') +
'</td>');
diff --git a/library/fullcalendar/packages/list/main.min.css b/library/fullcalendar/packages/list/main.min.css
index 6a9c9101d..18446f442 100644
--- a/library/fullcalendar/packages/list/main.min.css
+++ b/library/fullcalendar/packages/list/main.min.css
@@ -1,5 +1 @@
-/*!
-FullCalendar List View Plugin v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt,.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee} \ No newline at end of file
+.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt,.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee} \ No newline at end of file
diff --git a/library/fullcalendar/packages/list/main.min.js b/library/fullcalendar/packages/list/main.min.js
index 3310229fa..a765dd139 100644
--- a/library/fullcalendar/packages/list/main.min.js
+++ b/library/fullcalendar/packages/list/main.min.js
@@ -1,20 +1,6 @@
/*!
-FullCalendar List View Plugin v4.0.2
+FullCalendar List View Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):(e=e||self,t(e.FullCalendarList={},e.FullCalendar))}(this,function(e,t){"use strict";function n(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function r(e){for(var n=t.startOfDay(e.renderRange.start),r=e.renderRange.end,s=[],a=[];n<r;)s.push(n),a.push({start:n,end:t.addDays(n,1)}),n=t.addDays(n,1);return{dayDates:s,dayRanges:a}}/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},a=function(e){function r(t){var n=e.call(this,t.context)||this;return n.listView=t,n}return n(r,e),r.prototype.attachSegs=function(e){e.length?this.listView.renderSegList(e):this.listView.renderEmptyMessage()},r.prototype.detachSegs=function(){},r.prototype.renderSegHtml=function(e){var n,r=this.context,s=r.view,a=r.theme,i=e.eventRange,o=i.def,l=i.instance,d=i.ui,c=o.url,p=["fc-list-item"].concat(d.classNames),h=d.backgroundColor;return n=o.allDay?t.getAllDayHtml(s):t.isMultiDayRange(i.range)?e.isStart?t.htmlEscape(this._getTimeText(l.range.start,e.end,!1)):e.isEnd?t.htmlEscape(this._getTimeText(e.start,l.range.end,!1)):t.getAllDayHtml(s):t.htmlEscape(this.getTimeText(i)),c&&p.push("fc-has-url"),'<tr class="'+p.join(" ")+'">'+(this.displayEventTime?'<td class="fc-list-item-time '+a.getClass("widgetContent")+'">'+(n||"")+"</td>":"")+'<td class="fc-list-item-marker '+a.getClass("widgetContent")+'"><span class="fc-event-dot"'+(h?' style="background-color:'+h+'"':"")+'></span></td><td class="fc-list-item-title '+a.getClass("widgetContent")+'"><a'+(c?' href="'+t.htmlEscape(c)+'"':"")+">"+t.htmlEscape(o.title||"")+"</a></td></tr>"},r.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",meridiem:"short"}},r}(t.FgEventRenderer),i=function(e){function s(n,s,i,o){var l=e.call(this,n,s,i,o)||this;l.computeDateVars=t.memoize(r),l.eventStoreToSegs=t.memoize(l._eventStoreToSegs);var d=l.eventRenderer=new a(l);l.renderContent=t.memoizeRendering(d.renderSegs.bind(d),d.unrender.bind(d)),l.el.classList.add("fc-list-view");for(var c=(l.theme.getClass("listView")||"").split(" "),p=0,h=c;p<h.length;p++){var u=h[p];u&&l.el.classList.add(u)}return l.scroller=new t.ScrollComponent("hidden","auto"),l.el.appendChild(l.scroller.el),l.contentEl=l.scroller.el,n.calendar.registerInteractiveComponent(l,{el:l.el}),l}return n(s,e),s.prototype.render=function(e){var t=this.computeDateVars(e.dateProfile),n=t.dayDates,r=t.dayRanges;this.dayDates=n,this.renderContent(this.eventStoreToSegs(e.eventStore,e.eventUiBases,r))},s.prototype.destroy=function(){e.prototype.destroy.call(this),this.scroller.destroy(),this.calendar.unregisterInteractiveComponent(this)},s.prototype.updateSize=function(t,n,r){e.prototype.updateSize.call(this,t,n,r),this.eventRenderer.computeSizes(t),this.eventRenderer.assignSizes(t),this.scroller.clear(),r||this.scroller.setHeight(this.computeScrollerHeight(n))},s.prototype.computeScrollerHeight=function(e){return e-t.subtractInnerElHeight(this.el,this.scroller.el)},s.prototype._eventStoreToSegs=function(e,n,r){return this.eventRangesToSegs(t.sliceEventStore(e,n,this.props.dateProfile.activeRange,this.nextDayThreshold).fg,r)},s.prototype.eventRangesToSegs=function(e,t){for(var n=[],r=0,s=e;r<s.length;r++){var a=s[r];n.push.apply(n,this.eventRangeToSegs(a,t))}return n},s.prototype.eventRangeToSegs=function(e,n){var r,s,a,i=this,o=i.dateEnv,l=i.nextDayThreshold,d=e.range,c=e.def.allDay,p=[];for(r=0;r<n.length;r++)if((s=t.intersectRanges(d,n[r]))&&(a={component:this,eventRange:e,start:s.start,end:s.end,isStart:e.isStart&&s.start.valueOf()===d.start.valueOf(),isEnd:e.isEnd&&s.end.valueOf()===d.end.valueOf(),dayIndex:r},p.push(a),!a.isEnd&&!c&&r+1<n.length&&d.end<o.add(n[r+1].start,l))){a.end=d.end,a.isEnd=!0;break}return p},s.prototype.renderEmptyMessage=function(){this.contentEl.innerHTML='<div class="fc-list-empty-wrap2"><div class="fc-list-empty-wrap1"><div class="fc-list-empty">'+t.htmlEscape(this.opt("noEventsMessage"))+"</div></div></div>"},s.prototype.renderSegList=function(e){var n,r,s,a=this.groupSegsByDay(e),i=t.htmlToElement('<table class="fc-list-table '+this.calendar.theme.getClass("tableList")+'"><tbody></tbody></table>'),o=i.querySelector("tbody");for(n=0;n<a.length;n++)if(r=a[n])for(o.appendChild(this.buildDayHeaderRow(this.dayDates[n])),r=this.eventRenderer.sortEventSegs(r),s=0;s<r.length;s++)o.appendChild(r[s].el);this.contentEl.innerHTML="",this.contentEl.appendChild(i)},s.prototype.groupSegsByDay=function(e){var t,n,r=[];for(t=0;t<e.length;t++)n=e[t],(r[n.dayIndex]||(r[n.dayIndex]=[])).push(n);return r},s.prototype.buildDayHeaderRow=function(e){var n=this.dateEnv,r=t.createFormatter(this.opt("listDayFormat")),s=t.createFormatter(this.opt("listDayAltFormat"));return t.createElement("tr",{className:"fc-list-heading","data-date":n.formatIso(e,{omitTime:!0})},'<td class="'+(this.calendar.theme.getClass("tableListHeading")||this.calendar.theme.getClass("widgetHeader"))+'" colspan="3">'+(r?t.buildGotoAnchorHtml(this,e,{class:"fc-list-heading-main"},t.htmlEscape(n.format(e,r))):"")+(s?t.buildGotoAnchorHtml(this,e,{class:"fc-list-heading-alt"},t.htmlEscape(n.format(e,s))):"")+"</td>")},s}(t.View);i.prototype.fgSegSelector=".fc-list-item";var o=t.createPlugin({views:{list:{class:i,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDayAltFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDayAltFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDayAltFormat:{weekday:"long"}}}});e.ListView=i,e.default=o,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):t((e=e||self).FullCalendarList={},e.FullCalendar)}(this,(function(e,t){"use strict";var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function r(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var s=function(e){function n(t){var n=e.call(this)||this;return n.listView=t,n}return r(n,e),n.prototype.attachSegs=function(e){e.length?this.listView.renderSegList(e):this.listView.renderEmptyMessage()},n.prototype.detachSegs=function(){},n.prototype.renderSegHtml=function(e){var n,r=this.context,s=r.theme,o=r.options,i=e.eventRange,a=i.def,l=i.instance,d=i.ui,c=a.url,p=["fc-list-item"].concat(d.classNames),h=d.backgroundColor;return n=a.allDay?t.getAllDayHtml(o):t.isMultiDayRange(i.range)?e.isStart?t.htmlEscape(this._getTimeText(l.range.start,e.end,!1)):e.isEnd?t.htmlEscape(this._getTimeText(e.start,l.range.end,!1)):t.getAllDayHtml(o):t.htmlEscape(this.getTimeText(i)),c&&p.push("fc-has-url"),'<tr class="'+p.join(" ")+'">'+(this.displayEventTime?'<td class="fc-list-item-time '+s.getClass("widgetContent")+'">'+(n||"")+"</td>":"")+'<td class="fc-list-item-marker '+s.getClass("widgetContent")+'"><span class="fc-event-dot"'+(h?' style="background-color:'+h+'"':"")+'></span></td><td class="fc-list-item-title '+s.getClass("widgetContent")+'"><a'+(c?' href="'+t.htmlEscape(c)+'"':"")+">"+t.htmlEscape(a.title||"")+"</a></td></tr>"},n.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",meridiem:"short"}},n}(t.FgEventRenderer),o=function(e){function n(n,r){var o=e.call(this,n,r)||this;o.computeDateVars=t.memoize(i),o.eventStoreToSegs=t.memoize(o._eventStoreToSegs),o.renderSkeleton=t.memoizeRendering(o._renderSkeleton,o._unrenderSkeleton);var a=o.eventRenderer=new s(o);return o.renderContent=t.memoizeRendering(a.renderSegs.bind(a),a.unrender.bind(a),[o.renderSkeleton]),o}return r(n,e),n.prototype.firstContext=function(e){e.calendar.registerInteractiveComponent(this,{el:this.el})},n.prototype.render=function(t,n){e.prototype.render.call(this,t,n);var r=this.computeDateVars(t.dateProfile),s=r.dayDates,o=r.dayRanges;this.dayDates=s,this.renderSkeleton(n),this.renderContent(n,this.eventStoreToSegs(t.eventStore,t.eventUiBases,o))},n.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderSkeleton.unrender(),this.renderContent.unrender(),this.context.calendar.unregisterInteractiveComponent(this)},n.prototype._renderSkeleton=function(e){var n=e.theme;this.el.classList.add("fc-list-view");for(var r=0,s=(n.getClass("listView")||"").split(" ");r<s.length;r++){var o=s[r];o&&this.el.classList.add(o)}this.scroller=new t.ScrollComponent("hidden","auto"),this.el.appendChild(this.scroller.el),this.contentEl=this.scroller.el},n.prototype._unrenderSkeleton=function(){this.scroller.destroy()},n.prototype.updateSize=function(t,n,r){e.prototype.updateSize.call(this,t,n,r),this.eventRenderer.computeSizes(t),this.eventRenderer.assignSizes(t),this.scroller.clear(),r||this.scroller.setHeight(this.computeScrollerHeight(n))},n.prototype.computeScrollerHeight=function(e){return e-t.subtractInnerElHeight(this.el,this.scroller.el)},n.prototype._eventStoreToSegs=function(e,n,r){return this.eventRangesToSegs(t.sliceEventStore(e,n,this.props.dateProfile.activeRange,this.context.nextDayThreshold).fg,r)},n.prototype.eventRangesToSegs=function(e,t){for(var n=[],r=0,s=e;r<s.length;r++){var o=s[r];n.push.apply(n,this.eventRangeToSegs(o,t))}return n},n.prototype.eventRangeToSegs=function(e,n){var r,s,o,i=this.context,a=i.dateEnv,l=i.nextDayThreshold,d=e.range,c=e.def.allDay,p=[];for(r=0;r<n.length;r++)if((s=t.intersectRanges(d,n[r]))&&(o={component:this,eventRange:e,start:s.start,end:s.end,isStart:e.isStart&&s.start.valueOf()===d.start.valueOf(),isEnd:e.isEnd&&s.end.valueOf()===d.end.valueOf(),dayIndex:r},p.push(o),!o.isEnd&&!c&&r+1<n.length&&d.end<a.add(n[r+1].start,l))){o.end=d.end,o.isEnd=!0;break}return p},n.prototype.renderEmptyMessage=function(){this.contentEl.innerHTML='<div class="fc-list-empty-wrap2"><div class="fc-list-empty-wrap1"><div class="fc-list-empty">'+t.htmlEscape(this.context.options.noEventsMessage)+"</div></div></div>"},n.prototype.renderSegList=function(e){var n,r,s,o=this.context.theme,i=this.groupSegsByDay(e),a=t.htmlToElement('<table class="fc-list-table '+o.getClass("tableList")+'"><tbody></tbody></table>'),l=a.querySelector("tbody");for(n=0;n<i.length;n++)if(r=i[n])for(l.appendChild(this.buildDayHeaderRow(this.dayDates[n])),r=this.eventRenderer.sortEventSegs(r),s=0;s<r.length;s++)l.appendChild(r[s].el);this.contentEl.innerHTML="",this.contentEl.appendChild(a)},n.prototype.groupSegsByDay=function(e){var t,n,r=[];for(t=0;t<e.length;t++)(r[(n=e[t]).dayIndex]||(r[n.dayIndex]=[])).push(n);return r},n.prototype.buildDayHeaderRow=function(e){var n=this.context,r=n.theme,s=n.dateEnv,o=n.options,i=t.createFormatter(o.listDayFormat),a=t.createFormatter(o.listDayAltFormat);return t.createElement("tr",{className:"fc-list-heading","data-date":s.formatIso(e,{omitTime:!0})},'<td class="'+(r.getClass("tableListHeading")||r.getClass("widgetHeader"))+'" colspan="3">'+(i?t.buildGotoAnchorHtml(o,s,e,{class:"fc-list-heading-main"},t.htmlEscape(s.format(e,i))):"")+(a?t.buildGotoAnchorHtml(o,s,e,{class:"fc-list-heading-alt"},t.htmlEscape(s.format(e,a))):"")+"</td>")},n}(t.View);function i(e){for(var n=t.startOfDay(e.renderRange.start),r=e.renderRange.end,s=[],o=[];n<r;)s.push(n),o.push({start:n,end:t.addDays(n,1)}),n=t.addDays(n,1);return{dayDates:s,dayRanges:o}}o.prototype.fgSegSelector=".fc-list-item";var a=t.createPlugin({views:{list:{class:o,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDayAltFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDayAltFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDayAltFormat:{weekday:"long"}}}});e.ListView=o,e.default=a,Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/list/package.json b/library/fullcalendar/packages/list/package.json
new file mode 100644
index 000000000..90b0dcde1
--- /dev/null
+++ b/library/fullcalendar/packages/list/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@fullcalendar/list",
+ "version": "4.4.2",
+ "title": "FullCalendar List View Plugin",
+ "description": "View your events as a bulleted list",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/list-view",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/luxon/LICENSE.txt b/library/fullcalendar/packages/luxon/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/luxon/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/luxon/README.md b/library/fullcalendar/packages/luxon/README.md
new file mode 100644
index 000000000..4c42b505e
--- /dev/null
+++ b/library/fullcalendar/packages/luxon/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Luxon Plugin
+
+A connector to the Luxon date library
+
+[View the docs &raquo;](https://fullcalendar.io/docs/luxon-plugin)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/luxon/main.d.ts b/library/fullcalendar/packages/luxon/main.d.ts
new file mode 100644
index 000000000..54f016ddd
--- /dev/null
+++ b/library/fullcalendar/packages/luxon/main.d.ts
@@ -0,0 +1,14 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../luxon
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/luxon' {
+ import { DateTime as LuxonDateTime, Duration as LuxonDuration } from 'luxon';
+ import { Calendar, Duration } from '@fullcalendar/core';
+ export function toDateTime(date: Date, calendar: Calendar): LuxonDateTime;
+ export function toDuration(duration: Duration, calendar: Calendar): LuxonDuration;
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
diff --git a/library/fullcalendar/packages/luxon/main.esm.js b/library/fullcalendar/packages/luxon/main.esm.js
new file mode 100644
index 000000000..43eea0f96
--- /dev/null
+++ b/library/fullcalendar/packages/luxon/main.esm.js
@@ -0,0 +1,162 @@
+/*!
+FullCalendar Luxon Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import { DateTime, Duration } from 'luxon';
+import { createPlugin, Calendar, NamedTimeZoneImpl } from '@fullcalendar/core';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var __assign = function() {
+ __assign = Object.assign || function __assign(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+
+function toDateTime(date, calendar) {
+ if (!(calendar instanceof Calendar)) {
+ throw new Error('must supply a Calendar instance');
+ }
+ return DateTime.fromJSDate(date, {
+ zone: calendar.dateEnv.timeZone,
+ locale: calendar.dateEnv.locale.codes[0]
+ });
+}
+function toDuration(duration, calendar) {
+ if (!(calendar instanceof Calendar)) {
+ throw new Error('must supply a Calendar instance');
+ }
+ return Duration.fromObject(__assign({}, duration, { locale: calendar.dateEnv.locale.codes[0] }));
+}
+var LuxonNamedTimeZone = /** @class */ (function (_super) {
+ __extends(LuxonNamedTimeZone, _super);
+ function LuxonNamedTimeZone() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ LuxonNamedTimeZone.prototype.offsetForArray = function (a) {
+ return arrayToLuxon(a, this.timeZoneName).offset;
+ };
+ LuxonNamedTimeZone.prototype.timestampToArray = function (ms) {
+ return luxonToArray(DateTime.fromMillis(ms, {
+ zone: this.timeZoneName
+ }));
+ };
+ return LuxonNamedTimeZone;
+}(NamedTimeZoneImpl));
+function formatWithCmdStr(cmdStr, arg) {
+ var cmd = parseCmdStr(cmdStr);
+ if (arg.end) {
+ var start = arrayToLuxon(arg.start.array, arg.timeZone, arg.localeCodes[0]);
+ var end = arrayToLuxon(arg.end.array, arg.timeZone, arg.localeCodes[0]);
+ return formatRange(cmd, start.toFormat.bind(start), end.toFormat.bind(end), arg.separator);
+ }
+ return arrayToLuxon(arg.date.array, arg.timeZone, arg.localeCodes[0]).toFormat(cmd.whole);
+}
+var main = createPlugin({
+ cmdFormatter: formatWithCmdStr,
+ namedTimeZonedImpl: LuxonNamedTimeZone
+});
+function luxonToArray(datetime) {
+ return [
+ datetime.year,
+ datetime.month - 1,
+ datetime.day,
+ datetime.hour,
+ datetime.minute,
+ datetime.second,
+ datetime.millisecond
+ ];
+}
+function arrayToLuxon(arr, timeZone, locale) {
+ return DateTime.fromObject({
+ zone: timeZone,
+ locale: locale,
+ year: arr[0],
+ month: arr[1] + 1,
+ day: arr[2],
+ hour: arr[3],
+ minute: arr[4],
+ second: arr[5],
+ millisecond: arr[6]
+ });
+}
+function parseCmdStr(cmdStr) {
+ var parts = cmdStr.match(/^(.*?)\{(.*)\}(.*)$/); // TODO: lookbehinds for escape characters
+ if (parts) {
+ var middle = parseCmdStr(parts[2]);
+ return {
+ head: parts[1],
+ middle: middle,
+ tail: parts[3],
+ whole: parts[1] + middle.whole + parts[3]
+ };
+ }
+ else {
+ return {
+ head: null,
+ middle: null,
+ tail: null,
+ whole: cmdStr
+ };
+ }
+}
+function formatRange(cmd, formatStart, formatEnd, separator) {
+ if (cmd.middle) {
+ var startHead = formatStart(cmd.head);
+ var startMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);
+ var startTail = formatStart(cmd.tail);
+ var endHead = formatEnd(cmd.head);
+ var endMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);
+ var endTail = formatEnd(cmd.tail);
+ if (startHead === endHead && startTail === endTail) {
+ return startHead +
+ (startMiddle === endMiddle ? startMiddle : startMiddle + separator + endMiddle) +
+ startTail;
+ }
+ }
+ var startWhole = formatStart(cmd.whole);
+ var endWhole = formatEnd(cmd.whole);
+ if (startWhole === endWhole) {
+ return startWhole;
+ }
+ else {
+ return startWhole + separator + endWhole;
+ }
+}
+
+export default main;
+export { toDateTime, toDuration };
diff --git a/library/fullcalendar/packages/luxon/main.js b/library/fullcalendar/packages/luxon/main.js
index ff5fc19a1..ade582b2b 100644
--- a/library/fullcalendar/packages/luxon/main.js
+++ b/library/fullcalendar/packages/luxon/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar Luxon Plugin v4.0.2
+FullCalendar Luxon Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('luxon'), require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', 'luxon', '@fullcalendar/core'], factory) :
@@ -10,18 +11,18 @@ Docs & License: https://fullcalendar.io/
}(this, function (exports, luxon, core) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
@@ -150,7 +151,14 @@ Docs & License: https://fullcalendar.io/
startTail;
}
}
- return formatStart(cmd.whole) + separator + formatEnd(cmd.whole);
+ var startWhole = formatStart(cmd.whole);
+ var endWhole = formatEnd(cmd.whole);
+ if (startWhole === endWhole) {
+ return startWhole;
+ }
+ else {
+ return startWhole + separator + endWhole;
+ }
}
exports.default = main;
diff --git a/library/fullcalendar/packages/luxon/main.min.js b/library/fullcalendar/packages/luxon/main.min.js
index 6267f8bbe..111695f30 100644
--- a/library/fullcalendar/packages/luxon/main.min.js
+++ b/library/fullcalendar/packages/luxon/main.min.js
@@ -1,20 +1,6 @@
/*!
-FullCalendar Luxon Plugin v4.0.2
+FullCalendar Luxon Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("luxon"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","luxon","@fullcalendar/core"],t):(e=e||self,t(e.FullCalendarLuxon={},e.luxon,e.FullCalendar))}(this,function(e,t,n){"use strict";function o(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function r(e,o){if(!(o instanceof n.Calendar))throw new Error("must supply a Calendar instance");return t.DateTime.fromJSDate(e,{zone:o.dateEnv.timeZone,locale:o.dateEnv.locale.codes[0]})}function a(e,o){if(!(o instanceof n.Calendar))throw new Error("must supply a Calendar instance");return t.Duration.fromObject(m({},e,{locale:o.dateEnv.locale.codes[0]}))}function i(e,t){var n=c(e);if(t.end){var o=u(t.start.array,t.timeZone,t.localeCodes[0]),r=u(t.end.array,t.timeZone,t.localeCodes[0]);return d(n,o.toFormat.bind(o),r.toFormat.bind(r),t.separator)}return u(t.date.array,t.timeZone,t.localeCodes[0]).toFormat(n.whole)}function l(e){return[e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond]}function u(e,n,o){return t.DateTime.fromObject({zone:n,locale:o,year:e[0],month:e[1]+1,day:e[2],hour:e[3],minute:e[4],second:e[5],millisecond:e[6]})}function c(e){var t=e.match(/^(.*?)\{(.*)\}(.*)$/);if(t){var n=c(t[2]);return{head:t[1],middle:n,tail:t[3],whole:t[1]+n.whole+t[3]}}return{head:null,middle:null,tail:null,whole:e}}function d(e,t,n,o){if(e.middle){var r=t(e.head),a=d(e.middle,t,n,o),i=t(e.tail),l=n(e.head),u=d(e.middle,t,n,o),c=n(e.tail);if(r===l&&i===c)return r+(a===u?a:a+o+u)+i}return t(e.whole)+o+n(e.whole)}/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},m=function(){return m=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++){t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},m.apply(this,arguments)},s=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return o(n,e),n.prototype.offsetForArray=function(e){return u(e,this.timeZoneName).offset},n.prototype.timestampToArray=function(e){return l(t.DateTime.fromMillis(e,{zone:this.timeZoneName}))},n}(n.NamedTimeZoneImpl),p=n.createPlugin({cmdFormatter:i,namedTimeZonedImpl:s});e.default=p,e.toDateTime=r,e.toDuration=a,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("luxon"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","luxon","@fullcalendar/core"],t):t((e=e||self).FullCalendarLuxon={},e.luxon,e.FullCalendar)}(this,(function(e,t,n){"use strict";var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var r=function(){return(r=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};var a=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(n,e),n.prototype.offsetForArray=function(e){return l(e,this.timeZoneName).offset},n.prototype.timestampToArray=function(e){return[(n=t.DateTime.fromMillis(e,{zone:this.timeZoneName})).year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond];var n},n}(n.NamedTimeZoneImpl);var i=n.createPlugin({cmdFormatter:function(e,t){var n=function e(t){var n=t.match(/^(.*?)\{(.*)\}(.*)$/);if(n){var o=e(n[2]);return{head:n[1],middle:o,tail:n[3],whole:n[1]+o.whole+n[3]}}return{head:null,middle:null,tail:null,whole:t}}(e);if(t.end){var o=l(t.start.array,t.timeZone,t.localeCodes[0]),r=l(t.end.array,t.timeZone,t.localeCodes[0]);return function e(t,n,o,r){if(t.middle){var a=n(t.head),i=e(t.middle,n,o,r),l=n(t.tail),u=o(t.head),c=e(t.middle,n,o,r),d=o(t.tail);if(a===u&&l===d)return a+(i===c?i:i+r+c)+l}var f=n(t.whole),m=o(t.whole);return f===m?f:f+r+m}(n,o.toFormat.bind(o),r.toFormat.bind(r),t.separator)}return l(t.date.array,t.timeZone,t.localeCodes[0]).toFormat(n.whole)},namedTimeZonedImpl:a});function l(e,n,o){return t.DateTime.fromObject({zone:n,locale:o,year:e[0],month:e[1]+1,day:e[2],hour:e[3],minute:e[4],second:e[5],millisecond:e[6]})}e.default=i,e.toDateTime=function(e,o){if(!(o instanceof n.Calendar))throw new Error("must supply a Calendar instance");return t.DateTime.fromJSDate(e,{zone:o.dateEnv.timeZone,locale:o.dateEnv.locale.codes[0]})},e.toDuration=function(e,o){if(!(o instanceof n.Calendar))throw new Error("must supply a Calendar instance");return t.Duration.fromObject(r({},e,{locale:o.dateEnv.locale.codes[0]}))},Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/luxon/package.json b/library/fullcalendar/packages/luxon/package.json
new file mode 100644
index 000000000..a7e2bbfcb
--- /dev/null
+++ b/library/fullcalendar/packages/luxon/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "@fullcalendar/luxon",
+ "version": "4.4.2",
+ "title": "FullCalendar Luxon Plugin",
+ "description": "A connector to the Luxon date library",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/luxon-plugin",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0",
+ "luxon": "^1.12.1"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/moment-timezone/LICENSE.txt b/library/fullcalendar/packages/moment-timezone/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/moment-timezone/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/moment-timezone/README.md b/library/fullcalendar/packages/moment-timezone/README.md
new file mode 100644
index 000000000..e84412a2a
--- /dev/null
+++ b/library/fullcalendar/packages/moment-timezone/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Moment Timezone Plugin
+
+A connector to the moment-timezone library
+
+[View the docs &raquo;](https://fullcalendar.io/docs/moment-plugins#moment-timezone)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/moment-timezone/main.d.ts b/library/fullcalendar/packages/moment-timezone/main.d.ts
new file mode 100644
index 000000000..eb0a165b1
--- /dev/null
+++ b/library/fullcalendar/packages/moment-timezone/main.d.ts
@@ -0,0 +1,11 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../moment-timezone/builds/moment-timezone-with-data
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/moment-timezone' {
+ import 'moment-timezone/builds/moment-timezone-with-data';
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
diff --git a/library/fullcalendar/packages/moment-timezone/main.esm.js b/library/fullcalendar/packages/moment-timezone/main.esm.js
new file mode 100644
index 000000000..df11b1f46
--- /dev/null
+++ b/library/fullcalendar/packages/moment-timezone/main.esm.js
@@ -0,0 +1,58 @@
+/*!
+FullCalendar Moment Timezone Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import * as momentNs from 'moment';
+import 'moment-timezone/builds/moment-timezone-with-data';
+import { createPlugin, NamedTimeZoneImpl } from '@fullcalendar/core';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var moment = momentNs; // the directly callable function
+var MomentNamedTimeZone = /** @class */ (function (_super) {
+ __extends(MomentNamedTimeZone, _super);
+ function MomentNamedTimeZone() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ MomentNamedTimeZone.prototype.offsetForArray = function (a) {
+ return moment.tz(a, this.timeZoneName).utcOffset();
+ };
+ MomentNamedTimeZone.prototype.timestampToArray = function (ms) {
+ return moment.tz(ms, this.timeZoneName).toArray();
+ };
+ return MomentNamedTimeZone;
+}(NamedTimeZoneImpl));
+var main = createPlugin({
+ namedTimeZonedImpl: MomentNamedTimeZone
+});
+
+export default main;
diff --git a/library/fullcalendar/packages/moment-timezone/main.js b/library/fullcalendar/packages/moment-timezone/main.js
index 9a390b905..4d9e2df13 100644
--- a/library/fullcalendar/packages/moment-timezone/main.js
+++ b/library/fullcalendar/packages/moment-timezone/main.js
@@ -1,29 +1,28 @@
/*!
-FullCalendar Moment Timezone Plugin v4.0.2
+FullCalendar Moment Timezone Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('moment'), require('moment-timezone/builds/moment-timezone-with-data'), require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', 'moment', 'moment-timezone/builds/moment-timezone-with-data', '@fullcalendar/core'], factory) :
(global = global || self, factory(global.FullCalendarMomentTimezone = {}, global.moment, global.moment, global.FullCalendar));
-}(this, function (exports, moment, momentTimezoneWithData, core) { 'use strict';
-
- moment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;
+}(this, function (exports, momentNs, momentTimezoneWithData, core) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
@@ -40,6 +39,7 @@ Docs & License: https://fullcalendar.io/
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
+ var moment = momentNs; // the directly callable function
var MomentNamedTimeZone = /** @class */ (function (_super) {
__extends(MomentNamedTimeZone, _super);
function MomentNamedTimeZone() {
diff --git a/library/fullcalendar/packages/moment-timezone/main.min.js b/library/fullcalendar/packages/moment-timezone/main.min.js
index c2e5ee936..11f30fdec 100644
--- a/library/fullcalendar/packages/moment-timezone/main.min.js
+++ b/library/fullcalendar/packages/moment-timezone/main.min.js
@@ -1,20 +1,6 @@
/*!
-FullCalendar Moment Timezone Plugin v4.0.2
+FullCalendar Moment Timezone Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("moment"),require("moment-timezone/builds/moment-timezone-with-data"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","moment","moment-timezone/builds/moment-timezone-with-data","@fullcalendar/core"],t):(e=e||self,t(e.FullCalendarMomentTimezone={},e.moment,e.moment,e.FullCalendar))}(this,function(e,t,n,o){"use strict";function r(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}t=t&&t.hasOwnProperty("default")?t.default:t;/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},u=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return r(n,e),n.prototype.offsetForArray=function(e){return t.tz(e,this.timeZoneName).utcOffset()},n.prototype.timestampToArray=function(e){return t.tz(e,this.timeZoneName).toArray()},n}(o.NamedTimeZoneImpl),m=o.createPlugin({namedTimeZonedImpl:u});e.default=m,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("moment"),require("moment-timezone/builds/moment-timezone-with-data"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","moment","moment-timezone/builds/moment-timezone-with-data","@fullcalendar/core"],t):t((e=e||self).FullCalendarMomentTimezone={},e.moment,e.moment,e.FullCalendar)}(this,(function(e,t,n,o){"use strict";var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var i=t,u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.offsetForArray=function(e){return i.tz(e,this.timeZoneName).utcOffset()},t.prototype.timestampToArray=function(e){return i.tz(e,this.timeZoneName).toArray()},t}(o.NamedTimeZoneImpl),m=o.createPlugin({namedTimeZonedImpl:u});e.default=m,Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/moment-timezone/package.json b/library/fullcalendar/packages/moment-timezone/package.json
new file mode 100644
index 000000000..8bc56ec09
--- /dev/null
+++ b/library/fullcalendar/packages/moment-timezone/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "@fullcalendar/moment-timezone",
+ "version": "4.4.2",
+ "title": "FullCalendar Moment Timezone Plugin",
+ "description": "A connector to the moment-timezone library",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/moment-plugins#moment-timezone",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0",
+ "moment": "^2.24.0",
+ "moment-timezone": "^0.5.25"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/moment/LICENSE.txt b/library/fullcalendar/packages/moment/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/moment/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/moment/README.md b/library/fullcalendar/packages/moment/README.md
new file mode 100644
index 000000000..854e4367f
--- /dev/null
+++ b/library/fullcalendar/packages/moment/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Moment Plugin
+
+A connector to the MomentJS date library
+
+[View the docs &raquo;](https://fullcalendar.io/docs/moment-plugins)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/moment/main.d.ts b/library/fullcalendar/packages/moment/main.d.ts
new file mode 100644
index 000000000..cc81dab62
--- /dev/null
+++ b/library/fullcalendar/packages/moment/main.d.ts
@@ -0,0 +1,14 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../moment
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/moment' {
+ import * as momentNs from 'moment';
+ import { Calendar, Duration } from '@fullcalendar/core';
+ export function toMoment(date: Date, calendar: Calendar): momentNs.Moment;
+ export function toDuration(fcDuration: Duration): momentNs.Duration;
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
diff --git a/library/fullcalendar/packages/moment/main.esm.js b/library/fullcalendar/packages/moment/main.esm.js
new file mode 100644
index 000000000..fb97563f3
--- /dev/null
+++ b/library/fullcalendar/packages/moment/main.esm.js
@@ -0,0 +1,102 @@
+/*!
+FullCalendar Moment Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import * as momentNs from 'moment';
+import { createPlugin, Calendar } from '@fullcalendar/core';
+
+var moment = momentNs; // the directly callable function
+function toMoment(date, calendar) {
+ if (!(calendar instanceof Calendar)) {
+ throw new Error('must supply a Calendar instance');
+ }
+ return convertToMoment(date, calendar.dateEnv.timeZone, null, calendar.dateEnv.locale.codes[0]);
+}
+function toDuration(fcDuration) {
+ return moment.duration(fcDuration); // moment accepts all the props that fc.Duration already has!
+}
+function formatWithCmdStr(cmdStr, arg) {
+ var cmd = parseCmdStr(cmdStr);
+ if (arg.end) {
+ var startMom = convertToMoment(arg.start.array, arg.timeZone, arg.start.timeZoneOffset, arg.localeCodes[0]);
+ var endMom = convertToMoment(arg.end.array, arg.timeZone, arg.end.timeZoneOffset, arg.localeCodes[0]);
+ return formatRange(cmd, createMomentFormatFunc(startMom), createMomentFormatFunc(endMom), arg.separator);
+ }
+ return convertToMoment(arg.date.array, arg.timeZone, arg.date.timeZoneOffset, arg.localeCodes[0]).format(cmd.whole); // TODO: test for this
+}
+var main = createPlugin({
+ cmdFormatter: formatWithCmdStr
+});
+function createMomentFormatFunc(mom) {
+ return function (cmdStr) {
+ return cmdStr ? mom.format(cmdStr) : ''; // because calling with blank string results in ISO8601 :(
+ };
+}
+function convertToMoment(input, timeZone, timeZoneOffset, locale) {
+ var mom;
+ if (timeZone === 'local') {
+ mom = moment(input);
+ }
+ else if (timeZone === 'UTC') {
+ mom = moment.utc(input);
+ }
+ else if (moment.tz) {
+ mom = moment.tz(input, timeZone);
+ }
+ else {
+ mom = moment.utc(input);
+ if (timeZoneOffset != null) {
+ mom.utcOffset(timeZoneOffset);
+ }
+ }
+ mom.locale(locale);
+ return mom;
+}
+function parseCmdStr(cmdStr) {
+ var parts = cmdStr.match(/^(.*?)\{(.*)\}(.*)$/); // TODO: lookbehinds for escape characters
+ if (parts) {
+ var middle = parseCmdStr(parts[2]);
+ return {
+ head: parts[1],
+ middle: middle,
+ tail: parts[3],
+ whole: parts[1] + middle.whole + parts[3]
+ };
+ }
+ else {
+ return {
+ head: null,
+ middle: null,
+ tail: null,
+ whole: cmdStr
+ };
+ }
+}
+function formatRange(cmd, formatStart, formatEnd, separator) {
+ if (cmd.middle) {
+ var startHead = formatStart(cmd.head);
+ var startMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);
+ var startTail = formatStart(cmd.tail);
+ var endHead = formatEnd(cmd.head);
+ var endMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);
+ var endTail = formatEnd(cmd.tail);
+ if (startHead === endHead && startTail === endTail) {
+ return startHead +
+ (startMiddle === endMiddle ? startMiddle : startMiddle + separator + endMiddle) +
+ startTail;
+ }
+ }
+ var startWhole = formatStart(cmd.whole);
+ var endWhole = formatEnd(cmd.whole);
+ if (startWhole === endWhole) {
+ return startWhole;
+ }
+ else {
+ return startWhole + separator + endWhole;
+ }
+}
+
+export default main;
+export { toDuration, toMoment };
diff --git a/library/fullcalendar/packages/moment/main.js b/library/fullcalendar/packages/moment/main.js
index ca94518a4..794bee900 100644
--- a/library/fullcalendar/packages/moment/main.js
+++ b/library/fullcalendar/packages/moment/main.js
@@ -1,16 +1,16 @@
/*!
-FullCalendar Moment Plugin v4.0.2
+FullCalendar Moment Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('moment'), require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', 'moment', '@fullcalendar/core'], factory) :
(global = global || self, factory(global.FullCalendarMoment = {}, global.moment, global.FullCalendar));
-}(this, function (exports, moment, core) { 'use strict';
-
- moment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;
+}(this, function (exports, momentNs, core) { 'use strict';
+ var moment = momentNs; // the directly callable function
function toMoment(date, calendar) {
if (!(calendar instanceof core.Calendar)) {
throw new Error('must supply a Calendar instance');
@@ -18,7 +18,7 @@ Docs & License: https://fullcalendar.io/
return convertToMoment(date, calendar.dateEnv.timeZone, null, calendar.dateEnv.locale.codes[0]);
}
function toDuration(fcDuration) {
- return moment.duration(fcDuration); // momment accepts all the props that fc.Duration already has!
+ return moment.duration(fcDuration); // moment accepts all the props that fc.Duration already has!
}
function formatWithCmdStr(cmdStr, arg) {
var cmd = parseCmdStr(cmdStr);
@@ -91,7 +91,14 @@ Docs & License: https://fullcalendar.io/
startTail;
}
}
- return formatStart(cmd.whole) + separator + formatEnd(cmd.whole);
+ var startWhole = formatStart(cmd.whole);
+ var endWhole = formatEnd(cmd.whole);
+ if (startWhole === endWhole) {
+ return startWhole;
+ }
+ else {
+ return startWhole + separator + endWhole;
+ }
}
exports.default = main;
diff --git a/library/fullcalendar/packages/moment/main.min.js b/library/fullcalendar/packages/moment/main.min.js
index 9b5b6d84e..39552c279 100644
--- a/library/fullcalendar/packages/moment/main.min.js
+++ b/library/fullcalendar/packages/moment/main.min.js
@@ -1,6 +1,6 @@
/*!
-FullCalendar Moment Plugin v4.0.2
+FullCalendar Moment Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("moment"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","moment","@fullcalendar/core"],t):(e=e||self,t(e.FullCalendarMoment={},e.moment,e.FullCalendar))}(this,function(e,t,n){"use strict";function r(e,t){if(!(t instanceof n.Calendar))throw new Error("must supply a Calendar instance");return u(e,t.dateEnv.timeZone,null,t.dateEnv.locale.codes[0])}function a(e){return t.duration(e)}function o(e,t){var n=i(e);if(t.end){var r=u(t.start.array,t.timeZone,t.start.timeZoneOffset,t.localeCodes[0]),a=u(t.end.array,t.timeZone,t.end.timeZoneOffset,t.localeCodes[0]);return d(n,l(r),l(a),t.separator)}return u(t.date.array,t.timeZone,t.date.timeZoneOffset,t.localeCodes[0]).format(n.whole)}function l(e){return function(t){return t?e.format(t):""}}function u(e,n,r,a){var o;return"local"===n?o=t(e):"UTC"===n?o=t.utc(e):t.tz?o=t.tz(e,n):(o=t.utc(e),null!=r&&o.utcOffset(r)),o.locale(a),o}function i(e){var t=e.match(/^(.*?)\{(.*)\}(.*)$/);if(t){var n=i(t[2]);return{head:t[1],middle:n,tail:t[3],whole:t[1]+n.whole+t[3]}}return{head:null,middle:null,tail:null,whole:e}}function d(e,t,n,r){if(e.middle){var a=t(e.head),o=d(e.middle,t,n,r),l=t(e.tail),u=n(e.head),i=d(e.middle,t,n,r),f=n(e.tail);if(a===u&&l===f)return a+(o===i?o:o+r+i)+l}return t(e.whole)+r+n(e.whole)}t=t&&t.hasOwnProperty("default")?t.default:t;var f=n.createPlugin({cmdFormatter:o});e.default=f,e.toDuration=a,e.toMoment=r,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("moment"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","moment","@fullcalendar/core"],t):t((e=e||self).FullCalendarMoment={},e.moment,e.FullCalendar)}(this,(function(e,t,n){"use strict";var r=t;var a=n.createPlugin({cmdFormatter:function(e,t){var n=function e(t){var n=t.match(/^(.*?)\{(.*)\}(.*)$/);if(n){var r=e(n[2]);return{head:n[1],middle:r,tail:n[3],whole:n[1]+r.whole+n[3]}}return{head:null,middle:null,tail:null,whole:t}}(e);if(t.end){var r=l(t.start.array,t.timeZone,t.start.timeZoneOffset,t.localeCodes[0]),a=l(t.end.array,t.timeZone,t.end.timeZoneOffset,t.localeCodes[0]);return function e(t,n,r,a){if(t.middle){var o=n(t.head),l=e(t.middle,n,r,a),u=n(t.tail),i=r(t.head),d=e(t.middle,n,r,a),f=r(t.tail);if(o===i&&u===f)return o+(l===d?l:l+a+d)+u}var c=n(t.whole),m=r(t.whole);return c===m?c:c+a+m}(n,o(r),o(a),t.separator)}return l(t.date.array,t.timeZone,t.date.timeZoneOffset,t.localeCodes[0]).format(n.whole)}});function o(e){return function(t){return t?e.format(t):""}}function l(e,t,n,a){var o;return"local"===t?o=r(e):"UTC"===t?o=r.utc(e):r.tz?o=r.tz(e,t):(o=r.utc(e),null!=n&&o.utcOffset(n)),o.locale(a),o}e.default=a,e.toDuration=function(e){return r.duration(e)},e.toMoment=function(e,t){if(!(t instanceof n.Calendar))throw new Error("must supply a Calendar instance");return l(e,t.dateEnv.timeZone,null,t.dateEnv.locale.codes[0])},Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/moment/package.json b/library/fullcalendar/packages/moment/package.json
new file mode 100644
index 000000000..d7571f312
--- /dev/null
+++ b/library/fullcalendar/packages/moment/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "@fullcalendar/moment",
+ "version": "4.4.2",
+ "title": "FullCalendar Moment Plugin",
+ "description": "A connector to the MomentJS date library",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/moment-plugins",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0",
+ "moment": "^2.24.0"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/rrule/LICENSE.txt b/library/fullcalendar/packages/rrule/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/rrule/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/rrule/README.md b/library/fullcalendar/packages/rrule/README.md
new file mode 100644
index 000000000..7b56bed78
--- /dev/null
+++ b/library/fullcalendar/packages/rrule/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar RRule Plugin
+
+A connector to the RRule library, for recurring events
+
+[View the docs &raquo;](https://fullcalendar.io/docs/rrule-plugin)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/rrule/main.d.ts b/library/fullcalendar/packages/rrule/main.d.ts
new file mode 100644
index 000000000..8ce74e975
--- /dev/null
+++ b/library/fullcalendar/packages/rrule/main.d.ts
@@ -0,0 +1,9 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../@fullcalendar/core
+
+declare module '@fullcalendar/rrule' {
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
diff --git a/library/fullcalendar/packages/rrule/main.esm.js b/library/fullcalendar/packages/rrule/main.esm.js
new file mode 100644
index 000000000..e4b92e95c
--- /dev/null
+++ b/library/fullcalendar/packages/rrule/main.esm.js
@@ -0,0 +1,121 @@
+/*!
+FullCalendar RRule Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import { rrulestr, RRule } from 'rrule';
+import { createPlugin, refineProps, createDuration } from '@fullcalendar/core';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+
+var __assign = function() {
+ __assign = Object.assign || function __assign(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+
+var EVENT_DEF_PROPS = {
+ rrule: null,
+ duration: createDuration
+};
+var recurring = {
+ parse: function (rawEvent, leftoverProps, dateEnv) {
+ if (rawEvent.rrule != null) {
+ var props = refineProps(rawEvent, EVENT_DEF_PROPS, {}, leftoverProps);
+ var parsed = parseRRule(props.rrule, dateEnv);
+ if (parsed) {
+ return {
+ typeData: parsed.rrule,
+ allDayGuess: parsed.allDayGuess,
+ duration: props.duration
+ };
+ }
+ }
+ return null;
+ },
+ expand: function (rrule, framingRange) {
+ // we WANT an inclusive start and in exclusive end, but the js rrule lib will only do either BOTH
+ // inclusive or BOTH exclusive, which is stupid: https://github.com/jakubroztocil/rrule/issues/84
+ // Workaround: make inclusive, which will generate extra occurences, and then trim.
+ return rrule.between(framingRange.start, framingRange.end, true)
+ .filter(function (date) {
+ return date.valueOf() < framingRange.end.valueOf();
+ });
+ }
+};
+var main = createPlugin({
+ recurringTypes: [recurring]
+});
+function parseRRule(input, dateEnv) {
+ var allDayGuess = null;
+ var rrule;
+ if (typeof input === 'string') {
+ rrule = rrulestr(input);
+ }
+ else if (typeof input === 'object' && input) { // non-null object
+ var refined = __assign({}, input); // copy
+ if (typeof refined.dtstart === 'string') {
+ var dtstartMeta = dateEnv.createMarkerMeta(refined.dtstart);
+ if (dtstartMeta) {
+ refined.dtstart = dtstartMeta.marker;
+ allDayGuess = dtstartMeta.isTimeUnspecified;
+ }
+ else {
+ delete refined.dtstart;
+ }
+ }
+ if (typeof refined.until === 'string') {
+ refined.until = dateEnv.createMarker(refined.until);
+ }
+ if (refined.freq != null) {
+ refined.freq = convertConstant(refined.freq);
+ }
+ if (refined.wkst != null) {
+ refined.wkst = convertConstant(refined.wkst);
+ }
+ else {
+ refined.wkst = (dateEnv.weekDow - 1 + 7) % 7; // convert Sunday-first to Monday-first
+ }
+ if (refined.byweekday != null) {
+ refined.byweekday = convertConstants(refined.byweekday); // the plural version
+ }
+ rrule = new RRule(refined);
+ }
+ if (rrule) {
+ return { rrule: rrule, allDayGuess: allDayGuess };
+ }
+ return null;
+}
+function convertConstants(input) {
+ if (Array.isArray(input)) {
+ return input.map(convertConstant);
+ }
+ return convertConstant(input);
+}
+function convertConstant(input) {
+ if (typeof input === 'string') {
+ return RRule[input.toUpperCase()];
+ }
+ return input;
+}
+
+export default main;
diff --git a/library/fullcalendar/packages/rrule/main.js b/library/fullcalendar/packages/rrule/main.js
index 43ad6ed2f..29e6130ac 100644
--- a/library/fullcalendar/packages/rrule/main.js
+++ b/library/fullcalendar/packages/rrule/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar RRule Plugin v4.0.2
+FullCalendar RRule Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rrule'), require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', 'rrule', '@fullcalendar/core'], factory) :
@@ -10,18 +11,18 @@ Docs & License: https://fullcalendar.io/
}(this, function (exports, rrule, core) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var __assign = function() {
diff --git a/library/fullcalendar/packages/rrule/main.min.js b/library/fullcalendar/packages/rrule/main.min.js
index 057788f3c..68addc2bd 100644
--- a/library/fullcalendar/packages/rrule/main.min.js
+++ b/library/fullcalendar/packages/rrule/main.min.js
@@ -1,20 +1,6 @@
/*!
-FullCalendar RRule Plugin v4.0.2
+FullCalendar RRule Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("rrule"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","rrule","@fullcalendar/core"],r):(e=e||self,r(e.FullCalendarRrule={},e.rrule,e.FullCalendar))}(this,function(e,r,t){"use strict";function n(e,t){var n,i=null;if("string"==typeof e)n=r.rrulestr(e);else if("object"==typeof e&&e){var f=a({},e);if("string"==typeof f.dtstart){var o=t.createMarkerMeta(f.dtstart);o?(f.dtstart=o.marker,i=o.isTimeUnspecified):delete f.dtstart}"string"==typeof f.until&&(f.until=t.createMarker(f.until)),null!=f.freq&&(f.freq=l(f.freq)),null!=f.wkst?f.wkst=l(f.wkst):f.wkst=(t.weekDow-1+7)%7,null!=f.byweekday&&(f.byweekday=u(f.byweekday)),n=new r.RRule(f)}return n?{rrule:n,allDayGuess:i}:null}function u(e){return Array.isArray(e)?e.map(l):l(e)}function l(e){return"string"==typeof e?r.RRule[e.toUpperCase()]:e}/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var a=function(){return a=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++){r=arguments[t];for(var u in r)Object.prototype.hasOwnProperty.call(r,u)&&(e[u]=r[u])}return e},a.apply(this,arguments)},i={rrule:null,duration:t.createDuration},f={parse:function(e,r,u){if(null!=e.rrule){var l=t.refineProps(e,i,{},r),a=n(l.rrule,u);if(a)return{typeData:a.rrule,allDayGuess:a.allDayGuess,duration:l.duration}}return null},expand:function(e,r){return e.between(r.start,r.end,!0).filter(function(e){return e.valueOf()<r.end.valueOf()})}},o=t.createPlugin({recurringTypes:[f]});e.default=o,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("rrule"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","rrule","@fullcalendar/core"],r):r((e=e||self).FullCalendarRrule={},e.rrule,e.FullCalendar)}(this,(function(e,r,t){"use strict";var n=function(){return(n=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var u in r=arguments[t])Object.prototype.hasOwnProperty.call(r,u)&&(e[u]=r[u]);return e}).apply(this,arguments)},u={rrule:null,duration:t.createDuration},l={parse:function(e,l,a){if(null!=e.rrule){var f=t.refineProps(e,u,{},l),o=function(e,t){var u,l=null;if("string"==typeof e)u=r.rrulestr(e);else if("object"==typeof e&&e){var a=n({},e);if("string"==typeof a.dtstart){var f=t.createMarkerMeta(a.dtstart);f?(a.dtstart=f.marker,l=f.isTimeUnspecified):delete a.dtstart}"string"==typeof a.until&&(a.until=t.createMarker(a.until)),null!=a.freq&&(a.freq=i(a.freq)),null!=a.wkst?a.wkst=i(a.wkst):a.wkst=(t.weekDow-1+7)%7,null!=a.byweekday&&(a.byweekday=function(e){if(Array.isArray(e))return e.map(i);return i(e)}(a.byweekday)),u=new r.RRule(a)}if(u)return{rrule:u,allDayGuess:l};return null}(f.rrule,a);if(o)return{typeData:o.rrule,allDayGuess:o.allDayGuess,duration:f.duration}}return null},expand:function(e,r){return e.between(r.start,r.end,!0).filter((function(e){return e.valueOf()<r.end.valueOf()}))}},a=t.createPlugin({recurringTypes:[l]});function i(e){return"string"==typeof e?r.RRule[e.toUpperCase()]:e}e.default=a,Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/rrule/package.json b/library/fullcalendar/packages/rrule/package.json
new file mode 100644
index 000000000..4cd35d029
--- /dev/null
+++ b/library/fullcalendar/packages/rrule/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "@fullcalendar/rrule",
+ "version": "4.4.2",
+ "title": "FullCalendar RRule Plugin",
+ "description": "A connector to the RRule library, for recurring events",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/rrule-plugin",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0",
+ "rrule": "^2.6.0"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/packages/timegrid/LICENSE.txt b/library/fullcalendar/packages/timegrid/LICENSE.txt
new file mode 100644
index 000000000..2149cfbef
--- /dev/null
+++ b/library/fullcalendar/packages/timegrid/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2019 Adam Shaw
+
+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/library/fullcalendar/packages/timegrid/README.md b/library/fullcalendar/packages/timegrid/README.md
new file mode 100644
index 000000000..ac13676c8
--- /dev/null
+++ b/library/fullcalendar/packages/timegrid/README.md
@@ -0,0 +1,8 @@
+
+# FullCalendar Time Grid Plugin
+
+Display your events on a grid of time slots
+
+[View the docs &raquo;](https://fullcalendar.io/docs/timegrid-view)
+
+This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
diff --git a/library/fullcalendar/packages/timegrid/main.css b/library/fullcalendar/packages/timegrid/main.css
index 9dd11b68f..b8ee6448a 100644
--- a/library/fullcalendar/packages/timegrid/main.css
+++ b/library/fullcalendar/packages/timegrid/main.css
@@ -1,22 +1,21 @@
-/*!
-FullCalendar Time Grid Plugin v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/
+@charset "UTF-8";
/* TimeGridView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-timeGrid-view .fc-day-grid {
position: relative;
z-index: 2;
- /* so the "more.." popover will be over the time grid */ }
+ /* so the "more.." popover will be over the time grid */
+}
.fc-timeGrid-view .fc-day-grid .fc-row {
min-height: 3em;
- /* all-day section will never get shorter than this */ }
+ /* all-day section will never get shorter than this */
+}
.fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton {
padding-bottom: 1em;
- /* give space underneath events for clicking/selecting days */ }
+ /* give space underneath events for clicking/selecting days */
+}
/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
@@ -24,13 +23,16 @@ Docs & License: https://fullcalendar.io/
/* .fc to overcome default cell styles */
vertical-align: middle;
padding: 0 4px;
- white-space: nowrap; }
+ white-space: nowrap;
+}
.fc-ltr .fc-axis {
- text-align: right; }
+ text-align: right;
+}
.fc-rtl .fc-axis {
- text-align: left; }
+ text-align: left;
+}
/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
@@ -38,104 +40,125 @@ Docs & License: https://fullcalendar.io/
.fc-time-grid {
/* so slats/bg/content/etc positions get scoped within here */
position: relative;
- z-index: 1; }
+ z-index: 1;
+}
.fc-time-grid {
min-height: 100%;
- /* so if height setting is 'auto', .fc-bg stretches to fill height */ }
+ /* so if height setting is 'auto', .fc-bg stretches to fill height */
+}
.fc-time-grid table {
/* don't put outer borders on slats/bg/content/etc */
- border: 0 hidden transparent; }
+ border: 0 hidden transparent;
+}
.fc-time-grid > .fc-bg {
- z-index: 1; }
+ z-index: 1;
+}
.fc-time-grid .fc-slats,
.fc-time-grid > hr {
/* the <hr> TimeGridView injects when grid is shorter than scroller */
position: relative;
- z-index: 2; }
+ z-index: 2;
+}
.fc-time-grid .fc-content-col {
position: relative;
- /* because now-indicator lives directly inside */ }
+ /* because now-indicator lives directly inside */
+}
.fc-time-grid .fc-content-skeleton {
position: absolute;
z-index: 3;
top: 0;
left: 0;
- right: 0; }
+ right: 0;
+}
/* divs within a cell within the fc-content-skeleton */
.fc-time-grid .fc-business-container {
position: relative;
- z-index: 1; }
+ z-index: 1;
+}
.fc-time-grid .fc-bgevent-container {
position: relative;
- z-index: 2; }
+ z-index: 2;
+}
.fc-time-grid .fc-highlight-container {
position: relative;
- z-index: 3; }
+ z-index: 3;
+}
.fc-time-grid .fc-event-container {
position: relative;
- z-index: 4; }
+ z-index: 4;
+}
.fc-time-grid .fc-now-indicator-line {
- z-index: 5; }
+ z-index: 5;
+}
.fc-time-grid .fc-mirror-container {
/* also is fc-event-container */
position: relative;
- z-index: 6; }
+ z-index: 6;
+}
/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats td {
height: 1.5em;
border-bottom: 0;
- /* each cell is responsible for its top border */ }
+ /* each cell is responsible for its top border */
+}
.fc-time-grid .fc-slats .fc-minor td {
- border-top-style: dotted; }
+ border-top-style: dotted;
+}
/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container {
/* a div within a cell within the fc-highlight-skeleton */
position: relative;
- /* scopes the left/right of the fc-highlight to be in the column */ }
+ /* scopes the left/right of the fc-highlight to be in the column */
+}
.fc-time-grid .fc-highlight {
position: absolute;
left: 0;
right: 0;
- /* top and bottom will be in by JS */ }
+ /* top and bottom will be in by JS */
+}
/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-ltr .fc-time-grid .fc-event-container {
/* space on the sides of events for LTR (default) */
- margin: 0 2.5% 0 2px; }
+ margin: 0 2.5% 0 2px;
+}
.fc-rtl .fc-time-grid .fc-event-container {
/* space on the sides of events for RTL */
- margin: 0 2px 0 2.5%; }
+ margin: 0 2px 0 2.5%;
+}
.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
position: absolute;
z-index: 1;
- /* scope inner z-index's */ }
+ /* scope inner z-index's */
+}
.fc-time-grid .fc-bgevent {
/* background events always span full width */
left: 0;
- right: 0; }
+ right: 0;
+}
/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
@@ -143,11 +166,13 @@ We use the full "fc-time-grid-event" class instead of using descendants because
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event {
- margin-bottom: 1px; }
+ margin-bottom: 1px;
+}
.fc-time-grid-event-inset {
-webkit-box-shadow: 0px 0px 0px 1px #fff;
- box-shadow: 0px 0px 0px 1px #fff; }
+ box-shadow: 0px 0px 0px 1px #fff;
+}
.fc-time-grid-event.fc-not-start {
/* events that are continuing from another day */
@@ -156,7 +181,8 @@ be a descendant of the grid when it is being dragged.
padding-top: 1px;
/* remove top rounded corners */
border-top-left-radius: 0;
- border-top-right-radius: 0; }
+ border-top-right-radius: 0;
+}
.fc-time-grid-event.fc-not-end {
/* replace space made by the top border with padding */
@@ -164,48 +190,58 @@ be a descendant of the grid when it is being dragged.
padding-bottom: 1px;
/* remove bottom rounded corners */
border-bottom-left-radius: 0;
- border-bottom-right-radius: 0; }
+ border-bottom-right-radius: 0;
+}
.fc-time-grid-event .fc-content {
overflow: hidden;
- max-height: 100%; }
+ max-height: 100%;
+}
.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
- padding: 0 1px; }
+ padding: 0 1px;
+}
.fc-time-grid-event .fc-time {
- font-size: .85em;
- white-space: nowrap; }
+ font-size: 0.85em;
+ white-space: nowrap;
+}
/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
/* don't wrap to second line (now that contents will be inline) */
- white-space: nowrap; }
+ white-space: nowrap;
+}
.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
/* put the time and title on the same line */
display: inline-block;
- vertical-align: top; }
+ vertical-align: top;
+}
.fc-time-grid-event.fc-short .fc-time span {
display: none;
- /* don't display the full time text... */ }
+ /* don't display the full time text... */
+}
.fc-time-grid-event.fc-short .fc-time:before {
content: attr(data-start);
- /* ...instead, display only the start time */ }
+ /* ...instead, display only the start time */
+}
.fc-time-grid-event.fc-short .fc-time:after {
- content: "\000A0-\000A0";
- /* seperate with a dash, wrapped in nbsp's */ }
+ content: " - ";
+ /* seperate with a dash, wrapped in nbsp's */
+}
.fc-time-grid-event.fc-short .fc-title {
- font-size: .85em;
+ font-size: 0.85em;
/* make the title text the same size as the time */
padding: 0;
- /* undo padding from above */ }
+ /* undo padding from above */
+}
/* resizer (cursor device) */
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
@@ -218,10 +254,12 @@ be a descendant of the grid when it is being dragged.
font-size: 11px;
font-family: monospace;
text-align: center;
- cursor: s-resize; }
+ cursor: s-resize;
+}
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
- content: "="; }
+ content: "=";
+}
/* resizer (touch device) */
.fc-time-grid-event.fc-selected .fc-resizer {
@@ -237,30 +275,35 @@ be a descendant of the grid when it is being dragged.
left: 50%;
margin-left: -5px;
/* center on the bottom edge */
- bottom: -5px; }
+ bottom: -5px;
+}
/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-now-indicator-line {
border-top-width: 1px;
left: 0;
- right: 0; }
+ right: 0;
+}
/* arrow on axis */
.fc-time-grid .fc-now-indicator-arrow {
margin-top: -5px;
- /* vertically center on top coordinate */ }
+ /* vertically center on top coordinate */
+}
.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
left: 0;
/* triangle pointing right... */
border-width: 5px 0 5px 6px;
border-top-color: transparent;
- border-bottom-color: transparent; }
+ border-bottom-color: transparent;
+}
.fc-rtl .fc-time-grid .fc-now-indicator-arrow {
right: 0;
/* triangle pointing left... */
border-width: 5px 6px 5px 0;
border-top-color: transparent;
- border-bottom-color: transparent; }
+ border-bottom-color: transparent;
+}
diff --git a/library/fullcalendar/packages/timegrid/main.d.ts b/library/fullcalendar/packages/timegrid/main.d.ts
new file mode 100644
index 000000000..303b51672
--- /dev/null
+++ b/library/fullcalendar/packages/timegrid/main.d.ts
@@ -0,0 +1,224 @@
+// Generated by dts-bundle v0.7.3-fork.1
+// Dependencies for this module:
+// ../../../../../@fullcalendar/core
+// ../../../../../@fullcalendar/daygrid
+
+declare module '@fullcalendar/timegrid' {
+ import AbstractTimeGridView from '@fullcalendar/timegrid/AbstractTimeGridView';
+ import TimeGridView, { buildDayTable } from '@fullcalendar/timegrid/TimeGridView';
+ import { TimeGridSeg } from '@fullcalendar/timegrid/TimeGrid';
+ import { TimeGridSlicer, buildDayRanges } from '@fullcalendar/timegrid/SimpleTimeGrid';
+ export { TimeGridView, AbstractTimeGridView, buildDayTable, buildDayRanges, TimeGridSlicer, TimeGridSeg };
+ export { default as TimeGrid } from '@fullcalendar/timegrid/TimeGrid';
+ const _default: import("@fullcalendar/core").PluginDef;
+ export default _default;
+}
+
+declare module '@fullcalendar/timegrid/AbstractTimeGridView' {
+ import { ScrollComponent, View, ComponentContext, Duration, ViewProps } from '@fullcalendar/core';
+ import { DayGrid } from '@fullcalendar/daygrid';
+ import TimeGrid from '@fullcalendar/timegrid/TimeGrid';
+ import AllDaySplitter from '@fullcalendar/timegrid/AllDaySplitter';
+ export { AbstractTimeGridView as default, AbstractTimeGridView };
+ abstract class AbstractTimeGridView extends View {
+ timeGrid: TimeGrid;
+ dayGrid: DayGrid;
+ scroller: ScrollComponent;
+ axisWidth: any;
+ protected splitter: AllDaySplitter;
+ render(props: ViewProps, context: ComponentContext): void;
+ destroy(): void;
+ _renderSkeleton(context: ComponentContext): void;
+ _unrenderSkeleton(): void;
+ renderSkeletonHtml(): string;
+ getNowIndicatorUnit(): string;
+ unrenderNowIndicator(): void;
+ updateSize(isResize: boolean, viewHeight: number, isAuto: boolean): void;
+ updateBaseSize(isResize: any, viewHeight: any, isAuto: any): void;
+ computeScrollerHeight(viewHeight: any): number;
+ computeDateScroll(duration: Duration): {
+ top: any;
+ };
+ queryDateScroll(): {
+ top: number;
+ };
+ applyDateScroll(scroll: any): void;
+ renderHeadIntroHtml: () => string;
+ axisStyleAttr(): string;
+ renderTimeGridBgIntroHtml: () => string;
+ renderTimeGridIntroHtml: () => string;
+ renderDayGridBgIntroHtml: () => string;
+ renderDayGridIntroHtml: () => string;
+ }
+}
+
+declare module '@fullcalendar/timegrid/TimeGridView' {
+ import { DateProfileGenerator, DateProfile, ComponentContext, DayHeader, DayTable, ViewProps } from '@fullcalendar/core';
+ import { SimpleDayGrid } from '@fullcalendar/daygrid';
+ import SimpleTimeGrid from '@fullcalendar/timegrid/SimpleTimeGrid';
+ import AbstractTimeGridView from '@fullcalendar/timegrid/AbstractTimeGridView';
+ export { TimeGridView as default, TimeGridView };
+ class TimeGridView extends AbstractTimeGridView {
+ header: DayHeader;
+ simpleDayGrid: SimpleDayGrid;
+ simpleTimeGrid: SimpleTimeGrid;
+ render(props: ViewProps, context: ComponentContext): void;
+ _renderSkeleton(context: ComponentContext): void;
+ _unrenderSkeleton(): void;
+ renderNowIndicator(date: any): void;
+ }
+ export function buildDayTable(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator): DayTable;
+}
+
+declare module '@fullcalendar/timegrid/TimeGrid' {
+ import { PositionCache, Duration, DateMarker, DateFormatter, ComponentContext, DateComponent, Seg, EventSegUiInteractionState, DateProfile, Theme } from '@fullcalendar/core';
+ export interface RenderProps {
+ renderBgIntroHtml: () => string;
+ renderIntroHtml: () => string;
+ }
+ export interface TimeGridSeg extends Seg {
+ col: number;
+ start: DateMarker;
+ end: DateMarker;
+ }
+ export interface TimeGridCell {
+ date: DateMarker;
+ htmlAttrs?: string;
+ }
+ export interface TimeGridProps {
+ dateProfile: DateProfile;
+ cells: TimeGridCell[];
+ businessHourSegs: TimeGridSeg[];
+ bgEventSegs: TimeGridSeg[];
+ fgEventSegs: TimeGridSeg[];
+ dateSelectionSegs: TimeGridSeg[];
+ eventSelection: string;
+ eventDrag: EventSegUiInteractionState | null;
+ eventResize: EventSegUiInteractionState | null;
+ }
+ export { TimeGrid as default, TimeGrid };
+ class TimeGrid extends DateComponent<TimeGridProps> {
+ renderProps: RenderProps;
+ slotDuration: Duration;
+ snapDuration: Duration;
+ snapsPerSlot: any;
+ labelFormat: DateFormatter;
+ labelInterval: Duration;
+ colCnt: number;
+ colEls: HTMLElement[];
+ slatContainerEl: HTMLElement;
+ slatEls: HTMLElement[];
+ nowIndicatorEls: HTMLElement[];
+ colPositions: PositionCache;
+ slatPositions: PositionCache;
+ isSlatSizesDirty: boolean;
+ isColSizesDirty: boolean;
+ rootBgContainerEl: HTMLElement;
+ bottomRuleEl: HTMLElement;
+ contentSkeletonEl: HTMLElement;
+ colContainerEls: HTMLElement[];
+ fgContainerEls: HTMLElement[];
+ bgContainerEls: HTMLElement[];
+ mirrorContainerEls: HTMLElement[];
+ highlightContainerEls: HTMLElement[];
+ businessContainerEls: HTMLElement[];
+ constructor(el: HTMLElement, renderProps: RenderProps);
+ _processOptions(options: any): void;
+ computeLabelInterval(slotDuration: any): any;
+ render(props: TimeGridProps, context: ComponentContext): void;
+ destroy(): void;
+ updateSize(isResize: boolean): void;
+ _renderSkeleton(theme: Theme): void;
+ _renderSlats(dateProfile: DateProfile): void;
+ renderSlatRowHtml(dateProfile: DateProfile): string;
+ _renderColumns(cells: TimeGridCell[], dateProfile: DateProfile): void;
+ _unrenderColumns(): void;
+ renderContentSkeleton(): void;
+ unrenderContentSkeleton(): void;
+ groupSegsByCol(segs: any): any[];
+ attachSegsByCol(segsByCol: any, containerEls: HTMLElement[]): void;
+ getNowIndicatorUnit(): string;
+ renderNowIndicator(segs: TimeGridSeg[], date: any): void;
+ unrenderNowIndicator(): void;
+ getTotalSlatHeight(): number;
+ computeDateTop(when: DateMarker, startOfDayDate?: DateMarker): any;
+ computeTimeTop(duration: Duration): any;
+ computeSegVerticals(segs: any): void;
+ assignSegVerticals(segs: any): void;
+ generateSegVerticalCss(seg: any): {
+ top: any;
+ bottom: number;
+ };
+ buildPositionCaches(): void;
+ buildColPositions(): void;
+ buildSlatPositions(): void;
+ positionToHit(positionLeft: any, positionTop: any): {
+ col: any;
+ dateSpan: {
+ range: {
+ start: Date;
+ end: Date;
+ };
+ allDay: boolean;
+ };
+ dayEl: HTMLElement;
+ relativeRect: {
+ left: any;
+ right: any;
+ top: any;
+ bottom: any;
+ };
+ };
+ _renderEventDrag(state: EventSegUiInteractionState): void;
+ _unrenderEventDrag(state: EventSegUiInteractionState): void;
+ _renderEventResize(state: EventSegUiInteractionState): void;
+ _unrenderEventResize(state: EventSegUiInteractionState): void;
+ _renderDateSelection(segs: Seg[]): void;
+ _unrenderDateSelection(segs: Seg[]): void;
+ }
+}
+
+declare module '@fullcalendar/timegrid/SimpleTimeGrid' {
+ import { DateComponent, DateProfile, EventStore, EventUiHash, EventInteractionState, DateSpan, DateRange, DayTable, DateEnv, DateMarker, Slicer, Hit, ComponentContext } from '@fullcalendar/core';
+ import TimeGrid, { TimeGridSeg } from '@fullcalendar/timegrid/TimeGrid';
+ export interface SimpleTimeGridProps {
+ dateProfile: DateProfile | null;
+ dayTable: DayTable;
+ businessHours: EventStore;
+ eventStore: EventStore;
+ eventUiBases: EventUiHash;
+ dateSelection: DateSpan | null;
+ eventSelection: string;
+ eventDrag: EventInteractionState | null;
+ eventResize: EventInteractionState | null;
+ }
+ export { SimpleTimeGrid as default, SimpleTimeGrid };
+ class SimpleTimeGrid extends DateComponent<SimpleTimeGridProps> {
+ timeGrid: TimeGrid;
+ constructor(timeGrid: TimeGrid);
+ firstContext(context: ComponentContext): void;
+ destroy(): void;
+ render(props: SimpleTimeGridProps, context: ComponentContext): void;
+ renderNowIndicator(date: DateMarker): void;
+ buildPositionCaches(): void;
+ queryHit(positionLeft: number, positionTop: number): Hit;
+ }
+ export function buildDayRanges(dayTable: DayTable, dateProfile: DateProfile, dateEnv: DateEnv): DateRange[];
+ export class TimeGridSlicer extends Slicer<TimeGridSeg, [DateRange[]]> {
+ sliceRange(range: DateRange, dayRanges: DateRange[]): TimeGridSeg[];
+ }
+}
+
+declare module '@fullcalendar/timegrid/AllDaySplitter' {
+ import { Splitter, EventDef, DateSpan } from '@fullcalendar/core';
+ export { AllDaySplitter as default, AllDaySplitter };
+ class AllDaySplitter extends Splitter {
+ getKeyInfo(): {
+ allDay: {};
+ timed: {};
+ };
+ getKeysForDateSpan(dateSpan: DateSpan): string[];
+ getKeysForEventDef(eventDef: EventDef): string[];
+ }
+}
+
diff --git a/library/fullcalendar/packages/timegrid/main.esm.js b/library/fullcalendar/packages/timegrid/main.esm.js
new file mode 100644
index 000000000..7038488f4
--- /dev/null
+++ b/library/fullcalendar/packages/timegrid/main.esm.js
@@ -0,0 +1,1391 @@
+/*!
+FullCalendar Time Grid Plugin v4.4.2
+Docs & License: https://fullcalendar.io/
+(c) 2019 Adam Shaw
+*/
+
+import { createFormatter, removeElement, computeEventDraggable, computeEventStartResizable, computeEventEndResizable, cssToStr, isMultiDayRange, htmlEscape, compareByFieldSpecs, applyStyle, FgEventRenderer, buildSegCompareObj, FillRenderer, memoize, memoizeRendering, createDuration, wholeDivideDurations, findElements, PositionCache, startOfDay, asRoughMs, formatIsoTimeString, addDurations, htmlToElement, createElement, multiplyDuration, DateComponent, hasBgRendering, Splitter, diffDays, buildGotoAnchorHtml, getAllDayHtml, ScrollComponent, matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight, View, intersectRanges, Slicer, DayHeader, DaySeries, DayTable, createPlugin } from '@fullcalendar/core';
+import { DayBgRow, DayGrid, SimpleDayGrid } from '@fullcalendar/daygrid';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var __assign = function() {
+ __assign = Object.assign || function __assign(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+
+/*
+Only handles foreground segs.
+Does not own rendering. Use for low-level util methods by TimeGrid.
+*/
+var TimeGridEventRenderer = /** @class */ (function (_super) {
+ __extends(TimeGridEventRenderer, _super);
+ function TimeGridEventRenderer(timeGrid) {
+ var _this = _super.call(this) || this;
+ _this.timeGrid = timeGrid;
+ return _this;
+ }
+ TimeGridEventRenderer.prototype.renderSegs = function (context, segs, mirrorInfo) {
+ _super.prototype.renderSegs.call(this, context, segs, mirrorInfo);
+ // TODO: dont do every time. memoize
+ this.fullTimeFormat = createFormatter({
+ hour: 'numeric',
+ minute: '2-digit',
+ separator: this.context.options.defaultRangeSeparator
+ });
+ };
+ // Given an array of foreground segments, render a DOM element for each, computes position,
+ // and attaches to the column inner-container elements.
+ TimeGridEventRenderer.prototype.attachSegs = function (segs, mirrorInfo) {
+ var segsByCol = this.timeGrid.groupSegsByCol(segs);
+ // order the segs within each column
+ // TODO: have groupSegsByCol do this?
+ for (var col = 0; col < segsByCol.length; col++) {
+ segsByCol[col] = this.sortEventSegs(segsByCol[col]);
+ }
+ this.segsByCol = segsByCol;
+ this.timeGrid.attachSegsByCol(segsByCol, this.timeGrid.fgContainerEls);
+ };
+ TimeGridEventRenderer.prototype.detachSegs = function (segs) {
+ segs.forEach(function (seg) {
+ removeElement(seg.el);
+ });
+ this.segsByCol = null;
+ };
+ TimeGridEventRenderer.prototype.computeSegSizes = function (allSegs) {
+ var _a = this, timeGrid = _a.timeGrid, segsByCol = _a.segsByCol;
+ var colCnt = timeGrid.colCnt;
+ timeGrid.computeSegVerticals(allSegs); // horizontals relies on this
+ if (segsByCol) {
+ for (var col = 0; col < colCnt; col++) {
+ this.computeSegHorizontals(segsByCol[col]); // compute horizontal coordinates, z-index's, and reorder the array
+ }
+ }
+ };
+ TimeGridEventRenderer.prototype.assignSegSizes = function (allSegs) {
+ var _a = this, timeGrid = _a.timeGrid, segsByCol = _a.segsByCol;
+ var colCnt = timeGrid.colCnt;
+ timeGrid.assignSegVerticals(allSegs); // horizontals relies on this
+ if (segsByCol) {
+ for (var col = 0; col < colCnt; col++) {
+ this.assignSegCss(segsByCol[col]);
+ }
+ }
+ };
+ // Computes a default event time formatting string if `eventTimeFormat` is not explicitly defined
+ TimeGridEventRenderer.prototype.computeEventTimeFormat = function () {
+ return {
+ hour: 'numeric',
+ minute: '2-digit',
+ meridiem: false
+ };
+ };
+ // Computes a default `displayEventEnd` value if one is not expliclty defined
+ TimeGridEventRenderer.prototype.computeDisplayEventEnd = function () {
+ return true;
+ };
+ // Renders the HTML for a single event segment's default rendering
+ TimeGridEventRenderer.prototype.renderSegHtml = function (seg, mirrorInfo) {
+ var eventRange = seg.eventRange;
+ var eventDef = eventRange.def;
+ var eventUi = eventRange.ui;
+ var allDay = eventDef.allDay;
+ var isDraggable = computeEventDraggable(this.context, eventDef, eventUi);
+ var isResizableFromStart = seg.isStart && computeEventStartResizable(this.context, eventDef, eventUi);
+ var isResizableFromEnd = seg.isEnd && computeEventEndResizable(this.context, eventDef, eventUi);
+ var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd, mirrorInfo);
+ var skinCss = cssToStr(this.getSkinCss(eventUi));
+ var timeText;
+ var fullTimeText; // more verbose time text. for the print stylesheet
+ var startTimeText; // just the start time text
+ classes.unshift('fc-time-grid-event');
+ // if the event appears to span more than one day...
+ if (isMultiDayRange(eventRange.range)) {
+ // Don't display time text on segments that run entirely through a day.
+ // That would appear as midnight-midnight and would look dumb.
+ // Otherwise, display the time text for the *segment's* times (like 6pm-midnight or midnight-10am)
+ if (seg.isStart || seg.isEnd) {
+ var unzonedStart = seg.start;
+ var unzonedEnd = seg.end;
+ timeText = this._getTimeText(unzonedStart, unzonedEnd, allDay); // TODO: give the timezones
+ fullTimeText = this._getTimeText(unzonedStart, unzonedEnd, allDay, this.fullTimeFormat);
+ startTimeText = this._getTimeText(unzonedStart, unzonedEnd, allDay, null, false); // displayEnd=false
+ }
+ }
+ else {
+ // Display the normal time text for the *event's* times
+ timeText = this.getTimeText(eventRange);
+ fullTimeText = this.getTimeText(eventRange, this.fullTimeFormat);
+ startTimeText = this.getTimeText(eventRange, null, false); // displayEnd=false
+ }
+ return '<a class="' + classes.join(' ') + '"' +
+ (eventDef.url ?
+ ' href="' + htmlEscape(eventDef.url) + '"' :
+ '') +
+ (skinCss ?
+ ' style="' + skinCss + '"' :
+ '') +
+ '>' +
+ '<div class="fc-content">' +
+ (timeText ?
+ '<div class="fc-time"' +
+ ' data-start="' + htmlEscape(startTimeText) + '"' +
+ ' data-full="' + htmlEscape(fullTimeText) + '"' +
+ '>' +
+ '<span>' + htmlEscape(timeText) + '</span>' +
+ '</div>' :
+ '') +
+ (eventDef.title ?
+ '<div class="fc-title">' +
+ htmlEscape(eventDef.title) +
+ '</div>' :
+ '') +
+ '</div>' +
+ /* TODO: write CSS for this
+ (isResizableFromStart ?
+ '<div class="fc-resizer fc-start-resizer"></div>' :
+ ''
+ ) +
+ */
+ (isResizableFromEnd ?
+ '<div class="fc-resizer fc-end-resizer"></div>' :
+ '') +
+ '</a>';
+ };
+ // Given an array of segments that are all in the same column, sets the backwardCoord and forwardCoord on each.
+ // Assumed the segs are already ordered.
+ // NOTE: Also reorders the given array by date!
+ TimeGridEventRenderer.prototype.computeSegHorizontals = function (segs) {
+ var levels;
+ var level0;
+ var i;
+ levels = buildSlotSegLevels(segs);
+ computeForwardSlotSegs(levels);
+ if ((level0 = levels[0])) {
+ for (i = 0; i < level0.length; i++) {
+ computeSlotSegPressures(level0[i]);
+ }
+ for (i = 0; i < level0.length; i++) {
+ this.computeSegForwardBack(level0[i], 0, 0);
+ }
+ }
+ };
+ // Calculate seg.forwardCoord and seg.backwardCoord for the segment, where both values range
+ // from 0 to 1. If the calendar is left-to-right, the seg.backwardCoord maps to "left" and
+ // seg.forwardCoord maps to "right" (via percentage). Vice-versa if the calendar is right-to-left.
+ //
+ // The segment might be part of a "series", which means consecutive segments with the same pressure
+ // who's width is unknown until an edge has been hit. `seriesBackwardPressure` is the number of
+ // segments behind this one in the current series, and `seriesBackwardCoord` is the starting
+ // coordinate of the first segment in the series.
+ TimeGridEventRenderer.prototype.computeSegForwardBack = function (seg, seriesBackwardPressure, seriesBackwardCoord) {
+ var forwardSegs = seg.forwardSegs;
+ var i;
+ if (seg.forwardCoord === undefined) { // not already computed
+ if (!forwardSegs.length) {
+ // if there are no forward segments, this segment should butt up against the edge
+ seg.forwardCoord = 1;
+ }
+ else {
+ // sort highest pressure first
+ this.sortForwardSegs(forwardSegs);
+ // this segment's forwardCoord will be calculated from the backwardCoord of the
+ // highest-pressure forward segment.
+ this.computeSegForwardBack(forwardSegs[0], seriesBackwardPressure + 1, seriesBackwardCoord);
+ seg.forwardCoord = forwardSegs[0].backwardCoord;
+ }
+ // calculate the backwardCoord from the forwardCoord. consider the series
+ seg.backwardCoord = seg.forwardCoord -
+ (seg.forwardCoord - seriesBackwardCoord) / // available width for series
+ (seriesBackwardPressure + 1); // # of segments in the series
+ // use this segment's coordinates to computed the coordinates of the less-pressurized
+ // forward segments
+ for (i = 0; i < forwardSegs.length; i++) {
+ this.computeSegForwardBack(forwardSegs[i], 0, seg.forwardCoord);
+ }
+ }
+ };
+ TimeGridEventRenderer.prototype.sortForwardSegs = function (forwardSegs) {
+ var objs = forwardSegs.map(buildTimeGridSegCompareObj);
+ var specs = [
+ // put higher-pressure first
+ { field: 'forwardPressure', order: -1 },
+ // put segments that are closer to initial edge first (and favor ones with no coords yet)
+ { field: 'backwardCoord', order: 1 }
+ ].concat(this.context.eventOrderSpecs);
+ objs.sort(function (obj0, obj1) {
+ return compareByFieldSpecs(obj0, obj1, specs);
+ });
+ return objs.map(function (c) {
+ return c._seg;
+ });
+ };
+ // Given foreground event segments that have already had their position coordinates computed,
+ // assigns position-related CSS values to their elements.
+ TimeGridEventRenderer.prototype.assignSegCss = function (segs) {
+ for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {
+ var seg = segs_1[_i];
+ applyStyle(seg.el, this.generateSegCss(seg));
+ if (seg.level > 0) {
+ seg.el.classList.add('fc-time-grid-event-inset');
+ }
+ // if the event is short that the title will be cut off,
+ // attach a className that condenses the title into the time area.
+ if (seg.eventRange.def.title && seg.bottom - seg.top < 30) {
+ seg.el.classList.add('fc-short'); // TODO: "condensed" is a better name
+ }
+ }
+ };
+ // Generates an object with CSS properties/values that should be applied to an event segment element.
+ // Contains important positioning-related properties that should be applied to any event element, customized or not.
+ TimeGridEventRenderer.prototype.generateSegCss = function (seg) {
+ var shouldOverlap = this.context.options.slotEventOverlap;
+ var backwardCoord = seg.backwardCoord; // the left side if LTR. the right side if RTL. floating-point
+ var forwardCoord = seg.forwardCoord; // the right side if LTR. the left side if RTL. floating-point
+ var props = this.timeGrid.generateSegVerticalCss(seg); // get top/bottom first
+ var isRtl = this.context.isRtl;
+ var left; // amount of space from left edge, a fraction of the total width
+ var right; // amount of space from right edge, a fraction of the total width
+ if (shouldOverlap) {
+ // double the width, but don't go beyond the maximum forward coordinate (1.0)
+ forwardCoord = Math.min(1, backwardCoord + (forwardCoord - backwardCoord) * 2);
+ }
+ if (isRtl) {
+ left = 1 - forwardCoord;
+ right = backwardCoord;
+ }
+ else {
+ left = backwardCoord;
+ right = 1 - forwardCoord;
+ }
+ props.zIndex = seg.level + 1; // convert from 0-base to 1-based
+ props.left = left * 100 + '%';
+ props.right = right * 100 + '%';
+ if (shouldOverlap && seg.forwardPressure) {
+ // add padding to the edge so that forward stacked events don't cover the resizer's icon
+ props[isRtl ? 'marginLeft' : 'marginRight'] = 10 * 2; // 10 is a guesstimate of the icon's width
+ }
+ return props;
+ };
+ return TimeGridEventRenderer;
+}(FgEventRenderer));
+// Builds an array of segments "levels". The first level will be the leftmost tier of segments if the calendar is
+// left-to-right, or the rightmost if the calendar is right-to-left. Assumes the segments are already ordered by date.
+function buildSlotSegLevels(segs) {
+ var levels = [];
+ var i;
+ var seg;
+ var j;
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ // go through all the levels and stop on the first level where there are no collisions
+ for (j = 0; j < levels.length; j++) {
+ if (!computeSlotSegCollisions(seg, levels[j]).length) {
+ break;
+ }
+ }
+ seg.level = j;
+ (levels[j] || (levels[j] = [])).push(seg);
+ }
+ return levels;
+}
+// For every segment, figure out the other segments that are in subsequent
+// levels that also occupy the same vertical space. Accumulate in seg.forwardSegs
+function computeForwardSlotSegs(levels) {
+ var i;
+ var level;
+ var j;
+ var seg;
+ var k;
+ for (i = 0; i < levels.length; i++) {
+ level = levels[i];
+ for (j = 0; j < level.length; j++) {
+ seg = level[j];
+ seg.forwardSegs = [];
+ for (k = i + 1; k < levels.length; k++) {
+ computeSlotSegCollisions(seg, levels[k], seg.forwardSegs);
+ }
+ }
+ }
+}
+// Figure out which path forward (via seg.forwardSegs) results in the longest path until
+// the furthest edge is reached. The number of segments in this path will be seg.forwardPressure
+function computeSlotSegPressures(seg) {
+ var forwardSegs = seg.forwardSegs;
+ var forwardPressure = 0;
+ var i;
+ var forwardSeg;
+ if (seg.forwardPressure === undefined) { // not already computed
+ for (i = 0; i < forwardSegs.length; i++) {
+ forwardSeg = forwardSegs[i];
+ // figure out the child's maximum forward path
+ computeSlotSegPressures(forwardSeg);
+ // either use the existing maximum, or use the child's forward pressure
+ // plus one (for the forwardSeg itself)
+ forwardPressure = Math.max(forwardPressure, 1 + forwardSeg.forwardPressure);
+ }
+ seg.forwardPressure = forwardPressure;
+ }
+}
+// Find all the segments in `otherSegs` that vertically collide with `seg`.
+// Append into an optionally-supplied `results` array and return.
+function computeSlotSegCollisions(seg, otherSegs, results) {
+ if (results === void 0) { results = []; }
+ for (var i = 0; i < otherSegs.length; i++) {
+ if (isSlotSegCollision(seg, otherSegs[i])) {
+ results.push(otherSegs[i]);
+ }
+ }
+ return results;
+}
+// Do these segments occupy the same vertical space?
+function isSlotSegCollision(seg1, seg2) {
+ return seg1.bottom > seg2.top && seg1.top < seg2.bottom;
+}
+function buildTimeGridSegCompareObj(seg) {
+ var obj = buildSegCompareObj(seg);
+ obj.forwardPressure = seg.forwardPressure;
+ obj.backwardCoord = seg.backwardCoord;
+ return obj;
+}
+
+var TimeGridMirrorRenderer = /** @class */ (function (_super) {
+ __extends(TimeGridMirrorRenderer, _super);
+ function TimeGridMirrorRenderer() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ TimeGridMirrorRenderer.prototype.attachSegs = function (segs, mirrorInfo) {
+ this.segsByCol = this.timeGrid.groupSegsByCol(segs);
+ this.timeGrid.attachSegsByCol(this.segsByCol, this.timeGrid.mirrorContainerEls);
+ this.sourceSeg = mirrorInfo.sourceSeg;
+ };
+ TimeGridMirrorRenderer.prototype.generateSegCss = function (seg) {
+ var props = _super.prototype.generateSegCss.call(this, seg);
+ var sourceSeg = this.sourceSeg;
+ if (sourceSeg && sourceSeg.col === seg.col) {
+ var sourceSegProps = _super.prototype.generateSegCss.call(this, sourceSeg);
+ props.left = sourceSegProps.left;
+ props.right = sourceSegProps.right;
+ props.marginLeft = sourceSegProps.marginLeft;
+ props.marginRight = sourceSegProps.marginRight;
+ }
+ return props;
+ };
+ return TimeGridMirrorRenderer;
+}(TimeGridEventRenderer));
+
+var TimeGridFillRenderer = /** @class */ (function (_super) {
+ __extends(TimeGridFillRenderer, _super);
+ function TimeGridFillRenderer(timeGrid) {
+ var _this = _super.call(this) || this;
+ _this.timeGrid = timeGrid;
+ return _this;
+ }
+ TimeGridFillRenderer.prototype.attachSegs = function (type, segs) {
+ var timeGrid = this.timeGrid;
+ var containerEls;
+ // TODO: more efficient lookup
+ if (type === 'bgEvent') {
+ containerEls = timeGrid.bgContainerEls;
+ }
+ else if (type === 'businessHours') {
+ containerEls = timeGrid.businessContainerEls;
+ }
+ else if (type === 'highlight') {
+ containerEls = timeGrid.highlightContainerEls;
+ }
+ timeGrid.attachSegsByCol(timeGrid.groupSegsByCol(segs), containerEls);
+ return segs.map(function (seg) {
+ return seg.el;
+ });
+ };
+ TimeGridFillRenderer.prototype.computeSegSizes = function (segs) {
+ this.timeGrid.computeSegVerticals(segs);
+ };
+ TimeGridFillRenderer.prototype.assignSegSizes = function (segs) {
+ this.timeGrid.assignSegVerticals(segs);
+ };
+ return TimeGridFillRenderer;
+}(FillRenderer));
+
+/* A component that renders one or more columns of vertical time slots
+----------------------------------------------------------------------------------------------------------------------*/
+// potential nice values for the slot-duration and interval-duration
+// from largest to smallest
+var AGENDA_STOCK_SUB_DURATIONS = [
+ { hours: 1 },
+ { minutes: 30 },
+ { minutes: 15 },
+ { seconds: 30 },
+ { seconds: 15 }
+];
+var TimeGrid = /** @class */ (function (_super) {
+ __extends(TimeGrid, _super);
+ function TimeGrid(el, renderProps) {
+ var _this = _super.call(this, el) || this;
+ _this.isSlatSizesDirty = false;
+ _this.isColSizesDirty = false;
+ _this.processOptions = memoize(_this._processOptions);
+ _this.renderSkeleton = memoizeRendering(_this._renderSkeleton);
+ _this.renderSlats = memoizeRendering(_this._renderSlats, null, [_this.renderSkeleton]);
+ _this.renderColumns = memoizeRendering(_this._renderColumns, _this._unrenderColumns, [_this.renderSkeleton]);
+ _this.renderProps = renderProps;
+ var renderColumns = _this.renderColumns;
+ var eventRenderer = _this.eventRenderer = new TimeGridEventRenderer(_this);
+ var fillRenderer = _this.fillRenderer = new TimeGridFillRenderer(_this);
+ _this.mirrorRenderer = new TimeGridMirrorRenderer(_this);
+ _this.renderBusinessHours = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderColumns]);
+ _this.renderDateSelection = memoizeRendering(_this._renderDateSelection, _this._unrenderDateSelection, [renderColumns]);
+ _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderColumns]);
+ _this.renderBgEvents = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'bgEvent'), fillRenderer.unrender.bind(fillRenderer, 'bgEvent'), [renderColumns]);
+ _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);
+ _this.renderEventDrag = memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderColumns]);
+ _this.renderEventResize = memoizeRendering(_this._renderEventResize, _this._unrenderEventResize, [renderColumns]);
+ return _this;
+ }
+ /* Options
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Parses various options into properties of this object
+ // MUST have context already set
+ TimeGrid.prototype._processOptions = function (options) {
+ var slotDuration = options.slotDuration, snapDuration = options.snapDuration;
+ var snapsPerSlot;
+ var input;
+ slotDuration = createDuration(slotDuration);
+ snapDuration = snapDuration ? createDuration(snapDuration) : slotDuration;
+ snapsPerSlot = wholeDivideDurations(slotDuration, snapDuration);
+ if (snapsPerSlot === null) {
+ snapDuration = slotDuration;
+ snapsPerSlot = 1;
+ // TODO: say warning?
+ }
+ this.slotDuration = slotDuration;
+ this.snapDuration = snapDuration;
+ this.snapsPerSlot = snapsPerSlot;
+ // might be an array value (for TimelineView).
+ // if so, getting the most granular entry (the last one probably).
+ input = options.slotLabelFormat;
+ if (Array.isArray(input)) {
+ input = input[input.length - 1];
+ }
+ this.labelFormat = createFormatter(input || {
+ hour: 'numeric',
+ minute: '2-digit',
+ omitZeroMinute: true,
+ meridiem: 'short'
+ });
+ input = options.slotLabelInterval;
+ this.labelInterval = input ?
+ createDuration(input) :
+ this.computeLabelInterval(slotDuration);
+ };
+ // Computes an automatic value for slotLabelInterval
+ TimeGrid.prototype.computeLabelInterval = function (slotDuration) {
+ var i;
+ var labelInterval;
+ var slotsPerLabel;
+ // find the smallest stock label interval that results in more than one slots-per-label
+ for (i = AGENDA_STOCK_SUB_DURATIONS.length - 1; i >= 0; i--) {
+ labelInterval = createDuration(AGENDA_STOCK_SUB_DURATIONS[i]);
+ slotsPerLabel = wholeDivideDurations(labelInterval, slotDuration);
+ if (slotsPerLabel !== null && slotsPerLabel > 1) {
+ return labelInterval;
+ }
+ }
+ return slotDuration; // fall back
+ };
+ /* Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+ TimeGrid.prototype.render = function (props, context) {
+ this.processOptions(context.options);
+ var cells = props.cells;
+ this.colCnt = cells.length;
+ this.renderSkeleton(context.theme);
+ this.renderSlats(props.dateProfile);
+ this.renderColumns(props.cells, props.dateProfile);
+ this.renderBusinessHours(context, props.businessHourSegs);
+ this.renderDateSelection(props.dateSelectionSegs);
+ this.renderFgEvents(context, props.fgEventSegs);
+ this.renderBgEvents(context, props.bgEventSegs);
+ this.renderEventSelection(props.eventSelection);
+ this.renderEventDrag(props.eventDrag);
+ this.renderEventResize(props.eventResize);
+ };
+ TimeGrid.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ // should unrender everything else too
+ this.renderSlats.unrender();
+ this.renderColumns.unrender();
+ this.renderSkeleton.unrender();
+ };
+ TimeGrid.prototype.updateSize = function (isResize) {
+ var _a = this, fillRenderer = _a.fillRenderer, eventRenderer = _a.eventRenderer, mirrorRenderer = _a.mirrorRenderer;
+ if (isResize || this.isSlatSizesDirty) {
+ this.buildSlatPositions();
+ this.isSlatSizesDirty = false;
+ }
+ if (isResize || this.isColSizesDirty) {
+ this.buildColPositions();
+ this.isColSizesDirty = false;
+ }
+ fillRenderer.computeSizes(isResize);
+ eventRenderer.computeSizes(isResize);
+ mirrorRenderer.computeSizes(isResize);
+ fillRenderer.assignSizes(isResize);
+ eventRenderer.assignSizes(isResize);
+ mirrorRenderer.assignSizes(isResize);
+ };
+ TimeGrid.prototype._renderSkeleton = function (theme) {
+ var el = this.el;
+ el.innerHTML =
+ '<div class="fc-bg"></div>' +
+ '<div class="fc-slats"></div>' +
+ '<hr class="fc-divider ' + theme.getClass('widgetHeader') + '" style="display:none" />';
+ this.rootBgContainerEl = el.querySelector('.fc-bg');
+ this.slatContainerEl = el.querySelector('.fc-slats');
+ this.bottomRuleEl = el.querySelector('.fc-divider');
+ };
+ TimeGrid.prototype._renderSlats = function (dateProfile) {
+ var theme = this.context.theme;
+ this.slatContainerEl.innerHTML =
+ '<table class="' + theme.getClass('tableGrid') + '">' +
+ this.renderSlatRowHtml(dateProfile) +
+ '</table>';
+ this.slatEls = findElements(this.slatContainerEl, 'tr');
+ this.slatPositions = new PositionCache(this.el, this.slatEls, false, true // vertical
+ );
+ this.isSlatSizesDirty = true;
+ };
+ // Generates the HTML for the horizontal "slats" that run width-wise. Has a time axis on a side. Depends on RTL.
+ TimeGrid.prototype.renderSlatRowHtml = function (dateProfile) {
+ var _a = this.context, dateEnv = _a.dateEnv, theme = _a.theme, isRtl = _a.isRtl;
+ var html = '';
+ var dayStart = startOfDay(dateProfile.renderRange.start);
+ var slotTime = dateProfile.minTime;
+ var slotIterator = createDuration(0);
+ var slotDate; // will be on the view's first day, but we only care about its time
+ var isLabeled;
+ var axisHtml;
+ // Calculate the time for each slot
+ while (asRoughMs(slotTime) < asRoughMs(dateProfile.maxTime)) {
+ slotDate = dateEnv.add(dayStart, slotTime);
+ isLabeled = wholeDivideDurations(slotIterator, this.labelInterval) !== null;
+ axisHtml =
+ '<td class="fc-axis fc-time ' + theme.getClass('widgetContent') + '">' +
+ (isLabeled ?
+ '<span>' + // for matchCellWidths
+ htmlEscape(dateEnv.format(slotDate, this.labelFormat)) +
+ '</span>' :
+ '') +
+ '</td>';
+ html +=
+ '<tr data-time="' + formatIsoTimeString(slotDate) + '"' +
+ (isLabeled ? '' : ' class="fc-minor"') +
+ '>' +
+ (!isRtl ? axisHtml : '') +
+ '<td class="' + theme.getClass('widgetContent') + '"></td>' +
+ (isRtl ? axisHtml : '') +
+ '</tr>';
+ slotTime = addDurations(slotTime, this.slotDuration);
+ slotIterator = addDurations(slotIterator, this.slotDuration);
+ }
+ return html;
+ };
+ TimeGrid.prototype._renderColumns = function (cells, dateProfile) {
+ var _a = this.context, calendar = _a.calendar, view = _a.view, isRtl = _a.isRtl, theme = _a.theme, dateEnv = _a.dateEnv;
+ var bgRow = new DayBgRow(this.context);
+ this.rootBgContainerEl.innerHTML =
+ '<table class="' + theme.getClass('tableGrid') + '">' +
+ bgRow.renderHtml({
+ cells: cells,
+ dateProfile: dateProfile,
+ renderIntroHtml: this.renderProps.renderBgIntroHtml
+ }) +
+ '</table>';
+ this.colEls = findElements(this.el, '.fc-day, .fc-disabled-day');
+ for (var col = 0; col < this.colCnt; col++) {
+ calendar.publiclyTrigger('dayRender', [
+ {
+ date: dateEnv.toDate(cells[col].date),
+ el: this.colEls[col],
+ view: view
+ }
+ ]);
+ }
+ if (isRtl) {
+ this.colEls.reverse();
+ }
+ this.colPositions = new PositionCache(this.el, this.colEls, true, // horizontal
+ false);
+ this.renderContentSkeleton();
+ this.isColSizesDirty = true;
+ };
+ TimeGrid.prototype._unrenderColumns = function () {
+ this.unrenderContentSkeleton();
+ };
+ /* Content Skeleton
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Renders the DOM that the view's content will live in
+ TimeGrid.prototype.renderContentSkeleton = function () {
+ var isRtl = this.context.isRtl;
+ var parts = [];
+ var skeletonEl;
+ parts.push(this.renderProps.renderIntroHtml());
+ for (var i = 0; i < this.colCnt; i++) {
+ parts.push('<td>' +
+ '<div class="fc-content-col">' +
+ '<div class="fc-event-container fc-mirror-container"></div>' +
+ '<div class="fc-event-container"></div>' +
+ '<div class="fc-highlight-container"></div>' +
+ '<div class="fc-bgevent-container"></div>' +
+ '<div class="fc-business-container"></div>' +
+ '</div>' +
+ '</td>');
+ }
+ if (isRtl) {
+ parts.reverse();
+ }
+ skeletonEl = this.contentSkeletonEl = htmlToElement('<div class="fc-content-skeleton">' +
+ '<table>' +
+ '<tr>' + parts.join('') + '</tr>' +
+ '</table>' +
+ '</div>');
+ this.colContainerEls = findElements(skeletonEl, '.fc-content-col');
+ this.mirrorContainerEls = findElements(skeletonEl, '.fc-mirror-container');
+ this.fgContainerEls = findElements(skeletonEl, '.fc-event-container:not(.fc-mirror-container)');
+ this.bgContainerEls = findElements(skeletonEl, '.fc-bgevent-container');
+ this.highlightContainerEls = findElements(skeletonEl, '.fc-highlight-container');
+ this.businessContainerEls = findElements(skeletonEl, '.fc-business-container');
+ if (isRtl) {
+ this.colContainerEls.reverse();
+ this.mirrorContainerEls.reverse();
+ this.fgContainerEls.reverse();
+ this.bgContainerEls.reverse();
+ this.highlightContainerEls.reverse();
+ this.businessContainerEls.reverse();
+ }
+ this.el.appendChild(skeletonEl);
+ };
+ TimeGrid.prototype.unrenderContentSkeleton = function () {
+ removeElement(this.contentSkeletonEl);
+ };
+ // Given a flat array of segments, return an array of sub-arrays, grouped by each segment's col
+ TimeGrid.prototype.groupSegsByCol = function (segs) {
+ var segsByCol = [];
+ var i;
+ for (i = 0; i < this.colCnt; i++) {
+ segsByCol.push([]);
+ }
+ for (i = 0; i < segs.length; i++) {
+ segsByCol[segs[i].col].push(segs[i]);
+ }
+ return segsByCol;
+ };
+ // Given segments grouped by column, insert the segments' elements into a parallel array of container
+ // elements, each living within a column.
+ TimeGrid.prototype.attachSegsByCol = function (segsByCol, containerEls) {
+ var col;
+ var segs;
+ var i;
+ for (col = 0; col < this.colCnt; col++) { // iterate each column grouping
+ segs = segsByCol[col];
+ for (i = 0; i < segs.length; i++) {
+ containerEls[col].appendChild(segs[i].el);
+ }
+ }
+ };
+ /* Now Indicator
+ ------------------------------------------------------------------------------------------------------------------*/
+ TimeGrid.prototype.getNowIndicatorUnit = function () {
+ return 'minute'; // will refresh on the minute
+ };
+ TimeGrid.prototype.renderNowIndicator = function (segs, date) {
+ // HACK: if date columns not ready for some reason (scheduler)
+ if (!this.colContainerEls) {
+ return;
+ }
+ var top = this.computeDateTop(date);
+ var nodes = [];
+ var i;
+ // render lines within the columns
+ for (i = 0; i < segs.length; i++) {
+ var lineEl = createElement('div', { className: 'fc-now-indicator fc-now-indicator-line' });
+ lineEl.style.top = top + 'px';
+ this.colContainerEls[segs[i].col].appendChild(lineEl);
+ nodes.push(lineEl);
+ }
+ // render an arrow over the axis
+ if (segs.length > 0) { // is the current time in view?
+ var arrowEl = createElement('div', { className: 'fc-now-indicator fc-now-indicator-arrow' });
+ arrowEl.style.top = top + 'px';
+ this.contentSkeletonEl.appendChild(arrowEl);
+ nodes.push(arrowEl);
+ }
+ this.nowIndicatorEls = nodes;
+ };
+ TimeGrid.prototype.unrenderNowIndicator = function () {
+ if (this.nowIndicatorEls) {
+ this.nowIndicatorEls.forEach(removeElement);
+ this.nowIndicatorEls = null;
+ }
+ };
+ /* Coordinates
+ ------------------------------------------------------------------------------------------------------------------*/
+ TimeGrid.prototype.getTotalSlatHeight = function () {
+ return this.slatContainerEl.getBoundingClientRect().height;
+ };
+ // Computes the top coordinate, relative to the bounds of the grid, of the given date.
+ // A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.
+ TimeGrid.prototype.computeDateTop = function (when, startOfDayDate) {
+ if (!startOfDayDate) {
+ startOfDayDate = startOfDay(when);
+ }
+ return this.computeTimeTop(createDuration(when.valueOf() - startOfDayDate.valueOf()));
+ };
+ // Computes the top coordinate, relative to the bounds of the grid, of the given time (a Duration).
+ TimeGrid.prototype.computeTimeTop = function (duration) {
+ var len = this.slatEls.length;
+ var dateProfile = this.props.dateProfile;
+ var slatCoverage = (duration.milliseconds - asRoughMs(dateProfile.minTime)) / asRoughMs(this.slotDuration); // floating-point value of # of slots covered
+ var slatIndex;
+ var slatRemainder;
+ // compute a floating-point number for how many slats should be progressed through.
+ // from 0 to number of slats (inclusive)
+ // constrained because minTime/maxTime might be customized.
+ slatCoverage = Math.max(0, slatCoverage);
+ slatCoverage = Math.min(len, slatCoverage);
+ // an integer index of the furthest whole slat
+ // from 0 to number slats (*exclusive*, so len-1)
+ slatIndex = Math.floor(slatCoverage);
+ slatIndex = Math.min(slatIndex, len - 1);
+ // how much further through the slatIndex slat (from 0.0-1.0) must be covered in addition.
+ // could be 1.0 if slatCoverage is covering *all* the slots
+ slatRemainder = slatCoverage - slatIndex;
+ return this.slatPositions.tops[slatIndex] +
+ this.slatPositions.getHeight(slatIndex) * slatRemainder;
+ };
+ // For each segment in an array, computes and assigns its top and bottom properties
+ TimeGrid.prototype.computeSegVerticals = function (segs) {
+ var options = this.context.options;
+ var eventMinHeight = options.timeGridEventMinHeight;
+ var i;
+ var seg;
+ var dayDate;
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ dayDate = this.props.cells[seg.col].date;
+ seg.top = this.computeDateTop(seg.start, dayDate);
+ seg.bottom = Math.max(seg.top + eventMinHeight, this.computeDateTop(seg.end, dayDate));
+ }
+ };
+ // Given segments that already have their top/bottom properties computed, applies those values to
+ // the segments' elements.
+ TimeGrid.prototype.assignSegVerticals = function (segs) {
+ var i;
+ var seg;
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ applyStyle(seg.el, this.generateSegVerticalCss(seg));
+ }
+ };
+ // Generates an object with CSS properties for the top/bottom coordinates of a segment element
+ TimeGrid.prototype.generateSegVerticalCss = function (seg) {
+ return {
+ top: seg.top,
+ bottom: -seg.bottom // flipped because needs to be space beyond bottom edge of event container
+ };
+ };
+ /* Sizing
+ ------------------------------------------------------------------------------------------------------------------*/
+ TimeGrid.prototype.buildPositionCaches = function () {
+ this.buildColPositions();
+ this.buildSlatPositions();
+ };
+ TimeGrid.prototype.buildColPositions = function () {
+ this.colPositions.build();
+ };
+ TimeGrid.prototype.buildSlatPositions = function () {
+ this.slatPositions.build();
+ };
+ /* Hit System
+ ------------------------------------------------------------------------------------------------------------------*/
+ TimeGrid.prototype.positionToHit = function (positionLeft, positionTop) {
+ var dateEnv = this.context.dateEnv;
+ var _a = this, snapsPerSlot = _a.snapsPerSlot, slatPositions = _a.slatPositions, colPositions = _a.colPositions;
+ var colIndex = colPositions.leftToIndex(positionLeft);
+ var slatIndex = slatPositions.topToIndex(positionTop);
+ if (colIndex != null && slatIndex != null) {
+ var slatTop = slatPositions.tops[slatIndex];
+ var slatHeight = slatPositions.getHeight(slatIndex);
+ var partial = (positionTop - slatTop) / slatHeight; // floating point number between 0 and 1
+ var localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat
+ var snapIndex = slatIndex * snapsPerSlot + localSnapIndex;
+ var dayDate = this.props.cells[colIndex].date;
+ var time = addDurations(this.props.dateProfile.minTime, multiplyDuration(this.snapDuration, snapIndex));
+ var start = dateEnv.add(dayDate, time);
+ var end = dateEnv.add(start, this.snapDuration);
+ return {
+ col: colIndex,
+ dateSpan: {
+ range: { start: start, end: end },
+ allDay: false
+ },
+ dayEl: this.colEls[colIndex],
+ relativeRect: {
+ left: colPositions.lefts[colIndex],
+ right: colPositions.rights[colIndex],
+ top: slatTop,
+ bottom: slatTop + slatHeight
+ }
+ };
+ }
+ };
+ /* Event Drag Visualization
+ ------------------------------------------------------------------------------------------------------------------*/
+ TimeGrid.prototype._renderEventDrag = function (state) {
+ if (state) {
+ this.eventRenderer.hideByHash(state.affectedInstances);
+ if (state.isEvent) {
+ this.mirrorRenderer.renderSegs(this.context, state.segs, { isDragging: true, sourceSeg: state.sourceSeg });
+ }
+ else {
+ this.fillRenderer.renderSegs('highlight', this.context, state.segs);
+ }
+ }
+ };
+ TimeGrid.prototype._unrenderEventDrag = function (state) {
+ if (state) {
+ this.eventRenderer.showByHash(state.affectedInstances);
+ if (state.isEvent) {
+ this.mirrorRenderer.unrender(this.context, state.segs, { isDragging: true, sourceSeg: state.sourceSeg });
+ }
+ else {
+ this.fillRenderer.unrender('highlight', this.context);
+ }
+ }
+ };
+ /* Event Resize Visualization
+ ------------------------------------------------------------------------------------------------------------------*/
+ TimeGrid.prototype._renderEventResize = function (state) {
+ if (state) {
+ this.eventRenderer.hideByHash(state.affectedInstances);
+ this.mirrorRenderer.renderSegs(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
+ }
+ };
+ TimeGrid.prototype._unrenderEventResize = function (state) {
+ if (state) {
+ this.eventRenderer.showByHash(state.affectedInstances);
+ this.mirrorRenderer.unrender(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
+ }
+ };
+ /* Selection
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Renders a visual indication of a selection. Overrides the default, which was to simply render a highlight.
+ TimeGrid.prototype._renderDateSelection = function (segs) {
+ if (segs) {
+ if (this.context.options.selectMirror) {
+ this.mirrorRenderer.renderSegs(this.context, segs, { isSelecting: true });
+ }
+ else {
+ this.fillRenderer.renderSegs('highlight', this.context, segs);
+ }
+ }
+ };
+ TimeGrid.prototype._unrenderDateSelection = function (segs) {
+ if (segs) {
+ if (this.context.options.selectMirror) {
+ this.mirrorRenderer.unrender(this.context, segs, { isSelecting: true });
+ }
+ else {
+ this.fillRenderer.unrender('highlight', this.context);
+ }
+ }
+ };
+ return TimeGrid;
+}(DateComponent));
+
+var AllDaySplitter = /** @class */ (function (_super) {
+ __extends(AllDaySplitter, _super);
+ function AllDaySplitter() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ AllDaySplitter.prototype.getKeyInfo = function () {
+ return {
+ allDay: {},
+ timed: {}
+ };
+ };
+ AllDaySplitter.prototype.getKeysForDateSpan = function (dateSpan) {
+ if (dateSpan.allDay) {
+ return ['allDay'];
+ }
+ else {
+ return ['timed'];
+ }
+ };
+ AllDaySplitter.prototype.getKeysForEventDef = function (eventDef) {
+ if (!eventDef.allDay) {
+ return ['timed'];
+ }
+ else if (hasBgRendering(eventDef)) {
+ return ['timed', 'allDay'];
+ }
+ else {
+ return ['allDay'];
+ }
+ };
+ return AllDaySplitter;
+}(Splitter));
+
+var TIMEGRID_ALL_DAY_EVENT_LIMIT = 5;
+var WEEK_HEADER_FORMAT = createFormatter({ week: 'short' });
+/* An abstract class for all timegrid-related views. Displays one more columns with time slots running vertically.
+----------------------------------------------------------------------------------------------------------------------*/
+// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).
+// Responsible for managing width/height.
+var AbstractTimeGridView = /** @class */ (function (_super) {
+ __extends(AbstractTimeGridView, _super);
+ function AbstractTimeGridView() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
+ _this.splitter = new AllDaySplitter();
+ _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
+ /* Header Render Methods
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Generates the HTML that will go before the day-of week header cells
+ _this.renderHeadIntroHtml = function () {
+ var _a = _this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;
+ var range = _this.props.dateProfile.renderRange;
+ var dayCnt = diffDays(range.start, range.end);
+ var weekText;
+ if (options.weekNumbers) {
+ weekText = dateEnv.format(range.start, WEEK_HEADER_FORMAT);
+ return '' +
+ '<th class="fc-axis fc-week-number ' + theme.getClass('widgetHeader') + '" ' + _this.axisStyleAttr() + '>' +
+ buildGotoAnchorHtml(// aside from link, important for matchCellWidths
+ options, dateEnv, { date: range.start, type: 'week', forceOff: dayCnt > 1 }, htmlEscape(weekText) // inner HTML
+ ) +
+ '</th>';
+ }
+ else {
+ return '<th class="fc-axis ' + theme.getClass('widgetHeader') + '" ' + _this.axisStyleAttr() + '></th>';
+ }
+ };
+ /* Time Grid Render Methods
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Generates the HTML that goes before the bg of the TimeGrid slot area. Long vertical column.
+ _this.renderTimeGridBgIntroHtml = function () {
+ var theme = _this.context.theme;
+ return '<td class="fc-axis ' + theme.getClass('widgetContent') + '" ' + _this.axisStyleAttr() + '></td>';
+ };
+ // Generates the HTML that goes before all other types of cells.
+ // Affects content-skeleton, mirror-skeleton, highlight-skeleton for both the time-grid and day-grid.
+ _this.renderTimeGridIntroHtml = function () {
+ return '<td class="fc-axis" ' + _this.axisStyleAttr() + '></td>';
+ };
+ /* Day Grid Render Methods
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Generates the HTML that goes before the all-day cells
+ _this.renderDayGridBgIntroHtml = function () {
+ var _a = _this.context, theme = _a.theme, options = _a.options;
+ return '' +
+ '<td class="fc-axis ' + theme.getClass('widgetContent') + '" ' + _this.axisStyleAttr() + '>' +
+ '<span>' + // needed for matchCellWidths
+ getAllDayHtml(options) +
+ '</span>' +
+ '</td>';
+ };
+ // Generates the HTML that goes before all other types of cells.
+ // Affects content-skeleton, mirror-skeleton, highlight-skeleton for both the time-grid and day-grid.
+ _this.renderDayGridIntroHtml = function () {
+ return '<td class="fc-axis" ' + _this.axisStyleAttr() + '></td>';
+ };
+ return _this;
+ }
+ AbstractTimeGridView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context);
+ this.renderSkeleton(context);
+ };
+ AbstractTimeGridView.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderSkeleton.unrender();
+ };
+ AbstractTimeGridView.prototype._renderSkeleton = function (context) {
+ this.el.classList.add('fc-timeGrid-view');
+ this.el.innerHTML = this.renderSkeletonHtml();
+ this.scroller = new ScrollComponent('hidden', // overflow x
+ 'auto' // overflow y
+ );
+ var timeGridWrapEl = this.scroller.el;
+ this.el.querySelector('.fc-body > tr > td').appendChild(timeGridWrapEl);
+ timeGridWrapEl.classList.add('fc-time-grid-container');
+ var timeGridEl = createElement('div', { className: 'fc-time-grid' });
+ timeGridWrapEl.appendChild(timeGridEl);
+ this.timeGrid = new TimeGrid(timeGridEl, {
+ renderBgIntroHtml: this.renderTimeGridBgIntroHtml,
+ renderIntroHtml: this.renderTimeGridIntroHtml
+ });
+ if (context.options.allDaySlot) { // should we display the "all-day" area?
+ this.dayGrid = new DayGrid(// the all-day subcomponent of this view
+ this.el.querySelector('.fc-day-grid'), {
+ renderNumberIntroHtml: this.renderDayGridIntroHtml,
+ renderBgIntroHtml: this.renderDayGridBgIntroHtml,
+ renderIntroHtml: this.renderDayGridIntroHtml,
+ colWeekNumbersVisible: false,
+ cellWeekNumbersVisible: false
+ });
+ // have the day-grid extend it's coordinate area over the <hr> dividing the two grids
+ var dividerEl = this.el.querySelector('.fc-divider');
+ this.dayGrid.bottomCoordPadding = dividerEl.getBoundingClientRect().height;
+ }
+ };
+ AbstractTimeGridView.prototype._unrenderSkeleton = function () {
+ this.el.classList.remove('fc-timeGrid-view');
+ this.timeGrid.destroy();
+ if (this.dayGrid) {
+ this.dayGrid.destroy();
+ }
+ this.scroller.destroy();
+ };
+ /* Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Builds the HTML skeleton for the view.
+ // The day-grid and time-grid components will render inside containers defined by this HTML.
+ AbstractTimeGridView.prototype.renderSkeletonHtml = function () {
+ var _a = this.context, theme = _a.theme, options = _a.options;
+ return '' +
+ '<table class="' + theme.getClass('tableGrid') + '">' +
+ (options.columnHeader ?
+ '<thead class="fc-head">' +
+ '<tr>' +
+ '<td class="fc-head-container ' + theme.getClass('widgetHeader') + '">&nbsp;</td>' +
+ '</tr>' +
+ '</thead>' :
+ '') +
+ '<tbody class="fc-body">' +
+ '<tr>' +
+ '<td class="' + theme.getClass('widgetContent') + '">' +
+ (options.allDaySlot ?
+ '<div class="fc-day-grid"></div>' +
+ '<hr class="fc-divider ' + theme.getClass('widgetHeader') + '" />' :
+ '') +
+ '</td>' +
+ '</tr>' +
+ '</tbody>' +
+ '</table>';
+ };
+ /* Now Indicator
+ ------------------------------------------------------------------------------------------------------------------*/
+ AbstractTimeGridView.prototype.getNowIndicatorUnit = function () {
+ return this.timeGrid.getNowIndicatorUnit();
+ };
+ // subclasses should implement
+ // renderNowIndicator(date: DateMarker) {
+ // }
+ AbstractTimeGridView.prototype.unrenderNowIndicator = function () {
+ this.timeGrid.unrenderNowIndicator();
+ };
+ /* Dimensions
+ ------------------------------------------------------------------------------------------------------------------*/
+ AbstractTimeGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {
+ _super.prototype.updateSize.call(this, isResize, viewHeight, isAuto); // will call updateBaseSize. important that executes first
+ this.timeGrid.updateSize(isResize);
+ if (this.dayGrid) {
+ this.dayGrid.updateSize(isResize);
+ }
+ };
+ // Adjusts the vertical dimensions of the view to the specified values
+ AbstractTimeGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {
+ var _this = this;
+ var eventLimit;
+ var scrollerHeight;
+ var scrollbarWidths;
+ // make all axis cells line up
+ this.axisWidth = matchCellWidths(findElements(this.el, '.fc-axis'));
+ // hack to give the view some height prior to timeGrid's columns being rendered
+ // TODO: separate setting height from scroller VS timeGrid.
+ if (!this.timeGrid.colEls) {
+ if (!isAuto) {
+ scrollerHeight = this.computeScrollerHeight(viewHeight);
+ this.scroller.setHeight(scrollerHeight);
+ }
+ return;
+ }
+ // set of fake row elements that must compensate when scroller has scrollbars
+ var noScrollRowEls = findElements(this.el, '.fc-row').filter(function (node) {
+ return !_this.scroller.el.contains(node);
+ });
+ // reset all dimensions back to the original state
+ this.timeGrid.bottomRuleEl.style.display = 'none'; // will be shown later if this <hr> is necessary
+ this.scroller.clear(); // sets height to 'auto' and clears overflow
+ noScrollRowEls.forEach(uncompensateScroll);
+ // limit number of events in the all-day area
+ if (this.dayGrid) {
+ this.dayGrid.removeSegPopover(); // kill the "more" popover if displayed
+ eventLimit = this.context.options.eventLimit;
+ if (eventLimit && typeof eventLimit !== 'number') {
+ eventLimit = TIMEGRID_ALL_DAY_EVENT_LIMIT; // make sure "auto" goes to a real number
+ }
+ if (eventLimit) {
+ this.dayGrid.limitRows(eventLimit);
+ }
+ }
+ if (!isAuto) { // should we force dimensions of the scroll container?
+ scrollerHeight = this.computeScrollerHeight(viewHeight);
+ this.scroller.setHeight(scrollerHeight);
+ scrollbarWidths = this.scroller.getScrollbarWidths();
+ if (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?
+ // make the all-day and header rows lines up
+ noScrollRowEls.forEach(function (rowEl) {
+ compensateScroll(rowEl, scrollbarWidths);
+ });
+ // the scrollbar compensation might have changed text flow, which might affect height, so recalculate
+ // and reapply the desired height to the scroller.
+ scrollerHeight = this.computeScrollerHeight(viewHeight);
+ this.scroller.setHeight(scrollerHeight);
+ }
+ // guarantees the same scrollbar widths
+ this.scroller.lockOverflow(scrollbarWidths);
+ // if there's any space below the slats, show the horizontal rule.
+ // this won't cause any new overflow, because lockOverflow already called.
+ if (this.timeGrid.getTotalSlatHeight() < scrollerHeight) {
+ this.timeGrid.bottomRuleEl.style.display = '';
+ }
+ }
+ };
+ // given a desired total height of the view, returns what the height of the scroller should be
+ AbstractTimeGridView.prototype.computeScrollerHeight = function (viewHeight) {
+ return viewHeight -
+ subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
+ };
+ /* Scroll
+ ------------------------------------------------------------------------------------------------------------------*/
+ // Computes the initial pre-configured scroll state prior to allowing the user to change it
+ AbstractTimeGridView.prototype.computeDateScroll = function (duration) {
+ var top = this.timeGrid.computeTimeTop(duration);
+ // zoom can give weird floating-point values. rather scroll a little bit further
+ top = Math.ceil(top);
+ if (top) {
+ top++; // to overcome top border that slots beyond the first have. looks better
+ }
+ return { top: top };
+ };
+ AbstractTimeGridView.prototype.queryDateScroll = function () {
+ return { top: this.scroller.getScrollTop() };
+ };
+ AbstractTimeGridView.prototype.applyDateScroll = function (scroll) {
+ if (scroll.top !== undefined) {
+ this.scroller.setScrollTop(scroll.top);
+ }
+ };
+ // Generates an HTML attribute string for setting the width of the axis, if it is known
+ AbstractTimeGridView.prototype.axisStyleAttr = function () {
+ if (this.axisWidth != null) {
+ return 'style="width:' + this.axisWidth + 'px"';
+ }
+ return '';
+ };
+ return AbstractTimeGridView;
+}(View));
+AbstractTimeGridView.prototype.usesMinMaxTime = true; // indicates that minTime/maxTime affects rendering
+
+var SimpleTimeGrid = /** @class */ (function (_super) {
+ __extends(SimpleTimeGrid, _super);
+ function SimpleTimeGrid(timeGrid) {
+ var _this = _super.call(this, timeGrid.el) || this;
+ _this.buildDayRanges = memoize(buildDayRanges);
+ _this.slicer = new TimeGridSlicer();
+ _this.timeGrid = timeGrid;
+ return _this;
+ }
+ SimpleTimeGrid.prototype.firstContext = function (context) {
+ context.calendar.registerInteractiveComponent(this, {
+ el: this.timeGrid.el
+ });
+ };
+ SimpleTimeGrid.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.context.calendar.unregisterInteractiveComponent(this);
+ };
+ SimpleTimeGrid.prototype.render = function (props, context) {
+ var dateEnv = this.context.dateEnv;
+ var dateProfile = props.dateProfile, dayTable = props.dayTable;
+ var dayRanges = this.dayRanges = this.buildDayRanges(dayTable, dateProfile, dateEnv);
+ var timeGrid = this.timeGrid;
+ timeGrid.receiveContext(context); // hack because context is used in sliceProps
+ timeGrid.receiveProps(__assign({}, this.slicer.sliceProps(props, dateProfile, null, context.calendar, timeGrid, dayRanges), { dateProfile: dateProfile, cells: dayTable.cells[0] }), context);
+ };
+ SimpleTimeGrid.prototype.renderNowIndicator = function (date) {
+ this.timeGrid.renderNowIndicator(this.slicer.sliceNowDate(date, this.timeGrid, this.dayRanges), date);
+ };
+ SimpleTimeGrid.prototype.buildPositionCaches = function () {
+ this.timeGrid.buildPositionCaches();
+ };
+ SimpleTimeGrid.prototype.queryHit = function (positionLeft, positionTop) {
+ var rawHit = this.timeGrid.positionToHit(positionLeft, positionTop);
+ if (rawHit) {
+ return {
+ component: this.timeGrid,
+ dateSpan: rawHit.dateSpan,
+ dayEl: rawHit.dayEl,
+ rect: {
+ left: rawHit.relativeRect.left,
+ right: rawHit.relativeRect.right,
+ top: rawHit.relativeRect.top,
+ bottom: rawHit.relativeRect.bottom
+ },
+ layer: 0
+ };
+ }
+ };
+ return SimpleTimeGrid;
+}(DateComponent));
+function buildDayRanges(dayTable, dateProfile, dateEnv) {
+ var ranges = [];
+ for (var _i = 0, _a = dayTable.headerDates; _i < _a.length; _i++) {
+ var date = _a[_i];
+ ranges.push({
+ start: dateEnv.add(date, dateProfile.minTime),
+ end: dateEnv.add(date, dateProfile.maxTime)
+ });
+ }
+ return ranges;
+}
+var TimeGridSlicer = /** @class */ (function (_super) {
+ __extends(TimeGridSlicer, _super);
+ function TimeGridSlicer() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ TimeGridSlicer.prototype.sliceRange = function (range, dayRanges) {
+ var segs = [];
+ for (var col = 0; col < dayRanges.length; col++) {
+ var segRange = intersectRanges(range, dayRanges[col]);
+ if (segRange) {
+ segs.push({
+ start: segRange.start,
+ end: segRange.end,
+ isStart: segRange.start.valueOf() === range.start.valueOf(),
+ isEnd: segRange.end.valueOf() === range.end.valueOf(),
+ col: col
+ });
+ }
+ }
+ return segs;
+ };
+ return TimeGridSlicer;
+}(Slicer));
+
+var TimeGridView = /** @class */ (function (_super) {
+ __extends(TimeGridView, _super);
+ function TimeGridView() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
+ _this.buildDayTable = memoize(buildDayTable);
+ return _this;
+ }
+ TimeGridView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context); // for flags for updateSize. also _renderSkeleton/_unrenderSkeleton
+ var _a = this.props, dateProfile = _a.dateProfile, dateProfileGenerator = _a.dateProfileGenerator;
+ var nextDayThreshold = context.nextDayThreshold;
+ var dayTable = this.buildDayTable(dateProfile, dateProfileGenerator);
+ var splitProps = this.splitter.splitProps(props);
+ if (this.header) {
+ this.header.receiveProps({
+ dateProfile: dateProfile,
+ dates: dayTable.headerDates,
+ datesRepDistinctDays: true,
+ renderIntroHtml: this.renderHeadIntroHtml
+ }, context);
+ }
+ this.simpleTimeGrid.receiveProps(__assign({}, splitProps['timed'], { dateProfile: dateProfile,
+ dayTable: dayTable }), context);
+ if (this.simpleDayGrid) {
+ this.simpleDayGrid.receiveProps(__assign({}, splitProps['allDay'], { dateProfile: dateProfile,
+ dayTable: dayTable,
+ nextDayThreshold: nextDayThreshold, isRigid: false }), context);
+ }
+ this.startNowIndicator(dateProfile, dateProfileGenerator);
+ };
+ TimeGridView.prototype._renderSkeleton = function (context) {
+ _super.prototype._renderSkeleton.call(this, context);
+ if (context.options.columnHeader) {
+ this.header = new DayHeader(this.el.querySelector('.fc-head-container'));
+ }
+ this.simpleTimeGrid = new SimpleTimeGrid(this.timeGrid);
+ if (this.dayGrid) {
+ this.simpleDayGrid = new SimpleDayGrid(this.dayGrid);
+ }
+ };
+ TimeGridView.prototype._unrenderSkeleton = function () {
+ _super.prototype._unrenderSkeleton.call(this);
+ if (this.header) {
+ this.header.destroy();
+ }
+ this.simpleTimeGrid.destroy();
+ if (this.simpleDayGrid) {
+ this.simpleDayGrid.destroy();
+ }
+ };
+ TimeGridView.prototype.renderNowIndicator = function (date) {
+ this.simpleTimeGrid.renderNowIndicator(date);
+ };
+ return TimeGridView;
+}(AbstractTimeGridView));
+function buildDayTable(dateProfile, dateProfileGenerator) {
+ var daySeries = new DaySeries(dateProfile.renderRange, dateProfileGenerator);
+ return new DayTable(daySeries, false);
+}
+
+var main = createPlugin({
+ defaultView: 'timeGridWeek',
+ views: {
+ timeGrid: {
+ class: TimeGridView,
+ allDaySlot: true,
+ slotDuration: '00:30:00',
+ slotEventOverlap: true // a bad name. confused with overlap/constraint system
+ },
+ timeGridDay: {
+ type: 'timeGrid',
+ duration: { days: 1 }
+ },
+ timeGridWeek: {
+ type: 'timeGrid',
+ duration: { weeks: 1 }
+ }
+ }
+});
+
+export default main;
+export { AbstractTimeGridView, TimeGrid, TimeGridSlicer, TimeGridView, buildDayRanges, buildDayTable };
diff --git a/library/fullcalendar/packages/timegrid/main.js b/library/fullcalendar/packages/timegrid/main.js
index e96a54b93..d64a8a2ea 100644
--- a/library/fullcalendar/packages/timegrid/main.js
+++ b/library/fullcalendar/packages/timegrid/main.js
@@ -1,8 +1,9 @@
/*!
-FullCalendar Time Grid Plugin v4.0.2
+FullCalendar Time Grid Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
+
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core'), require('@fullcalendar/daygrid')) :
typeof define === 'function' && define.amd ? define(['exports', '@fullcalendar/core', '@fullcalendar/daygrid'], factory) :
@@ -10,18 +11,18 @@ Docs & License: https://fullcalendar.io/
}(this, function (exports, core, daygrid) { 'use strict';
/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
+ Copyright (c) Microsoft Corporation.
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
@@ -56,15 +57,19 @@ Docs & License: https://fullcalendar.io/
var TimeGridEventRenderer = /** @class */ (function (_super) {
__extends(TimeGridEventRenderer, _super);
function TimeGridEventRenderer(timeGrid) {
- var _this = _super.call(this, timeGrid.context) || this;
+ var _this = _super.call(this) || this;
_this.timeGrid = timeGrid;
- _this.fullTimeFormat = core.createFormatter({
+ return _this;
+ }
+ TimeGridEventRenderer.prototype.renderSegs = function (context, segs, mirrorInfo) {
+ _super.prototype.renderSegs.call(this, context, segs, mirrorInfo);
+ // TODO: dont do every time. memoize
+ this.fullTimeFormat = core.createFormatter({
hour: 'numeric',
minute: '2-digit',
- separator: _this.context.options.defaultRangeSeparator
+ separator: this.context.options.defaultRangeSeparator
});
- return _this;
- }
+ };
// Given an array of foreground segments, render a DOM element for each, computes position,
// and attaches to the column inner-container elements.
TimeGridEventRenderer.prototype.attachSegs = function (segs, mirrorInfo) {
@@ -121,9 +126,9 @@ Docs & License: https://fullcalendar.io/
var eventDef = eventRange.def;
var eventUi = eventRange.ui;
var allDay = eventDef.allDay;
- var isDraggable = eventUi.startEditable;
- var isResizableFromStart = seg.isStart && eventUi.durationEditable && this.context.options.eventResizableFromStart;
- var isResizableFromEnd = seg.isEnd && eventUi.durationEditable;
+ var isDraggable = core.computeEventDraggable(this.context, eventDef, eventUi);
+ var isResizableFromStart = seg.isStart && core.computeEventStartResizable(this.context, eventDef, eventUi);
+ var isResizableFromEnd = seg.isEnd && core.computeEventEndResizable(this.context, eventDef, eventUi);
var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd, mirrorInfo);
var skinCss = core.cssToStr(this.getSkinCss(eventUi));
var timeText;
@@ -243,7 +248,7 @@ Docs & License: https://fullcalendar.io/
{ field: 'forwardPressure', order: -1 },
// put segments that are closer to initial edge first (and favor ones with no coords yet)
{ field: 'backwardCoord', order: 1 }
- ].concat(this.context.view.eventOrderSpecs);
+ ].concat(this.context.eventOrderSpecs);
objs.sort(function (obj0, obj1) {
return core.compareByFieldSpecs(obj0, obj1, specs);
});
@@ -274,7 +279,7 @@ Docs & License: https://fullcalendar.io/
var backwardCoord = seg.backwardCoord; // the left side if LTR. the right side if RTL. floating-point
var forwardCoord = seg.forwardCoord; // the right side if LTR. the left side if RTL. floating-point
var props = this.timeGrid.generateSegVerticalCss(seg); // get top/bottom first
- var isRtl = this.timeGrid.isRtl;
+ var isRtl = this.context.isRtl;
var left; // amount of space from left edge, a fraction of the total width
var right; // amount of space from right edge, a fraction of the total width
if (shouldOverlap) {
@@ -408,7 +413,7 @@ Docs & License: https://fullcalendar.io/
var TimeGridFillRenderer = /** @class */ (function (_super) {
__extends(TimeGridFillRenderer, _super);
function TimeGridFillRenderer(timeGrid) {
- var _this = _super.call(this, timeGrid.context) || this;
+ var _this = _super.call(this) || this;
_this.timeGrid = timeGrid;
return _this;
}
@@ -452,15 +457,19 @@ Docs & License: https://fullcalendar.io/
];
var TimeGrid = /** @class */ (function (_super) {
__extends(TimeGrid, _super);
- function TimeGrid(context, el, renderProps) {
- var _this = _super.call(this, context, el) || this;
+ function TimeGrid(el, renderProps) {
+ var _this = _super.call(this, el) || this;
_this.isSlatSizesDirty = false;
_this.isColSizesDirty = false;
- _this.renderSlats = core.memoizeRendering(_this._renderSlats);
+ _this.processOptions = core.memoize(_this._processOptions);
+ _this.renderSkeleton = core.memoizeRendering(_this._renderSkeleton);
+ _this.renderSlats = core.memoizeRendering(_this._renderSlats, null, [_this.renderSkeleton]);
+ _this.renderColumns = core.memoizeRendering(_this._renderColumns, _this._unrenderColumns, [_this.renderSkeleton]);
+ _this.renderProps = renderProps;
+ var renderColumns = _this.renderColumns;
var eventRenderer = _this.eventRenderer = new TimeGridEventRenderer(_this);
var fillRenderer = _this.fillRenderer = new TimeGridFillRenderer(_this);
_this.mirrorRenderer = new TimeGridMirrorRenderer(_this);
- var renderColumns = _this.renderColumns = core.memoizeRendering(_this._renderColumns, _this._unrenderColumns);
_this.renderBusinessHours = core.memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderColumns]);
_this.renderDateSelection = core.memoizeRendering(_this._renderDateSelection, _this._unrenderDateSelection, [renderColumns]);
_this.renderFgEvents = core.memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderColumns]);
@@ -468,23 +477,14 @@ Docs & License: https://fullcalendar.io/
_this.renderEventSelection = core.memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);
_this.renderEventDrag = core.memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderColumns]);
_this.renderEventResize = core.memoizeRendering(_this._renderEventResize, _this._unrenderEventResize, [renderColumns]);
- _this.processOptions();
- el.innerHTML =
- '<div class="fc-bg"></div>' +
- '<div class="fc-slats"></div>' +
- '<hr class="fc-divider ' + _this.theme.getClass('widgetHeader') + '" style="display:none" />';
- _this.rootBgContainerEl = el.querySelector('.fc-bg');
- _this.slatContainerEl = el.querySelector('.fc-slats');
- _this.bottomRuleEl = el.querySelector('.fc-divider');
- _this.renderProps = renderProps;
return _this;
}
/* Options
------------------------------------------------------------------------------------------------------------------*/
// Parses various options into properties of this object
- TimeGrid.prototype.processOptions = function () {
- var slotDuration = this.opt('slotDuration');
- var snapDuration = this.opt('snapDuration');
+ // MUST have context already set
+ TimeGrid.prototype._processOptions = function (options) {
+ var slotDuration = options.slotDuration, snapDuration = options.snapDuration;
var snapsPerSlot;
var input;
slotDuration = core.createDuration(slotDuration);
@@ -500,7 +500,7 @@ Docs & License: https://fullcalendar.io/
this.snapsPerSlot = snapsPerSlot;
// might be an array value (for TimelineView).
// if so, getting the most granular entry (the last one probably).
- input = this.opt('slotLabelFormat');
+ input = options.slotLabelFormat;
if (Array.isArray(input)) {
input = input[input.length - 1];
}
@@ -510,7 +510,7 @@ Docs & License: https://fullcalendar.io/
omitZeroMinute: true,
meridiem: 'short'
});
- input = this.opt('slotLabelInterval');
+ input = options.slotLabelInterval;
this.labelInterval = input ?
core.createDuration(input) :
this.computeLabelInterval(slotDuration);
@@ -532,15 +532,17 @@ Docs & License: https://fullcalendar.io/
};
/* Rendering
------------------------------------------------------------------------------------------------------------------*/
- TimeGrid.prototype.render = function (props) {
+ TimeGrid.prototype.render = function (props, context) {
+ this.processOptions(context.options);
var cells = props.cells;
this.colCnt = cells.length;
+ this.renderSkeleton(context.theme);
this.renderSlats(props.dateProfile);
this.renderColumns(props.cells, props.dateProfile);
- this.renderBusinessHours(props.businessHourSegs);
+ this.renderBusinessHours(context, props.businessHourSegs);
this.renderDateSelection(props.dateSelectionSegs);
- this.renderFgEvents(props.fgEventSegs);
- this.renderBgEvents(props.bgEventSegs);
+ this.renderFgEvents(context, props.fgEventSegs);
+ this.renderBgEvents(context, props.bgEventSegs);
this.renderEventSelection(props.eventSelection);
this.renderEventDrag(props.eventDrag);
this.renderEventResize(props.eventResize);
@@ -550,6 +552,7 @@ Docs & License: https://fullcalendar.io/
// should unrender everything else too
this.renderSlats.unrender();
this.renderColumns.unrender();
+ this.renderSkeleton.unrender();
};
TimeGrid.prototype.updateSize = function (isResize) {
var _a = this, fillRenderer = _a.fillRenderer, eventRenderer = _a.eventRenderer, mirrorRenderer = _a.mirrorRenderer;
@@ -568,8 +571,18 @@ Docs & License: https://fullcalendar.io/
eventRenderer.assignSizes(isResize);
mirrorRenderer.assignSizes(isResize);
};
+ TimeGrid.prototype._renderSkeleton = function (theme) {
+ var el = this.el;
+ el.innerHTML =
+ '<div class="fc-bg"></div>' +
+ '<div class="fc-slats"></div>' +
+ '<hr class="fc-divider ' + theme.getClass('widgetHeader') + '" style="display:none" />';
+ this.rootBgContainerEl = el.querySelector('.fc-bg');
+ this.slatContainerEl = el.querySelector('.fc-slats');
+ this.bottomRuleEl = el.querySelector('.fc-divider');
+ };
TimeGrid.prototype._renderSlats = function (dateProfile) {
- var theme = this.theme;
+ var theme = this.context.theme;
this.slatContainerEl.innerHTML =
'<table class="' + theme.getClass('tableGrid') + '">' +
this.renderSlatRowHtml(dateProfile) +
@@ -581,7 +594,7 @@ Docs & License: https://fullcalendar.io/
};
// Generates the HTML for the horizontal "slats" that run width-wise. Has a time axis on a side. Depends on RTL.
TimeGrid.prototype.renderSlatRowHtml = function (dateProfile) {
- var _a = this, dateEnv = _a.dateEnv, theme = _a.theme, isRtl = _a.isRtl;
+ var _a = this.context, dateEnv = _a.dateEnv, theme = _a.theme, isRtl = _a.isRtl;
var html = '';
var dayStart = core.startOfDay(dateProfile.renderRange.start);
var slotTime = dateProfile.minTime;
@@ -615,7 +628,7 @@ Docs & License: https://fullcalendar.io/
return html;
};
TimeGrid.prototype._renderColumns = function (cells, dateProfile) {
- var theme = this.theme;
+ var _a = this.context, calendar = _a.calendar, view = _a.view, isRtl = _a.isRtl, theme = _a.theme, dateEnv = _a.dateEnv;
var bgRow = new daygrid.DayBgRow(this.context);
this.rootBgContainerEl.innerHTML =
'<table class="' + theme.getClass('tableGrid') + '">' +
@@ -626,7 +639,16 @@ Docs & License: https://fullcalendar.io/
}) +
'</table>';
this.colEls = core.findElements(this.el, '.fc-day, .fc-disabled-day');
- if (this.isRtl) {
+ for (var col = 0; col < this.colCnt; col++) {
+ calendar.publiclyTrigger('dayRender', [
+ {
+ date: dateEnv.toDate(cells[col].date),
+ el: this.colEls[col],
+ view: view
+ }
+ ]);
+ }
+ if (isRtl) {
this.colEls.reverse();
}
this.colPositions = new core.PositionCache(this.el, this.colEls, true, // horizontal
@@ -641,6 +663,7 @@ Docs & License: https://fullcalendar.io/
------------------------------------------------------------------------------------------------------------------*/
// Renders the DOM that the view's content will live in
TimeGrid.prototype.renderContentSkeleton = function () {
+ var isRtl = this.context.isRtl;
var parts = [];
var skeletonEl;
parts.push(this.renderProps.renderIntroHtml());
@@ -655,7 +678,7 @@ Docs & License: https://fullcalendar.io/
'</div>' +
'</td>');
}
- if (this.isRtl) {
+ if (isRtl) {
parts.reverse();
}
skeletonEl = this.contentSkeletonEl = core.htmlToElement('<div class="fc-content-skeleton">' +
@@ -669,7 +692,7 @@ Docs & License: https://fullcalendar.io/
this.bgContainerEls = core.findElements(skeletonEl, '.fc-bgevent-container');
this.highlightContainerEls = core.findElements(skeletonEl, '.fc-highlight-container');
this.businessContainerEls = core.findElements(skeletonEl, '.fc-business-container');
- if (this.isRtl) {
+ if (isRtl) {
this.colContainerEls.reverse();
this.mirrorContainerEls.reverse();
this.fgContainerEls.reverse();
@@ -745,7 +768,7 @@ Docs & License: https://fullcalendar.io/
/* Coordinates
------------------------------------------------------------------------------------------------------------------*/
TimeGrid.prototype.getTotalSlatHeight = function () {
- return this.slatContainerEl.offsetHeight;
+ return this.slatContainerEl.getBoundingClientRect().height;
};
// Computes the top coordinate, relative to the bounds of the grid, of the given date.
// A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.
@@ -753,13 +776,13 @@ Docs & License: https://fullcalendar.io/
if (!startOfDayDate) {
startOfDayDate = core.startOfDay(when);
}
- return this.computeTimeTop(when.valueOf() - startOfDayDate.valueOf());
+ return this.computeTimeTop(core.createDuration(when.valueOf() - startOfDayDate.valueOf()));
};
// Computes the top coordinate, relative to the bounds of the grid, of the given time (a Duration).
- TimeGrid.prototype.computeTimeTop = function (timeMs) {
+ TimeGrid.prototype.computeTimeTop = function (duration) {
var len = this.slatEls.length;
var dateProfile = this.props.dateProfile;
- var slatCoverage = (timeMs - core.asRoughMs(dateProfile.minTime)) / core.asRoughMs(this.slotDuration); // floating-point value of # of slots covered
+ var slatCoverage = (duration.milliseconds - core.asRoughMs(dateProfile.minTime)) / core.asRoughMs(this.slotDuration); // floating-point value of # of slots covered
var slatIndex;
var slatRemainder;
// compute a floating-point number for how many slats should be progressed through.
@@ -779,7 +802,8 @@ Docs & License: https://fullcalendar.io/
};
// For each segment in an array, computes and assigns its top and bottom properties
TimeGrid.prototype.computeSegVerticals = function (segs) {
- var eventMinHeight = this.opt('timeGridEventMinHeight');
+ var options = this.context.options;
+ var eventMinHeight = options.timeGridEventMinHeight;
var i;
var seg;
var dayDate;
@@ -809,6 +833,10 @@ Docs & License: https://fullcalendar.io/
};
/* Sizing
------------------------------------------------------------------------------------------------------------------*/
+ TimeGrid.prototype.buildPositionCaches = function () {
+ this.buildColPositions();
+ this.buildSlatPositions();
+ };
TimeGrid.prototype.buildColPositions = function () {
this.colPositions.build();
};
@@ -818,7 +846,8 @@ Docs & License: https://fullcalendar.io/
/* Hit System
------------------------------------------------------------------------------------------------------------------*/
TimeGrid.prototype.positionToHit = function (positionLeft, positionTop) {
- var _a = this, dateEnv = _a.dateEnv, snapsPerSlot = _a.snapsPerSlot, slatPositions = _a.slatPositions, colPositions = _a.colPositions;
+ var dateEnv = this.context.dateEnv;
+ var _a = this, snapsPerSlot = _a.snapsPerSlot, slatPositions = _a.slatPositions, colPositions = _a.colPositions;
var colIndex = colPositions.leftToIndex(positionLeft);
var slatIndex = slatPositions.topToIndex(positionTop);
if (colIndex != null && slatIndex != null) {
@@ -853,18 +882,22 @@ Docs & License: https://fullcalendar.io/
if (state) {
this.eventRenderer.hideByHash(state.affectedInstances);
if (state.isEvent) {
- this.mirrorRenderer.renderSegs(state.segs, { isDragging: true, sourceSeg: state.sourceSeg });
+ this.mirrorRenderer.renderSegs(this.context, state.segs, { isDragging: true, sourceSeg: state.sourceSeg });
}
else {
- this.fillRenderer.renderSegs('highlight', state.segs);
+ this.fillRenderer.renderSegs('highlight', this.context, state.segs);
}
}
};
TimeGrid.prototype._unrenderEventDrag = function (state) {
if (state) {
this.eventRenderer.showByHash(state.affectedInstances);
- this.mirrorRenderer.unrender(state.segs, { isDragging: true, sourceSeg: state.sourceSeg });
- this.fillRenderer.unrender('highlight');
+ if (state.isEvent) {
+ this.mirrorRenderer.unrender(this.context, state.segs, { isDragging: true, sourceSeg: state.sourceSeg });
+ }
+ else {
+ this.fillRenderer.unrender('highlight', this.context);
+ }
}
};
/* Event Resize Visualization
@@ -872,13 +905,13 @@ Docs & License: https://fullcalendar.io/
TimeGrid.prototype._renderEventResize = function (state) {
if (state) {
this.eventRenderer.hideByHash(state.affectedInstances);
- this.mirrorRenderer.renderSegs(state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
+ this.mirrorRenderer.renderSegs(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
}
};
TimeGrid.prototype._unrenderEventResize = function (state) {
if (state) {
this.eventRenderer.showByHash(state.affectedInstances);
- this.mirrorRenderer.unrender(state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
+ this.mirrorRenderer.unrender(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });
}
};
/* Selection
@@ -886,17 +919,23 @@ Docs & License: https://fullcalendar.io/
// Renders a visual indication of a selection. Overrides the default, which was to simply render a highlight.
TimeGrid.prototype._renderDateSelection = function (segs) {
if (segs) {
- if (this.opt('selectMirror')) {
- this.mirrorRenderer.renderSegs(segs, { isSelecting: true });
+ if (this.context.options.selectMirror) {
+ this.mirrorRenderer.renderSegs(this.context, segs, { isSelecting: true });
}
else {
- this.fillRenderer.renderSegs('highlight', segs);
+ this.fillRenderer.renderSegs('highlight', this.context, segs);
}
}
};
TimeGrid.prototype._unrenderDateSelection = function (segs) {
- this.mirrorRenderer.unrender(segs, { isSelecting: true });
- this.fillRenderer.unrender('highlight');
+ if (segs) {
+ if (this.context.options.selectMirror) {
+ this.mirrorRenderer.unrender(this.context, segs, { isSelecting: true });
+ }
+ else {
+ this.fillRenderer.unrender('highlight', this.context);
+ }
+ }
};
return TimeGrid;
}(core.DateComponent));
@@ -940,25 +979,26 @@ Docs & License: https://fullcalendar.io/
----------------------------------------------------------------------------------------------------------------------*/
// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).
// Responsible for managing width/height.
- var TimeGridView = /** @class */ (function (_super) {
- __extends(TimeGridView, _super);
- function TimeGridView(context, viewSpec, dateProfileGenerator, parentEl) {
- var _this = _super.call(this, context, viewSpec, dateProfileGenerator, parentEl) || this;
+ var AbstractTimeGridView = /** @class */ (function (_super) {
+ __extends(AbstractTimeGridView, _super);
+ function AbstractTimeGridView() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
_this.splitter = new AllDaySplitter();
+ _this.renderSkeleton = core.memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);
/* Header Render Methods
------------------------------------------------------------------------------------------------------------------*/
// Generates the HTML that will go before the day-of week header cells
_this.renderHeadIntroHtml = function () {
- var _a = _this, theme = _a.theme, dateEnv = _a.dateEnv;
+ var _a = _this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;
var range = _this.props.dateProfile.renderRange;
var dayCnt = core.diffDays(range.start, range.end);
var weekText;
- if (_this.opt('weekNumbers')) {
+ if (options.weekNumbers) {
weekText = dateEnv.format(range.start, WEEK_HEADER_FORMAT);
return '' +
'<th class="fc-axis fc-week-number ' + theme.getClass('widgetHeader') + '" ' + _this.axisStyleAttr() + '>' +
core.buildGotoAnchorHtml(// aside from link, important for matchCellWidths
- _this, { date: range.start, type: 'week', forceOff: dayCnt > 1 }, core.htmlEscape(weekText) // inner HTML
+ options, dateEnv, { date: range.start, type: 'week', forceOff: dayCnt > 1 }, core.htmlEscape(weekText) // inner HTML
) +
'</th>';
}
@@ -970,7 +1010,7 @@ Docs & License: https://fullcalendar.io/
------------------------------------------------------------------------------------------------------------------*/
// Generates the HTML that goes before the bg of the TimeGrid slot area. Long vertical column.
_this.renderTimeGridBgIntroHtml = function () {
- var theme = _this.theme;
+ var theme = _this.context.theme;
return '<td class="fc-axis ' + theme.getClass('widgetContent') + '" ' + _this.axisStyleAttr() + '></td>';
};
// Generates the HTML that goes before all other types of cells.
@@ -982,11 +1022,11 @@ Docs & License: https://fullcalendar.io/
------------------------------------------------------------------------------------------------------------------*/
// Generates the HTML that goes before the all-day cells
_this.renderDayGridBgIntroHtml = function () {
- var theme = _this.theme;
+ var _a = _this.context, theme = _a.theme, options = _a.options;
return '' +
'<td class="fc-axis ' + theme.getClass('widgetContent') + '" ' + _this.axisStyleAttr() + '>' +
'<span>' + // needed for matchCellWidths
- core.getAllDayHtml(_this) +
+ core.getAllDayHtml(options) +
'</span>' +
'</td>';
};
@@ -995,36 +1035,47 @@ Docs & License: https://fullcalendar.io/
_this.renderDayGridIntroHtml = function () {
return '<td class="fc-axis" ' + _this.axisStyleAttr() + '></td>';
};
- _this.el.classList.add('fc-timeGrid-view');
- _this.el.innerHTML = _this.renderSkeletonHtml();
- _this.scroller = new core.ScrollComponent('hidden', // overflow x
+ return _this;
+ }
+ AbstractTimeGridView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context);
+ this.renderSkeleton(context);
+ };
+ AbstractTimeGridView.prototype.destroy = function () {
+ _super.prototype.destroy.call(this);
+ this.renderSkeleton.unrender();
+ };
+ AbstractTimeGridView.prototype._renderSkeleton = function (context) {
+ this.el.classList.add('fc-timeGrid-view');
+ this.el.innerHTML = this.renderSkeletonHtml();
+ this.scroller = new core.ScrollComponent('hidden', // overflow x
'auto' // overflow y
);
- var timeGridWrapEl = _this.scroller.el;
- _this.el.querySelector('.fc-body > tr > td').appendChild(timeGridWrapEl);
+ var timeGridWrapEl = this.scroller.el;
+ this.el.querySelector('.fc-body > tr > td').appendChild(timeGridWrapEl);
timeGridWrapEl.classList.add('fc-time-grid-container');
var timeGridEl = core.createElement('div', { className: 'fc-time-grid' });
timeGridWrapEl.appendChild(timeGridEl);
- _this.timeGrid = new TimeGrid(_this.context, timeGridEl, {
- renderBgIntroHtml: _this.renderTimeGridBgIntroHtml,
- renderIntroHtml: _this.renderTimeGridIntroHtml
+ this.timeGrid = new TimeGrid(timeGridEl, {
+ renderBgIntroHtml: this.renderTimeGridBgIntroHtml,
+ renderIntroHtml: this.renderTimeGridIntroHtml
});
- if (_this.opt('allDaySlot')) { // should we display the "all-day" area?
- _this.dayGrid = new daygrid.DayGrid(// the all-day subcomponent of this view
- _this.context, _this.el.querySelector('.fc-day-grid'), {
- renderNumberIntroHtml: _this.renderDayGridIntroHtml,
- renderBgIntroHtml: _this.renderDayGridBgIntroHtml,
- renderIntroHtml: _this.renderDayGridIntroHtml,
+ if (context.options.allDaySlot) { // should we display the "all-day" area?
+ this.dayGrid = new daygrid.DayGrid(// the all-day subcomponent of this view
+ this.el.querySelector('.fc-day-grid'), {
+ renderNumberIntroHtml: this.renderDayGridIntroHtml,
+ renderBgIntroHtml: this.renderDayGridBgIntroHtml,
+ renderIntroHtml: this.renderDayGridIntroHtml,
colWeekNumbersVisible: false,
cellWeekNumbersVisible: false
});
// have the day-grid extend it's coordinate area over the <hr> dividing the two grids
- _this.dayGrid.bottomCoordPadding = _this.el.querySelector('.fc-divider').offsetHeight;
+ var dividerEl = this.el.querySelector('.fc-divider');
+ this.dayGrid.bottomCoordPadding = dividerEl.getBoundingClientRect().height;
}
- return _this;
- }
- TimeGridView.prototype.destroy = function () {
- _super.prototype.destroy.call(this);
+ };
+ AbstractTimeGridView.prototype._unrenderSkeleton = function () {
+ this.el.classList.remove('fc-timeGrid-view');
this.timeGrid.destroy();
if (this.dayGrid) {
this.dayGrid.destroy();
@@ -1035,11 +1086,11 @@ Docs & License: https://fullcalendar.io/
------------------------------------------------------------------------------------------------------------------*/
// Builds the HTML skeleton for the view.
// The day-grid and time-grid components will render inside containers defined by this HTML.
- TimeGridView.prototype.renderSkeletonHtml = function () {
- var theme = this.theme;
+ AbstractTimeGridView.prototype.renderSkeletonHtml = function () {
+ var _a = this.context, theme = _a.theme, options = _a.options;
return '' +
'<table class="' + theme.getClass('tableGrid') + '">' +
- (this.opt('columnHeader') ?
+ (options.columnHeader ?
'<thead class="fc-head">' +
'<tr>' +
'<td class="fc-head-container ' + theme.getClass('widgetHeader') + '">&nbsp;</td>' +
@@ -1049,7 +1100,7 @@ Docs & License: https://fullcalendar.io/
'<tbody class="fc-body">' +
'<tr>' +
'<td class="' + theme.getClass('widgetContent') + '">' +
- (this.opt('allDaySlot') ?
+ (options.allDaySlot ?
'<div class="fc-day-grid"></div>' +
'<hr class="fc-divider ' + theme.getClass('widgetHeader') + '" />' :
'') +
@@ -1060,18 +1111,18 @@ Docs & License: https://fullcalendar.io/
};
/* Now Indicator
------------------------------------------------------------------------------------------------------------------*/
- TimeGridView.prototype.getNowIndicatorUnit = function () {
+ AbstractTimeGridView.prototype.getNowIndicatorUnit = function () {
return this.timeGrid.getNowIndicatorUnit();
};
// subclasses should implement
// renderNowIndicator(date: DateMarker) {
// }
- TimeGridView.prototype.unrenderNowIndicator = function () {
+ AbstractTimeGridView.prototype.unrenderNowIndicator = function () {
this.timeGrid.unrenderNowIndicator();
};
/* Dimensions
------------------------------------------------------------------------------------------------------------------*/
- TimeGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {
+ AbstractTimeGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {
_super.prototype.updateSize.call(this, isResize, viewHeight, isAuto); // will call updateBaseSize. important that executes first
this.timeGrid.updateSize(isResize);
if (this.dayGrid) {
@@ -1079,7 +1130,7 @@ Docs & License: https://fullcalendar.io/
}
};
// Adjusts the vertical dimensions of the view to the specified values
- TimeGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {
+ AbstractTimeGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {
var _this = this;
var eventLimit;
var scrollerHeight;
@@ -1106,7 +1157,7 @@ Docs & License: https://fullcalendar.io/
// limit number of events in the all-day area
if (this.dayGrid) {
this.dayGrid.removeSegPopover(); // kill the "more" popover if displayed
- eventLimit = this.opt('eventLimit');
+ eventLimit = this.context.options.eventLimit;
if (eventLimit && typeof eventLimit !== 'number') {
eventLimit = TIMEGRID_ALL_DAY_EVENT_LIMIT; // make sure "auto" goes to a real number
}
@@ -1138,16 +1189,15 @@ Docs & License: https://fullcalendar.io/
}
};
// given a desired total height of the view, returns what the height of the scroller should be
- TimeGridView.prototype.computeScrollerHeight = function (viewHeight) {
+ AbstractTimeGridView.prototype.computeScrollerHeight = function (viewHeight) {
return viewHeight -
core.subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
};
/* Scroll
------------------------------------------------------------------------------------------------------------------*/
// Computes the initial pre-configured scroll state prior to allowing the user to change it
- TimeGridView.prototype.computeInitialDateScroll = function () {
- var scrollTime = core.createDuration(this.opt('scrollTime'));
- var top = this.timeGrid.computeTimeTop(scrollTime.milliseconds);
+ AbstractTimeGridView.prototype.computeDateScroll = function (duration) {
+ var top = this.timeGrid.computeTimeTop(duration);
// zoom can give weird floating-point values. rather scroll a little bit further
top = Math.ceil(top);
if (top) {
@@ -1155,49 +1205,57 @@ Docs & License: https://fullcalendar.io/
}
return { top: top };
};
- TimeGridView.prototype.queryDateScroll = function () {
+ AbstractTimeGridView.prototype.queryDateScroll = function () {
return { top: this.scroller.getScrollTop() };
};
- TimeGridView.prototype.applyDateScroll = function (scroll) {
+ AbstractTimeGridView.prototype.applyDateScroll = function (scroll) {
if (scroll.top !== undefined) {
this.scroller.setScrollTop(scroll.top);
}
};
// Generates an HTML attribute string for setting the width of the axis, if it is known
- TimeGridView.prototype.axisStyleAttr = function () {
+ AbstractTimeGridView.prototype.axisStyleAttr = function () {
if (this.axisWidth != null) {
return 'style="width:' + this.axisWidth + 'px"';
}
return '';
};
- return TimeGridView;
+ return AbstractTimeGridView;
}(core.View));
- TimeGridView.prototype.usesMinMaxTime = true; // indicates that minTime/maxTime affects rendering
+ AbstractTimeGridView.prototype.usesMinMaxTime = true; // indicates that minTime/maxTime affects rendering
var SimpleTimeGrid = /** @class */ (function (_super) {
__extends(SimpleTimeGrid, _super);
- function SimpleTimeGrid(context, timeGrid) {
- var _this = _super.call(this, context, timeGrid.el) || this;
+ function SimpleTimeGrid(timeGrid) {
+ var _this = _super.call(this, timeGrid.el) || this;
_this.buildDayRanges = core.memoize(buildDayRanges);
_this.slicer = new TimeGridSlicer();
_this.timeGrid = timeGrid;
- context.calendar.registerInteractiveComponent(_this, {
- el: _this.timeGrid.el
- });
return _this;
}
+ SimpleTimeGrid.prototype.firstContext = function (context) {
+ context.calendar.registerInteractiveComponent(this, {
+ el: this.timeGrid.el
+ });
+ };
SimpleTimeGrid.prototype.destroy = function () {
_super.prototype.destroy.call(this);
- this.calendar.unregisterInteractiveComponent(this);
+ this.context.calendar.unregisterInteractiveComponent(this);
};
- SimpleTimeGrid.prototype.render = function (props) {
+ SimpleTimeGrid.prototype.render = function (props, context) {
+ var dateEnv = this.context.dateEnv;
var dateProfile = props.dateProfile, dayTable = props.dayTable;
- var dayRanges = this.dayRanges = this.buildDayRanges(dayTable, dateProfile, this.dateEnv);
- this.timeGrid.receiveProps(__assign({}, this.slicer.sliceProps(props, dateProfile, null, this.timeGrid, dayRanges), { dateProfile: dateProfile, cells: dayTable.cells[0] }));
+ var dayRanges = this.dayRanges = this.buildDayRanges(dayTable, dateProfile, dateEnv);
+ var timeGrid = this.timeGrid;
+ timeGrid.receiveContext(context); // hack because context is used in sliceProps
+ timeGrid.receiveProps(__assign({}, this.slicer.sliceProps(props, dateProfile, null, context.calendar, timeGrid, dayRanges), { dateProfile: dateProfile, cells: dayTable.cells[0] }), context);
};
SimpleTimeGrid.prototype.renderNowIndicator = function (date) {
this.timeGrid.renderNowIndicator(this.slicer.sliceNowDate(date, this.timeGrid, this.dayRanges), date);
};
+ SimpleTimeGrid.prototype.buildPositionCaches = function () {
+ this.timeGrid.buildPositionCaches();
+ };
SimpleTimeGrid.prototype.queryHit = function (positionLeft, positionTop) {
var rawHit = this.timeGrid.positionToHit(positionLeft, positionTop);
if (rawHit) {
@@ -1252,34 +1310,18 @@ Docs & License: https://fullcalendar.io/
return TimeGridSlicer;
}(core.Slicer));
- var TimeGridView$1 = /** @class */ (function (_super) {
+ var TimeGridView = /** @class */ (function (_super) {
__extends(TimeGridView, _super);
- function TimeGridView(_context, viewSpec, dateProfileGenerator, parentEl) {
- var _this = _super.call(this, _context, viewSpec, dateProfileGenerator, parentEl) || this;
+ function TimeGridView() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
_this.buildDayTable = core.memoize(buildDayTable);
- if (_this.opt('columnHeader')) {
- _this.header = new core.DayHeader(_this.context, _this.el.querySelector('.fc-head-container'));
- }
- _this.simpleTimeGrid = new SimpleTimeGrid(_this.context, _this.timeGrid);
- if (_this.dayGrid) {
- _this.simpleDayGrid = new daygrid.SimpleDayGrid(_this.context, _this.dayGrid);
- }
return _this;
}
- TimeGridView.prototype.destroy = function () {
- _super.prototype.destroy.call(this);
- if (this.header) {
- this.header.destroy();
- }
- this.simpleTimeGrid.destroy();
- if (this.simpleDayGrid) {
- this.simpleDayGrid.destroy();
- }
- };
- TimeGridView.prototype.render = function (props) {
- _super.prototype.render.call(this, props); // for flags for updateSize
- var dateProfile = this.props.dateProfile;
- var dayTable = this.buildDayTable(dateProfile, this.dateProfileGenerator);
+ TimeGridView.prototype.render = function (props, context) {
+ _super.prototype.render.call(this, props, context); // for flags for updateSize. also _renderSkeleton/_unrenderSkeleton
+ var _a = this.props, dateProfile = _a.dateProfile, dateProfileGenerator = _a.dateProfileGenerator;
+ var nextDayThreshold = context.nextDayThreshold;
+ var dayTable = this.buildDayTable(dateProfile, dateProfileGenerator);
var splitProps = this.splitter.splitProps(props);
if (this.header) {
this.header.receiveProps({
@@ -1287,20 +1329,42 @@ Docs & License: https://fullcalendar.io/
dates: dayTable.headerDates,
datesRepDistinctDays: true,
renderIntroHtml: this.renderHeadIntroHtml
- });
+ }, context);
}
this.simpleTimeGrid.receiveProps(__assign({}, splitProps['timed'], { dateProfile: dateProfile,
- dayTable: dayTable }));
+ dayTable: dayTable }), context);
if (this.simpleDayGrid) {
this.simpleDayGrid.receiveProps(__assign({}, splitProps['allDay'], { dateProfile: dateProfile,
- dayTable: dayTable, nextDayThreshold: this.nextDayThreshold, isRigid: false }));
+ dayTable: dayTable,
+ nextDayThreshold: nextDayThreshold, isRigid: false }), context);
+ }
+ this.startNowIndicator(dateProfile, dateProfileGenerator);
+ };
+ TimeGridView.prototype._renderSkeleton = function (context) {
+ _super.prototype._renderSkeleton.call(this, context);
+ if (context.options.columnHeader) {
+ this.header = new core.DayHeader(this.el.querySelector('.fc-head-container'));
+ }
+ this.simpleTimeGrid = new SimpleTimeGrid(this.timeGrid);
+ if (this.dayGrid) {
+ this.simpleDayGrid = new daygrid.SimpleDayGrid(this.dayGrid);
+ }
+ };
+ TimeGridView.prototype._unrenderSkeleton = function () {
+ _super.prototype._unrenderSkeleton.call(this);
+ if (this.header) {
+ this.header.destroy();
+ }
+ this.simpleTimeGrid.destroy();
+ if (this.simpleDayGrid) {
+ this.simpleDayGrid.destroy();
}
};
TimeGridView.prototype.renderNowIndicator = function (date) {
this.simpleTimeGrid.renderNowIndicator(date);
};
return TimeGridView;
- }(TimeGridView));
+ }(AbstractTimeGridView));
function buildDayTable(dateProfile, dateProfileGenerator) {
var daySeries = new core.DaySeries(dateProfile.renderRange, dateProfileGenerator);
return new core.DayTable(daySeries, false);
@@ -1310,7 +1374,7 @@ Docs & License: https://fullcalendar.io/
defaultView: 'timeGridWeek',
views: {
timeGrid: {
- class: TimeGridView$1,
+ class: TimeGridView,
allDaySlot: true,
slotDuration: '00:30:00',
slotEventOverlap: true // a bad name. confused with overlap/constraint system
@@ -1326,10 +1390,10 @@ Docs & License: https://fullcalendar.io/
}
});
- exports.AbstractTimeGridView = TimeGridView;
+ exports.AbstractTimeGridView = AbstractTimeGridView;
exports.TimeGrid = TimeGrid;
exports.TimeGridSlicer = TimeGridSlicer;
- exports.TimeGridView = TimeGridView$1;
+ exports.TimeGridView = TimeGridView;
exports.buildDayRanges = buildDayRanges;
exports.buildDayTable = buildDayTable;
exports.default = main;
diff --git a/library/fullcalendar/packages/timegrid/main.min.css b/library/fullcalendar/packages/timegrid/main.min.css
index f603e1eeb..a1abf91f5 100644
--- a/library/fullcalendar/packages/timegrid/main.min.css
+++ b/library/fullcalendar/packages/timegrid/main.min.css
@@ -1,5 +1 @@
-/*!
-FullCalendar Time Grid Plugin v4.0.2
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/.fc-timeGrid-view .fc-day-grid{position:relative;z-index:2}.fc-timeGrid-view .fc-day-grid .fc-row{min-height:3em}.fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3;position:relative}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-mirror-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-time-grid-event{margin-bottom:1px}.fc-time-grid-event-inset{-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff}.fc-time-grid-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-time-grid-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event .fc-content{overflow:hidden;max-height:100%}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent} \ No newline at end of file
+@charset "UTF-8";.fc-timeGrid-view .fc-day-grid{position:relative;z-index:2}.fc-timeGrid-view .fc-day-grid .fc-row{min-height:3em}.fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3;position:relative}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-mirror-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-time-grid-event{margin-bottom:1px}.fc-time-grid-event-inset{-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff}.fc-time-grid-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-time-grid-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event .fc-content{overflow:hidden;max-height:100%}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:" - "}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent} \ No newline at end of file
diff --git a/library/fullcalendar/packages/timegrid/main.min.js b/library/fullcalendar/packages/timegrid/main.min.js
index 309213ec9..106940ffa 100644
--- a/library/fullcalendar/packages/timegrid/main.min.js
+++ b/library/fullcalendar/packages/timegrid/main.min.js
@@ -1,20 +1,6 @@
/*!
-FullCalendar Time Grid Plugin v4.0.2
+FullCalendar Time Grid Plugin v4.4.2
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core"),require("@fullcalendar/daygrid")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core","@fullcalendar/daygrid"],t):(e=e||self,t(e.FullCalendarTimeGrid={},e.FullCalendar,e.FullCalendarDayGrid))}(this,function(e,t,r){"use strict";function i(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function n(e){var t,r,i,n=[];for(t=0;t<e.length;t++){for(r=e[t],i=0;i<n.length&&a(r,n[i]).length;i++);r.level=i,(n[i]||(n[i]=[])).push(r)}return n}function o(e){var t,r,i,n,o;for(t=0;t<e.length;t++)for(r=e[t],i=0;i<r.length;i++)for(n=r[i],n.forwardSegs=[],o=t+1;o<e.length;o++)a(n,e[o],n.forwardSegs)}function s(e){var t,r,i=e.forwardSegs,n=0;if(void 0===e.forwardPressure){for(t=0;t<i.length;t++)r=i[t],s(r),n=Math.max(n,1+r.forwardPressure);e.forwardPressure=n}}function a(e,t,r){void 0===r&&(r=[]);for(var i=0;i<t.length;i++)l(e,t[i])&&r.push(t[i]);return r}function l(e,t){return e.bottom>t.top&&e.top<t.bottom}function d(e){var r=t.buildSegCompareObj(e);return r.forwardPressure=e.forwardPressure,r.backwardCoord=e.backwardCoord,r}function c(e,t,r){for(var i=[],n=0,o=e.headerDates;n<o.length;n++){var s=o[n];i.push({start:r.add(s,t.minTime),end:r.add(s,t.maxTime)})}return i}function h(e,r){var i=new t.DaySeries(e.renderRange,r);return new t.DayTable(i,!1)}/*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},p=function(){return p=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++){t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},p.apply(this,arguments)},f=function(e){function r(r){var i=e.call(this,r.context)||this;return i.timeGrid=r,i.fullTimeFormat=t.createFormatter({hour:"numeric",minute:"2-digit",separator:i.context.options.defaultRangeSeparator}),i}return i(r,e),r.prototype.attachSegs=function(e,t){for(var r=this.timeGrid.groupSegsByCol(e),i=0;i<r.length;i++)r[i]=this.sortEventSegs(r[i]);this.segsByCol=r,this.timeGrid.attachSegsByCol(r,this.timeGrid.fgContainerEls)},r.prototype.detachSegs=function(e){e.forEach(function(e){t.removeElement(e.el)}),this.segsByCol=null},r.prototype.computeSegSizes=function(e){var t=this,r=t.timeGrid,i=t.segsByCol,n=r.colCnt;if(r.computeSegVerticals(e),i)for(var o=0;o<n;o++)this.computeSegHorizontals(i[o])},r.prototype.assignSegSizes=function(e){var t=this,r=t.timeGrid,i=t.segsByCol,n=r.colCnt;if(r.assignSegVerticals(e),i)for(var o=0;o<n;o++)this.assignSegCss(i[o])},r.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",meridiem:!1}},r.prototype.computeDisplayEventEnd=function(){return!0},r.prototype.renderSegHtml=function(e,r){var i,n,o,s=e.eventRange,a=s.def,l=s.ui,d=a.allDay,c=l.startEditable,h=e.isStart&&l.durationEditable&&this.context.options.eventResizableFromStart,u=e.isEnd&&l.durationEditable,p=this.getSegClasses(e,c,h||u,r),f=t.cssToStr(this.getSkinCss(l));if(p.unshift("fc-time-grid-event"),t.isMultiDayRange(s.range)){if(e.isStart||e.isEnd){var m=e.start,g=e.end;i=this._getTimeText(m,g,d),n=this._getTimeText(m,g,d,this.fullTimeFormat),o=this._getTimeText(m,g,d,null,!1)}}else i=this.getTimeText(s),n=this.getTimeText(s,this.fullTimeFormat),o=this.getTimeText(s,null,!1);return'<a class="'+p.join(" ")+'"'+(a.url?' href="'+t.htmlEscape(a.url)+'"':"")+(f?' style="'+f+'"':"")+'><div class="fc-content">'+(i?'<div class="fc-time" data-start="'+t.htmlEscape(o)+'" data-full="'+t.htmlEscape(n)+'"><span>'+t.htmlEscape(i)+"</span></div>":"")+(a.title?'<div class="fc-title">'+t.htmlEscape(a.title)+"</div>":"")+"</div>"+(u?'<div class="fc-resizer fc-end-resizer"></div>':"")+"</a>"},r.prototype.computeSegHorizontals=function(e){var t,r,i;if(t=n(e),o(t),r=t[0]){for(i=0;i<r.length;i++)s(r[i]);for(i=0;i<r.length;i++)this.computeSegForwardBack(r[i],0,0)}},r.prototype.computeSegForwardBack=function(e,t,r){var i,n=e.forwardSegs;if(void 0===e.forwardCoord)for(n.length?(this.sortForwardSegs(n),this.computeSegForwardBack(n[0],t+1,r),e.forwardCoord=n[0].backwardCoord):e.forwardCoord=1,e.backwardCoord=e.forwardCoord-(e.forwardCoord-r)/(t+1),i=0;i<n.length;i++)this.computeSegForwardBack(n[i],0,e.forwardCoord)},r.prototype.sortForwardSegs=function(e){var r=e.map(d),i=[{field:"forwardPressure",order:-1},{field:"backwardCoord",order:1}].concat(this.context.view.eventOrderSpecs);return r.sort(function(e,r){return t.compareByFieldSpecs(e,r,i)}),r.map(function(e){return e._seg})},r.prototype.assignSegCss=function(e){for(var r=0,i=e;r<i.length;r++){var n=i[r];t.applyStyle(n.el,this.generateSegCss(n)),n.level>0&&n.el.classList.add("fc-time-grid-event-inset"),n.eventRange.def.title&&n.bottom-n.top<30&&n.el.classList.add("fc-short")}},r.prototype.generateSegCss=function(e){var t,r,i=this.context.options.slotEventOverlap,n=e.backwardCoord,o=e.forwardCoord,s=this.timeGrid.generateSegVerticalCss(e),a=this.timeGrid.isRtl;return i&&(o=Math.min(1,n+2*(o-n))),a?(t=1-o,r=n):(t=n,r=1-o),s.zIndex=e.level+1,s.left=100*t+"%",s.right=100*r+"%",i&&e.forwardPressure&&(s[a?"marginLeft":"marginRight"]=20),s},r}(t.FgEventRenderer),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.attachSegs=function(e,t){this.segsByCol=this.timeGrid.groupSegsByCol(e),this.timeGrid.attachSegsByCol(this.segsByCol,this.timeGrid.mirrorContainerEls),this.sourceSeg=t.sourceSeg},t.prototype.generateSegCss=function(t){var r=e.prototype.generateSegCss.call(this,t),i=this.sourceSeg;if(i&&i.col===t.col){var n=e.prototype.generateSegCss.call(this,i);r.left=n.left,r.right=n.right,r.marginLeft=n.marginLeft,r.marginRight=n.marginRight}return r},t}(f),g=function(e){function t(t){var r=e.call(this,t.context)||this;return r.timeGrid=t,r}return i(t,e),t.prototype.attachSegs=function(e,t){var r,i=this.timeGrid;return"bgEvent"===e?r=i.bgContainerEls:"businessHours"===e?r=i.businessContainerEls:"highlight"===e&&(r=i.highlightContainerEls),i.attachSegsByCol(i.groupSegsByCol(t),r),t.map(function(e){return e.el})},t.prototype.computeSegSizes=function(e){this.timeGrid.computeSegVerticals(e)},t.prototype.assignSegSizes=function(e){this.timeGrid.assignSegVerticals(e)},t}(t.FillRenderer),y=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}],v=function(e){function n(r,i,n){var o=e.call(this,r,i)||this;o.isSlatSizesDirty=!1,o.isColSizesDirty=!1,o.renderSlats=t.memoizeRendering(o._renderSlats);var s=o.eventRenderer=new f(o),a=o.fillRenderer=new g(o);o.mirrorRenderer=new m(o);var l=o.renderColumns=t.memoizeRendering(o._renderColumns,o._unrenderColumns);return o.renderBusinessHours=t.memoizeRendering(a.renderSegs.bind(a,"businessHours"),a.unrender.bind(a,"businessHours"),[l]),o.renderDateSelection=t.memoizeRendering(o._renderDateSelection,o._unrenderDateSelection,[l]),o.renderFgEvents=t.memoizeRendering(s.renderSegs.bind(s),s.unrender.bind(s),[l]),o.renderBgEvents=t.memoizeRendering(a.renderSegs.bind(a,"bgEvent"),a.unrender.bind(a,"bgEvent"),[l]),o.renderEventSelection=t.memoizeRendering(s.selectByInstanceId.bind(s),s.unselectByInstanceId.bind(s),[o.renderFgEvents]),o.renderEventDrag=t.memoizeRendering(o._renderEventDrag,o._unrenderEventDrag,[l]),o.renderEventResize=t.memoizeRendering(o._renderEventResize,o._unrenderEventResize,[l]),o.processOptions(),i.innerHTML='<div class="fc-bg"></div><div class="fc-slats"></div><hr class="fc-divider '+o.theme.getClass("widgetHeader")+'" style="display:none" />',o.rootBgContainerEl=i.querySelector(".fc-bg"),o.slatContainerEl=i.querySelector(".fc-slats"),o.bottomRuleEl=i.querySelector(".fc-divider"),o.renderProps=n,o}return i(n,e),n.prototype.processOptions=function(){var e,r,i=this.opt("slotDuration"),n=this.opt("snapDuration");i=t.createDuration(i),n=n?t.createDuration(n):i,e=t.wholeDivideDurations(i,n),null===e&&(n=i,e=1),this.slotDuration=i,this.snapDuration=n,this.snapsPerSlot=e,r=this.opt("slotLabelFormat"),Array.isArray(r)&&(r=r[r.length-1]),this.labelFormat=t.createFormatter(r||{hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"short"}),r=this.opt("slotLabelInterval"),this.labelInterval=r?t.createDuration(r):this.computeLabelInterval(i)},n.prototype.computeLabelInterval=function(e){var r,i,n;for(r=y.length-1;r>=0;r--)if(i=t.createDuration(y[r]),null!==(n=t.wholeDivideDurations(i,e))&&n>1)return i;return e},n.prototype.render=function(e){var t=e.cells;this.colCnt=t.length,this.renderSlats(e.dateProfile),this.renderColumns(e.cells,e.dateProfile),this.renderBusinessHours(e.businessHourSegs),this.renderDateSelection(e.dateSelectionSegs),this.renderFgEvents(e.fgEventSegs),this.renderBgEvents(e.bgEventSegs),this.renderEventSelection(e.eventSelection),this.renderEventDrag(e.eventDrag),this.renderEventResize(e.eventResize)},n.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderSlats.unrender(),this.renderColumns.unrender()},n.prototype.updateSize=function(e){var t=this,r=t.fillRenderer,i=t.eventRenderer,n=t.mirrorRenderer;(e||this.isSlatSizesDirty)&&(this.buildSlatPositions(),this.isSlatSizesDirty=!1),(e||this.isColSizesDirty)&&(this.buildColPositions(),this.isColSizesDirty=!1),r.computeSizes(e),i.computeSizes(e),n.computeSizes(e),r.assignSizes(e),i.assignSizes(e),n.assignSizes(e)},n.prototype._renderSlats=function(e){var r=this.theme;this.slatContainerEl.innerHTML='<table class="'+r.getClass("tableGrid")+'">'+this.renderSlatRowHtml(e)+"</table>",this.slatEls=t.findElements(this.slatContainerEl,"tr"),this.slatPositions=new t.PositionCache(this.el,this.slatEls,!1,!0),this.isSlatSizesDirty=!0},n.prototype.renderSlatRowHtml=function(e){for(var r,i,n,o=this,s=o.dateEnv,a=o.theme,l=o.isRtl,d="",c=t.startOfDay(e.renderRange.start),h=e.minTime,u=t.createDuration(0);t.asRoughMs(h)<t.asRoughMs(e.maxTime);)r=s.add(c,h),i=null!==t.wholeDivideDurations(u,this.labelInterval),n='<td class="fc-axis fc-time '+a.getClass("widgetContent")+'">'+(i?"<span>"+t.htmlEscape(s.format(r,this.labelFormat))+"</span>":"")+"</td>",d+='<tr data-time="'+t.formatIsoTimeString(r)+'"'+(i?"":' class="fc-minor"')+">"+(l?"":n)+'<td class="'+a.getClass("widgetContent")+'"></td>'+(l?n:"")+"</tr>",h=t.addDurations(h,this.slotDuration),u=t.addDurations(u,this.slotDuration);return d},n.prototype._renderColumns=function(e,i){var n=this.theme,o=new r.DayBgRow(this.context);this.rootBgContainerEl.innerHTML='<table class="'+n.getClass("tableGrid")+'">'+o.renderHtml({cells:e,dateProfile:i,renderIntroHtml:this.renderProps.renderBgIntroHtml})+"</table>",this.colEls=t.findElements(this.el,".fc-day, .fc-disabled-day"),this.isRtl&&this.colEls.reverse(),this.colPositions=new t.PositionCache(this.el,this.colEls,!0,!1),this.renderContentSkeleton(),this.isColSizesDirty=!0},n.prototype._unrenderColumns=function(){this.unrenderContentSkeleton()},n.prototype.renderContentSkeleton=function(){var e,r=[];r.push(this.renderProps.renderIntroHtml());for(var i=0;i<this.colCnt;i++)r.push('<td><div class="fc-content-col"><div class="fc-event-container fc-mirror-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>');this.isRtl&&r.reverse(),e=this.contentSkeletonEl=t.htmlToElement('<div class="fc-content-skeleton"><table><tr>'+r.join("")+"</tr></table></div>"),this.colContainerEls=t.findElements(e,".fc-content-col"),this.mirrorContainerEls=t.findElements(e,".fc-mirror-container"),this.fgContainerEls=t.findElements(e,".fc-event-container:not(.fc-mirror-container)"),this.bgContainerEls=t.findElements(e,".fc-bgevent-container"),this.highlightContainerEls=t.findElements(e,".fc-highlight-container"),this.businessContainerEls=t.findElements(e,".fc-business-container"),this.isRtl&&(this.colContainerEls.reverse(),this.mirrorContainerEls.reverse(),this.fgContainerEls.reverse(),this.bgContainerEls.reverse(),this.highlightContainerEls.reverse(),this.businessContainerEls.reverse()),this.el.appendChild(e)},n.prototype.unrenderContentSkeleton=function(){t.removeElement(this.contentSkeletonEl)},n.prototype.groupSegsByCol=function(e){var t,r=[];for(t=0;t<this.colCnt;t++)r.push([]);for(t=0;t<e.length;t++)r[e[t].col].push(e[t]);return r},n.prototype.attachSegsByCol=function(e,t){var r,i,n;for(r=0;r<this.colCnt;r++)for(i=e[r],n=0;n<i.length;n++)t[r].appendChild(i[n].el)},n.prototype.getNowIndicatorUnit=function(){return"minute"},n.prototype.renderNowIndicator=function(e,r){if(this.colContainerEls){var i,n=this.computeDateTop(r),o=[];for(i=0;i<e.length;i++){var s=t.createElement("div",{className:"fc-now-indicator fc-now-indicator-line"});s.style.top=n+"px",this.colContainerEls[e[i].col].appendChild(s),o.push(s)}if(e.length>0){var a=t.createElement("div",{className:"fc-now-indicator fc-now-indicator-arrow"});a.style.top=n+"px",this.contentSkeletonEl.appendChild(a),o.push(a)}this.nowIndicatorEls=o}},n.prototype.unrenderNowIndicator=function(){this.nowIndicatorEls&&(this.nowIndicatorEls.forEach(t.removeElement),this.nowIndicatorEls=null)},n.prototype.getTotalSlatHeight=function(){return this.slatContainerEl.offsetHeight},n.prototype.computeDateTop=function(e,r){return r||(r=t.startOfDay(e)),this.computeTimeTop(e.valueOf()-r.valueOf())},n.prototype.computeTimeTop=function(e){var r,i,n=this.slatEls.length,o=this.props.dateProfile,s=(e-t.asRoughMs(o.minTime))/t.asRoughMs(this.slotDuration);return s=Math.max(0,s),s=Math.min(n,s),r=Math.floor(s),r=Math.min(r,n-1),i=s-r,this.slatPositions.tops[r]+this.slatPositions.getHeight(r)*i},n.prototype.computeSegVerticals=function(e){var t,r,i,n=this.opt("timeGridEventMinHeight");for(t=0;t<e.length;t++)r=e[t],i=this.props.cells[r.col].date,r.top=this.computeDateTop(r.start,i),r.bottom=Math.max(r.top+n,this.computeDateTop(r.end,i))},n.prototype.assignSegVerticals=function(e){var r,i;for(r=0;r<e.length;r++)i=e[r],t.applyStyle(i.el,this.generateSegVerticalCss(i))},n.prototype.generateSegVerticalCss=function(e){return{top:e.top,bottom:-e.bottom}},n.prototype.buildColPositions=function(){this.colPositions.build()},n.prototype.buildSlatPositions=function(){this.slatPositions.build()},n.prototype.positionToHit=function(e,r){var i=this,n=i.dateEnv,o=i.snapsPerSlot,s=i.slatPositions,a=i.colPositions,l=a.leftToIndex(e),d=s.topToIndex(r);if(null!=l&&null!=d){var c=s.tops[d],h=s.getHeight(d),u=(r-c)/h,p=Math.floor(u*o),f=d*o+p,m=this.props.cells[l].date,g=t.addDurations(this.props.dateProfile.minTime,t.multiplyDuration(this.snapDuration,f)),y=n.add(m,g);return{col:l,dateSpan:{range:{start:y,end:n.add(y,this.snapDuration)},allDay:!1},dayEl:this.colEls[l],relativeRect:{left:a.lefts[l],right:a.rights[l],top:c,bottom:c+h}}}},n.prototype._renderEventDrag=function(e){e&&(this.eventRenderer.hideByHash(e.affectedInstances),e.isEvent?this.mirrorRenderer.renderSegs(e.segs,{isDragging:!0,sourceSeg:e.sourceSeg}):this.fillRenderer.renderSegs("highlight",e.segs))},n.prototype._unrenderEventDrag=function(e){e&&(this.eventRenderer.showByHash(e.affectedInstances),this.mirrorRenderer.unrender(e.segs,{isDragging:!0,sourceSeg:e.sourceSeg}),this.fillRenderer.unrender("highlight"))},n.prototype._renderEventResize=function(e){e&&(this.eventRenderer.hideByHash(e.affectedInstances),this.mirrorRenderer.renderSegs(e.segs,{isResizing:!0,sourceSeg:e.sourceSeg}))},n.prototype._unrenderEventResize=function(e){e&&(this.eventRenderer.showByHash(e.affectedInstances),this.mirrorRenderer.unrender(e.segs,{isResizing:!0,sourceSeg:e.sourceSeg}))},n.prototype._renderDateSelection=function(e){e&&(this.opt("selectMirror")?this.mirrorRenderer.renderSegs(e,{isSelecting:!0}):this.fillRenderer.renderSegs("highlight",e))},n.prototype._unrenderDateSelection=function(e){this.mirrorRenderer.unrender(e,{isSelecting:!0}),this.fillRenderer.unrender("highlight")},n}(t.DateComponent),S=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return i(r,e),r.prototype.getKeyInfo=function(){return{allDay:{},timed:{}}},r.prototype.getKeysForDateSpan=function(e){return e.allDay?["allDay"]:["timed"]},r.prototype.getKeysForEventDef=function(e){return e.allDay?t.hasBgRendering(e)?["timed","allDay"]:["allDay"]:["timed"]},r}(t.Splitter),C=t.createFormatter({week:"short"}),E=function(e){function n(i,n,o,s){var a=e.call(this,i,n,o,s)||this;a.splitter=new S,a.renderHeadIntroHtml=function(){var e,r=a,i=r.theme,n=r.dateEnv,o=a.props.dateProfile.renderRange,s=t.diffDays(o.start,o.end);return a.opt("weekNumbers")?(e=n.format(o.start,C),'<th class="fc-axis fc-week-number '+i.getClass("widgetHeader")+'" '+a.axisStyleAttr()+">"+t.buildGotoAnchorHtml(a,{date:o.start,type:"week",forceOff:s>1},t.htmlEscape(e))+"</th>"):'<th class="fc-axis '+i.getClass("widgetHeader")+'" '+a.axisStyleAttr()+"></th>"},a.renderTimeGridBgIntroHtml=function(){return'<td class="fc-axis '+a.theme.getClass("widgetContent")+'" '+a.axisStyleAttr()+"></td>"},a.renderTimeGridIntroHtml=function(){return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"},a.renderDayGridBgIntroHtml=function(){return'<td class="fc-axis '+a.theme.getClass("widgetContent")+'" '+a.axisStyleAttr()+"><span>"+t.getAllDayHtml(a)+"</span></td>"},a.renderDayGridIntroHtml=function(){return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"},a.el.classList.add("fc-timeGrid-view"),a.el.innerHTML=a.renderSkeletonHtml(),a.scroller=new t.ScrollComponent("hidden","auto");var l=a.scroller.el;a.el.querySelector(".fc-body > tr > td").appendChild(l),l.classList.add("fc-time-grid-container");var d=t.createElement("div",{className:"fc-time-grid"});return l.appendChild(d),a.timeGrid=new v(a.context,d,{renderBgIntroHtml:a.renderTimeGridBgIntroHtml,renderIntroHtml:a.renderTimeGridIntroHtml}),a.opt("allDaySlot")&&(a.dayGrid=new r.DayGrid(a.context,a.el.querySelector(".fc-day-grid"),{renderNumberIntroHtml:a.renderDayGridIntroHtml,renderBgIntroHtml:a.renderDayGridBgIntroHtml,renderIntroHtml:a.renderDayGridIntroHtml,colWeekNumbersVisible:!1,cellWeekNumbersVisible:!1}),a.dayGrid.bottomCoordPadding=a.el.querySelector(".fc-divider").offsetHeight),a}return i(n,e),n.prototype.destroy=function(){e.prototype.destroy.call(this),this.timeGrid.destroy(),this.dayGrid&&this.dayGrid.destroy(),this.scroller.destroy()},n.prototype.renderSkeletonHtml=function(){var e=this.theme;return'<table class="'+e.getClass("tableGrid")+'">'+(this.opt("columnHeader")?'<thead class="fc-head"><tr><td class="fc-head-container '+e.getClass("widgetHeader")+'">&nbsp;</td></tr></thead>':"")+'<tbody class="fc-body"><tr><td class="'+e.getClass("widgetContent")+'">'+(this.opt("allDaySlot")?'<div class="fc-day-grid"></div><hr class="fc-divider '+e.getClass("widgetHeader")+'" />':"")+"</td></tr></tbody></table>"},n.prototype.getNowIndicatorUnit=function(){return this.timeGrid.getNowIndicatorUnit()},n.prototype.unrenderNowIndicator=function(){this.timeGrid.unrenderNowIndicator()},n.prototype.updateSize=function(t,r,i){e.prototype.updateSize.call(this,t,r,i),this.timeGrid.updateSize(t),this.dayGrid&&this.dayGrid.updateSize(t)},n.prototype.updateBaseSize=function(e,r,i){var n,o,s,a=this;if(this.axisWidth=t.matchCellWidths(t.findElements(this.el,".fc-axis")),!this.timeGrid.colEls)return void(i||(o=this.computeScrollerHeight(r),this.scroller.setHeight(o)));var l=t.findElements(this.el,".fc-row").filter(function(e){return!a.scroller.el.contains(e)});this.timeGrid.bottomRuleEl.style.display="none",this.scroller.clear(),l.forEach(t.uncompensateScroll),this.dayGrid&&(this.dayGrid.removeSegPopover(),n=this.opt("eventLimit"),n&&"number"!=typeof n&&(n=5),n&&this.dayGrid.limitRows(n)),i||(o=this.computeScrollerHeight(r),this.scroller.setHeight(o),s=this.scroller.getScrollbarWidths(),(s.left||s.right)&&(l.forEach(function(e){t.compensateScroll(e,s)}),o=this.computeScrollerHeight(r),this.scroller.setHeight(o)),this.scroller.lockOverflow(s),this.timeGrid.getTotalSlatHeight()<o&&(this.timeGrid.bottomRuleEl.style.display=""))},n.prototype.computeScrollerHeight=function(e){return e-t.subtractInnerElHeight(this.el,this.scroller.el)},n.prototype.computeInitialDateScroll=function(){var e=t.createDuration(this.opt("scrollTime")),r=this.timeGrid.computeTimeTop(e.milliseconds);return r=Math.ceil(r),r&&r++,{top:r}},n.prototype.queryDateScroll=function(){return{top:this.scroller.getScrollTop()}},n.prototype.applyDateScroll=function(e){void 0!==e.top&&this.scroller.setScrollTop(e.top)},n.prototype.axisStyleAttr=function(){return null!=this.axisWidth?'style="width:'+this.axisWidth+'px"':""},n}(t.View);E.prototype.usesMinMaxTime=!0;var b=function(e){function r(r,i){var n=e.call(this,r,i.el)||this;return n.buildDayRanges=t.memoize(c),n.slicer=new D,n.timeGrid=i,r.calendar.registerInteractiveComponent(n,{el:n.timeGrid.el}),n}return i(r,e),r.prototype.destroy=function(){e.prototype.destroy.call(this),this.calendar.unregisterInteractiveComponent(this)},r.prototype.render=function(e){var t=e.dateProfile,r=e.dayTable,i=this.dayRanges=this.buildDayRanges(r,t,this.dateEnv);this.timeGrid.receiveProps(p({},this.slicer.sliceProps(e,t,null,this.timeGrid,i),{dateProfile:t,cells:r.cells[0]}))},r.prototype.renderNowIndicator=function(e){this.timeGrid.renderNowIndicator(this.slicer.sliceNowDate(e,this.timeGrid,this.dayRanges),e)},r.prototype.queryHit=function(e,t){var r=this.timeGrid.positionToHit(e,t);if(r)return{component:this.timeGrid,dateSpan:r.dateSpan,dayEl:r.dayEl,rect:{left:r.relativeRect.left,right:r.relativeRect.right,top:r.relativeRect.top,bottom:r.relativeRect.bottom},layer:0}},r}(t.DateComponent),D=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return i(r,e),r.prototype.sliceRange=function(e,r){for(var i=[],n=0;n<r.length;n++){var o=t.intersectRanges(e,r[n]);o&&i.push({start:o.start,end:o.end,isStart:o.start.valueOf()===e.start.valueOf(),isEnd:o.end.valueOf()===e.end.valueOf(),col:n})}return i},r}(t.Slicer),w=function(e){function n(i,n,o,s){var a=e.call(this,i,n,o,s)||this;return a.buildDayTable=t.memoize(h),a.opt("columnHeader")&&(a.header=new t.DayHeader(a.context,a.el.querySelector(".fc-head-container"))),a.simpleTimeGrid=new b(a.context,a.timeGrid),a.dayGrid&&(a.simpleDayGrid=new r.SimpleDayGrid(a.context,a.dayGrid)),a}return i(n,e),n.prototype.destroy=function(){e.prototype.destroy.call(this),this.header&&this.header.destroy(),this.simpleTimeGrid.destroy(),this.simpleDayGrid&&this.simpleDayGrid.destroy()},n.prototype.render=function(t){e.prototype.render.call(this,t);var r=this.props.dateProfile,i=this.buildDayTable(r,this.dateProfileGenerator),n=this.splitter.splitProps(t);this.header&&this.header.receiveProps({dateProfile:r,dates:i.headerDates,datesRepDistinctDays:!0,renderIntroHtml:this.renderHeadIntroHtml}),this.simpleTimeGrid.receiveProps(p({},n.timed,{dateProfile:r,dayTable:i})),this.simpleDayGrid&&this.simpleDayGrid.receiveProps(p({},n.allDay,{dateProfile:r,dayTable:i,nextDayThreshold:this.nextDayThreshold,isRigid:!1}))},n.prototype.renderNowIndicator=function(e){this.simpleTimeGrid.renderNowIndicator(e)},n}(E),G=t.createPlugin({defaultView:"timeGridWeek",views:{timeGrid:{class:w,allDaySlot:!0,slotDuration:"00:30:00",slotEventOverlap:!0},timeGridDay:{type:"timeGrid",duration:{days:1}},timeGridWeek:{type:"timeGrid",duration:{weeks:1}}}});e.AbstractTimeGridView=E,e.TimeGrid=v,e.TimeGridSlicer=D,e.TimeGridView=w,e.buildDayRanges=c,e.buildDayTable=h,e.default=G,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core"),require("@fullcalendar/daygrid")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core","@fullcalendar/daygrid"],t):t((e=e||self).FullCalendarTimeGrid={},e.FullCalendar,e.FullCalendarDayGrid)}(this,(function(e,t,r){"use strict";var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function n(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var o=function(){return(o=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},s=function(e){function r(t){var r=e.call(this)||this;return r.timeGrid=t,r}return n(r,e),r.prototype.renderSegs=function(r,i,n){e.prototype.renderSegs.call(this,r,i,n),this.fullTimeFormat=t.createFormatter({hour:"numeric",minute:"2-digit",separator:this.context.options.defaultRangeSeparator})},r.prototype.attachSegs=function(e,t){for(var r=this.timeGrid.groupSegsByCol(e),i=0;i<r.length;i++)r[i]=this.sortEventSegs(r[i]);this.segsByCol=r,this.timeGrid.attachSegsByCol(r,this.timeGrid.fgContainerEls)},r.prototype.detachSegs=function(e){e.forEach((function(e){t.removeElement(e.el)})),this.segsByCol=null},r.prototype.computeSegSizes=function(e){var t=this.timeGrid,r=this.segsByCol,i=t.colCnt;if(t.computeSegVerticals(e),r)for(var n=0;n<i;n++)this.computeSegHorizontals(r[n])},r.prototype.assignSegSizes=function(e){var t=this.timeGrid,r=this.segsByCol,i=t.colCnt;if(t.assignSegVerticals(e),r)for(var n=0;n<i;n++)this.assignSegCss(r[n])},r.prototype.computeEventTimeFormat=function(){return{hour:"numeric",minute:"2-digit",meridiem:!1}},r.prototype.computeDisplayEventEnd=function(){return!0},r.prototype.renderSegHtml=function(e,r){var i,n,o,s=e.eventRange,a=s.def,l=s.ui,d=a.allDay,c=t.computeEventDraggable(this.context,a,l),h=e.isStart&&t.computeEventStartResizable(this.context,a,l),u=e.isEnd&&t.computeEventEndResizable(this.context,a,l),p=this.getSegClasses(e,c,h||u,r),f=t.cssToStr(this.getSkinCss(l));if(p.unshift("fc-time-grid-event"),t.isMultiDayRange(s.range)){if(e.isStart||e.isEnd){var g=e.start,m=e.end;i=this._getTimeText(g,m,d),n=this._getTimeText(g,m,d,this.fullTimeFormat),o=this._getTimeText(g,m,d,null,!1)}}else i=this.getTimeText(s),n=this.getTimeText(s,this.fullTimeFormat),o=this.getTimeText(s,null,!1);return'<a class="'+p.join(" ")+'"'+(a.url?' href="'+t.htmlEscape(a.url)+'"':"")+(f?' style="'+f+'"':"")+'><div class="fc-content">'+(i?'<div class="fc-time" data-start="'+t.htmlEscape(o)+'" data-full="'+t.htmlEscape(n)+'"><span>'+t.htmlEscape(i)+"</span></div>":"")+(a.title?'<div class="fc-title">'+t.htmlEscape(a.title)+"</div>":"")+"</div>"+(u?'<div class="fc-resizer fc-end-resizer"></div>':"")+"</a>"},r.prototype.computeSegHorizontals=function(e){var t,r,i;if(function(e){var t,r,i,n,o;for(t=0;t<e.length;t++)for(r=e[t],i=0;i<r.length;i++)for((n=r[i]).forwardSegs=[],o=t+1;o<e.length;o++)l(n,e[o],n.forwardSegs)}(t=function(e){var t,r,i,n=[];for(t=0;t<e.length;t++){for(r=e[t],i=0;i<n.length&&l(r,n[i]).length;i++);r.level=i,(n[i]||(n[i]=[])).push(r)}return n}(e)),r=t[0]){for(i=0;i<r.length;i++)a(r[i]);for(i=0;i<r.length;i++)this.computeSegForwardBack(r[i],0,0)}},r.prototype.computeSegForwardBack=function(e,t,r){var i,n=e.forwardSegs;if(void 0===e.forwardCoord)for(n.length?(this.sortForwardSegs(n),this.computeSegForwardBack(n[0],t+1,r),e.forwardCoord=n[0].backwardCoord):e.forwardCoord=1,e.backwardCoord=e.forwardCoord-(e.forwardCoord-r)/(t+1),i=0;i<n.length;i++)this.computeSegForwardBack(n[i],0,e.forwardCoord)},r.prototype.sortForwardSegs=function(e){var r=e.map(d),i=[{field:"forwardPressure",order:-1},{field:"backwardCoord",order:1}].concat(this.context.eventOrderSpecs);return r.sort((function(e,r){return t.compareByFieldSpecs(e,r,i)})),r.map((function(e){return e._seg}))},r.prototype.assignSegCss=function(e){for(var r=0,i=e;r<i.length;r++){var n=i[r];t.applyStyle(n.el,this.generateSegCss(n)),n.level>0&&n.el.classList.add("fc-time-grid-event-inset"),n.eventRange.def.title&&n.bottom-n.top<30&&n.el.classList.add("fc-short")}},r.prototype.generateSegCss=function(e){var t,r,i=this.context.options.slotEventOverlap,n=e.backwardCoord,o=e.forwardCoord,s=this.timeGrid.generateSegVerticalCss(e),a=this.context.isRtl;return i&&(o=Math.min(1,n+2*(o-n))),a?(t=1-o,r=n):(t=n,r=1-o),s.zIndex=e.level+1,s.left=100*t+"%",s.right=100*r+"%",i&&e.forwardPressure&&(s[a?"marginLeft":"marginRight"]=20),s},r}(t.FgEventRenderer);function a(e){var t,r,i=e.forwardSegs,n=0;if(void 0===e.forwardPressure){for(t=0;t<i.length;t++)a(r=i[t]),n=Math.max(n,1+r.forwardPressure);e.forwardPressure=n}}function l(e,t,r){void 0===r&&(r=[]);for(var i=0;i<t.length;i++)n=e,o=t[i],n.bottom>o.top&&n.top<o.bottom&&r.push(t[i]);var n,o;return r}function d(e){var r=t.buildSegCompareObj(e);return r.forwardPressure=e.forwardPressure,r.backwardCoord=e.backwardCoord,r}var c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t.prototype.attachSegs=function(e,t){this.segsByCol=this.timeGrid.groupSegsByCol(e),this.timeGrid.attachSegsByCol(this.segsByCol,this.timeGrid.mirrorContainerEls),this.sourceSeg=t.sourceSeg},t.prototype.generateSegCss=function(t){var r=e.prototype.generateSegCss.call(this,t),i=this.sourceSeg;if(i&&i.col===t.col){var n=e.prototype.generateSegCss.call(this,i);r.left=n.left,r.right=n.right,r.marginLeft=n.marginLeft,r.marginRight=n.marginRight}return r},t}(s),h=function(e){function t(t){var r=e.call(this)||this;return r.timeGrid=t,r}return n(t,e),t.prototype.attachSegs=function(e,t){var r,i=this.timeGrid;return"bgEvent"===e?r=i.bgContainerEls:"businessHours"===e?r=i.businessContainerEls:"highlight"===e&&(r=i.highlightContainerEls),i.attachSegsByCol(i.groupSegsByCol(t),r),t.map((function(e){return e.el}))},t.prototype.computeSegSizes=function(e){this.timeGrid.computeSegVerticals(e)},t.prototype.assignSegSizes=function(e){this.timeGrid.assignSegVerticals(e)},t}(t.FillRenderer),u=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}],p=function(e){function i(r,i){var n=e.call(this,r)||this;n.isSlatSizesDirty=!1,n.isColSizesDirty=!1,n.processOptions=t.memoize(n._processOptions),n.renderSkeleton=t.memoizeRendering(n._renderSkeleton),n.renderSlats=t.memoizeRendering(n._renderSlats,null,[n.renderSkeleton]),n.renderColumns=t.memoizeRendering(n._renderColumns,n._unrenderColumns,[n.renderSkeleton]),n.renderProps=i;var o=n.renderColumns,a=n.eventRenderer=new s(n),l=n.fillRenderer=new h(n);return n.mirrorRenderer=new c(n),n.renderBusinessHours=t.memoizeRendering(l.renderSegs.bind(l,"businessHours"),l.unrender.bind(l,"businessHours"),[o]),n.renderDateSelection=t.memoizeRendering(n._renderDateSelection,n._unrenderDateSelection,[o]),n.renderFgEvents=t.memoizeRendering(a.renderSegs.bind(a),a.unrender.bind(a),[o]),n.renderBgEvents=t.memoizeRendering(l.renderSegs.bind(l,"bgEvent"),l.unrender.bind(l,"bgEvent"),[o]),n.renderEventSelection=t.memoizeRendering(a.selectByInstanceId.bind(a),a.unselectByInstanceId.bind(a),[n.renderFgEvents]),n.renderEventDrag=t.memoizeRendering(n._renderEventDrag,n._unrenderEventDrag,[o]),n.renderEventResize=t.memoizeRendering(n._renderEventResize,n._unrenderEventResize,[o]),n}return n(i,e),i.prototype._processOptions=function(e){var r,i,n=e.slotDuration,o=e.snapDuration;n=t.createDuration(n),o=o?t.createDuration(o):n,null===(r=t.wholeDivideDurations(n,o))&&(o=n,r=1),this.slotDuration=n,this.snapDuration=o,this.snapsPerSlot=r,i=e.slotLabelFormat,Array.isArray(i)&&(i=i[i.length-1]),this.labelFormat=t.createFormatter(i||{hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"short"}),i=e.slotLabelInterval,this.labelInterval=i?t.createDuration(i):this.computeLabelInterval(n)},i.prototype.computeLabelInterval=function(e){var r,i,n;for(r=u.length-1;r>=0;r--)if(i=t.createDuration(u[r]),null!==(n=t.wholeDivideDurations(i,e))&&n>1)return i;return e},i.prototype.render=function(e,t){this.processOptions(t.options);var r=e.cells;this.colCnt=r.length,this.renderSkeleton(t.theme),this.renderSlats(e.dateProfile),this.renderColumns(e.cells,e.dateProfile),this.renderBusinessHours(t,e.businessHourSegs),this.renderDateSelection(e.dateSelectionSegs),this.renderFgEvents(t,e.fgEventSegs),this.renderBgEvents(t,e.bgEventSegs),this.renderEventSelection(e.eventSelection),this.renderEventDrag(e.eventDrag),this.renderEventResize(e.eventResize)},i.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderSlats.unrender(),this.renderColumns.unrender(),this.renderSkeleton.unrender()},i.prototype.updateSize=function(e){var t=this.fillRenderer,r=this.eventRenderer,i=this.mirrorRenderer;(e||this.isSlatSizesDirty)&&(this.buildSlatPositions(),this.isSlatSizesDirty=!1),(e||this.isColSizesDirty)&&(this.buildColPositions(),this.isColSizesDirty=!1),t.computeSizes(e),r.computeSizes(e),i.computeSizes(e),t.assignSizes(e),r.assignSizes(e),i.assignSizes(e)},i.prototype._renderSkeleton=function(e){var t=this.el;t.innerHTML='<div class="fc-bg"></div><div class="fc-slats"></div><hr class="fc-divider '+e.getClass("widgetHeader")+'" style="display:none" />',this.rootBgContainerEl=t.querySelector(".fc-bg"),this.slatContainerEl=t.querySelector(".fc-slats"),this.bottomRuleEl=t.querySelector(".fc-divider")},i.prototype._renderSlats=function(e){var r=this.context.theme;this.slatContainerEl.innerHTML='<table class="'+r.getClass("tableGrid")+'">'+this.renderSlatRowHtml(e)+"</table>",this.slatEls=t.findElements(this.slatContainerEl,"tr"),this.slatPositions=new t.PositionCache(this.el,this.slatEls,!1,!0),this.isSlatSizesDirty=!0},i.prototype.renderSlatRowHtml=function(e){for(var r,i,n,o=this.context,s=o.dateEnv,a=o.theme,l=o.isRtl,d="",c=t.startOfDay(e.renderRange.start),h=e.minTime,u=t.createDuration(0);t.asRoughMs(h)<t.asRoughMs(e.maxTime);)r=s.add(c,h),i=null!==t.wholeDivideDurations(u,this.labelInterval),n='<td class="fc-axis fc-time '+a.getClass("widgetContent")+'">'+(i?"<span>"+t.htmlEscape(s.format(r,this.labelFormat))+"</span>":"")+"</td>",d+='<tr data-time="'+t.formatIsoTimeString(r)+'"'+(i?"":' class="fc-minor"')+">"+(l?"":n)+'<td class="'+a.getClass("widgetContent")+'"></td>'+(l?n:"")+"</tr>",h=t.addDurations(h,this.slotDuration),u=t.addDurations(u,this.slotDuration);return d},i.prototype._renderColumns=function(e,i){var n=this.context,o=n.calendar,s=n.view,a=n.isRtl,l=n.theme,d=n.dateEnv,c=new r.DayBgRow(this.context);this.rootBgContainerEl.innerHTML='<table class="'+l.getClass("tableGrid")+'">'+c.renderHtml({cells:e,dateProfile:i,renderIntroHtml:this.renderProps.renderBgIntroHtml})+"</table>",this.colEls=t.findElements(this.el,".fc-day, .fc-disabled-day");for(var h=0;h<this.colCnt;h++)o.publiclyTrigger("dayRender",[{date:d.toDate(e[h].date),el:this.colEls[h],view:s}]);a&&this.colEls.reverse(),this.colPositions=new t.PositionCache(this.el,this.colEls,!0,!1),this.renderContentSkeleton(),this.isColSizesDirty=!0},i.prototype._unrenderColumns=function(){this.unrenderContentSkeleton()},i.prototype.renderContentSkeleton=function(){var e,r=this.context.isRtl,i=[];i.push(this.renderProps.renderIntroHtml());for(var n=0;n<this.colCnt;n++)i.push('<td><div class="fc-content-col"><div class="fc-event-container fc-mirror-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>');r&&i.reverse(),e=this.contentSkeletonEl=t.htmlToElement('<div class="fc-content-skeleton"><table><tr>'+i.join("")+"</tr></table></div>"),this.colContainerEls=t.findElements(e,".fc-content-col"),this.mirrorContainerEls=t.findElements(e,".fc-mirror-container"),this.fgContainerEls=t.findElements(e,".fc-event-container:not(.fc-mirror-container)"),this.bgContainerEls=t.findElements(e,".fc-bgevent-container"),this.highlightContainerEls=t.findElements(e,".fc-highlight-container"),this.businessContainerEls=t.findElements(e,".fc-business-container"),r&&(this.colContainerEls.reverse(),this.mirrorContainerEls.reverse(),this.fgContainerEls.reverse(),this.bgContainerEls.reverse(),this.highlightContainerEls.reverse(),this.businessContainerEls.reverse()),this.el.appendChild(e)},i.prototype.unrenderContentSkeleton=function(){t.removeElement(this.contentSkeletonEl)},i.prototype.groupSegsByCol=function(e){var t,r=[];for(t=0;t<this.colCnt;t++)r.push([]);for(t=0;t<e.length;t++)r[e[t].col].push(e[t]);return r},i.prototype.attachSegsByCol=function(e,t){var r,i,n;for(r=0;r<this.colCnt;r++)for(i=e[r],n=0;n<i.length;n++)t[r].appendChild(i[n].el)},i.prototype.getNowIndicatorUnit=function(){return"minute"},i.prototype.renderNowIndicator=function(e,r){if(this.colContainerEls){var i,n=this.computeDateTop(r),o=[];for(i=0;i<e.length;i++){var s=t.createElement("div",{className:"fc-now-indicator fc-now-indicator-line"});s.style.top=n+"px",this.colContainerEls[e[i].col].appendChild(s),o.push(s)}if(e.length>0){var a=t.createElement("div",{className:"fc-now-indicator fc-now-indicator-arrow"});a.style.top=n+"px",this.contentSkeletonEl.appendChild(a),o.push(a)}this.nowIndicatorEls=o}},i.prototype.unrenderNowIndicator=function(){this.nowIndicatorEls&&(this.nowIndicatorEls.forEach(t.removeElement),this.nowIndicatorEls=null)},i.prototype.getTotalSlatHeight=function(){return this.slatContainerEl.getBoundingClientRect().height},i.prototype.computeDateTop=function(e,r){return r||(r=t.startOfDay(e)),this.computeTimeTop(t.createDuration(e.valueOf()-r.valueOf()))},i.prototype.computeTimeTop=function(e){var r,i,n=this.slatEls.length,o=this.props.dateProfile,s=(e.milliseconds-t.asRoughMs(o.minTime))/t.asRoughMs(this.slotDuration);return s=Math.max(0,s),s=Math.min(n,s),r=Math.floor(s),i=s-(r=Math.min(r,n-1)),this.slatPositions.tops[r]+this.slatPositions.getHeight(r)*i},i.prototype.computeSegVerticals=function(e){var t,r,i,n=this.context.options.timeGridEventMinHeight;for(t=0;t<e.length;t++)r=e[t],i=this.props.cells[r.col].date,r.top=this.computeDateTop(r.start,i),r.bottom=Math.max(r.top+n,this.computeDateTop(r.end,i))},i.prototype.assignSegVerticals=function(e){var r,i;for(r=0;r<e.length;r++)i=e[r],t.applyStyle(i.el,this.generateSegVerticalCss(i))},i.prototype.generateSegVerticalCss=function(e){return{top:e.top,bottom:-e.bottom}},i.prototype.buildPositionCaches=function(){this.buildColPositions(),this.buildSlatPositions()},i.prototype.buildColPositions=function(){this.colPositions.build()},i.prototype.buildSlatPositions=function(){this.slatPositions.build()},i.prototype.positionToHit=function(e,r){var i=this.context.dateEnv,n=this.snapsPerSlot,o=this.slatPositions,s=this.colPositions,a=s.leftToIndex(e),l=o.topToIndex(r);if(null!=a&&null!=l){var d=o.tops[l],c=o.getHeight(l),h=(r-d)/c,u=l*n+Math.floor(h*n),p=this.props.cells[a].date,f=t.addDurations(this.props.dateProfile.minTime,t.multiplyDuration(this.snapDuration,u)),g=i.add(p,f);return{col:a,dateSpan:{range:{start:g,end:i.add(g,this.snapDuration)},allDay:!1},dayEl:this.colEls[a],relativeRect:{left:s.lefts[a],right:s.rights[a],top:d,bottom:d+c}}}},i.prototype._renderEventDrag=function(e){e&&(this.eventRenderer.hideByHash(e.affectedInstances),e.isEvent?this.mirrorRenderer.renderSegs(this.context,e.segs,{isDragging:!0,sourceSeg:e.sourceSeg}):this.fillRenderer.renderSegs("highlight",this.context,e.segs))},i.prototype._unrenderEventDrag=function(e){e&&(this.eventRenderer.showByHash(e.affectedInstances),e.isEvent?this.mirrorRenderer.unrender(this.context,e.segs,{isDragging:!0,sourceSeg:e.sourceSeg}):this.fillRenderer.unrender("highlight",this.context))},i.prototype._renderEventResize=function(e){e&&(this.eventRenderer.hideByHash(e.affectedInstances),this.mirrorRenderer.renderSegs(this.context,e.segs,{isResizing:!0,sourceSeg:e.sourceSeg}))},i.prototype._unrenderEventResize=function(e){e&&(this.eventRenderer.showByHash(e.affectedInstances),this.mirrorRenderer.unrender(this.context,e.segs,{isResizing:!0,sourceSeg:e.sourceSeg}))},i.prototype._renderDateSelection=function(e){e&&(this.context.options.selectMirror?this.mirrorRenderer.renderSegs(this.context,e,{isSelecting:!0}):this.fillRenderer.renderSegs("highlight",this.context,e))},i.prototype._unrenderDateSelection=function(e){e&&(this.context.options.selectMirror?this.mirrorRenderer.unrender(this.context,e,{isSelecting:!0}):this.fillRenderer.unrender("highlight",this.context))},i}(t.DateComponent),f=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.prototype.getKeyInfo=function(){return{allDay:{},timed:{}}},r.prototype.getKeysForDateSpan=function(e){return e.allDay?["allDay"]:["timed"]},r.prototype.getKeysForEventDef=function(e){return e.allDay?t.hasBgRendering(e)?["timed","allDay"]:["allDay"]:["timed"]},r}(t.Splitter),g=t.createFormatter({week:"short"}),m=function(e){function i(){var r=null!==e&&e.apply(this,arguments)||this;return r.splitter=new f,r.renderSkeleton=t.memoizeRendering(r._renderSkeleton,r._unrenderSkeleton),r.renderHeadIntroHtml=function(){var e,i=r.context,n=i.theme,o=i.dateEnv,s=i.options,a=r.props.dateProfile.renderRange,l=t.diffDays(a.start,a.end);return s.weekNumbers?(e=o.format(a.start,g),'<th class="fc-axis fc-week-number '+n.getClass("widgetHeader")+'" '+r.axisStyleAttr()+">"+t.buildGotoAnchorHtml(s,o,{date:a.start,type:"week",forceOff:l>1},t.htmlEscape(e))+"</th>"):'<th class="fc-axis '+n.getClass("widgetHeader")+'" '+r.axisStyleAttr()+"></th>"},r.renderTimeGridBgIntroHtml=function(){return'<td class="fc-axis '+r.context.theme.getClass("widgetContent")+'" '+r.axisStyleAttr()+"></td>"},r.renderTimeGridIntroHtml=function(){return'<td class="fc-axis" '+r.axisStyleAttr()+"></td>"},r.renderDayGridBgIntroHtml=function(){var e=r.context,i=e.theme,n=e.options;return'<td class="fc-axis '+i.getClass("widgetContent")+'" '+r.axisStyleAttr()+"><span>"+t.getAllDayHtml(n)+"</span></td>"},r.renderDayGridIntroHtml=function(){return'<td class="fc-axis" '+r.axisStyleAttr()+"></td>"},r}return n(i,e),i.prototype.render=function(t,r){e.prototype.render.call(this,t,r),this.renderSkeleton(r)},i.prototype.destroy=function(){e.prototype.destroy.call(this),this.renderSkeleton.unrender()},i.prototype._renderSkeleton=function(e){this.el.classList.add("fc-timeGrid-view"),this.el.innerHTML=this.renderSkeletonHtml(),this.scroller=new t.ScrollComponent("hidden","auto");var i=this.scroller.el;this.el.querySelector(".fc-body > tr > td").appendChild(i),i.classList.add("fc-time-grid-container");var n=t.createElement("div",{className:"fc-time-grid"});if(i.appendChild(n),this.timeGrid=new p(n,{renderBgIntroHtml:this.renderTimeGridBgIntroHtml,renderIntroHtml:this.renderTimeGridIntroHtml}),e.options.allDaySlot){this.dayGrid=new r.DayGrid(this.el.querySelector(".fc-day-grid"),{renderNumberIntroHtml:this.renderDayGridIntroHtml,renderBgIntroHtml:this.renderDayGridBgIntroHtml,renderIntroHtml:this.renderDayGridIntroHtml,colWeekNumbersVisible:!1,cellWeekNumbersVisible:!1});var o=this.el.querySelector(".fc-divider");this.dayGrid.bottomCoordPadding=o.getBoundingClientRect().height}},i.prototype._unrenderSkeleton=function(){this.el.classList.remove("fc-timeGrid-view"),this.timeGrid.destroy(),this.dayGrid&&this.dayGrid.destroy(),this.scroller.destroy()},i.prototype.renderSkeletonHtml=function(){var e=this.context,t=e.theme,r=e.options;return'<table class="'+t.getClass("tableGrid")+'">'+(r.columnHeader?'<thead class="fc-head"><tr><td class="fc-head-container '+t.getClass("widgetHeader")+'">&nbsp;</td></tr></thead>':"")+'<tbody class="fc-body"><tr><td class="'+t.getClass("widgetContent")+'">'+(r.allDaySlot?'<div class="fc-day-grid"></div><hr class="fc-divider '+t.getClass("widgetHeader")+'" />':"")+"</td></tr></tbody></table>"},i.prototype.getNowIndicatorUnit=function(){return this.timeGrid.getNowIndicatorUnit()},i.prototype.unrenderNowIndicator=function(){this.timeGrid.unrenderNowIndicator()},i.prototype.updateSize=function(t,r,i){e.prototype.updateSize.call(this,t,r,i),this.timeGrid.updateSize(t),this.dayGrid&&this.dayGrid.updateSize(t)},i.prototype.updateBaseSize=function(e,r,i){var n,o,s,a=this;if(this.axisWidth=t.matchCellWidths(t.findElements(this.el,".fc-axis")),this.timeGrid.colEls){var l=t.findElements(this.el,".fc-row").filter((function(e){return!a.scroller.el.contains(e)}));this.timeGrid.bottomRuleEl.style.display="none",this.scroller.clear(),l.forEach(t.uncompensateScroll),this.dayGrid&&(this.dayGrid.removeSegPopover(),(n=this.context.options.eventLimit)&&"number"!=typeof n&&(n=5),n&&this.dayGrid.limitRows(n)),i||(o=this.computeScrollerHeight(r),this.scroller.setHeight(o),((s=this.scroller.getScrollbarWidths()).left||s.right)&&(l.forEach((function(e){t.compensateScroll(e,s)})),o=this.computeScrollerHeight(r),this.scroller.setHeight(o)),this.scroller.lockOverflow(s),this.timeGrid.getTotalSlatHeight()<o&&(this.timeGrid.bottomRuleEl.style.display=""))}else i||(o=this.computeScrollerHeight(r),this.scroller.setHeight(o))},i.prototype.computeScrollerHeight=function(e){return e-t.subtractInnerElHeight(this.el,this.scroller.el)},i.prototype.computeDateScroll=function(e){var t=this.timeGrid.computeTimeTop(e);return(t=Math.ceil(t))&&t++,{top:t}},i.prototype.queryDateScroll=function(){return{top:this.scroller.getScrollTop()}},i.prototype.applyDateScroll=function(e){void 0!==e.top&&this.scroller.setScrollTop(e.top)},i.prototype.axisStyleAttr=function(){return null!=this.axisWidth?'style="width:'+this.axisWidth+'px"':""},i}(t.View);m.prototype.usesMinMaxTime=!0;var y=function(e){function r(r){var i=e.call(this,r.el)||this;return i.buildDayRanges=t.memoize(v),i.slicer=new S,i.timeGrid=r,i}return n(r,e),r.prototype.firstContext=function(e){e.calendar.registerInteractiveComponent(this,{el:this.timeGrid.el})},r.prototype.destroy=function(){e.prototype.destroy.call(this),this.context.calendar.unregisterInteractiveComponent(this)},r.prototype.render=function(e,t){var r=this.context.dateEnv,i=e.dateProfile,n=e.dayTable,s=this.dayRanges=this.buildDayRanges(n,i,r),a=this.timeGrid;a.receiveContext(t),a.receiveProps(o({},this.slicer.sliceProps(e,i,null,t.calendar,a,s),{dateProfile:i,cells:n.cells[0]}),t)},r.prototype.renderNowIndicator=function(e){this.timeGrid.renderNowIndicator(this.slicer.sliceNowDate(e,this.timeGrid,this.dayRanges),e)},r.prototype.buildPositionCaches=function(){this.timeGrid.buildPositionCaches()},r.prototype.queryHit=function(e,t){var r=this.timeGrid.positionToHit(e,t);if(r)return{component:this.timeGrid,dateSpan:r.dateSpan,dayEl:r.dayEl,rect:{left:r.relativeRect.left,right:r.relativeRect.right,top:r.relativeRect.top,bottom:r.relativeRect.bottom},layer:0}},r}(t.DateComponent);function v(e,t,r){for(var i=[],n=0,o=e.headerDates;n<o.length;n++){var s=o[n];i.push({start:r.add(s,t.minTime),end:r.add(s,t.maxTime)})}return i}var S=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.prototype.sliceRange=function(e,r){for(var i=[],n=0;n<r.length;n++){var o=t.intersectRanges(e,r[n]);o&&i.push({start:o.start,end:o.end,isStart:o.start.valueOf()===e.start.valueOf(),isEnd:o.end.valueOf()===e.end.valueOf(),col:n})}return i},r}(t.Slicer),C=function(e){function i(){var r=null!==e&&e.apply(this,arguments)||this;return r.buildDayTable=t.memoize(E),r}return n(i,e),i.prototype.render=function(t,r){e.prototype.render.call(this,t,r);var i=this.props,n=i.dateProfile,s=i.dateProfileGenerator,a=r.nextDayThreshold,l=this.buildDayTable(n,s),d=this.splitter.splitProps(t);this.header&&this.header.receiveProps({dateProfile:n,dates:l.headerDates,datesRepDistinctDays:!0,renderIntroHtml:this.renderHeadIntroHtml},r),this.simpleTimeGrid.receiveProps(o({},d.timed,{dateProfile:n,dayTable:l}),r),this.simpleDayGrid&&this.simpleDayGrid.receiveProps(o({},d.allDay,{dateProfile:n,dayTable:l,nextDayThreshold:a,isRigid:!1}),r),this.startNowIndicator(n,s)},i.prototype._renderSkeleton=function(i){e.prototype._renderSkeleton.call(this,i),i.options.columnHeader&&(this.header=new t.DayHeader(this.el.querySelector(".fc-head-container"))),this.simpleTimeGrid=new y(this.timeGrid),this.dayGrid&&(this.simpleDayGrid=new r.SimpleDayGrid(this.dayGrid))},i.prototype._unrenderSkeleton=function(){e.prototype._unrenderSkeleton.call(this),this.header&&this.header.destroy(),this.simpleTimeGrid.destroy(),this.simpleDayGrid&&this.simpleDayGrid.destroy()},i.prototype.renderNowIndicator=function(e){this.simpleTimeGrid.renderNowIndicator(e)},i}(m);function E(e,r){var i=new t.DaySeries(e.renderRange,r);return new t.DayTable(i,!1)}var b=t.createPlugin({defaultView:"timeGridWeek",views:{timeGrid:{class:C,allDaySlot:!0,slotDuration:"00:30:00",slotEventOverlap:!0},timeGridDay:{type:"timeGrid",duration:{days:1}},timeGridWeek:{type:"timeGrid",duration:{weeks:1}}}});e.AbstractTimeGridView=m,e.TimeGrid=p,e.TimeGridSlicer=S,e.TimeGridView=C,e.buildDayRanges=v,e.buildDayTable=E,e.default=b,Object.defineProperty(e,"__esModule",{value:!0})})); \ No newline at end of file
diff --git a/library/fullcalendar/packages/timegrid/package.json b/library/fullcalendar/packages/timegrid/package.json
new file mode 100644
index 000000000..3d92bcf78
--- /dev/null
+++ b/library/fullcalendar/packages/timegrid/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@fullcalendar/timegrid",
+ "version": "4.4.2",
+ "title": "FullCalendar Time Grid Plugin",
+ "description": "Display your events on a grid of time slots",
+ "keywords": [
+ "calendar",
+ "event",
+ "full-sized"
+ ],
+ "homepage": "https://fullcalendar.io/",
+ "docs": "https://fullcalendar.io/docs/timegrid-view",
+ "bugs": "https://fullcalendar.io/reporting-bugs",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/fullcalendar/fullcalendar.git",
+ "homepage": "https://github.com/fullcalendar/fullcalendar"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Adam Shaw",
+ "email": "arshaw@arshaw.com",
+ "url": "http://arshaw.com/"
+ },
+ "copyright": "2019 Adam Shaw",
+ "dependencies": {
+ "@fullcalendar/daygrid": "~4.4.0"
+ },
+ "peerDependencies": {
+ "@fullcalendar/core": "~4.4.0"
+ },
+ "main": "main.js",
+ "module": "main.esm.js",
+ "unpkg": "main.min.js",
+ "types": "main.d.ts"
+}
diff --git a/library/fullcalendar/vendor/rrule.js b/library/fullcalendar/vendor/rrule.js
index 08fdb7d70..826d9f4f2 100644
--- a/library/fullcalendar/vendor/rrule.js
+++ b/library/fullcalendar/vendor/rrule.js
@@ -7,7 +7,7 @@
exports["rrule"] = factory(require("luxon"));
else
root["rrule"] = factory(root["luxon"]);
-})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE__2__) {
+})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE__3__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
@@ -101,27 +101,33 @@ return /******/ (function(modules) { // webpackBootstrap
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return isPresent; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isNumber; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return isWeekdayStr; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isArray; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return range; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return range; });
/* unused harmony export clone */
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return repeat; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return toArray; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return padStart; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return split; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return pymod; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return repeat; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return toArray; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return padStart; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return split; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return pymod; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return divmod; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return empty; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return notEmpty; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return notEmpty; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return includes; });
+/* harmony import */ var _weekday__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
// =============================================================================
// Helper functions
// =============================================================================
+
var isPresent = function (value) {
return value !== null && value !== undefined;
};
var isNumber = function (value) {
return typeof value === 'number';
};
+var isWeekdayStr = function (value) {
+ return _weekday__WEBPACK_IMPORTED_MODULE_0__[/* ALL_WEEKDAYS */ "a"].indexOf(value) >= 0;
+};
var isArray = Array.isArray;
/**
* Simplified version of python's range()
@@ -364,13 +370,13 @@ var dateutil_dateutil;
if (utc === void 0) { utc = true; }
var date = new Date(time);
return [
- Object(helpers["h" /* padStart */])(date.getUTCFullYear().toString(), 4, '0'),
- Object(helpers["h" /* padStart */])(date.getUTCMonth() + 1, 2, '0'),
- Object(helpers["h" /* padStart */])(date.getUTCDate(), 2, '0'),
+ Object(helpers["i" /* padStart */])(date.getUTCFullYear().toString(), 4, '0'),
+ Object(helpers["i" /* padStart */])(date.getUTCMonth() + 1, 2, '0'),
+ Object(helpers["i" /* padStart */])(date.getUTCDate(), 2, '0'),
'T',
- Object(helpers["h" /* padStart */])(date.getUTCHours(), 2, '0'),
- Object(helpers["h" /* padStart */])(date.getUTCMinutes(), 2, '0'),
- Object(helpers["h" /* padStart */])(date.getUTCSeconds(), 2, '0'),
+ Object(helpers["i" /* padStart */])(date.getUTCHours(), 2, '0'),
+ Object(helpers["i" /* padStart */])(date.getUTCMinutes(), 2, '0'),
+ Object(helpers["i" /* padStart */])(date.getUTCSeconds(), 2, '0'),
utc ? 'Z' : ''
].join('');
};
@@ -472,26 +478,212 @@ var IterResult = /** @class */ (function () {
}());
/* harmony default export */ var iterresult = (IterResult);
+// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+};
+
+function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var __assign = function() {
+ __assign = Object.assign || function __assign(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+ }
+ return t;
+ }
+ return __assign.apply(this, arguments);
+}
+
+function __rest(s, e) {
+ var t = {};
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+ t[p] = s[p];
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+ t[p[i]] = s[p[i]];
+ }
+ return t;
+}
+
+function __decorate(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+
+function __param(paramIndex, decorator) {
+ return function (target, key) { decorator(target, key, paramIndex); }
+}
+
+function __metadata(metadataKey, metadataValue) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+
+function __awaiter(thisArg, _arguments, P, generator) {
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+}
+
+function __generator(thisArg, body) {
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+ function verb(n) { return function (v) { return step([n, v]); }; }
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_) try {
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+ if (y = 0, t) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0: case 1: t = op; break;
+ case 4: _.label++; return { value: op[1], done: false };
+ case 5: _.label++; y = op[1]; op = [0]; continue;
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
+ default:
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+ if (t[2]) _.ops.pop();
+ _.trys.pop(); continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+ }
+}
+
+function __exportStar(m, exports) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+}
+
+function __values(o) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
+ if (m) return m.call(o);
+ return {
+ next: function () {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }
+ };
+}
+
+function __read(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ }
+ catch (error) { e = { error: error }; }
+ finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ }
+ finally { if (e) throw e.error; }
+ }
+ return ar;
+}
+
+function __spread() {
+ for (var ar = [], i = 0; i < arguments.length; i++)
+ ar = ar.concat(__read(arguments[i]));
+ return ar;
+}
+
+function __spreadArrays() {
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+ r[k] = a[j];
+ return r;
+};
+
+function __await(v) {
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+
+function __asyncGenerator(thisArg, _arguments, generator) {
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+ function fulfill(value) { resume("next", value); }
+ function reject(value) { resume("throw", value); }
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+}
+
+function __asyncDelegator(o) {
+ var i, p;
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
+}
+
+function __asyncValues(o) {
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+ var m = o[Symbol.asyncIterator], i;
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+}
+
+function __makeTemplateObject(cooked, raw) {
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+ return cooked;
+};
+
+function __importStar(mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+ result.default = mod;
+ return result;
+}
+
+function __importDefault(mod) {
+ return (mod && mod.__esModule) ? mod : { default: mod };
+}
+
// CONCATENATED MODULE: ./src/callbackiterresult.ts
-var __extends = (undefined && undefined.__extends) || (function () {
- var extendStatics = function (d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
- return extendStatics(d, b);
- }
- return function (d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
-})();
+
/**
* IterResult subclass that calls a callback function on each add,
* and stops iterating when the callback returns false.
*/
-var CallbackIterResult = /** @class */ (function (_super) {
+var callbackiterresult_CallbackIterResult = /** @class */ (function (_super) {
__extends(CallbackIterResult, _super);
function CallbackIterResult(method, args, iterator) {
var _this = _super.call(this, method, args) || this;
@@ -507,7 +699,7 @@ var CallbackIterResult = /** @class */ (function (_super) {
};
return CallbackIterResult;
}(iterresult));
-/* harmony default export */ var callbackiterresult = (CallbackIterResult);
+/* harmony default export */ var callbackiterresult = (callbackiterresult_CallbackIterResult);
// CONCATENATED MODULE: ./src/types.ts
var Frequency;
@@ -524,55 +716,11 @@ function freqIsDailyOrGreater(freq) {
return freq < Frequency.HOURLY;
}
-// CONCATENATED MODULE: ./src/weekday.ts
-// =============================================================================
-// Weekday
-// =============================================================================
-var WDAYS = ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'];
-var Weekday = /** @class */ (function () {
- function Weekday(weekday, n) {
- if (n === 0)
- throw new Error("Can't create weekday with n == 0");
- this.weekday = weekday;
- this.n = n;
- }
- // __call__ - Cannot call the object directly, do it through
- // e.g. RRule.TH.nth(-1) instead,
- Weekday.prototype.nth = function (n) {
- return this.n === n ? this : new Weekday(this.weekday, n);
- };
- // __eq__
- Weekday.prototype.equals = function (other) {
- return this.weekday === other.weekday && this.n === other.n;
- };
- // __repr__
- Weekday.prototype.toString = function () {
- var s = WDAYS[this.weekday];
- if (this.n)
- s = (this.n > 0 ? '+' : '') + String(this.n) + s;
- return s;
- };
- Weekday.prototype.getJsWeekday = function () {
- return this.weekday === 6 ? 0 : this.weekday + 1;
- };
- return Weekday;
-}());
-
+// EXTERNAL MODULE: ./src/weekday.ts
+var weekday = __webpack_require__(2);
// CONCATENATED MODULE: ./src/datetime.ts
-var datetime_extends = (undefined && undefined.__extends) || (function () {
- var extendStatics = function (d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
- return extendStatics(d, b);
- }
- return function (d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
-})();
+
@@ -603,7 +751,7 @@ var Time = /** @class */ (function () {
}());
var datetime_DateTime = /** @class */ (function (_super) {
- datetime_extends(DateTime, _super);
+ __extends(DateTime, _super);
function DateTime(year, month, day, hour, minute, second, millisecond) {
var _this = _super.call(this, hour, minute, second, millisecond) || this;
_this.year = year;
@@ -636,7 +784,7 @@ var datetime_DateTime = /** @class */ (function (_super) {
this.month += months;
if (this.month > 12) {
var yearDiv = Math.floor(this.month / 12);
- var monthMod = Object(helpers["i" /* pymod */])(this.month, 12);
+ var monthMod = Object(helpers["j" /* pymod */])(this.month, 12);
this.month = monthMod;
this.year += yearDiv;
if (this.month === 0) {
@@ -757,32 +905,25 @@ var datetime_DateTime = /** @class */ (function (_super) {
+
function initializeOptions(options) {
var invalid = [];
var keys = Object.keys(options);
- var initializedOptions = {};
// Shallow copy for options and origOptions and check for invalid
- keys.forEach(function (key) {
- var value = options[key];
- initializedOptions[key] = value;
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
+ var key = keys_1[_i];
if (!Object(helpers["c" /* includes */])(rrule_defaultKeys, key))
invalid.push(key);
- if (src_dateutil.isDate(value) && !src_dateutil.isValidDate(value))
+ if (src_dateutil.isDate(options[key]) && !src_dateutil.isValidDate(options[key]))
invalid.push(key);
- });
+ }
if (invalid.length) {
throw new Error('Invalid options: ' + invalid.join(', '));
}
- return initializedOptions;
+ return __assign({}, options);
}
function parseOptions(options) {
- var opts = initializeOptions(options);
- var keys = Object.keys(options);
- // Merge in default options
- rrule_defaultKeys.forEach(function (key) {
- if (!Object(helpers["c" /* includes */])(keys, key) || !Object(helpers["f" /* isPresent */])(opts[key]))
- opts[key] = DEFAULT_OPTIONS[key];
- });
+ var opts = __assign(__assign({}, DEFAULT_OPTIONS), initializeOptions(options));
if (Object(helpers["f" /* isPresent */])(opts.byeaster))
opts.freq = src_rrule.YEARLY;
if (!(Object(helpers["f" /* isPresent */])(opts.freq) && src_rrule.FREQUENCIES[opts.freq])) {
@@ -810,10 +951,10 @@ function parseOptions(options) {
}
}
if (!(Boolean(opts.byweekno) ||
- Object(helpers["g" /* notEmpty */])(opts.byweekno) ||
- Object(helpers["g" /* notEmpty */])(opts.byyearday) ||
+ Object(helpers["h" /* notEmpty */])(opts.byweekno) ||
+ Object(helpers["h" /* notEmpty */])(opts.byyearday) ||
Boolean(opts.bymonthday) ||
- Object(helpers["g" /* notEmpty */])(opts.bymonthday) ||
+ Object(helpers["h" /* notEmpty */])(opts.bymonthday) ||
Object(helpers["f" /* isPresent */])(opts.byweekday) ||
Object(helpers["f" /* isPresent */])(opts.byeaster))) {
switch (opts.freq) {
@@ -880,7 +1021,11 @@ function parseOptions(options) {
opts.byweekday = [opts.byweekday];
opts.bynweekday = null;
}
- else if (opts.byweekday instanceof Weekday) {
+ else if (Object(helpers["g" /* isWeekdayStr */])(opts.byweekday)) {
+ opts.byweekday = [weekday["b" /* Weekday */].fromStr(opts.byweekday).weekday];
+ opts.bynweekday = null;
+ }
+ else if (opts.byweekday instanceof weekday["b" /* Weekday */]) {
if (!opts.byweekday.n || opts.freq > src_rrule.MONTHLY) {
opts.byweekday = [opts.byweekday.weekday];
opts.bynweekday = null;
@@ -899,16 +1044,19 @@ function parseOptions(options) {
byweekday.push(wday);
continue;
}
- var wd = wday;
- if (!wd.n || opts.freq > src_rrule.MONTHLY) {
- byweekday.push(wd.weekday);
+ else if (Object(helpers["g" /* isWeekdayStr */])(wday)) {
+ byweekday.push(weekday["b" /* Weekday */].fromStr(wday).weekday);
+ continue;
+ }
+ if (!wday.n || opts.freq > src_rrule.MONTHLY) {
+ byweekday.push(wday.weekday);
}
else {
- bynweekday.push([wd.weekday, wd.n]);
+ bynweekday.push([wday.weekday, wday.n]);
}
}
- opts.byweekday = Object(helpers["g" /* notEmpty */])(byweekday) ? byweekday : null;
- opts.bynweekday = Object(helpers["g" /* notEmpty */])(bynweekday) ? bynweekday : null;
+ opts.byweekday = Object(helpers["h" /* notEmpty */])(byweekday) ? byweekday : null;
+ opts.bynweekday = Object(helpers["h" /* notEmpty */])(bynweekday) ? bynweekday : null;
}
// byhour
if (!Object(helpers["f" /* isPresent */])(opts.byhour)) {
@@ -953,24 +1101,14 @@ function buildTimeset(opts) {
}
// CONCATENATED MODULE: ./src/parsestring.ts
-var __assign = (undefined && undefined.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
- };
- return __assign.apply(this, arguments);
-};
+
function parseString(rfcString) {
var options = rfcString.split('\n').map(parseLine).filter(function (x) { return x !== null; });
- return __assign({}, options[0], options[1]);
+ return __assign(__assign({}, options[0]), options[1]);
}
function parseDtstart(line) {
var options = {};
@@ -1075,17 +1213,17 @@ function parseWeekday(value) {
// MO, TU, ...
return Days[day]; // wday instanceof Weekday
}
- // -1MO, +3FR, 1SO, ...
- var parts = day.match(/^([+-]?\d)([A-Z]{2})$/);
+ // -1MO, +3FR, 1SO, 13TU ...
+ var parts = day.match(/^([+-]?\d{1,2})([A-Z]{2})$/);
var n = Number(parts[1]);
var wdaypart = parts[2];
var wday = Days[wdaypart].weekday;
- return new Weekday(wday, n);
+ return new weekday["b" /* Weekday */](wday, n);
});
}
// EXTERNAL MODULE: external "luxon"
-var external_luxon_ = __webpack_require__(2);
+var external_luxon_ = __webpack_require__(3);
// CONCATENATED MODULE: ./src/datewithzone.ts
@@ -1160,7 +1298,7 @@ function optionsToString(options) {
break;
case 'WKST':
if (Object(helpers["e" /* isNumber */])(value)) {
- outValue = new Weekday(value).toString();
+ outValue = new weekday["b" /* Weekday */](value).toString();
}
else {
outValue = value.toString();
@@ -1179,14 +1317,14 @@ function optionsToString(options) {
*/
key = 'BYDAY';
- outValue = Object(helpers["m" /* toArray */])(value).map(function (wday) {
- if (wday instanceof Weekday) {
+ outValue = Object(helpers["n" /* toArray */])(value).map(function (wday) {
+ if (wday instanceof weekday["b" /* Weekday */]) {
return wday;
}
if (Object(helpers["d" /* isArray */])(wday)) {
- return new Weekday(wday[0], wday[1]);
+ return new weekday["b" /* Weekday */](wday[0], wday[1]);
}
- return new Weekday(wday);
+ return new weekday["b" /* Weekday */](wday);
}).toString();
break;
case 'DTSTART':
@@ -1316,46 +1454,37 @@ var cache_Cache = /** @class */ (function () {
// CONCATENATED MODULE: ./src/masks.ts
+
// =============================================================================
// Date masks
// =============================================================================
// Every mask is 7 days longer to handle cross-year weekly periods.
-var M365MASK = Object(helpers["k" /* repeat */])(1, 31).concat(Object(helpers["k" /* repeat */])(2, 28), Object(helpers["k" /* repeat */])(3, 31), Object(helpers["k" /* repeat */])(4, 30), Object(helpers["k" /* repeat */])(5, 31), Object(helpers["k" /* repeat */])(6, 30), Object(helpers["k" /* repeat */])(7, 31), Object(helpers["k" /* repeat */])(8, 31), Object(helpers["k" /* repeat */])(9, 30), Object(helpers["k" /* repeat */])(10, 31), Object(helpers["k" /* repeat */])(11, 30), Object(helpers["k" /* repeat */])(12, 31), Object(helpers["k" /* repeat */])(1, 7));
-var M366MASK = Object(helpers["k" /* repeat */])(1, 31).concat(Object(helpers["k" /* repeat */])(2, 29), Object(helpers["k" /* repeat */])(3, 31), Object(helpers["k" /* repeat */])(4, 30), Object(helpers["k" /* repeat */])(5, 31), Object(helpers["k" /* repeat */])(6, 30), Object(helpers["k" /* repeat */])(7, 31), Object(helpers["k" /* repeat */])(8, 31), Object(helpers["k" /* repeat */])(9, 30), Object(helpers["k" /* repeat */])(10, 31), Object(helpers["k" /* repeat */])(11, 30), Object(helpers["k" /* repeat */])(12, 31), Object(helpers["k" /* repeat */])(1, 7));
-var M28 = Object(helpers["j" /* range */])(1, 29);
-var M29 = Object(helpers["j" /* range */])(1, 30);
-var M30 = Object(helpers["j" /* range */])(1, 31);
-var M31 = Object(helpers["j" /* range */])(1, 32);
-var MDAY366MASK = M31.concat(M29, M31, M30, M31, M30, M31, M31, M30, M31, M30, M31, M31.slice(0, 7));
-var MDAY365MASK = M31.concat(M28, M31, M30, M31, M30, M31, M31, M30, M31, M30, M31, M31.slice(0, 7));
-var NM28 = Object(helpers["j" /* range */])(-28, 0);
-var NM29 = Object(helpers["j" /* range */])(-29, 0);
-var NM30 = Object(helpers["j" /* range */])(-30, 0);
-var NM31 = Object(helpers["j" /* range */])(-31, 0);
-var NMDAY366MASK = NM31.concat(NM29, NM31, NM30, NM31, NM30, NM31, NM31, NM30, NM31, NM30, NM31, NM31.slice(0, 7));
-var NMDAY365MASK = NM31.concat(NM28, NM31, NM30, NM31, NM30, NM31, NM31, NM30, NM31, NM30, NM31, NM31.slice(0, 7));
+var M365MASK = __spreadArrays(Object(helpers["l" /* repeat */])(1, 31), Object(helpers["l" /* repeat */])(2, 28), Object(helpers["l" /* repeat */])(3, 31), Object(helpers["l" /* repeat */])(4, 30), Object(helpers["l" /* repeat */])(5, 31), Object(helpers["l" /* repeat */])(6, 30), Object(helpers["l" /* repeat */])(7, 31), Object(helpers["l" /* repeat */])(8, 31), Object(helpers["l" /* repeat */])(9, 30), Object(helpers["l" /* repeat */])(10, 31), Object(helpers["l" /* repeat */])(11, 30), Object(helpers["l" /* repeat */])(12, 31), Object(helpers["l" /* repeat */])(1, 7));
+var M366MASK = __spreadArrays(Object(helpers["l" /* repeat */])(1, 31), Object(helpers["l" /* repeat */])(2, 29), Object(helpers["l" /* repeat */])(3, 31), Object(helpers["l" /* repeat */])(4, 30), Object(helpers["l" /* repeat */])(5, 31), Object(helpers["l" /* repeat */])(6, 30), Object(helpers["l" /* repeat */])(7, 31), Object(helpers["l" /* repeat */])(8, 31), Object(helpers["l" /* repeat */])(9, 30), Object(helpers["l" /* repeat */])(10, 31), Object(helpers["l" /* repeat */])(11, 30), Object(helpers["l" /* repeat */])(12, 31), Object(helpers["l" /* repeat */])(1, 7));
+var M28 = Object(helpers["k" /* range */])(1, 29);
+var M29 = Object(helpers["k" /* range */])(1, 30);
+var M30 = Object(helpers["k" /* range */])(1, 31);
+var M31 = Object(helpers["k" /* range */])(1, 32);
+var MDAY366MASK = __spreadArrays(M31, M29, M31, M30, M31, M30, M31, M31, M30, M31, M30, M31, M31.slice(0, 7));
+var MDAY365MASK = __spreadArrays(M31, M28, M31, M30, M31, M30, M31, M31, M30, M31, M30, M31, M31.slice(0, 7));
+var NM28 = Object(helpers["k" /* range */])(-28, 0);
+var NM29 = Object(helpers["k" /* range */])(-29, 0);
+var NM30 = Object(helpers["k" /* range */])(-30, 0);
+var NM31 = Object(helpers["k" /* range */])(-31, 0);
+var NMDAY366MASK = __spreadArrays(NM31, NM29, NM31, NM30, NM31, NM30, NM31, NM31, NM30, NM31, NM30, NM31, NM31.slice(0, 7));
+var NMDAY365MASK = __spreadArrays(NM31, NM28, NM31, NM30, NM31, NM30, NM31, NM31, NM30, NM31, NM30, NM31, NM31.slice(0, 7));
var M366RANGE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366];
var M365RANGE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365];
var WDAYMASK = (function () {
var wdaymask = [];
for (var i = 0; i < 55; i++)
- wdaymask = wdaymask.concat(Object(helpers["j" /* range */])(7));
+ wdaymask = wdaymask.concat(Object(helpers["k" /* range */])(7));
return wdaymask;
})();
// CONCATENATED MODULE: ./src/iterinfo/yearinfo.ts
-var yearinfo_assign = (undefined && undefined.__assign) || function () {
- yearinfo_assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
- };
- return yearinfo_assign.apply(this, arguments);
-};
+
@@ -1365,23 +1494,23 @@ function rebuildYear(year, options) {
var nextyearlen = src_dateutil.isLeapYear(year + 1) ? 366 : 365;
var yearordinal = src_dateutil.toOrdinal(firstyday);
var yearweekday = src_dateutil.getWeekday(firstyday);
- var result = yearinfo_assign({ yearlen: yearlen,
+ var result = __assign(__assign({ yearlen: yearlen,
nextyearlen: nextyearlen,
yearordinal: yearordinal,
- yearweekday: yearweekday }, baseYearMasks(year), { wnomask: null });
+ yearweekday: yearweekday }, baseYearMasks(year)), { wnomask: null });
if (Object(helpers["b" /* empty */])(options.byweekno)) {
return result;
}
- result.wnomask = Object(helpers["k" /* repeat */])(0, yearlen + 7);
+ result.wnomask = Object(helpers["l" /* repeat */])(0, yearlen + 7);
var firstwkst;
var wyearlen;
- var no1wkst = firstwkst = Object(helpers["i" /* pymod */])(7 - yearweekday + options.wkst, 7);
+ var no1wkst = firstwkst = Object(helpers["j" /* pymod */])(7 - yearweekday + options.wkst, 7);
if (no1wkst >= 4) {
no1wkst = 0;
// Number of days in the year, plus the days we got
// from last year.
wyearlen =
- result.yearlen + Object(helpers["i" /* pymod */])(yearweekday - options.wkst, 7);
+ result.yearlen + Object(helpers["j" /* pymod */])(yearweekday - options.wkst, 7);
}
else {
// Number of days in the year, minus the days we
@@ -1389,7 +1518,7 @@ function rebuildYear(year, options) {
wyearlen = yearlen - no1wkst;
}
var div = Math.floor(wyearlen / 7);
- var mod = Object(helpers["i" /* pymod */])(wyearlen, 7);
+ var mod = Object(helpers["j" /* pymod */])(wyearlen, 7);
var numweeks = Math.floor(div + mod / 4);
for (var j = 0; j < options.byweekno.length; j++) {
var n = options.byweekno[j];
@@ -1443,17 +1572,17 @@ function rebuildYear(year, options) {
var lnumweeks = void 0;
if (!Object(helpers["c" /* includes */])(options.byweekno, -1)) {
var lyearweekday = src_dateutil.getWeekday(new Date(Date.UTC(year - 1, 0, 1)));
- var lno1wkst = Object(helpers["i" /* pymod */])(7 - lyearweekday.valueOf() + options.wkst, 7);
+ var lno1wkst = Object(helpers["j" /* pymod */])(7 - lyearweekday.valueOf() + options.wkst, 7);
var lyearlen = src_dateutil.isLeapYear(year - 1) ? 366 : 365;
var weekst = void 0;
if (lno1wkst >= 4) {
lno1wkst = 0;
- weekst = lyearlen + Object(helpers["i" /* pymod */])(lyearweekday - options.wkst, 7);
+ weekst = lyearlen + Object(helpers["j" /* pymod */])(lyearweekday - options.wkst, 7);
}
else {
weekst = yearlen - no1wkst;
}
- lnumweeks = Math.floor(52 + Object(helpers["i" /* pymod */])(weekst, 7) / 4);
+ lnumweeks = Math.floor(52 + Object(helpers["j" /* pymod */])(weekst, 7) / 4);
}
else {
lnumweeks = -1;
@@ -1516,7 +1645,7 @@ function rebuildMonth(year, month, yearlen, mrange, wdaymask, options) {
}
// Weekly frequency won't get here, so we may not
// care about cross-year weekly periods.
- result.nwdaymask = Object(helpers["k" /* repeat */])(0, yearlen);
+ result.nwdaymask = Object(helpers["l" /* repeat */])(0, yearlen);
for (var j = 0; j < ranges.length; j++) {
var rang = ranges[j];
var first = rang[0];
@@ -1526,11 +1655,11 @@ function rebuildMonth(year, month, yearlen, mrange, wdaymask, options) {
var _a = options.bynweekday[k], wday = _a[0], n = _a[1];
if (n < 0) {
i = last + (n + 1) * 7;
- i -= Object(helpers["i" /* pymod */])(wdaymask[i] - wday, 7);
+ i -= Object(helpers["j" /* pymod */])(wdaymask[i] - wday, 7);
}
else {
i = first + (n - 1) * 7;
- i += Object(helpers["i" /* pymod */])(7 - wdaymask[i] + wday, 7);
+ i += Object(helpers["j" /* pymod */])(7 - wdaymask[i] + wday, 7);
}
if (first <= i && i <= last)
result.nwdaymask[i] = 1;
@@ -1581,7 +1710,7 @@ var iterinfo_Iterinfo = /** @class */ (function () {
if (year !== this.lastyear) {
this.yearinfo = rebuildYear(year, options);
}
- if (Object(helpers["g" /* notEmpty */])(options.bynweekday) &&
+ if (Object(helpers["h" /* notEmpty */])(options.bynweekday) &&
(month !== this.lastmonth || year !== this.lastyear)) {
var _a = this.yearinfo, yearlen = _a.yearlen, mrange = _a.mrange, wdaymask = _a.wdaymask;
this.monthinfo = rebuildMonth(year, month, yearlen, mrange, wdaymask, options);
@@ -1675,19 +1804,19 @@ var iterinfo_Iterinfo = /** @class */ (function () {
configurable: true
});
Iterinfo.prototype.ydayset = function () {
- return [Object(helpers["j" /* range */])(this.yearlen), 0, this.yearlen];
+ return [Object(helpers["k" /* range */])(this.yearlen), 0, this.yearlen];
};
Iterinfo.prototype.mdayset = function (_, month, __) {
var start = this.mrange[month - 1];
var end = this.mrange[month];
- var set = Object(helpers["k" /* repeat */])(null, this.yearlen);
+ var set = Object(helpers["l" /* repeat */])(null, this.yearlen);
for (var i = start; i < end; i++)
set[i] = i;
return [set, start, end];
};
Iterinfo.prototype.wdayset = function (year, month, day) {
// We need to handle cross-year weeks here.
- var set = Object(helpers["k" /* repeat */])(null, this.yearlen + 7);
+ var set = Object(helpers["l" /* repeat */])(null, this.yearlen + 7);
var i = src_dateutil.toOrdinal(new Date(Date.UTC(year, month - 1, day))) -
this.yearordinal;
var start = i;
@@ -1700,7 +1829,7 @@ var iterinfo_Iterinfo = /** @class */ (function () {
return [set, start, i];
};
Iterinfo.prototype.ddayset = function (year, month, day) {
- var set = Object(helpers["k" /* repeat */])(null, this.yearlen);
+ var set = Object(helpers["l" /* repeat */])(null, this.yearlen);
var i = src_dateutil.toOrdinal(new Date(Date.UTC(year, month - 1, day))) -
this.yearordinal;
set[i] = i;
@@ -1756,11 +1885,11 @@ function buildPoslist(bysetpos, timeset, start, end, ii, dayset) {
var pos = bysetpos[j];
if (pos < 0) {
daypos = Math.floor(pos / timeset.length);
- timepos = Object(helpers["i" /* pymod */])(pos, timeset.length);
+ timepos = Object(helpers["j" /* pymod */])(pos, timeset.length);
}
else {
daypos = Math.floor((pos - 1) / timeset.length);
- timepos = Object(helpers["i" /* pymod */])(pos - 1, timeset.length);
+ timepos = Object(helpers["j" /* pymod */])(pos - 1, timeset.length);
}
var tmp = [];
for (var k = start; k < end; k++) {
@@ -1811,7 +1940,7 @@ function iter(iterResult, options) {
while (true) {
var _a = ii.getdayset(freq)(counterDate.year, counterDate.month, counterDate.day), dayset = _a[0], start = _a[1], end = _a[2];
var filtered = removeFilteredDays(dayset, start, end, ii, options);
- if (Object(helpers["g" /* notEmpty */])(bysetpos)) {
+ if (Object(helpers["h" /* notEmpty */])(bysetpos)) {
var poslist = buildPoslist(bysetpos, timeset, start, end, ii, dayset);
for (var j = 0; j < poslist.length; j++) {
var res = poslist[j];
@@ -1876,15 +2005,15 @@ function iter(iterResult, options) {
}
function isFiltered(ii, currentDay, options) {
var bymonth = options.bymonth, byweekno = options.byweekno, byweekday = options.byweekday, byeaster = options.byeaster, bymonthday = options.bymonthday, bynmonthday = options.bynmonthday, byyearday = options.byyearday;
- return ((Object(helpers["g" /* notEmpty */])(bymonth) && !Object(helpers["c" /* includes */])(bymonth, ii.mmask[currentDay])) ||
- (Object(helpers["g" /* notEmpty */])(byweekno) && !ii.wnomask[currentDay]) ||
- (Object(helpers["g" /* notEmpty */])(byweekday) && !Object(helpers["c" /* includes */])(byweekday, ii.wdaymask[currentDay])) ||
- (Object(helpers["g" /* notEmpty */])(ii.nwdaymask) && !ii.nwdaymask[currentDay]) ||
+ return ((Object(helpers["h" /* notEmpty */])(bymonth) && !Object(helpers["c" /* includes */])(bymonth, ii.mmask[currentDay])) ||
+ (Object(helpers["h" /* notEmpty */])(byweekno) && !ii.wnomask[currentDay]) ||
+ (Object(helpers["h" /* notEmpty */])(byweekday) && !Object(helpers["c" /* includes */])(byweekday, ii.wdaymask[currentDay])) ||
+ (Object(helpers["h" /* notEmpty */])(ii.nwdaymask) && !ii.nwdaymask[currentDay]) ||
(byeaster !== null && !Object(helpers["c" /* includes */])(ii.eastermask, currentDay)) ||
- ((Object(helpers["g" /* notEmpty */])(bymonthday) || Object(helpers["g" /* notEmpty */])(bynmonthday)) &&
+ ((Object(helpers["h" /* notEmpty */])(bymonthday) || Object(helpers["h" /* notEmpty */])(bynmonthday)) &&
!Object(helpers["c" /* includes */])(bymonthday, ii.mdaymask[currentDay]) &&
!Object(helpers["c" /* includes */])(bynmonthday, ii.nmdaymask[currentDay])) ||
- (Object(helpers["g" /* notEmpty */])(byyearday) &&
+ (Object(helpers["h" /* notEmpty */])(byyearday) &&
((currentDay < ii.yearlen &&
!Object(helpers["c" /* includes */])(byyearday, currentDay + 1) &&
!Object(helpers["c" /* includes */])(byyearday, -ii.yearlen + currentDay)) ||
@@ -1914,13 +2043,13 @@ function makeTimeset(ii, counterDate, options) {
return buildTimeset(options);
}
if ((freq >= src_rrule.HOURLY &&
- Object(helpers["g" /* notEmpty */])(byhour) &&
+ Object(helpers["h" /* notEmpty */])(byhour) &&
!Object(helpers["c" /* includes */])(byhour, counterDate.hour)) ||
(freq >= src_rrule.MINUTELY &&
- Object(helpers["g" /* notEmpty */])(byminute) &&
+ Object(helpers["h" /* notEmpty */])(byminute) &&
!Object(helpers["c" /* includes */])(byminute, counterDate.minute)) ||
(freq >= src_rrule.SECONDLY &&
- Object(helpers["g" /* notEmpty */])(bysecond) &&
+ Object(helpers["h" /* notEmpty */])(bysecond) &&
!Object(helpers["c" /* includes */])(bysecond, counterDate.second))) {
return [];
}
@@ -1941,7 +2070,7 @@ function makeTimeset(ii, counterDate, options) {
var getnlp = function () {
// Lazy, runtime import to avoid circular refs.
if (!getnlp._nlp) {
- getnlp._nlp = __webpack_require__(3);
+ getnlp._nlp = __webpack_require__(4);
}
return getnlp._nlp;
};
@@ -1949,13 +2078,13 @@ var getnlp = function () {
// RRule
// =============================================================================
var Days = {
- MO: new Weekday(0),
- TU: new Weekday(1),
- WE: new Weekday(2),
- TH: new Weekday(3),
- FR: new Weekday(4),
- SA: new Weekday(5),
- SU: new Weekday(6)
+ MO: new weekday["b" /* Weekday */](0),
+ TU: new weekday["b" /* Weekday */](1),
+ WE: new weekday["b" /* Weekday */](2),
+ TH: new weekday["b" /* Weekday */](3),
+ FR: new weekday["b" /* Weekday */](4),
+ SA: new weekday["b" /* Weekday */](5),
+ SU: new weekday["b" /* Weekday */](6)
};
var DEFAULT_OPTIONS = {
freq: Frequency.YEARLY,
@@ -2116,8 +2245,8 @@ var rrule_RRule = /** @class */ (function () {
* Will convert all rules described in nlp:ToText
* to text.
*/
- RRule.prototype.toText = function (gettext, language) {
- return getnlp().toText(this, gettext, language);
+ RRule.prototype.toText = function (gettext, language, dateFormatter) {
+ return getnlp().toText(this, gettext, language, dateFormatter);
};
RRule.prototype.isFullyConvertibleToText = function () {
return getnlp().isFullyConvertible(this);
@@ -2179,6 +2308,8 @@ function iterSet(iterResult, _rrule, _exrule, _rdate, _exdate, tzid) {
});
iterResult.accept = function (date) {
var dt = Number(date);
+ if (isNaN(dt))
+ return _accept.call(this, date);
if (!_exdateHash[dt]) {
evalExdate(new Date(dt - 1), new Date(dt + 1));
if (!_exdateHash[dt]) {
@@ -2221,170 +2352,8 @@ function iterSet(iterResult, _rrule, _exrule, _rdate, _exdate, tzid) {
}
}
-// CONCATENATED MODULE: ./src/rruleset.ts
-var rruleset_extends = (undefined && undefined.__extends) || (function () {
- var extendStatics = function (d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
- return extendStatics(d, b);
- }
- return function (d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
-})();
-
-
-
-
-var rruleset_RRuleSet = /** @class */ (function (_super) {
- rruleset_extends(RRuleSet, _super);
- /**
- *
- * @param {Boolean?} noCache
- * The same stratagy as RRule on cache, default to false
- * @constructor
- */
- function RRuleSet(noCache) {
- if (noCache === void 0) { noCache = false; }
- var _this = _super.call(this, {}, noCache) || this;
- _this._rrule = [];
- _this._rdate = [];
- _this._exrule = [];
- _this._exdate = [];
- return _this;
- }
- RRuleSet.prototype.tzid = function (tzid) {
- if (tzid !== undefined) {
- this._tzid = tzid;
- }
- if (this._tzid !== undefined) {
- return this._tzid;
- }
- for (var i = 0; i < this._rrule.length; i++) {
- var tzid_1 = this._rrule[i].origOptions.tzid;
- if (tzid_1) {
- return tzid_1;
- }
- }
- return undefined;
- };
- RRuleSet.prototype._iter = function (iterResult) {
- return iterSet(iterResult, this._rrule, this._exrule, this._rdate, this._exdate, this.tzid());
- };
- /**
- * Adds an RRule to the set
- *
- * @param {RRule}
- */
- RRuleSet.prototype.rrule = function (rrule) {
- _addRule(rrule, this._rrule);
- };
- /**
- * Adds an EXRULE to the set
- *
- * @param {RRule}
- */
- RRuleSet.prototype.exrule = function (rrule) {
- _addRule(rrule, this._exrule);
- };
- /**
- * Adds an RDate to the set
- *
- * @param {Date}
- */
- RRuleSet.prototype.rdate = function (date) {
- _addDate(date, this._rdate);
- };
- /**
- * Adds an EXDATE to the set
- *
- * @param {Date}
- */
- RRuleSet.prototype.exdate = function (date) {
- _addDate(date, this._exdate);
- };
- RRuleSet.prototype.valueOf = function () {
- var result = [];
- this._rrule.forEach(function (rrule) {
- result = result.concat(rrule.toString().split('\n'));
- });
- this._exrule.forEach(function (exrule) {
- result = result.concat(exrule.toString().split('\n')
- .map(function (line) { return line.replace(/^RRULE:/, 'EXRULE:'); })
- .filter(function (line) { return !/^DTSTART/.test(line); }));
- });
- if (this._rdate.length) {
- result.push(rdatesToString('RDATE', this._rdate, this.tzid()));
- }
- if (this._exdate.length) {
- result.push(rdatesToString('EXDATE', this._exdate, this.tzid()));
- }
- return result;
- };
- /**
- * to generate recurrence field such as:
- * DTSTART:19970902T010000Z
- * RRULE:FREQ=YEARLY;COUNT=2;BYDAY=TU
- * RRULE:FREQ=YEARLY;COUNT=1;BYDAY=TH
- */
- RRuleSet.prototype.toString = function () {
- return this.valueOf().join('\n');
- };
- /**
- * Create a new RRuleSet Object completely base on current instance
- */
- RRuleSet.prototype.clone = function () {
- var rrs = new RRuleSet(!!this._cache);
- this._rrule.forEach(function (rule) { return rrs.rrule(rule.clone()); });
- this._exrule.forEach(function (rule) { return rrs.exrule(rule.clone()); });
- this._rdate.forEach(function (date) { return rrs.rdate(new Date(date.getTime())); });
- this._exdate.forEach(function (date) { return rrs.exdate(new Date(date.getTime())); });
- return rrs;
- };
- return RRuleSet;
-}(src_rrule));
-/* harmony default export */ var rruleset = (rruleset_RRuleSet);
-function _addRule(rrule, collection) {
- if (!(rrule instanceof src_rrule)) {
- throw new TypeError(String(rrule) + ' is not RRule instance');
- }
- if (!Object(helpers["c" /* includes */])(collection.map(String), String(rrule))) {
- collection.push(rrule);
- }
-}
-function _addDate(date, collection) {
- if (!(date instanceof Date)) {
- throw new TypeError(String(date) + ' is not Date instance');
- }
- if (!Object(helpers["c" /* includes */])(collection.map(Number), Number(date))) {
- collection.push(date);
- src_dateutil.sort(collection);
- }
-}
-function rdatesToString(param, rdates, tzid) {
- var isUTC = !tzid || tzid.toUpperCase() === 'UTC';
- var header = isUTC ? param + ":" : param + ";TZID=" + tzid + ":";
- var dateString = rdates
- .map(function (rdate) { return src_dateutil.timeToUntilString(rdate.valueOf(), isUTC); })
- .join(',');
- return "" + header + dateString;
-}
-
// CONCATENATED MODULE: ./src/rrulestr.ts
-var rrulestr_assign = (undefined && undefined.__assign) || function () {
- rrulestr_assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
- };
- return rrulestr_assign.apply(this, arguments);
-};
+
@@ -2464,6 +2433,7 @@ function buildRule(s, options) {
exrulevals.length ||
exdatevals.length) {
var rset_1 = new rruleset(noCache);
+ rset_1.dtstart(dtstart);
rset_1.tzid(tzid || undefined);
rrulevals.forEach(function (val) {
rset_1.rrule(new src_rrule(groomRruleOptions(val, dtstart, tzid), noCache));
@@ -2481,7 +2451,7 @@ function buildRule(s, options) {
rset_1.rdate(dtstart);
return rset_1;
}
- var val = rrulevals[0];
+ var val = rrulevals[0] || {};
return new src_rrule(groomRruleOptions(val, val.dtstart || options.dtstart || dtstart, val.tzid || options.tzid || tzid), noCache);
}
function rrulestr(s, options) {
@@ -2489,7 +2459,7 @@ function rrulestr(s, options) {
return buildRule(s, rrulestr_initializeOptions(options));
}
function groomRruleOptions(val, dtstart, tzid) {
- return rrulestr_assign({}, val, { dtstart: dtstart,
+ return __assign(__assign({}, val), { dtstart: dtstart,
tzid: tzid });
}
function rrulestr_initializeOptions(options) {
@@ -2503,13 +2473,7 @@ function rrulestr_initializeOptions(options) {
if (invalid.length) {
throw new Error('Invalid options: ' + invalid.join(', '));
}
- var initializedOptions = rrulestr_assign({}, options);
- // Merge in default options
- defaultKeys.forEach(function (key) {
- if (!Object(helpers["c" /* includes */])(keys, key))
- initializedOptions[key] = rrulestr_DEFAULT_OPTIONS[key];
- });
- return initializedOptions;
+ return __assign(__assign({}, rrulestr_DEFAULT_OPTIONS), options);
}
function extractName(line) {
if (line.indexOf(':') === -1) {
@@ -2518,7 +2482,7 @@ function extractName(line) {
value: line
};
}
- var _a = Object(helpers["l" /* split */])(line, ':', 1), name = _a[0], value = _a[1];
+ var _a = Object(helpers["m" /* split */])(line, ':', 1), name = _a[0], value = _a[1];
return {
name: name,
value: value
@@ -2577,12 +2541,193 @@ function parseRDate(rdateval, parms) {
.map(function (datestr) { return src_dateutil.untilStringToDate(datestr); });
}
+// CONCATENATED MODULE: ./src/rruleset.ts
+
+
+
+
+
+
+
+function createGetterSetter(fieldName) {
+ var _this = this;
+ return function (field) {
+ if (field !== undefined) {
+ _this["_" + fieldName] = field;
+ }
+ if (_this["_" + fieldName] !== undefined) {
+ return _this["_" + fieldName];
+ }
+ for (var i = 0; i < _this._rrule.length; i++) {
+ var field_1 = _this._rrule[i].origOptions[fieldName];
+ if (field_1) {
+ return field_1;
+ }
+ }
+ };
+}
+var rruleset_RRuleSet = /** @class */ (function (_super) {
+ __extends(RRuleSet, _super);
+ /**
+ *
+ * @param {Boolean?} noCache
+ * The same stratagy as RRule on cache, default to false
+ * @constructor
+ */
+ function RRuleSet(noCache) {
+ if (noCache === void 0) { noCache = false; }
+ var _this = _super.call(this, {}, noCache) || this;
+ _this.dtstart = createGetterSetter.apply(_this, ['dtstart']);
+ _this.tzid = createGetterSetter.apply(_this, ['tzid']);
+ _this._rrule = [];
+ _this._rdate = [];
+ _this._exrule = [];
+ _this._exdate = [];
+ return _this;
+ }
+ RRuleSet.prototype._iter = function (iterResult) {
+ return iterSet(iterResult, this._rrule, this._exrule, this._rdate, this._exdate, this.tzid());
+ };
+ /**
+ * Adds an RRule to the set
+ *
+ * @param {RRule}
+ */
+ RRuleSet.prototype.rrule = function (rrule) {
+ _addRule(rrule, this._rrule);
+ };
+ /**
+ * Adds an EXRULE to the set
+ *
+ * @param {RRule}
+ */
+ RRuleSet.prototype.exrule = function (rrule) {
+ _addRule(rrule, this._exrule);
+ };
+ /**
+ * Adds an RDate to the set
+ *
+ * @param {Date}
+ */
+ RRuleSet.prototype.rdate = function (date) {
+ _addDate(date, this._rdate);
+ };
+ /**
+ * Adds an EXDATE to the set
+ *
+ * @param {Date}
+ */
+ RRuleSet.prototype.exdate = function (date) {
+ _addDate(date, this._exdate);
+ };
+ /**
+ * Get list of included rrules in this recurrence set.
+ *
+ * @return List of rrules
+ */
+ RRuleSet.prototype.rrules = function () {
+ return this._rrule.map(function (e) { return rrulestr(e.toString()); });
+ };
+ /**
+ * Get list of excluded rrules in this recurrence set.
+ *
+ * @return List of exrules
+ */
+ RRuleSet.prototype.exrules = function () {
+ return this._exrule.map(function (e) { return rrulestr(e.toString()); });
+ };
+ /**
+ * Get list of included datetimes in this recurrence set.
+ *
+ * @return List of rdates
+ */
+ RRuleSet.prototype.rdates = function () {
+ return this._rdate.map(function (e) { return new Date(e.getTime()); });
+ };
+ /**
+ * Get list of included datetimes in this recurrence set.
+ *
+ * @return List of exdates
+ */
+ RRuleSet.prototype.exdates = function () {
+ return this._exdate.map(function (e) { return new Date(e.getTime()); });
+ };
+ RRuleSet.prototype.valueOf = function () {
+ var result = [];
+ if (!this._rrule.length && this._dtstart) {
+ result = result.concat(optionsToString({ dtstart: this._dtstart }));
+ }
+ this._rrule.forEach(function (rrule) {
+ result = result.concat(rrule.toString().split('\n'));
+ });
+ this._exrule.forEach(function (exrule) {
+ result = result.concat(exrule.toString().split('\n')
+ .map(function (line) { return line.replace(/^RRULE:/, 'EXRULE:'); })
+ .filter(function (line) { return !/^DTSTART/.test(line); }));
+ });
+ if (this._rdate.length) {
+ result.push(rdatesToString('RDATE', this._rdate, this.tzid()));
+ }
+ if (this._exdate.length) {
+ result.push(rdatesToString('EXDATE', this._exdate, this.tzid()));
+ }
+ return result;
+ };
+ /**
+ * to generate recurrence field such as:
+ * DTSTART:19970902T010000Z
+ * RRULE:FREQ=YEARLY;COUNT=2;BYDAY=TU
+ * RRULE:FREQ=YEARLY;COUNT=1;BYDAY=TH
+ */
+ RRuleSet.prototype.toString = function () {
+ return this.valueOf().join('\n');
+ };
+ /**
+ * Create a new RRuleSet Object completely base on current instance
+ */
+ RRuleSet.prototype.clone = function () {
+ var rrs = new RRuleSet(!!this._cache);
+ this._rrule.forEach(function (rule) { return rrs.rrule(rule.clone()); });
+ this._exrule.forEach(function (rule) { return rrs.exrule(rule.clone()); });
+ this._rdate.forEach(function (date) { return rrs.rdate(new Date(date.getTime())); });
+ this._exdate.forEach(function (date) { return rrs.exdate(new Date(date.getTime())); });
+ return rrs;
+ };
+ return RRuleSet;
+}(src_rrule));
+/* harmony default export */ var rruleset = (rruleset_RRuleSet);
+function _addRule(rrule, collection) {
+ if (!(rrule instanceof src_rrule)) {
+ throw new TypeError(String(rrule) + ' is not RRule instance');
+ }
+ if (!Object(helpers["c" /* includes */])(collection.map(String), String(rrule))) {
+ collection.push(rrule);
+ }
+}
+function _addDate(date, collection) {
+ if (!(date instanceof Date)) {
+ throw new TypeError(String(date) + ' is not Date instance');
+ }
+ if (!Object(helpers["c" /* includes */])(collection.map(Number), Number(date))) {
+ collection.push(date);
+ src_dateutil.sort(collection);
+ }
+}
+function rdatesToString(param, rdates, tzid) {
+ var isUTC = !tzid || tzid.toUpperCase() === 'UTC';
+ var header = isUTC ? param + ":" : param + ";TZID=" + tzid + ":";
+ var dateString = rdates
+ .map(function (rdate) { return src_dateutil.timeToUntilString(rdate.valueOf(), isUTC); })
+ .join(',');
+ return "" + header + dateString;
+}
+
// CONCATENATED MODULE: ./src/index.ts
-/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "Frequency", function() { return Frequency; });
-/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "Weekday", function() { return Weekday; });
-/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "RRule", function() { return src_rrule; });
-/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "RRuleSet", function() { return rruleset; });
-/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "rrulestr", function() { return rrulestr; });
+/* concated harmony reexport Frequency */__webpack_require__.d(__webpack_exports__, "Frequency", function() { return Frequency; });
+/* concated harmony reexport Weekday */__webpack_require__.d(__webpack_exports__, "Weekday", function() { return weekday["b" /* Weekday */]; });
+/* concated harmony reexport RRule */__webpack_require__.d(__webpack_exports__, "RRule", function() { return src_rrule; });
+/* concated harmony reexport RRuleSet */__webpack_require__.d(__webpack_exports__, "RRuleSet", function() { return rruleset; });
+/* concated harmony reexport rrulestr */__webpack_require__.d(__webpack_exports__, "rrulestr", function() { return rrulestr; });
/*!
* rrule.js - Library for working with recurrence rules for calendar dates.
* https://github.com/jakubroztocil/rrule
@@ -2612,12 +2757,57 @@ function parseRDate(rdateval, parms) {
/***/ }),
/* 2 */
-/***/ (function(module, exports) {
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ALL_WEEKDAYS; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Weekday; });
+// =============================================================================
+// Weekday
+// =============================================================================
+var ALL_WEEKDAYS = ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'];
+var Weekday = /** @class */ (function () {
+ function Weekday(weekday, n) {
+ if (n === 0)
+ throw new Error("Can't create weekday with n == 0");
+ this.weekday = weekday;
+ this.n = n;
+ }
+ Weekday.fromStr = function (str) {
+ return new Weekday(ALL_WEEKDAYS.indexOf(str));
+ };
+ // __call__ - Cannot call the object directly, do it through
+ // e.g. RRule.TH.nth(-1) instead,
+ Weekday.prototype.nth = function (n) {
+ return this.n === n ? this : new Weekday(this.weekday, n);
+ };
+ // __eq__
+ Weekday.prototype.equals = function (other) {
+ return this.weekday === other.weekday && this.n === other.n;
+ };
+ // __repr__
+ Weekday.prototype.toString = function () {
+ var s = ALL_WEEKDAYS[this.weekday];
+ if (this.n)
+ s = (this.n > 0 ? '+' : '') + String(this.n) + s;
+ return s;
+ };
+ Weekday.prototype.getJsWeekday = function () {
+ return this.weekday === 6 ? 0 : this.weekday + 1;
+ };
+ return Weekday;
+}());
+
-module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
/***/ }),
/* 3 */
+/***/ (function(module, exports) {
+
+module.exports = __WEBPACK_EXTERNAL_MODULE__3__;
+
+/***/ }),
+/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -2704,6 +2894,7 @@ var contains = function (arr, val) {
return arr.indexOf(val) !== -1;
};
var defaultGetText = function (id) { return id.toString(); };
+var defaultDateFormatter = function (year, month, day) { return month + " " + day + ", " + year; };
/**
*
* @param {RRule} rrule
@@ -2713,12 +2904,14 @@ var defaultGetText = function (id) { return id.toString(); };
* @constructor
*/
var totext_ToText = /** @class */ (function () {
- function ToText(rrule, gettext, language) {
+ function ToText(rrule, gettext, language, dateFormatter) {
if (gettext === void 0) { gettext = defaultGetText; }
if (language === void 0) { language = i18n; }
+ if (dateFormatter === void 0) { dateFormatter = defaultDateFormatter; }
this.text = [];
this.language = language || i18n;
this.gettext = gettext;
+ this.dateFormatter = dateFormatter;
this.rrule = rrule;
this.options = rrule.options;
this.origOptions = rrule.origOptions;
@@ -2812,9 +3005,7 @@ var totext_ToText = /** @class */ (function () {
if (this.options.until) {
this.add(gettext('until'));
var until = this.options.until;
- this.add(this.language.monthNames[until.getUTCMonth()])
- .add(until.getUTCDate() + ',')
- .add(until.getUTCFullYear().toString());
+ this.add(this.dateFormatter(until.getUTCFullYear(), this.language.monthNames[until.getUTCMonth()], until.getUTCDate()));
}
else if (this.options.count) {
this.add(gettext('for'))
@@ -3488,7 +3679,7 @@ function parseText(text, language) {
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromText", function() { return fromText; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFullyConvertible", function() { return isFullyConvertible; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toText", function() { return toText; });
-/* concated harmony reexport */__webpack_require__.d(__webpack_exports__, "parseText", function() { return parseText; });
+/* concated harmony reexport parseText */__webpack_require__.d(__webpack_exports__, "parseText", function() { return parseText; });
@@ -3604,8 +3795,8 @@ totext.IMPLEMENTED[src["default"].YEARLY] = ['byweekno', 'byyearday'].concat(com
// =============================================================================
// Export
// =============================================================================
-var toText = function (rrule, gettext, language) {
- return new totext(rrule, gettext, language).toString();
+var toText = function (rrule, gettext, language, dateFormatter) {
+ return new totext(rrule, gettext, language, dateFormatter).toString();
};
var isFullyConvertible = totext.isFullyConvertible;
diff --git a/library/justifiedGallery/jquery.justifiedGallery.js b/library/justifiedGallery/jquery.justifiedGallery.js
index 76db2112c..846f611dd 100644
--- a/library/justifiedGallery/jquery.justifiedGallery.js
+++ b/library/justifiedGallery/jquery.justifiedGallery.js
@@ -1,7 +1,7 @@
/*!
- * justifiedGallery - v4.0.0-alpha
+ * justifiedGallery - v3.8.1
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2019 Miro Mannino
+ * Copyright (c) 2020 Miro Mannino
* Licensed under the MIT license.
*/
(function (factory) {
@@ -10,13 +10,13 @@
define(['jquery'], factory);
} else if (typeof module === 'object' && module.exports) {
// Node/CommonJS
- module.exports = function( root, jQuery ) {
- if ( jQuery === undefined ) {
+ module.exports = function (root, jQuery) {
+ if (jQuery === undefined) {
// require('jQuery') returns a factory that requires window to
// build a jQuery instance, we normalize how we use modules
// that require this pattern but the window provided is a noop
// if it's defined (how jquery works)
- if ( typeof window !== 'undefined' ) {
+ if (typeof window !== 'undefined') {
jQuery = require('jquery');
}
else {
@@ -47,16 +47,16 @@
this.imgAnalyzerTimeout = null;
this.entries = null;
this.buildingRow = {
- entriesBuff : [],
- width : 0,
- height : 0,
- aspectRatio : 0
+ entriesBuff: [],
+ width: 0,
+ height: 0,
+ aspectRatio: 0
};
this.lastFetchedEntry = null;
this.lastAnalyzedIndex = -1;
this.yield = {
- every : 2, // do a flush every n flushes (must be greater than 1)
- flushed : 0 // flushed rows without a yield
+ every: 2, // do a flush every n flushes (must be greater than 1)
+ flushed: 0 // flushed rows without a yield
};
this.border = settings.border >= 0 ? settings.border : settings.margins;
this.maxRowHeight = this.retrieveMaxRowHeight();
@@ -64,10 +64,10 @@
this.offY = this.border;
this.rows = 0;
this.spinner = {
- phase : 0,
- timeSlot : 150,
- $el : $('<div class="spinner"><span></span><span></span><span></span></div>'),
- intervalId : null
+ phase: 0,
+ timeSlot: 150,
+ $el: $('<div class="jg-spinner"><span></span><span></span><span></span></div>'),
+ intervalId: null
};
this.scrollBarOn = false;
this.checkWidthIntervalId = null;
@@ -167,7 +167,7 @@
*/
JustifiedGallery.prototype.extractImgSrcFromImage = function ($image) {
var imageSrc = $image.data('safe-src');
- var imageSrcLoc = 'date-safe-src';
+ var imageSrcLoc = 'data-safe-src';
if (typeof imageSrc === 'undefined') {
imageSrc = $image.attr('src');
imageSrcLoc = 'src';
@@ -186,7 +186,7 @@
/** @returns {jQuery} the caption in the given entry */
JustifiedGallery.prototype.captionFromEntry = function ($entry) {
- var $caption = $entry.find('> .caption');
+ var $caption = $entry.find('> .jg-caption');
return $caption.length === 0 ? null : $caption;
};
@@ -228,7 +228,7 @@
// }
};
- if ($entry.data('jg.loaded') === 'skipped') {
+ if ($entry.data('jg.loaded') === 'skipped' && imageSrc) {
this.onImageEvent(imageSrc, (function() {
this.showImg($entry, loadNewImage); //load the new image after the fadeIn
$entry.data('jg.loaded', true);
@@ -262,7 +262,7 @@
var caption = $image.attr('alt');
if (!this.isValidCaption(caption)) caption = $entry.attr('title');
if (this.isValidCaption(caption)) { // Create only we found something
- $imgCaption = $('<div class="caption">' + caption + '</div>');
+ $imgCaption = $('<div class="jg-caption">' + caption + '</div>');
$entry.append($imgCaption);
$entry.data('jg.createdCaption', true);
}
@@ -297,10 +297,10 @@
JustifiedGallery.prototype.onEntryMouseEnterForCaption = function (eventObject) {
var $caption = this.captionFromEntry($(eventObject.currentTarget));
if (this.settings.cssAnimation) {
- $caption.addClass('caption-visible').removeClass('caption-hidden');
+ $caption.addClass('jg-caption-visible').removeClass('jg-caption-hidden');
} else {
$caption.stop().fadeTo(this.settings.captionSettings.animationDuration,
- this.settings.captionSettings.visibleOpacity);
+ this.settings.captionSettings.visibleOpacity);
}
};
@@ -313,10 +313,10 @@
JustifiedGallery.prototype.onEntryMouseLeaveForCaption = function (eventObject) {
var $caption = this.captionFromEntry($(eventObject.currentTarget));
if (this.settings.cssAnimation) {
- $caption.removeClass('caption-visible').removeClass('caption-hidden');
+ $caption.removeClass('jg-caption-visible').removeClass('jg-caption-hidden');
} else {
$caption.stop().fadeTo(this.settings.captionSettings.animationDuration,
- this.settings.captionSettings.nonVisibleOpacity);
+ this.settings.captionSettings.nonVisibleOpacity);
}
};
@@ -365,19 +365,20 @@
* Justify the building row, preparing it to
*
* @param isLastRow
+ * @param hiddenRow undefined or false for normal behavior. hiddenRow = true to hide the row.
* @returns a boolean to know if the row has been justified or not
*/
- JustifiedGallery.prototype.prepareBuildingRow = function (isLastRow) {
+ JustifiedGallery.prototype.prepareBuildingRow = function (isLastRow, hiddenRow) {
var i, $entry, imgAspectRatio, newImgW, newImgH, justify = true;
var minHeight = 0;
var availableWidth = this.galleryWidth - 2 * this.border - (
- (this.buildingRow.entriesBuff.length - 1) * this.settings.margins);
+ (this.buildingRow.entriesBuff.length - 1) * this.settings.margins);
var rowHeight = availableWidth / this.buildingRow.aspectRatio;
var defaultRowHeight = this.settings.rowHeight;
var justifiable = this.buildingRow.width / availableWidth > this.settings.justifyThreshold;
//Skip the last row if we can't justify it and the lastRow == 'hide'
- if (isLastRow && this.settings.lastRow === 'hide' && !justifiable) {
+ if (hiddenRow || (isLastRow && this.settings.lastRow === 'hide' && !justifiable)) {
for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
$entry = this.buildingRow.entriesBuff[i];
if (this.settings.cssAnimation)
@@ -426,19 +427,20 @@
* Flush a row: justify it, modify the gallery height accordingly to the row height
*
* @param isLastRow
+ * @param hiddenRow undefined or false for normal behavior. hiddenRow = true to hide the row.
*/
- JustifiedGallery.prototype.flushRow = function (isLastRow) {
+ JustifiedGallery.prototype.flushRow = function (isLastRow, hiddenRow) {
var settings = this.settings;
var $entry, buildingRowRes, offX = this.border, i;
- buildingRowRes = this.prepareBuildingRow(isLastRow);
- if (isLastRow && settings.lastRow === 'hide' && buildingRowRes === -1) {
+ buildingRowRes = this.prepareBuildingRow(isLastRow, hiddenRow);
+ if (hiddenRow || (isLastRow && settings.lastRow === 'hide' && buildingRowRes === -1)) {
this.clearBuildingRow();
return;
}
- if(this.maxRowHeight) {
- if(this.maxRowHeight < this.buildingRow.height) this.buildingRow.height = this.maxRowHeight;
+ if (this.maxRowHeight) {
+ if (this.maxRowHeight < this.buildingRow.height) this.buildingRow.height = this.maxRowHeight;
}
//Align last (unjustified) row
@@ -451,14 +453,14 @@
}
if (settings.lastRow === 'center')
- offX += availableWidth / 2;
+ offX += Math.round(availableWidth / 2);
else if (settings.lastRow === 'right')
offX += availableWidth;
}
var lastEntryIdx = this.buildingRow.entriesBuff.length - 1;
for (i = 0; i <= lastEntryIdx; i++) {
- $entry = this.buildingRow.entriesBuff[ this.settings.rtl ? lastEntryIdx - i : i ];
+ $entry = this.buildingRow.entriesBuff[this.settings.rtl ? lastEntryIdx - i : i];
this.displayEntry($entry, offX, this.offY, $entry.data('jg.jwidth'), $entry.data('jg.jheight'), this.buildingRow.height);
offX += $entry.data('jg.jwidth') + settings.margins;
}
@@ -573,10 +575,18 @@
};
/**
+ * @returns {String} `settings.selector` rejecting spinner element
+ */
+ JustifiedGallery.prototype.getSelectorWithoutSpinner = function () {
+ return this.settings.selector + ', div:not(.jg-spinner)';
+ };
+
+ /**
* @returns {Array} all entries matched by `settings.selector`
*/
JustifiedGallery.prototype.getAllEntries = function () {
- return this.$gallery.children(this.settings.selector).toArray();
+ var selector = this.getSelectorWithoutSpinner();
+ return this.$gallery.children(selector).toArray();
};
/**
@@ -589,7 +599,8 @@
var newEntries;
if (norewind && this.lastFetchedEntry != null) {
- newEntries = $(this.lastFetchedEntry).nextAll(this.settings.selector).toArray();
+ var selector = this.getSelectorWithoutSpinner();
+ newEntries = $(this.lastFetchedEntry).nextAll(selector).toArray();
} else {
this.entries = [];
newEntries = this.getAllEntries();
@@ -707,12 +718,12 @@
* Revert the image src to the default value.
*/
JustifiedGallery.prototype.resetImgSrc = function ($img) {
- if ($img.data('jg.originalSrcLoc') == 'src') {
+ if ($img.data('jg.originalSrcLoc') === 'src') {
$img.attr('src', $img.data('jg.originalSrc'));
} else {
$img.attr('src', '');
}
- }
+ };
/**
* Destroy the Justified Gallery instance.
@@ -728,7 +739,7 @@
this.stopImgAnalyzerStarter();
// Get fresh entries list since filtered entries are absent in `this.entries`
- $.each(this.getAllEntries(), $.proxy(function(_, entry) {
+ $.each(this.getAllEntries(), $.proxy(function (_, entry) {
var $entry = $(entry);
// Reset entry style
@@ -781,7 +792,7 @@
var $entry = $(this.entries[i]);
if ($entry.data('jg.loaded') === true || $entry.data('jg.loaded') === 'skipped') {
var availableWidth = this.galleryWidth - 2 * this.border - (
- (this.buildingRow.entriesBuff.length - 1) * this.settings.margins);
+ (this.buildingRow.entriesBuff.length - 1) * this.settings.margins);
var imgAspectRatio = $entry.data('jg.width') / $entry.data('jg.height');
this.buildingRow.entriesBuff.push($entry);
@@ -790,9 +801,9 @@
this.lastAnalyzedIndex = i;
if (availableWidth / (this.buildingRow.aspectRatio + imgAspectRatio) < this.settings.rowHeight) {
- this.flushRow(false);
+ this.flushRow(false, this.settings.maxRowsCount > 0 && this.rows === this.settings.maxRowsCount);
- if(++this.yield.flushed >= this.yield.every) {
+ if (++this.yield.flushed >= this.yield.every) {
this.startImgAnalyzer(isForResize);
return;
}
@@ -803,7 +814,9 @@
}
// Last row flush (the row is not full)
- if (this.buildingRow.entriesBuff.length > 0) this.flushRow(true);
+ if (this.buildingRow.entriesBuff.length > 0) {
+ this.flushRow(true, this.settings.maxRowsCount > 0 && this.rows === this.settings.maxRowsCount);
+ }
if (this.isSpinnerActive()) {
this.stopLoadingSpinnerAnimation();
@@ -815,9 +828,10 @@
*/
this.stopImgAnalyzerStarter();
+ this.setGalleryFinalHeight(this.galleryHeightToSet);
+
//On complete callback
this.settings.triggerEvent.call(this, isForResize ? 'jg.resize' : 'jg.complete');
- this.setGalleryFinalHeight(this.galleryHeightToSet);
};
/**
@@ -864,7 +878,7 @@
});
}
if (onError) {
- $memImage.one('error', function() {
+ $memImage.one('error', function () {
$memImage.off('load error');
onError(memImage);
});
@@ -978,7 +992,7 @@
if (this.settings.sizeRangeSuffixes.hasOwnProperty(rangeIdx)) suffixRanges.push(rangeIdx);
}
- var newSizeRngSuffixes = {0: ''};
+ var newSizeRngSuffixes = { 0: '' };
for (var i = 0; i < suffixRanges.length; i++) {
if ($.type(suffixRanges[i]) === 'string') {
try {
@@ -1037,6 +1051,7 @@
this.checkOrConvertNumber(this.settings, 'rowHeight');
this.checkOrConvertNumber(this.settings, 'margins');
this.checkOrConvertNumber(this.settings, 'border');
+ this.checkOrConvertNumber(this.settings, 'maxRowsCount');
var lastRowModes = [
'justify',
@@ -1063,13 +1078,13 @@
this.checkOrConvertNumber(this.settings.captionSettings, 'visibleOpacity');
if (this.settings.captionSettings.visibleOpacity < 0 ||
- this.settings.captionSettings.visibleOpacity > 1) {
+ this.settings.captionSettings.visibleOpacity > 1) {
throw 'captionSettings.visibleOpacity must be in the interval [0, 1]';
}
this.checkOrConvertNumber(this.settings.captionSettings, 'nonVisibleOpacity');
if (this.settings.captionSettings.nonVisibleOpacity < 0 ||
- this.settings.captionSettings.nonVisibleOpacity > 1) {
+ this.settings.captionSettings.nonVisibleOpacity > 1) {
throw 'captionSettings.nonVisibleOpacity must be in the interval [0, 1]';
}
@@ -1084,7 +1099,7 @@
}
if (this.settings.filter !== false && !$.isFunction(this.settings.filter) &&
- $.type(this.settings.filter) !== 'string') {
+ $.type(this.settings.filter) !== 'string') {
throw 'filter must be false, a string or a filter function';
}
};
@@ -1120,7 +1135,7 @@
};
JustifiedGallery.prototype.defaults = {
- sizeRangeSuffixes: { }, /* e.g. Flickr configuration
+ sizeRangeSuffixes: {}, /* e.g. Flickr configuration
{
100: '_t', // used when longest is less than 100px
240: '_m', // used when longest is between 101px and 240px
@@ -1135,8 +1150,9 @@
current path, width and height */
rowHeight: 120, // required? required to be > 0?
maxRowHeight: false, // false or negative value to deactivate. Positive number to express the value in pixels,
- // A string '[0-9]+%' to express in percentage (e.g. 300% means that the row height
- // can't exceed 3 * rowHeight)
+ // A string '[0-9]+%' to express in percentage (e.g. 300% means that the row height
+ // can't exceed 3 * rowHeight)
+ maxRowsCount: 0, // maximum number of rows to be displayed (0 = disabled)
margins: 1,
border: -1, // negative value = same as margins, 0 = disabled, any other value to set the border
@@ -1171,7 +1187,7 @@
- a function: invoked with arguments (entry, index, array). Return true to keep the entry, false otherwise.
It follows the specifications of the Array.prototype.filter() function of JavaScript.
*/
- selector: 'a, div:not(.spinner)', // The selector that is used to know what are the entries of the gallery
+ selector: 'a', // The selector that is used to know what are the entries of the gallery
imgSelector: '> img, > a > img, > svg, > a > svg', // The selector that is used to know what are the images of each entry
triggerEvent: function (event) { // This is called to trigger events, the default behavior is to call $.trigger
this.$gallery.trigger(event); // Consider that 'this' is this set to the JustifiedGallery object, so it can
@@ -1226,4 +1242,4 @@
});
};
-})); \ No newline at end of file
+}));
diff --git a/library/justifiedGallery/jquery.justifiedGallery.min.js b/library/justifiedGallery/jquery.justifiedGallery.min.js
index ddbb85824..2d761f5b6 100644
--- a/library/justifiedGallery/jquery.justifiedGallery.min.js
+++ b/library/justifiedGallery/jquery.justifiedGallery.min.js
@@ -1,8 +1,8 @@
/*!
- * justifiedGallery - v4.0.0-alpha
+ * justifiedGallery - v3.8.1
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2019 Miro Mannino
+ * Copyright (c) 2020 Miro Mannino
* Licensed under the MIT license.
*/
-!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,i){return void 0===i&&(i="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(i),i}:e(jQuery)}(function(l){var r=function(t,i){this.settings=i,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.yield={every:2,flushed:0},this.border=0<=i.border?i.border:i.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:l('<div class="spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.scrollBarOn=!1,this.checkWidthIntervalId=null,this.galleryWidth=t.width(),this.$gallery=t};r.prototype.getSuffix=function(t,i){var e,s;for(e=i<t?t:i,s=0;s<this.suffixRanges.length;s++)if(e<=this.suffixRanges[s])return this.settings.sizeRangeSuffixes[this.suffixRanges[s]];return this.settings.sizeRangeSuffixes[this.suffixRanges[s-1]]},r.prototype.removeSuffix=function(t,i){return t.substring(0,t.length-i.length)},r.prototype.endsWith=function(t,i){return-1!==t.indexOf(i,t.length-i.length)},r.prototype.getUsedSuffix=function(t){for(var i in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(i)){if(0===this.settings.sizeRangeSuffixes[i].length)continue;if(this.endsWith(t,this.settings.sizeRangeSuffixes[i]))return this.settings.sizeRangeSuffixes[i]}return""},r.prototype.newSrc=function(t,i,e,s){var n;if(this.settings.thumbnailPath)n=this.settings.thumbnailPath(t,i,e,s);else{var r=t.match(this.settings.extension),o=null!==r?r[0]:"";n=t.replace(this.settings.extension,""),n=this.removeSuffix(n,this.getUsedSuffix(n)),n+=this.getSuffix(i,e)+o}return n},r.prototype.showImg=function(t,i){this.settings.cssAnimation?(t.addClass("jg-entry-visible"),i&&i()):(t.stop().fadeTo(this.settings.imagesAnimationDuration,1,i),t.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration,1,i))},r.prototype.extractImgSrcFromImage=function(t){var i=t.data("safe-src"),e="date-safe-src";return void 0===i&&(i=t.attr("src"),e="src"),t.data("jg.originalSrc",i),t.data("jg.src",i),t.data("jg.originalSrcLoc",e),i},r.prototype.imgFromEntry=function(t){var i=t.find(this.settings.imgSelector);return 0===i.length?null:i},r.prototype.captionFromEntry=function(t){var i=t.find("> .caption");return 0===i.length?null:i},r.prototype.displayEntry=function(t,i,e,s,n,r){t.width(s),t.height(r),t.css("top",e),t.css("left",i);var o=this.imgFromEntry(t);if(null!==o){o.css("width",s),o.css("height",n),o.css("margin-left",-s/2),o.css("margin-top",-n/2);var a=o.data("jg.src");if(a){a=this.newSrc(a,s,n,o[0]),o.one("error",function(){this.resetImgSrc(o)});var h=function(){o.attr("src",a)};"skipped"===t.data("jg.loaded")?this.onImageEvent(a,function(){this.showImg(t,h),t.data("jg.loaded",!0)}.bind(this)):this.showImg(t,h)}}else this.showImg(t);this.displayEntryCaption(t)},r.prototype.displayEntryCaption=function(t){var i=this.imgFromEntry(t);if(null!==i&&this.settings.captions){var e=this.captionFromEntry(t);if(null===e){var s=i.attr("alt");this.isValidCaption(s)||(s=t.attr("title")),this.isValidCaption(s)&&(e=l('<div class="caption">'+s+"</div>"),t.append(e),t.data("jg.createdCaption",!0))}null!==e&&(this.settings.cssAnimation||e.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(t))}else this.removeCaptionEventsHandlers(t)},r.prototype.isValidCaption=function(t){return void 0!==t&&0<t.length},r.prototype.onEntryMouseEnterForCaption=function(t){var i=this.captionFromEntry(l(t.currentTarget));this.settings.cssAnimation?i.addClass("caption-visible").removeClass("caption-hidden"):i.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},r.prototype.onEntryMouseLeaveForCaption=function(t){var i=this.captionFromEntry(l(t.currentTarget));this.settings.cssAnimation?i.removeClass("caption-visible").removeClass("caption-hidden"):i.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},r.prototype.addCaptionEventsHandlers=function(t){var i=t.data("jg.captionMouseEvents");void 0===i&&(i={mouseenter:l.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:l.proxy(this.onEntryMouseLeaveForCaption,this)},t.on("mouseenter",void 0,void 0,i.mouseenter),t.on("mouseleave",void 0,void 0,i.mouseleave),t.data("jg.captionMouseEvents",i))},r.prototype.removeCaptionEventsHandlers=function(t){var i=t.data("jg.captionMouseEvents");void 0!==i&&(t.off("mouseenter",void 0,i.mouseenter),t.off("mouseleave",void 0,i.mouseleave),t.removeData("jg.captionMouseEvents"))},r.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},r.prototype.prepareBuildingRow=function(t){var i,e,s,n,r,o=!0,a=0,h=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,g=h/this.buildingRow.aspectRatio,l=this.settings.rowHeight,d=this.buildingRow.width/h>this.settings.justifyThreshold;if(t&&"hide"===this.settings.lastRow&&!d){for(i=0;i<this.buildingRow.entriesBuff.length;i++)e=this.buildingRow.entriesBuff[i],this.settings.cssAnimation?e.removeClass("jg-entry-visible"):(e.stop().fadeTo(0,.1),e.find("> img, > a > img").fadeTo(0,0));return-1}for(t&&!d&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(o=!1,0<this.rows&&(o=(l=(this.offY-this.border-this.settings.margins*this.rows)/this.rows)*this.buildingRow.aspectRatio/h>this.settings.justifyThreshold)),i=0;i<this.buildingRow.entriesBuff.length;i++)s=(e=this.buildingRow.entriesBuff[i]).data("jg.width")/e.data("jg.height"),o?(n=i===this.buildingRow.entriesBuff.length-1?h:g*s,r=g):(n=l*s,r=l),h-=Math.round(n),e.data("jg.jwidth",Math.round(n)),e.data("jg.jheight",Math.ceil(r)),(0===i||r<a)&&(a=r);return this.buildingRow.height=a,o},r.prototype.flushRow=function(t){var i,e,s,n=this.settings,r=this.border;if(e=this.prepareBuildingRow(t),t&&"hide"===n.lastRow&&-1===e)this.clearBuildingRow();else{if(this.maxRowHeight&&this.maxRowHeight<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight),t&&("center"===n.lastRow||"right"===n.lastRow)){var o=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*n.margins;for(s=0;s<this.buildingRow.entriesBuff.length;s++)o-=(i=this.buildingRow.entriesBuff[s]).data("jg.jwidth");"center"===n.lastRow?r+=o/2:"right"===n.lastRow&&(r+=o)}var a=this.buildingRow.entriesBuff.length-1;for(s=0;s<=a;s++)i=this.buildingRow.entriesBuff[this.settings.rtl?a-s:s],this.displayEntry(i,r,this.offY,i.data("jg.jwidth"),i.data("jg.jheight"),this.buildingRow.height),r+=i.data("jg.jwidth")+n.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.setGalleryTempHeight(this.galleryHeightToSet+this.getSpinnerHeight()),(!t||this.buildingRow.height<=n.rowHeight&&e)&&(this.offY+=this.buildingRow.height+n.margins,this.rows+=1,this.clearBuildingRow(),this.settings.triggerEvent.call(this,"jg.rowflush"))}};var i=0;r.prototype.rememberGalleryHeight=function(){i=this.$gallery.height(),this.$gallery.height(i)},r.prototype.setGalleryTempHeight=function(t){i=Math.max(t,i),this.$gallery.height(i)},r.prototype.setGalleryFinalHeight=function(t){i=t,this.$gallery.height(t)},r.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval(l.proxy(function(){if(this.$gallery.is(":visible")){var t=parseFloat(this.$gallery.width());Math.abs(t-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=t,this.rewind(),this.rememberGalleryHeight(),this.startImgAnalyzer(!0))}},this),this.settings.refreshTime)},r.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},r.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},r.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.setGalleryTempHeight(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},r.prototype.startLoadingSpinnerAnimation=function(){var t=this.spinner,i=t.$el.find("span");clearInterval(t.intervalId),this.$gallery.append(t.$el),this.setGalleryTempHeight(this.offY+this.buildingRow.height+this.getSpinnerHeight()),t.intervalId=setInterval(function(){t.phase<i.length?i.eq(t.phase).fadeTo(t.timeSlot,1):i.eq(t.phase-i.length).fadeTo(t.timeSlot,0),t.phase=(t.phase+1)%(2*i.length)},t.timeSlot)},r.prototype.rewind=function(){this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},r.prototype.getAllEntries=function(){return this.$gallery.children(this.settings.selector).toArray()},r.prototype.updateEntries=function(t){var i;return t&&null!=this.lastFetchedEntry?i=l(this.lastFetchedEntry).nextAll(this.settings.selector).toArray():(this.entries=[],i=this.getAllEntries()),0<i.length&&(l.isFunction(this.settings.sort)?i=this.sortArray(i):this.settings.randomize&&(i=this.shuffleArray(i)),this.lastFetchedEntry=i[i.length-1],this.settings.filter?i=this.filterArray(i):this.resetFilters(i)),this.entries=this.entries.concat(i),!0},r.prototype.insertToGallery=function(t){var i=this;l.each(t,function(){l(this).appendTo(i.$gallery)})},r.prototype.shuffleArray=function(t){var i,e,s;for(i=t.length-1;0<i;i--)e=Math.floor(Math.random()*(i+1)),s=t[i],t[i]=t[e],t[e]=s;return this.insertToGallery(t),t},r.prototype.sortArray=function(t){return t.sort(this.settings.sort),this.insertToGallery(t),t},r.prototype.resetFilters=function(t){for(var i=0;i<t.length;i++)l(t[i]).removeClass("jg-filtered")},r.prototype.filterArray=function(t){var e=this.settings;if("string"===l.type(e.filter))return t.filter(function(t){var i=l(t);return i.is(e.filter)?(i.removeClass("jg-filtered"),!0):(i.addClass("jg-filtered").removeClass("jg-visible"),!1)});if(l.isFunction(e.filter)){for(var i=t.filter(e.filter),s=0;s<t.length;s++)-1===i.indexOf(t[s])?l(t[s]).addClass("jg-filtered").removeClass("jg-visible"):l(t[s]).removeClass("jg-filtered");return i}},r.prototype.resetImgSrc=function(t){"src"==t.data("jg.originalSrcLoc")?t.attr("src",t.data("jg.originalSrc")):t.attr("src","")},r.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),this.stopImgAnalyzerStarter(),l.each(this.getAllEntries(),l.proxy(function(t,i){var e=l(i);e.css("width",""),e.css("height",""),e.css("top",""),e.css("left",""),e.data("jg.loaded",void 0),e.removeClass("jg-entry jg-filtered jg-entry-visible");var s=this.imgFromEntry(e);s&&(s.css("width",""),s.css("height",""),s.css("margin-left",""),s.css("margin-top",""),this.resetImgSrc(s),s.data("jg.originalSrc",void 0),s.data("jg.originalSrcLoc",void 0),s.data("jg.src",void 0)),this.removeCaptionEventsHandlers(e);var n=this.captionFromEntry(e);e.data("jg.createdCaption")?(e.data("jg.createdCaption",void 0),null!==n&&n.remove()):null!==n&&n.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0),this.settings.triggerEvent.call(this,"jg.destroy")},r.prototype.analyzeImages=function(t){for(var i=this.lastAnalyzedIndex+1;i<this.entries.length;i++){var e=l(this.entries[i]);if(!0===e.data("jg.loaded")||"skipped"===e.data("jg.loaded")){var s=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,n=e.data("jg.width")/e.data("jg.height");if(this.buildingRow.entriesBuff.push(e),this.buildingRow.aspectRatio+=n,this.buildingRow.width+=n*this.settings.rowHeight,this.lastAnalyzedIndex=i,s/(this.buildingRow.aspectRatio+n)<this.settings.rowHeight&&(this.flushRow(!1),++this.yield.flushed>=this.yield.every))return void this.startImgAnalyzer(t)}else if("error"!==e.data("jg.loaded"))return}0<this.buildingRow.entriesBuff.length&&this.flushRow(!0),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.settings.triggerEvent.call(this,t?"jg.resize":"jg.complete"),this.setGalleryFinalHeight(this.galleryHeightToSet)},r.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0,null!==this.imgAnalyzerTimeout&&(clearTimeout(this.imgAnalyzerTimeout),this.imgAnalyzerTimeout=null)},r.prototype.startImgAnalyzer=function(t){var i=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){i.analyzeImages(t)},.001)},r.prototype.onImageEvent=function(t,i,e){if(i||e){var s=new Image,n=l(s);i&&n.one("load",function(){n.off("load error"),i(s)}),e&&n.one("error",function(){n.off("load error"),e(s)}),s.src=t}},r.prototype.init=function(){var a=!1,h=!1,g=this;l.each(this.entries,function(t,i){var e=l(i),s=g.imgFromEntry(e);if(e.addClass("jg-entry"),!0!==e.data("jg.loaded")&&"skipped"!==e.data("jg.loaded"))if(null!==g.settings.rel&&e.attr("rel",g.settings.rel),null!==g.settings.target&&e.attr("target",g.settings.target),null!==s){var n=g.extractImgSrcFromImage(s);if(!1===g.settings.waitThumbnailsLoad||!n){var r=parseFloat(s.attr("width")),o=parseFloat(s.attr("height"));if("svg"===s.prop("tagName")&&(r=parseFloat(s[0].getBBox().width),o=parseFloat(s[0].getBBox().height)),!isNaN(r)&&!isNaN(o))return e.data("jg.width",r),e.data("jg.height",o),e.data("jg.loaded","skipped"),h=!0,g.startImgAnalyzer(!1),!0}e.data("jg.loaded",!1),a=!0,g.isSpinnerActive()||g.startLoadingSpinnerAnimation(),g.onImageEvent(n,function(t){e.data("jg.width",t.width),e.data("jg.height",t.height),e.data("jg.loaded",!0),g.startImgAnalyzer(!1)},function(){e.data("jg.loaded","error"),g.startImgAnalyzer(!1)})}else e.data("jg.loaded",!0),e.data("jg.width",e.width()|parseFloat(e.css("width"))|1),e.data("jg.height",e.height()|parseFloat(e.css("height"))|1)}),a||h||this.startImgAnalyzer(!1),this.checkWidth()},r.prototype.checkOrConvertNumber=function(t,i){if("string"===l.type(t[i])&&(t[i]=parseFloat(t[i])),"number"!==l.type(t[i]))throw i+" must be a number";if(isNaN(t[i]))throw"invalid number for "+i},r.prototype.checkSizeRangesSuffixes=function(){if("object"!==l.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var t=[];for(var i in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(i)&&t.push(i);for(var e={0:""},s=0;s<t.length;s++)if("string"===l.type(t[s]))try{e[parseInt(t[s].replace(/^[a-z]+/,""),10)]=this.settings.sizeRangeSuffixes[t[s]]}catch(t){throw"sizeRangeSuffixes keys must contains correct numbers ("+t+")"}else e[t[s]]=this.settings.sizeRangeSuffixes[t[s]];this.settings.sizeRangeSuffixes=e},r.prototype.retrieveMaxRowHeight=function(){var t=null,i=this.settings.rowHeight;if("string"===l.type(this.settings.maxRowHeight))t=this.settings.maxRowHeight.match(/^[0-9]+%$/)?i*parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100:parseFloat(this.settings.maxRowHeight);else{if("number"!==l.type(this.settings.maxRowHeight)){if(!1===this.settings.maxRowHeight||null==this.settings.maxRowHeight)return null;throw"maxRowHeight must be a number or a percentage"}t=this.settings.maxRowHeight}if(isNaN(t))throw"invalid number for maxRowHeight";return t<i&&(t=i),t},r.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border");var t=["justify","nojustify","left","center","right","hide"];if(-1===t.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+t.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||1<this.settings.justifyThreshold)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==l.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==l.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||1<this.settings.captionSettings.visibleOpacity)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||1<this.settings.captionSettings.nonVisibleOpacity)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==l.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==l.type(this.settings.selector))throw"selector must be a string";if(!1!==this.settings.sort&&!l.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(!1!==this.settings.filter&&!l.isFunction(this.settings.filter)&&"string"!==l.type(this.settings.filter))throw"filter must be false, a string or a filter function"},r.prototype.retrieveSuffixRanges=function(){var t=[];for(var i in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(i)&&t.push(parseInt(i,10));return t.sort(function(t,i){return i<t?1:t<i?-1:0}),t},r.prototype.updateSettings=function(t){this.settings=l.extend({},this.settings,t),this.checkSettings(),this.border=0<=this.settings.border?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},r.prototype.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:!1,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!0,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,rtl:!1,sort:!1,filter:!1,selector:"a, div:not(.spinner)",imgSelector:"> img, > a > img, > svg, > a > svg",triggerEvent:function(t){this.$gallery.trigger(t)}},l.fn.justifiedGallery=function(n){return this.each(function(t,i){var e=l(i);e.addClass("justified-gallery");var s=e.data("jg.controller");if(void 0===s){if(null!=n&&"object"!==l.type(n)){if("destroy"===n)return;throw"The argument must be an object"}s=new r(e,l.extend({},r.prototype.defaults,n)),e.data("jg.controller",s)}else if("norewind"===n);else{if("destroy"===n)return void s.destroy();s.updateSettings(n),s.rewind()}s.updateEntries("norewind"===n)&&s.init()})}}); \ No newline at end of file
+!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,i){return void 0===i&&(i="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(i),i}:e(jQuery)}(function(l){var r=function(t,i){this.settings=i,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.yield={every:2,flushed:0},this.border=0<=i.border?i.border:i.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:l('<div class="jg-spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.scrollBarOn=!1,this.checkWidthIntervalId=null,this.galleryWidth=t.width(),this.$gallery=t};r.prototype.getSuffix=function(t,i){var e,s;for(e=i<t?t:i,s=0;s<this.suffixRanges.length;s++)if(e<=this.suffixRanges[s])return this.settings.sizeRangeSuffixes[this.suffixRanges[s]];return this.settings.sizeRangeSuffixes[this.suffixRanges[s-1]]},r.prototype.removeSuffix=function(t,i){return t.substring(0,t.length-i.length)},r.prototype.endsWith=function(t,i){return-1!==t.indexOf(i,t.length-i.length)},r.prototype.getUsedSuffix=function(t){for(var i in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(i)){if(0===this.settings.sizeRangeSuffixes[i].length)continue;if(this.endsWith(t,this.settings.sizeRangeSuffixes[i]))return this.settings.sizeRangeSuffixes[i]}return""},r.prototype.newSrc=function(t,i,e,s){var n;if(this.settings.thumbnailPath)n=this.settings.thumbnailPath(t,i,e,s);else{var r=t.match(this.settings.extension),o=null!==r?r[0]:"";n=t.replace(this.settings.extension,""),n=this.removeSuffix(n,this.getUsedSuffix(n)),n+=this.getSuffix(i,e)+o}return n},r.prototype.showImg=function(t,i){this.settings.cssAnimation?(t.addClass("jg-entry-visible"),i&&i()):(t.stop().fadeTo(this.settings.imagesAnimationDuration,1,i),t.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration,1,i))},r.prototype.extractImgSrcFromImage=function(t){var i=t.data("safe-src"),e="data-safe-src";return void 0===i&&(i=t.attr("src"),e="src"),t.data("jg.originalSrc",i),t.data("jg.src",i),t.data("jg.originalSrcLoc",e),i},r.prototype.imgFromEntry=function(t){var i=t.find(this.settings.imgSelector);return 0===i.length?null:i},r.prototype.captionFromEntry=function(t){var i=t.find("> .jg-caption");return 0===i.length?null:i},r.prototype.displayEntry=function(t,i,e,s,n,r){t.width(s),t.height(r),t.css("top",e),t.css("left",i);var o=this.imgFromEntry(t);if(null!==o){o.css("width",s),o.css("height",n),o.css("margin-left",-s/2),o.css("margin-top",-n/2);var a=o.data("jg.src");if(a){a=this.newSrc(a,s,n,o[0]),o.one("error",function(){this.resetImgSrc(o)});var h=function(){o.attr("src",a)};"skipped"===t.data("jg.loaded")&&a?this.onImageEvent(a,function(){this.showImg(t,h),t.data("jg.loaded",!0)}.bind(this)):this.showImg(t,h)}}else this.showImg(t);this.displayEntryCaption(t)},r.prototype.displayEntryCaption=function(t){var i=this.imgFromEntry(t);if(null!==i&&this.settings.captions){var e=this.captionFromEntry(t);if(null===e){var s=i.attr("alt");this.isValidCaption(s)||(s=t.attr("title")),this.isValidCaption(s)&&(e=l('<div class="jg-caption">'+s+"</div>"),t.append(e),t.data("jg.createdCaption",!0))}null!==e&&(this.settings.cssAnimation||e.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(t))}else this.removeCaptionEventsHandlers(t)},r.prototype.isValidCaption=function(t){return void 0!==t&&0<t.length},r.prototype.onEntryMouseEnterForCaption=function(t){var i=this.captionFromEntry(l(t.currentTarget));this.settings.cssAnimation?i.addClass("jg-caption-visible").removeClass("jg-caption-hidden"):i.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},r.prototype.onEntryMouseLeaveForCaption=function(t){var i=this.captionFromEntry(l(t.currentTarget));this.settings.cssAnimation?i.removeClass("jg-caption-visible").removeClass("jg-caption-hidden"):i.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},r.prototype.addCaptionEventsHandlers=function(t){var i=t.data("jg.captionMouseEvents");void 0===i&&(i={mouseenter:l.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:l.proxy(this.onEntryMouseLeaveForCaption,this)},t.on("mouseenter",void 0,void 0,i.mouseenter),t.on("mouseleave",void 0,void 0,i.mouseleave),t.data("jg.captionMouseEvents",i))},r.prototype.removeCaptionEventsHandlers=function(t){var i=t.data("jg.captionMouseEvents");void 0!==i&&(t.off("mouseenter",void 0,i.mouseenter),t.off("mouseleave",void 0,i.mouseleave),t.removeData("jg.captionMouseEvents"))},r.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},r.prototype.prepareBuildingRow=function(t,i){var e,s,n,r,o,a=!0,h=0,g=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,l=g/this.buildingRow.aspectRatio,u=this.settings.rowHeight,d=this.buildingRow.width/g>this.settings.justifyThreshold;if(i||t&&"hide"===this.settings.lastRow&&!d){for(e=0;e<this.buildingRow.entriesBuff.length;e++)s=this.buildingRow.entriesBuff[e],this.settings.cssAnimation?s.removeClass("jg-entry-visible"):(s.stop().fadeTo(0,.1),s.find("> img, > a > img").fadeTo(0,0));return-1}for(t&&!d&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(a=!1,0<this.rows&&(a=(u=(this.offY-this.border-this.settings.margins*this.rows)/this.rows)*this.buildingRow.aspectRatio/g>this.settings.justifyThreshold)),e=0;e<this.buildingRow.entriesBuff.length;e++)n=(s=this.buildingRow.entriesBuff[e]).data("jg.width")/s.data("jg.height"),o=a?(r=e===this.buildingRow.entriesBuff.length-1?g:l*n,l):(r=u*n,u),g-=Math.round(r),s.data("jg.jwidth",Math.round(r)),s.data("jg.jheight",Math.ceil(o)),(0===e||o<h)&&(h=o);return this.buildingRow.height=h,a},r.prototype.flushRow=function(t,i){var e,s,n,r=this.settings,o=this.border;if(s=this.prepareBuildingRow(t,i),i||t&&"hide"===r.lastRow&&-1===s)this.clearBuildingRow();else{if(this.maxRowHeight&&this.maxRowHeight<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight),t&&("center"===r.lastRow||"right"===r.lastRow)){var a=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*r.margins;for(n=0;n<this.buildingRow.entriesBuff.length;n++)a-=(e=this.buildingRow.entriesBuff[n]).data("jg.jwidth");"center"===r.lastRow?o+=Math.round(a/2):"right"===r.lastRow&&(o+=a)}var h=this.buildingRow.entriesBuff.length-1;for(n=0;n<=h;n++)e=this.buildingRow.entriesBuff[this.settings.rtl?h-n:n],this.displayEntry(e,o,this.offY,e.data("jg.jwidth"),e.data("jg.jheight"),this.buildingRow.height),o+=e.data("jg.jwidth")+r.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.setGalleryTempHeight(this.galleryHeightToSet+this.getSpinnerHeight()),(!t||this.buildingRow.height<=r.rowHeight&&s)&&(this.offY+=this.buildingRow.height+r.margins,this.rows+=1,this.clearBuildingRow(),this.settings.triggerEvent.call(this,"jg.rowflush"))}};var i=0;r.prototype.rememberGalleryHeight=function(){i=this.$gallery.height(),this.$gallery.height(i)},r.prototype.setGalleryTempHeight=function(t){i=Math.max(t,i),this.$gallery.height(i)},r.prototype.setGalleryFinalHeight=function(t){i=t,this.$gallery.height(t)},r.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval(l.proxy(function(){if(this.$gallery.is(":visible")){var t=parseFloat(this.$gallery.width());Math.abs(t-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=t,this.rewind(),this.rememberGalleryHeight(),this.startImgAnalyzer(!0))}},this),this.settings.refreshTime)},r.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},r.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},r.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.setGalleryTempHeight(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},r.prototype.startLoadingSpinnerAnimation=function(){var t=this.spinner,i=t.$el.find("span");clearInterval(t.intervalId),this.$gallery.append(t.$el),this.setGalleryTempHeight(this.offY+this.buildingRow.height+this.getSpinnerHeight()),t.intervalId=setInterval(function(){t.phase<i.length?i.eq(t.phase).fadeTo(t.timeSlot,1):i.eq(t.phase-i.length).fadeTo(t.timeSlot,0),t.phase=(t.phase+1)%(2*i.length)},t.timeSlot)},r.prototype.rewind=function(){this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},r.prototype.getSelectorWithoutSpinner=function(){return this.settings.selector+", div:not(.jg-spinner)"},r.prototype.getAllEntries=function(){var t=this.getSelectorWithoutSpinner();return this.$gallery.children(t).toArray()},r.prototype.updateEntries=function(t){var i;if(t&&null!=this.lastFetchedEntry){var e=this.getSelectorWithoutSpinner();i=l(this.lastFetchedEntry).nextAll(e).toArray()}else this.entries=[],i=this.getAllEntries();return 0<i.length&&(l.isFunction(this.settings.sort)?i=this.sortArray(i):this.settings.randomize&&(i=this.shuffleArray(i)),this.lastFetchedEntry=i[i.length-1],this.settings.filter?i=this.filterArray(i):this.resetFilters(i)),this.entries=this.entries.concat(i),!0},r.prototype.insertToGallery=function(t){var i=this;l.each(t,function(){l(this).appendTo(i.$gallery)})},r.prototype.shuffleArray=function(t){var i,e,s;for(i=t.length-1;0<i;i--)e=Math.floor(Math.random()*(i+1)),s=t[i],t[i]=t[e],t[e]=s;return this.insertToGallery(t),t},r.prototype.sortArray=function(t){return t.sort(this.settings.sort),this.insertToGallery(t),t},r.prototype.resetFilters=function(t){for(var i=0;i<t.length;i++)l(t[i]).removeClass("jg-filtered")},r.prototype.filterArray=function(t){var e=this.settings;if("string"===l.type(e.filter))return t.filter(function(t){var i=l(t);return i.is(e.filter)?(i.removeClass("jg-filtered"),!0):(i.addClass("jg-filtered").removeClass("jg-visible"),!1)});if(l.isFunction(e.filter)){for(var i=t.filter(e.filter),s=0;s<t.length;s++)-1===i.indexOf(t[s])?l(t[s]).addClass("jg-filtered").removeClass("jg-visible"):l(t[s]).removeClass("jg-filtered");return i}},r.prototype.resetImgSrc=function(t){"src"===t.data("jg.originalSrcLoc")?t.attr("src",t.data("jg.originalSrc")):t.attr("src","")},r.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),this.stopImgAnalyzerStarter(),l.each(this.getAllEntries(),l.proxy(function(t,i){var e=l(i);e.css("width",""),e.css("height",""),e.css("top",""),e.css("left",""),e.data("jg.loaded",void 0),e.removeClass("jg-entry jg-filtered jg-entry-visible");var s=this.imgFromEntry(e);s&&(s.css("width",""),s.css("height",""),s.css("margin-left",""),s.css("margin-top",""),this.resetImgSrc(s),s.data("jg.originalSrc",void 0),s.data("jg.originalSrcLoc",void 0),s.data("jg.src",void 0)),this.removeCaptionEventsHandlers(e);var n=this.captionFromEntry(e);e.data("jg.createdCaption")?(e.data("jg.createdCaption",void 0),null!==n&&n.remove()):null!==n&&n.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0),this.settings.triggerEvent.call(this,"jg.destroy")},r.prototype.analyzeImages=function(t){for(var i=this.lastAnalyzedIndex+1;i<this.entries.length;i++){var e=l(this.entries[i]);if(!0===e.data("jg.loaded")||"skipped"===e.data("jg.loaded")){var s=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,n=e.data("jg.width")/e.data("jg.height");if(this.buildingRow.entriesBuff.push(e),this.buildingRow.aspectRatio+=n,this.buildingRow.width+=n*this.settings.rowHeight,this.lastAnalyzedIndex=i,s/(this.buildingRow.aspectRatio+n)<this.settings.rowHeight&&(this.flushRow(!1,0<this.settings.maxRowsCount&&this.rows===this.settings.maxRowsCount),++this.yield.flushed>=this.yield.every))return void this.startImgAnalyzer(t)}else if("error"!==e.data("jg.loaded"))return}0<this.buildingRow.entriesBuff.length&&this.flushRow(!0,0<this.settings.maxRowsCount&&this.rows===this.settings.maxRowsCount),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.setGalleryFinalHeight(this.galleryHeightToSet),this.settings.triggerEvent.call(this,t?"jg.resize":"jg.complete")},r.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0,null!==this.imgAnalyzerTimeout&&(clearTimeout(this.imgAnalyzerTimeout),this.imgAnalyzerTimeout=null)},r.prototype.startImgAnalyzer=function(t){var i=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){i.analyzeImages(t)},.001)},r.prototype.onImageEvent=function(t,i,e){if(i||e){var s=new Image,n=l(s);i&&n.one("load",function(){n.off("load error"),i(s)}),e&&n.one("error",function(){n.off("load error"),e(s)}),s.src=t}},r.prototype.init=function(){var a=!1,h=!1,g=this;l.each(this.entries,function(t,i){var e=l(i),s=g.imgFromEntry(e);if(e.addClass("jg-entry"),!0!==e.data("jg.loaded")&&"skipped"!==e.data("jg.loaded"))if(null!==g.settings.rel&&e.attr("rel",g.settings.rel),null!==g.settings.target&&e.attr("target",g.settings.target),null!==s){var n=g.extractImgSrcFromImage(s);if(!1===g.settings.waitThumbnailsLoad||!n){var r=parseFloat(s.attr("width")),o=parseFloat(s.attr("height"));if("svg"===s.prop("tagName")&&(r=parseFloat(s[0].getBBox().width),o=parseFloat(s[0].getBBox().height)),!isNaN(r)&&!isNaN(o))return e.data("jg.width",r),e.data("jg.height",o),e.data("jg.loaded","skipped"),h=!0,g.startImgAnalyzer(!1),!0}e.data("jg.loaded",!1),a=!0,g.isSpinnerActive()||g.startLoadingSpinnerAnimation(),g.onImageEvent(n,function(t){e.data("jg.width",t.width),e.data("jg.height",t.height),e.data("jg.loaded",!0),g.startImgAnalyzer(!1)},function(){e.data("jg.loaded","error"),g.startImgAnalyzer(!1)})}else e.data("jg.loaded",!0),e.data("jg.width",e.width()|parseFloat(e.css("width"))|1),e.data("jg.height",e.height()|parseFloat(e.css("height"))|1)}),a||h||this.startImgAnalyzer(!1),this.checkWidth()},r.prototype.checkOrConvertNumber=function(t,i){if("string"===l.type(t[i])&&(t[i]=parseFloat(t[i])),"number"!==l.type(t[i]))throw i+" must be a number";if(isNaN(t[i]))throw"invalid number for "+i},r.prototype.checkSizeRangesSuffixes=function(){if("object"!==l.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var t=[];for(var i in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(i)&&t.push(i);for(var e={0:""},s=0;s<t.length;s++)if("string"===l.type(t[s]))try{e[parseInt(t[s].replace(/^[a-z]+/,""),10)]=this.settings.sizeRangeSuffixes[t[s]]}catch(t){throw"sizeRangeSuffixes keys must contains correct numbers ("+t+")"}else e[t[s]]=this.settings.sizeRangeSuffixes[t[s]];this.settings.sizeRangeSuffixes=e},r.prototype.retrieveMaxRowHeight=function(){var t=null,i=this.settings.rowHeight;if("string"===l.type(this.settings.maxRowHeight))t=this.settings.maxRowHeight.match(/^[0-9]+%$/)?i*parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100:parseFloat(this.settings.maxRowHeight);else{if("number"!==l.type(this.settings.maxRowHeight)){if(!1===this.settings.maxRowHeight||null==this.settings.maxRowHeight)return null;throw"maxRowHeight must be a number or a percentage"}t=this.settings.maxRowHeight}if(isNaN(t))throw"invalid number for maxRowHeight";return t<i&&(t=i),t},r.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border"),this.checkOrConvertNumber(this.settings,"maxRowsCount");var t=["justify","nojustify","left","center","right","hide"];if(-1===t.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+t.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||1<this.settings.justifyThreshold)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==l.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==l.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||1<this.settings.captionSettings.visibleOpacity)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||1<this.settings.captionSettings.nonVisibleOpacity)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==l.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==l.type(this.settings.selector))throw"selector must be a string";if(!1!==this.settings.sort&&!l.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(!1!==this.settings.filter&&!l.isFunction(this.settings.filter)&&"string"!==l.type(this.settings.filter))throw"filter must be false, a string or a filter function"},r.prototype.retrieveSuffixRanges=function(){var t=[];for(var i in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(i)&&t.push(parseInt(i,10));return t.sort(function(t,i){return i<t?1:t<i?-1:0}),t},r.prototype.updateSettings=function(t){this.settings=l.extend({},this.settings,t),this.checkSettings(),this.border=0<=this.settings.border?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},r.prototype.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:!1,maxRowsCount:0,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!0,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,rtl:!1,sort:!1,filter:!1,selector:"a",imgSelector:"> img, > a > img, > svg, > a > svg",triggerEvent:function(t){this.$gallery.trigger(t)}},l.fn.justifiedGallery=function(n){return this.each(function(t,i){var e=l(i);e.addClass("justified-gallery");var s=e.data("jg.controller");if(void 0===s){if(null!=n&&"object"!==l.type(n)){if("destroy"===n)return;throw"The argument must be an object"}s=new r(e,l.extend({},r.prototype.defaults,n)),e.data("jg.controller",s)}else if("norewind"===n);else{if("destroy"===n)return void s.destroy();s.updateSettings(n),s.rewind()}s.updateEntries("norewind"===n)&&s.init()})}}); \ No newline at end of file
diff --git a/library/justifiedGallery/justifiedGallery.css b/library/justifiedGallery/justifiedGallery.css
index 097cf534a..1b9932dde 100644
--- a/library/justifiedGallery/justifiedGallery.css
+++ b/library/justifiedGallery/justifiedGallery.css
@@ -1,7 +1,7 @@
/*!
- * justifiedGallery - v4.0.0-alpha
+ * justifiedGallery - v3.8.1
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2019 Miro Mannino
+ * Copyright (c) 2020 Miro Mannino
* Licensed under the MIT license.
*/
.justified-gallery {
@@ -42,9 +42,9 @@
filter: "alpha(opacity=0)";
opacity: 0;
}
-.justified-gallery > a > .caption,
-.justified-gallery > div > .caption,
-.justified-gallery > figure > .caption {
+.justified-gallery > a > .jg-caption,
+.justified-gallery > div > .jg-caption,
+.justified-gallery > figure > .jg-caption {
display: none;
position: absolute;
bottom: 0;
@@ -58,9 +58,9 @@
font-weight: 300;
font-family: sans-serif;
}
-.justified-gallery > a > .caption.caption-visible,
-.justified-gallery > div > .caption.caption-visible,
-.justified-gallery > figure > .caption.caption-visible {
+.justified-gallery > a > .jg-caption.jg-caption-visible,
+.justified-gallery > div > .jg-caption.jg-caption-visible,
+.justified-gallery > figure > .jg-caption.jg-caption-visible {
display: initial;
filter: "alpha(opacity=70)";
opacity: 0.7;
@@ -88,7 +88,7 @@
.justified-gallery > .jg-filtered {
display: none;
}
-.justified-gallery > .spinner {
+.justified-gallery > .jg-spinner {
position: absolute;
bottom: 0;
margin-left: -24px;
@@ -98,7 +98,7 @@
opacity: 1;
overflow: initial;
}
-.justified-gallery > .spinner > span {
+.justified-gallery > .jg-spinner > span {
display: inline-block;
filter: "alpha(opacity=0)";
opacity: 0;
diff --git a/library/justifiedGallery/justifiedGallery.min.css b/library/justifiedGallery/justifiedGallery.min.css
index 097cf534a..1b9932dde 100644
--- a/library/justifiedGallery/justifiedGallery.min.css
+++ b/library/justifiedGallery/justifiedGallery.min.css
@@ -1,7 +1,7 @@
/*!
- * justifiedGallery - v4.0.0-alpha
+ * justifiedGallery - v3.8.1
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2019 Miro Mannino
+ * Copyright (c) 2020 Miro Mannino
* Licensed under the MIT license.
*/
.justified-gallery {
@@ -42,9 +42,9 @@
filter: "alpha(opacity=0)";
opacity: 0;
}
-.justified-gallery > a > .caption,
-.justified-gallery > div > .caption,
-.justified-gallery > figure > .caption {
+.justified-gallery > a > .jg-caption,
+.justified-gallery > div > .jg-caption,
+.justified-gallery > figure > .jg-caption {
display: none;
position: absolute;
bottom: 0;
@@ -58,9 +58,9 @@
font-weight: 300;
font-family: sans-serif;
}
-.justified-gallery > a > .caption.caption-visible,
-.justified-gallery > div > .caption.caption-visible,
-.justified-gallery > figure > .caption.caption-visible {
+.justified-gallery > a > .jg-caption.jg-caption-visible,
+.justified-gallery > div > .jg-caption.jg-caption-visible,
+.justified-gallery > figure > .jg-caption.jg-caption-visible {
display: initial;
filter: "alpha(opacity=70)";
opacity: 0.7;
@@ -88,7 +88,7 @@
.justified-gallery > .jg-filtered {
display: none;
}
-.justified-gallery > .spinner {
+.justified-gallery > .jg-spinner {
position: absolute;
bottom: 0;
margin-left: -24px;
@@ -98,7 +98,7 @@
opacity: 1;
overflow: initial;
}
-.justified-gallery > .spinner > span {
+.justified-gallery > .jg-spinner > span {
display: inline-block;
filter: "alpha(opacity=0)";
opacity: 0;
diff --git a/vendor/blueimp/jquery-file-upload/SECURITY.md b/vendor/blueimp/jquery-file-upload/SECURITY.md
index 1778d0205..433a6853c 100644
--- a/vendor/blueimp/jquery-file-upload/SECURITY.md
+++ b/vendor/blueimp/jquery-file-upload/SECURITY.md
@@ -54,7 +54,7 @@ In some cases this can be acceptable, but for most projects you will want to
extend the sample upload handlers to integrate user authentication, or implement
your own.
-It is also up to you to configure your Webserver to securely serve the uploaded
+It is also up to you to configure your web server to securely serve the uploaded
files, e.g. using the
[sample server configurations](#secure-file-upload-serving-configurations).
@@ -69,7 +69,7 @@ uploaded files as static content.
The recommended way to do this is to configure the upload directory path to
point outside of the web application root.
-Then the Webserver can be configured to serve files from the upload directory
+Then the web server can be configured to serve files from the upload directory
with their default static files handler only.
Limiting file uploads to a whitelist of safe file types (e.g. image files) also
@@ -122,36 +122,54 @@ understand what they are doing and that you have implemented them correctly.
> Always test your own setup and make sure that it is secure!
e.g. try uploading PHP scripts (as "example.php", "example.php.png" and
-"example.png") to see if they get executed by your Webserver.
+"example.png") to see if they get executed by your web server, e.g. the content
+of the following sample:
+
+```php
+GIF89ad <?php echo mime_content_type(__FILE__); phpinfo();
+```
### Apache config
-Add the following directive to the Apache config, replacing the directory path
-with the absolute path to the upload directory:
+Add the following directive to the Apache config (e.g.
+/etc/apache2/apache2.conf), replacing the directory path with the absolute path
+to the upload directory:
```ApacheConf
<Directory "/path/to/project/server/php/files">
- # To enable the Headers module, execute the following command and reload Apache:
+ # Some of the directives require the Apache Headers module. If it is not
+ # already enabled, please execute the following command and reload Apache:
# sudo a2enmod headers
+ #
+ # Please note that the order of directives across configuration files matters,
+ # see also:
+ # https://httpd.apache.org/docs/current/sections.html#merging
+
+ # The following directive matches all files and forces them to be handled as
+ # static content, which prevents the server from parsing and executing files
+ # that are associated with a dynamic runtime, e.g. PHP files.
+ # It also forces their Content-Type header to "application/octet-stream" and
+ # adds a "Content-Disposition: attachment" header to force a download dialog,
+ # which prevents browsers from interpreting files in the context of the
+ # web server, e.g. HTML files containing JavaScript.
+ # Lastly it also prevents browsers from MIME-sniffing the Content-Type,
+ # preventing them from interpreting a file as a different Content-Type than
+ # the one sent by the webserver.
+ <FilesMatch ".*">
+ SetHandler default-handler
+ ForceType application/octet-stream
+ Header set Content-Disposition attachment
+ Header set X-Content-Type-Options nosniff
+ </FilesMatch>
- # The following directives prevent the execution of script files
- # in the context of the website.
- # They also force the content-type application/octet-stream and
- # force browsers to display a download dialog for non-image files.
- SetHandler default-handler
- ForceType application/octet-stream
- Header set Content-Disposition attachment
-
- # The following unsets the forced type and Content-Disposition headers
- # for known image files:
- <FilesMatch "(?i)\.(gif|jpe?g|png)$">
+ # The following directive matches known image files and unsets the forced
+ # Content-Type so they can be served with their original mime type.
+ # It also unsets the Content-Disposition header to allow displaying them
+ # inline in the browser.
+ <FilesMatch ".+\.(?i:(gif|jpe?g|png))$">
ForceType none
Header unset Content-Disposition
</FilesMatch>
-
- # The following directive prevents browsers from MIME-sniffing the content-type.
- # This is an important complement to the ForceType directive above:
- Header set X-Content-Type-Options nosniff
</Directory>
```
diff --git a/vendor/blueimp/jquery-file-upload/composer.json b/vendor/blueimp/jquery-file-upload/composer.json
index d17f4ff9e..d3072e195 100644
--- a/vendor/blueimp/jquery-file-upload/composer.json
+++ b/vendor/blueimp/jquery-file-upload/composer.json
@@ -28,7 +28,7 @@
}
]
, "support": {
- "forum": "https://groups.google.com/forum/#!forum/jquery-fileupload"
+ "forum": "https://stackoverflow.com/questions/tagged/blueimp+jquery+file-upload"
}
, "license": "MIT"
, "autoload": {
diff --git a/vendor/blueimp/jquery-file-upload/cors/postmessage.html b/vendor/blueimp/jquery-file-upload/cors/postmessage.html
index 536e8b3c6..3f37e4067 100644
--- a/vendor/blueimp/jquery-file-upload/cors/postmessage.html
+++ b/vendor/blueimp/jquery-file-upload/cors/postmessage.html
@@ -16,8 +16,8 @@
<meta charset="utf-8" />
<title>jQuery File Upload Plugin postMessage API</title>
<script
- src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"
- integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f"
+ src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"
+ integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ"
crossorigin="anonymous"
></script>
</head>
diff --git a/vendor/blueimp/jquery-file-upload/css/jquery.fileupload-ui.css b/vendor/blueimp/jquery-file-upload/css/jquery.fileupload-ui.css
index 7ae774631..a6cfc7529 100644
--- a/vendor/blueimp/jquery-file-upload/css/jquery.fileupload-ui.css
+++ b/vendor/blueimp/jquery-file-upload/css/jquery.fileupload-ui.css
@@ -31,6 +31,15 @@
.files video {
max-width: 300px;
}
+.files .name {
+ word-wrap: break-word;
+ overflow-wrap: anywhere;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+.files button {
+ margin-bottom: 5px;
+}
.toggle[type='checkbox'] {
transform: scale(2);
margin-left: 10px;
@@ -46,16 +55,14 @@
.files .btn span {
display: none;
}
- .files .name {
- width: 80px;
- word-wrap: break-word;
- }
.files audio,
.files video {
max-width: 80px;
}
- .files img,
- .files canvas {
- max-width: 100%;
+}
+
+@media (max-width: 480px) {
+ .files .image td:nth-child(2) {
+ display: none;
}
}
diff --git a/vendor/blueimp/jquery-file-upload/css/jquery.fileupload.css b/vendor/blueimp/jquery-file-upload/css/jquery.fileupload.css
index 8ae3b09d4..5716f3e8a 100644
--- a/vendor/blueimp/jquery-file-upload/css/jquery.fileupload.css
+++ b/vendor/blueimp/jquery-file-upload/css/jquery.fileupload.css
@@ -20,8 +20,9 @@
top: 0;
right: 0;
margin: 0;
+ height: 100%;
opacity: 0;
- -ms-filter: 'alpha(opacity=0)';
+ filter: alpha(opacity=0);
font-size: 200px !important;
direction: ltr;
cursor: pointer;
@@ -30,8 +31,6 @@
/* Fixes for IE < 8 */
@media screen\9 {
.fileinput-button input {
- filter: alpha(opacity=0);
- font-size: 100%;
- height: 100%;
+ font-size: 150% !important;
}
}
diff --git a/vendor/blueimp/jquery-file-upload/index.html b/vendor/blueimp/jquery-file-upload/index.html
index 62033e764..996b390d1 100644
--- a/vendor/blueimp/jquery-file-upload/index.html
+++ b/vendor/blueimp/jquery-file-upload/index.html
@@ -213,14 +213,12 @@
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
- <tr class="template-upload fade">
+ <tr class="template-upload fade{%=o.options.loadImageFileTypes.test(file.type)?' image':''%}">
<td>
<span class="preview"></span>
</td>
<td>
- {% if (window.innerWidth > 480 || !o.options.loadImageFileTypes.test(file.type)) { %}
- <p class="name">{%=file.name%}</p>
- {% } %}
+ <p class="name">{%=file.name%}</p>
<strong class="error text-danger"></strong>
</td>
<td>
@@ -253,7 +251,7 @@
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
- <tr class="template-download fade">
+ <tr class="template-download fade{%=file.thumbnailUrl?' image':''%}">
<td>
<span class="preview">
{% if (file.thumbnailUrl) { %}
@@ -262,15 +260,13 @@
</span>
</td>
<td>
- {% if (window.innerWidth > 480 || !file.thumbnailUrl) { %}
- <p class="name">
- {% if (file.url) { %}
- <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
- {% } else { %}
- <span>{%=file.name%}</span>
- {% } %}
- </p>
- {% } %}
+ <p class="name">
+ {% if (file.url) { %}
+ <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
+ {% } else { %}
+ <span>{%=file.name%}</span>
+ {% } %}
+ </p>
{% if (file.error) { %}
<div><span class="label label-danger">Error</span> {%=file.error%}</div>
{% } %}
@@ -296,8 +292,8 @@
{% } %}
</script>
<script
- src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"
- integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh"
+ src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"
+ integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ"
crossorigin="anonymous"
></script>
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js
index 859846103..c2056b954 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js
@@ -52,7 +52,6 @@
disableImageHead: '@',
disableMetaDataParsers: '@',
disableExif: '@',
- disableExifThumbnail: '@',
disableExifOffsets: '@',
includeExifTags: '@',
excludeExifTags: '@',
@@ -216,31 +215,23 @@
},
thumbnail,
thumbnailBlob;
- if (data.exif) {
- if (options.orientation === true) {
+ if (data.exif && options.thumbnail) {
+ thumbnail = data.exif.get('Thumbnail');
+ thumbnailBlob = thumbnail && thumbnail.get('Blob');
+ if (thumbnailBlob) {
options.orientation = data.exif.get('Orientation');
+ loadImage(thumbnailBlob, resolve, options);
+ return dfd.promise();
}
- if (options.thumbnail) {
- thumbnail = data.exif.get('Thumbnail');
- thumbnailBlob = thumbnail && thumbnail.get('Blob');
- if (thumbnailBlob) {
- loadImage(thumbnailBlob, resolve, options);
- return dfd.promise();
- }
- }
- // Prevent orienting browser oriented images:
- if (loadImage.orientation) {
- data.orientation = data.orientation || options.orientation;
- }
+ }
+ if (data.orientation) {
// Prevent orienting the same image twice:
- if (data.orientation) {
- delete options.orientation;
- } else {
- data.orientation = options.orientation;
- }
+ delete options.orientation;
+ } else {
+ data.orientation = options.orientation || loadImage.orientation;
}
if (img) {
- resolve(loadImage.scale(img, options));
+ resolve(loadImage.scale(img, options, data));
return dfd.promise();
}
return data;
@@ -320,7 +311,7 @@
file = data.files[data.index],
// eslint-disable-next-line new-cap
dfd = $.Deferred();
- if (data.orientation && data.exifOffsets) {
+ if (data.orientation === true && data.exifOffsets) {
// Reset Exif Orientation data:
loadImage.writeExifData(data.imageHead, data, 'Orientation', 1);
}
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js
index 29de8309a..130778e7f 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js
@@ -78,7 +78,7 @@
settings
);
};
- chain = chain.then(func, settings.always && func);
+ chain = chain[that._promisePipe](func, settings.always && func);
});
chain
.done(function () {
@@ -146,14 +146,15 @@
};
opts.index = index;
that._processing += 1;
- that._processingQueue = that._processingQueue
- .then(func, func)
- .always(function () {
- that._processing -= 1;
- if (that._processing === 0) {
- that._trigger('processstop');
- }
- });
+ that._processingQueue = that._processingQueue[that._promisePipe](
+ func,
+ func
+ ).always(function () {
+ that._processing -= 1;
+ if (that._processing === 0) {
+ that._trigger('processstop');
+ }
+ });
});
}
return this._processingQueue;
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js
index c42b18cc2..9cc3d3fd0 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js
@@ -626,13 +626,13 @@
this._on(fileUploadButtonBar.find('.start'), {
click: function (e) {
e.preventDefault();
- filesList.find('.start').click();
+ filesList.find('.start').trigger('click');
}
});
this._on(fileUploadButtonBar.find('.cancel'), {
click: function (e) {
e.preventDefault();
- filesList.find('.cancel').click();
+ filesList.find('.cancel').trigger('click');
}
});
this._on(fileUploadButtonBar.find('.delete'), {
@@ -642,7 +642,7 @@
.find('.toggle:checked')
.closest('.template-download')
.find('.delete')
- .click();
+ .trigger('click');
fileUploadButtonBar.find('.toggle').prop('checked', false);
}
});
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js
index f75cf2b10..184d34721 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js
@@ -301,6 +301,16 @@
timeout: 0
},
+ // jQuery versions before 1.8 require promise.pipe if the return value is
+ // used, as promise.then in older versions has a different behavior, see:
+ // https://blog.jquery.com/2012/08/09/jquery-1-8-released/
+ // https://bugs.jquery.com/ticket/11010
+ // https://github.com/blueimp/jQuery-File-Upload/pull/3435
+ _promisePipe: (function () {
+ var parts = $.fn.jquery.split('.');
+ return Number(parts[0]) > 1 || Number(parts[1]) > 7 ? 'then' : 'pipe';
+ })(),
+
// A list of options that require reinitializing event listeners and/or
// special initialization code:
_specialOptions: [
@@ -732,16 +742,15 @@
};
data.process = function (resolveFunc, rejectFunc) {
if (resolveFunc || rejectFunc) {
- data._processQueue = this._processQueue = (
- this._processQueue || getPromise([this])
- )
- .then(function () {
+ data._processQueue = this._processQueue = (this._processQueue ||
+ getPromise([this]))
+ [that._promisePipe](function () {
if (data.errorThrown) {
return $.Deferred().rejectWith(that, [data]).promise();
}
return getPromise(arguments);
})
- .then(resolveFunc, rejectFunc);
+ [that._promisePipe](resolveFunc, rejectFunc);
}
return this._processQueue || getPromise([this]);
};
@@ -1052,9 +1061,9 @@
if (this.options.limitConcurrentUploads > 1) {
slot = $.Deferred();
this._slots.push(slot);
- pipe = slot.then(send);
+ pipe = slot[that._promisePipe](send);
} else {
- this._sequence = this._sequence.then(send, send);
+ this._sequence = this._sequence[that._promisePipe](send, send);
pipe = this._sequence;
}
// Return the piped Promise object, enhanced with an abort method,
@@ -1168,7 +1177,7 @@
// If the fileInput had focus before it was detached,
// restore focus to the inputClone.
if (restoreFocus) {
- inputClone.focus();
+ inputClone.trigger('focus');
}
// Avoid memory leaks with the detached file input:
$.cleanData(input.off('remove'));
@@ -1254,7 +1263,7 @@
return that._handleFileTreeEntry(entry, path);
})
)
- .then(function () {
+ [this._promisePipe](function () {
return Array.prototype.concat.apply([], arguments);
});
},
@@ -1322,7 +1331,7 @@
}
return $.when
.apply($, $.map(fileInput, this._getSingleFileInputFiles))
- .then(function () {
+ [this._promisePipe](function () {
return Array.prototype.concat.apply([], arguments);
});
},
diff --git a/vendor/blueimp/jquery-file-upload/package-lock.json b/vendor/blueimp/jquery-file-upload/package-lock.json
index 7d00a91d9..1e61085eb 100644
--- a/vendor/blueimp/jquery-file-upload/package-lock.json
+++ b/vendor/blueimp/jquery-file-upload/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "blueimp-file-upload",
- "version": "10.21.0",
+ "version": "10.30.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -176,6 +176,19 @@
"@babel/helper-validator-identifier": "^7.9.0",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
}
},
"@babel/parser": {
@@ -316,9 +329,9 @@
"dev": true
},
"acorn": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
- "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
"dev": true
},
"acorn-jsx": {
@@ -411,6 +424,19 @@
"num2fraction": "^1.2.2",
"postcss": "^7.0.27",
"postcss-value-parser": "^4.0.3"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
}
},
"bail": {
@@ -426,21 +452,21 @@
"dev": true
},
"blueimp-canvas-to-blob": {
- "version": "3.24.0",
- "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.24.0.tgz",
- "integrity": "sha512-HnHPjn/3QOqQpKCrd+2FVZaUXKygz3alozRdA2E8DGSjngQujM7QPXhowqc3BajJr2OT+tJSs1L4LPL1OyXhSw==",
+ "version": "3.27.0",
+ "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.27.0.tgz",
+ "integrity": "sha512-AcIj+hCw6WquxzJuzC6KzgYmqxLFeTWe88KuY2BEIsW1zbEOfoinDAGlhyvFNGt+U3JElkVSK7anA1FaSdmmfA==",
"optional": true
},
"blueimp-load-image": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-5.6.0.tgz",
- "integrity": "sha512-3fcMbfyFJGZWEyl+xaLuA28skNLC4yWOLriy3HW+TeuaSqsSKh4CZ6i1vdwSw40IvlkWqFIBU5EuNarPWRVsAQ==",
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-5.12.0.tgz",
+ "integrity": "sha512-micpPEzy5UR84AehhXJEJhfsOEbapRNgxWBFVIrnG0WYRDwJOLXDbxmypFqeildZHa7MXDgZJe4niyxcgxXzJw==",
"optional": true
},
"blueimp-tmpl": {
- "version": "3.15.0",
- "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.15.0.tgz",
- "integrity": "sha512-m+zf9NJ7xzPJJeSxzoMLTfgFGGGz/jySoPDcDBJuahPWMJFc7C1nNaXo5LjcmskOl0vCVX4ke2zZQ9fQIP6sVw==",
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.17.0.tgz",
+ "integrity": "sha512-rqj27a+sA+HFMK+96MXSnhoFhQ+sbI7/6ktcEZ1Z0wXQ6Z9Tr2NJm6W1OUQs20CBxuGeMhWtcHIHS/bHeE0B3Q==",
"optional": true
},
"brace-expansion": {
@@ -498,9 +524,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001051",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001051.tgz",
- "integrity": "sha512-sw8UUnTlRevawTMZKN7vpfwSjCBVoiMPlYd8oT2VwNylyPCBdMAUmLGUApnYYTtIm5JXsQegUAY7GPHqgfDzjw==",
+ "version": "1.0.30001059",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001059.tgz",
+ "integrity": "sha512-oOrc+jPJWooKIA0IrNZ5sYlsXc7NP7KLhNWrSGEJhnfSzDvDJ0zd3i6HXsslExY9bbu+x0FQ5C61LcqmPt7bOQ==",
"dev": true
},
"ccount": {
@@ -510,14 +536,55 @@
"dev": true
},
"chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "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"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
}
},
"character-entities": {
@@ -596,9 +663,9 @@
"dev": true
},
"comment-parser": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.2.tgz",
- "integrity": "sha512-4Rjb1FnxtOcv9qsfuaNuVsmmVn4ooVoBHzYfyKteiXwIU84PClyGA5jASoFMwPV93+FPh9spwueXauxFJZkGAg==",
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.4.tgz",
+ "integrity": "sha512-Nnl77/mt6sj1BiYSVMeMWzvD0183F2MFOJyFRmZHimUVDYS9J40AvXpiFA7RpU5pQH+HkvYc0dnsHpwW2xmbyQ==",
"dev": true
},
"concat-map": {
@@ -630,24 +697,14 @@
}
},
"cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
+ "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
"dev": true,
"requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
}
},
"cssesc": {
@@ -730,9 +787,9 @@
"dev": true
},
"entities": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
- "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz",
+ "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==",
"dev": true
}
}
@@ -763,9 +820,9 @@
}
},
"electron-to-chromium": {
- "version": "1.3.428",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.428.tgz",
- "integrity": "sha512-u3+5jEfgLKq/hGO96YfAoOAM1tgFnRDTCD5mLuev44tttcXix+INtVegAkmGzUcfDsnzkPt51XXurXZLLwXt0w==",
+ "version": "1.3.438",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.438.tgz",
+ "integrity": "sha512-QKMcpfA/fCOnqFHsZvKr2haQQb3eXkDI17zT+4hHxJJThyN5nShcG6q1VR8vRiE/2GCJM+0p3PzinYknkdsBYg==",
"dev": true
},
"emoji-regex": {
@@ -796,22 +853,22 @@
"dev": true
},
"eslint": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
- "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.0.0.tgz",
+ "integrity": "sha512-qY1cwdOxMONHJfGqw52UOpZDeqXy8xmD0u8CT6jIstil72jkhURC704W8CFyTPDPllz4z4lu0Ql1+07PG/XdIg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
"ajv": "^6.10.0",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
"debug": "^4.0.1",
"doctrine": "^3.0.0",
"eslint-scope": "^5.0.0",
- "eslint-utils": "^1.4.3",
+ "eslint-utils": "^2.0.0",
"eslint-visitor-keys": "^1.1.0",
- "espree": "^6.1.2",
- "esquery": "^1.0.1",
+ "espree": "^7.0.0",
+ "esquery": "^1.2.0",
"esutils": "^2.0.2",
"file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1",
@@ -824,26 +881,25 @@
"is-glob": "^4.0.0",
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
+ "levn": "^0.4.1",
"lodash": "^4.17.14",
"minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
- "optionator": "^0.8.3",
+ "optionator": "^0.9.1",
"progress": "^2.0.0",
- "regexpp": "^2.0.1",
- "semver": "^6.1.2",
- "strip-ansi": "^5.2.0",
- "strip-json-comments": "^3.0.1",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
"table": "^5.2.3",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
}
},
"eslint-config-blueimp": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/eslint-config-blueimp/-/eslint-config-blueimp-1.9.0.tgz",
- "integrity": "sha512-30uqxKoc3/AAn7H2lzISh77SRAecZ3D52RBwLdrV5G/ZorWcPNX0ZnlTz68AnaXoIXFu6irkMs1Zi/KJaA5ZJQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-blueimp/-/eslint-config-blueimp-2.0.0.tgz",
+ "integrity": "sha512-FoL6USm4l6rk+npoC/SMsvTmc89jH3D2sH5Hh0/y0fZwYRzn6SPZQ6R1DfLNTrJ5AfWA9y3J25t5bT/+PjtE9Q==",
"dev": true
},
"eslint-config-prettier": {
@@ -856,18 +912,26 @@
}
},
"eslint-plugin-jsdoc": {
- "version": "24.0.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-24.0.2.tgz",
- "integrity": "sha512-tvk/jPpIP6MBVZETYnurKL/VGKzSinSbhpz1x+CzDOX20bmhRnCiexrgre4xF0WD/feg7ARKTVLCygVB3pfG5Q==",
+ "version": "25.4.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-25.4.1.tgz",
+ "integrity": "sha512-EixCLTv36/etbr5GGC89n0GLDkU/5NmadPzI3x6gSzldqrZpyQVh6qqN3jarWdfTvJsimorP4KNCIwe5mk/7TA==",
"dev": true,
"requires": {
- "comment-parser": "^0.7.2",
+ "comment-parser": "^0.7.4",
"debug": "^4.1.1",
"jsdoctypeparser": "^6.1.0",
"lodash": "^4.17.15",
- "regextras": "^0.7.0",
+ "regextras": "^0.7.1",
"semver": "^6.3.0",
"spdx-expression-parse": "^3.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
"eslint-plugin-prettier": {
@@ -890,9 +954,9 @@
}
},
"eslint-utils": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
- "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
+ "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
"dev": true,
"requires": {
"eslint-visitor-keys": "^1.1.0"
@@ -905,9 +969,9 @@
"dev": true
},
"espree": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
- "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.0.0.tgz",
+ "integrity": "sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==",
"dev": true,
"requires": {
"acorn": "^7.1.1",
@@ -1024,9 +1088,9 @@
"dev": true
},
"fastq": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz",
- "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
+ "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==",
"dev": true,
"requires": {
"reusify": "^1.0.4"
@@ -1150,6 +1214,17 @@
"ini": "^1.3.5",
"kind-of": "^6.0.2",
"which": "^1.3.1"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
}
},
"globals": {
@@ -1369,15 +1444,6 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "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"
- }
- },
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
@@ -1572,13 +1638,13 @@
"dev": true
},
"levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
}
},
"lines-and-columns": {
@@ -1610,6 +1676,19 @@
"dev": true,
"requires": {
"chalk": "^2.4.2"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
}
},
"longest-streak": {
@@ -1769,16 +1848,10 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
- },
"node-releases": {
- "version": "1.1.54",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.54.tgz",
- "integrity": "sha512-tLzytKpgwKQr37yw9CEODjNM9lnmsNxzlv575GzOZ16AgMvPcJis/DgrJX4UEV1KIYoXk6XoVfY6YaMOPJESAQ==",
+ "version": "1.1.55",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.55.tgz",
+ "integrity": "sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==",
"dev": true
},
"normalize-package-data": {
@@ -1838,17 +1911,17 @@
}
},
"optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
"dev": true,
"requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
}
},
"os-tmpdir": {
@@ -1929,9 +2002,9 @@
"dev": true
},
"path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true
},
"path-parse": {
@@ -1962,9 +2035,9 @@
}
},
"postcss": {
- "version": "7.0.29",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.29.tgz",
- "integrity": "sha512-ba0ApvR3LxGvRMMiUa9n0WR4HjzcYm7tS+ht4/2Nd0NLtHpPIH77fuB9Xh1/yJVz9O/E/95Y/dn8ygWsyffXtw==",
+ "version": "7.0.30",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -1972,6 +2045,28 @@
"supports-color": "^6.1.0"
},
"dependencies": {
+ "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"
+ }
+ }
+ }
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -2025,6 +2120,17 @@
"postcss": "^7.0.7"
},
"dependencies": {
+ "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"
+ }
+ },
"log-symbols": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
@@ -2094,9 +2200,9 @@
"dev": true
},
"prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
"prettier": {
@@ -2242,15 +2348,15 @@
"dev": true
},
"regexpp": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
- "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
"regextras": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.0.tgz",
- "integrity": "sha512-ds+fL+Vhl918gbAUb0k2gVKbTZLsg84Re3DI6p85Et0U0tYME3hyW4nMK8Px4dtDaBA2qNjvG5uWyW7eK5gfmw==",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz",
+ "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==",
"dev": true
},
"remark": {
@@ -2396,24 +2502,24 @@
"dev": true
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
"dev": true
},
"shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "shebang-regex": "^3.0.0"
}
},
"shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
"signal-exit": {
@@ -2470,9 +2576,9 @@
"dev": true
},
"spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "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",
@@ -2512,17 +2618,6 @@
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "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"
- }
- }
}
},
"string_decoder": {
@@ -2535,17 +2630,17 @@
},
"dependencies": {
"safe-buffer": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
- "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+ "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
}
}
},
"stringify-entities": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.0.0.tgz",
- "integrity": "sha512-h7NJJIssprqlyjHT2eQt2W1F+MCcNmwPGlKb0bWEdET/3N44QN3QbUF/ueKCgAssyKRZ3Br9rQ7FcXjHr0qLHw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.0.1.tgz",
+ "integrity": "sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ==",
"dev": true,
"requires": {
"character-entities-html4": "^1.0.0",
@@ -2556,20 +2651,12 @@
}
},
"strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "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": "^4.1.0"
- },
- "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-regex": "^5.0.0"
}
},
"strip-indent": {
@@ -2649,53 +2736,12 @@
"write-file-atomic": "^3.0.3"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
- "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"get-stdin": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
"integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
"dev": true
},
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
"ignore": {
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
@@ -2707,24 +2753,6 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
- },
- "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"
- }
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
}
}
},
@@ -2776,6 +2804,12 @@
"string-width": "^3.0.0"
},
"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
+ },
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -2798,6 +2832,15 @@
"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"
+ }
}
}
},
@@ -2862,18 +2905,18 @@
"dev": true
},
"tslib": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
- "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==",
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+ "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true
},
"type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2"
+ "prelude-ls": "^1.2.1"
}
},
"type-fest": {
@@ -3036,9 +3079,9 @@
}
},
"which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
diff --git a/vendor/blueimp/jquery-file-upload/package.json b/vendor/blueimp/jquery-file-upload/package.json
index 6270c65b1..529e6693d 100644
--- a/vendor/blueimp/jquery-file-upload/package.json
+++ b/vendor/blueimp/jquery-file-upload/package.json
@@ -1,6 +1,6 @@
{
"name": "blueimp-file-upload",
- "version": "10.21.0",
+ "version": "10.30.1",
"title": "jQuery File Upload",
"description": "File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.",
"keywords": [
@@ -43,10 +43,10 @@
"blueimp-tmpl": "3"
},
"devDependencies": {
- "eslint": "6",
- "eslint-config-blueimp": "1",
+ "eslint": "7",
+ "eslint-config-blueimp": "2",
"eslint-config-prettier": "6",
- "eslint-plugin-jsdoc": "24",
+ "eslint-plugin-jsdoc": "25",
"eslint-plugin-prettier": "3",
"prettier": "2",
"stylelint": "13",
diff --git a/vendor/blueimp/jquery-file-upload/server/php/.dockerignore b/vendor/blueimp/jquery-file-upload/server/php/.dockerignore
new file mode 100644
index 000000000..6f0168844
--- /dev/null
+++ b/vendor/blueimp/jquery-file-upload/server/php/.dockerignore
@@ -0,0 +1,2 @@
+*
+!php.ini
diff --git a/vendor/blueimp/jquery-file-upload/server/php/Dockerfile b/vendor/blueimp/jquery-file-upload/server/php/Dockerfile
index 67752f995..7f271b581 100644
--- a/vendor/blueimp/jquery-file-upload/server/php/Dockerfile
+++ b/vendor/blueimp/jquery-file-upload/server/php/Dockerfile
@@ -11,28 +11,34 @@ RUN ln -s /etc/apache2/mods-available/rewrite.load \
# Install GD, Imagick and ImageMagick as image conversion options:
RUN DEBIAN_FRONTEND=noninteractive \
apt-get update && apt-get install -y --no-install-recommends \
- libpng-dev \
- libjpeg-dev \
- libmagickwand-dev \
- imagemagick \
+ libpng-dev \
+ libjpeg-dev \
+ libmagickwand-dev \
+ imagemagick \
&& pecl install \
- imagick \
+ imagick \
&& docker-php-ext-enable \
- imagick \
+ imagick \
&& docker-php-ext-configure \
- gd --with-jpeg=/usr/include/ \
+ gd --with-jpeg=/usr/include/ \
&& docker-php-ext-install \
- gd \
+ gd \
# Uninstall obsolete packages:
&& apt-get autoremove -y \
- libpng-dev \
- libjpeg-dev \
- libmagickwand-dev \
+ libpng-dev \
+ libjpeg-dev \
+ libmagickwand-dev \
# Remove obsolete files:
&& apt-get clean \
&& rm -rf \
- /tmp/* \
- /usr/share/doc/* \
- /var/cache/* \
- /var/lib/apt/lists/* \
- /var/tmp/*
+ /tmp/* \
+ /usr/share/doc/* \
+ /var/cache/* \
+ /var/lib/apt/lists/* \
+ /var/tmp/*
+
+# Use the default development configuration:
+RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
+
+# Add a custom configuration file:
+COPY php.ini "$PHP_INI_DIR/conf.d/"
diff --git a/vendor/blueimp/jquery-file-upload/server/php/files/.htaccess b/vendor/blueimp/jquery-file-upload/server/php/files/.htaccess
index 6f454afb9..be8cb1916 100644
--- a/vendor/blueimp/jquery-file-upload/server/php/files/.htaccess
+++ b/vendor/blueimp/jquery-file-upload/server/php/files/.htaccess
@@ -1,25 +1,49 @@
-# To enable the Headers module, execute the following command and reload Apache:
+# If you have not done so already, please first read SECURITY.md in the root
+# directory of this project or online:
+# https://github.com/blueimp/jQuery-File-Upload/blob/master/SECURITY.md
+#
+# The settings in this file require Apache to support configuration overrides
+# in .htaccess files, which is disabled by default since Apache v2.3.9 and needs
+# to be enabled for the directives in this file to have any effect, see also:
+# https://httpd.apache.org/docs/current/mod/core.html#allowoverride
+#
+# If you have full control over the web server, it is preferrable to define the
+# settings in the Apache configuration (e.g. /etc/apache2/apache2.conf) itself.
+#
+# Some of the directives require the Apache Headers module. If it is not
+# already enabled, please execute the following command and reload Apache:
# sudo a2enmod headers
+#
+# Please note that the order of directives across configuration files matters,
+# see also:
+# https://httpd.apache.org/docs/current/sections.html#merging
-# The following directives prevent the execution of script files
-# in the context of the website.
-# They also force the content-type application/octet-stream and
-# force browsers to display a download dialog for non-image files.
-SetHandler default-handler
-ForceType application/octet-stream
-Header set Content-Disposition attachment
+# The following directive matches all files and forces them to be handled as
+# static content, which prevents the server from parsing and executing files
+# that are associated with a dynamic runtime, e.g. PHP files.
+# It also forces their Content-Type header to "application/octet-stream" and
+# adds a "Content-Disposition: attachment" header to force a download dialog,
+# which prevents browsers from interpreting files in the context of the
+# web server, e.g. HTML files containing JavaScript.
+# Lastly it also prevents browsers from MIME-sniffing the Content-Type,
+# preventing them from interpreting a file as a different Content-Type than
+# the one sent by the webserver.
+<FilesMatch ".*">
+ SetHandler default-handler
+ ForceType application/octet-stream
+ Header set Content-Disposition attachment
+ Header set X-Content-Type-Options nosniff
+</FilesMatch>
-# The following unsets the forced type and Content-Disposition headers
-# for known image files:
-<FilesMatch "(?i)\.(gif|jpe?g|png)$">
+# The following directive matches known image files and unsets the forced
+# Content-Type so they can be served with their original mime type.
+# It also unsets the Content-Disposition header to allow displaying them
+# inline in the browser.
+<FilesMatch ".+\.(?i:(gif|jpe?g|png))$">
ForceType none
Header unset Content-Disposition
</FilesMatch>
-# The following directive prevents browsers from MIME-sniffing the content-type.
-# This is an important complement to the ForceType directive above:
-Header set X-Content-Type-Options nosniff
-
# Uncomment the following lines to prevent unauthorized download of files:
#AuthName "Authorization required"
#AuthType Basic
diff --git a/vendor/blueimp/jquery-file-upload/server/php/php.ini b/vendor/blueimp/jquery-file-upload/server/php/php.ini
new file mode 100644
index 000000000..c04b5c653
--- /dev/null
+++ b/vendor/blueimp/jquery-file-upload/server/php/php.ini
@@ -0,0 +1,5 @@
+max_execution_time = 300
+memory_limit = 500M
+post_max_size = 4G
+upload_max_filesize = 4G
+max_file_uploads = 50
diff --git a/vendor/commerceguys/intl/.travis.yml b/vendor/commerceguys/intl/.travis.yml
index eb5d17226..f23e9a5eb 100644
--- a/vendor/commerceguys/intl/.travis.yml
+++ b/vendor/commerceguys/intl/.travis.yml
@@ -5,7 +5,6 @@ php:
- 7.2
- 7.1
- 7.0
- - 5.6
install:
- composer self-update
diff --git a/vendor/commerceguys/intl/README.md b/vendor/commerceguys/intl/README.md
index 4247fc4e7..23fa51498 100644
--- a/vendor/commerceguys/intl/README.md
+++ b/vendor/commerceguys/intl/README.md
@@ -3,7 +3,7 @@ intl
[![Build Status](https://travis-ci.org/commerceguys/intl.svg?branch=master)](https://travis-ci.org/commerceguys/intl)
-A PHP 5.5+ internationalization library, powered by CLDR data.
+A PHP 7.0+ internationalization library, powered by CLDR data.
Features:
- NumberFormatter and CurrencyFormatter, inspired by [intl](http://php.net/manual/en/class.numberformatter.php).
diff --git a/vendor/commerceguys/intl/composer.json b/vendor/commerceguys/intl/composer.json
index 153479442..2685c8283 100644
--- a/vendor/commerceguys/intl/composer.json
+++ b/vendor/commerceguys/intl/composer.json
@@ -4,11 +4,11 @@
"description": "Internationalization library powered by CLDR data.",
"license": "MIT",
"require": {
- "php": ">=5.5.0"
+ "php": ">=7.0.8"
},
"require-dev": {
- "phpunit/phpunit": "~4.0",
- "mikey179/vfsStream": "1.*"
+ "phpunit/phpunit": "^6.0",
+ "mikey179/vfsstream": "1.*"
},
"autoload": {
"psr-4": {
diff --git a/vendor/commerceguys/intl/resources/currency/agq.json b/vendor/commerceguys/intl/resources/currency/agq.json
deleted file mode 100644
index c1dff5eb3..000000000
--- a/vendor/commerceguys/intl/resources/currency/agq.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "MGA": {
- "name": "Àlǐalè è Màlàgasì"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bîi è Etyǒkpìa"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "GBP": {
- "name": "Bɔ̀ŋ è Bèletì",
- "symbol": "£"
- },
- "EGP": {
- "name": "Bɔ̀ŋ è Edzì"
- },
- "SHP": {
- "name": "Bɔ̀ŋ è Sɛ̀n Èlenà"
- },
- "SDG": {
- "name": "Bɔ̀ŋ è Sùdànê"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XOF": {
- "name": "CFA Fàlâŋ BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA Fàlâŋ BEAC",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dàlasì è Gambìa"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "MAD": {
- "name": "Dilàm è Mòlokò"
- },
- "AED": {
- "name": "Dilàm è Yùnaetɛ Alab Emelɛ̀"
- },
- "DZD": {
- "name": "Dinà è Àdzɛlìa"
- },
- "BHD": {
- "name": "Dinà è Balae"
- },
- "LYD": {
- "name": "Dinà è Lebìa"
- },
- "TND": {
- "name": "Dinà è Tùwneshìa"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "STN": {
- "name": "Dɔbàlà è Sàwu Tɔ̀me à Pèlènsipè"
- },
- "CAD": {
- "name": "Dɔlà è Kanadà",
- "symbol": "CA$"
- },
- "NAD": {
- "name": "Dɔlà è Nàmibìa"
- },
- "USD": {
- "name": "Dɔlà è US",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Dɔlà e Ùsɨ̀tɛ̀lɛlìa",
- "symbol": "A$"
- },
- "LRD": {
- "name": "Dɔlà Làebɛlìa"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "BIF": {
- "name": "Fàlâŋ è Bùlundì"
- },
- "DJF": {
- "name": "Fàlâŋ è Dzìbutì"
- },
- "KMF": {
- "name": "Fàlâŋ è Komolìa"
- },
- "CDF": {
- "name": "Fàlâŋ è Kuŋgùlê"
- },
- "RWF": {
- "name": "Fàlâŋ è Lùwandà"
- },
- "CHF": {
- "name": "Fàlâŋ è Sues"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "JPY": {
- "name": "Ghɨ̂n Dzàkpànê",
- "symbol": "JP¥"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CVE": {
- "name": "Kàbòvàdianù è Èsùkudò"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "BWP": {
- "name": "Kpuwlà è Botɨshǔanà"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwachà è Màlawè"
- },
- "ZMW": {
- "name": "Kwachà è Zambìa"
- },
- "AOA": {
- "name": "Kwanzà è Àŋgolà"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "ZAR": {
- "name": "Lân è Afɨlekà ghɨ Emàm ghò"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SZL": {
- "name": "Lèlàŋgenè"
- },
- "SAR": {
- "name": "Leyà è Sàwudì"
- },
- "LSL": {
- "name": "Lɔtì Lèsutù"
- },
- "INR": {
- "name": "Lukpì è Endìa",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Lukpìi è Mùleshòs"
- },
- "SCR": {
- "name": "Lukpìi è Sɛchɛ̀lɛ̀"
- },
- "SLL": {
- "name": "Lyɔ̂ŋ"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naelà è Gɨ̀anyɨ"
- },
- "ERN": {
- "name": "Nakafa è Èletɨ̀làe"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SOS": {
- "name": "Shwɨlà è Sùmalìa"
- },
- "TZS": {
- "name": "Shwɨlà è Tàanzanyìa"
- },
- "UGX": {
- "name": "Shwɨlà è Yùgandà"
- },
- "KES": {
- "name": "Shwɨlà tɨ Kenyà"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ùgueya è Mùlètenyìa"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "EUR": {
- "name": "Yulù",
- "symbol": "€"
- },
- "CNY": {
- "name": "Yùwân Lèmembi è Chaenî",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ak.json b/vendor/commerceguys/intl/resources/currency/ak.json
deleted file mode 100644
index 0ee8219be..000000000
--- a/vendor/commerceguys/intl/resources/currency/ak.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ZAR": {
- "name": "Afrika Anaafo Rand"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "USD": {
- "name": "Amɛrika Dɔla",
- "symbol": "US$"
- },
- "AOA": {
- "name": "Angola Kwanza"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BHD": {
- "name": "Baren Dina"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "Botswana Pula"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "Breten Pɔn",
- "symbol": "£"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "BIF": {
- "name": "Burundi Frank"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "EGP": {
- "name": "Egypt Pɔn"
- },
- "AED": {
- "name": "Ɛmirete Arab Nkabɔmu Deram"
- },
- "ERN": {
- "name": "Ɛretereya Nakfa"
- },
- "CVE": {
- "name": "Ɛskudo"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "Gambia Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghana Sidi",
- "symbol": "GH₵"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "JPY": {
- "name": "Gyapan Yɛn",
- "symbol": "JP¥"
- },
- "DJF": {
- "name": "Gyebuti Frank"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "INR": {
- "name": "India Rupi",
- "symbol": "₹"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "EUR": {
- "name": "Iro",
- "symbol": "€"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "ETB": {
- "name": "Itiopia Bir"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CAD": {
- "name": "Kanada Dɔla",
- "symbol": "CA$"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Kenya Hyelen"
- },
- "KMF": {
- "name": "Komoro Frank"
- },
- "CDF": {
- "name": "Kongo Frank"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LRD": {
- "name": "Laeberia Dɔla"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leone"
- },
- "LSL": {
- "name": "Lesoto Loti"
- },
- "LYD": {
- "name": "Libya Dina"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MGA": {
- "name": "Madagasi Frank"
- },
- "MWK": {
- "name": "Malawi Kwacha"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MAD": {
- "name": "Moroko Diram"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MUR": {
- "name": "Mɔrehyeɔs Rupi"
- },
- "MRU": {
- "name": "Mɔretenia Ouguiya"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naegyeria Naira"
- },
- "NAD": {
- "name": "Namibia Dɔla"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "DZD": {
- "name": "Ɔlgyeria Dina"
- },
- "AUD": {
- "name": "Ɔstrelia Dɔla",
- "symbol": "A$"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RWF": {
- "name": "Rewanda Frank"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "Sao Tome ne Principe Dobra"
- },
- "SAR": {
- "name": "Saudi Riyal"
- },
- "XAF": {
- "name": "Sefa",
- "symbol": "FCFA"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SCR": {
- "name": "Seyhyɛls Rupi"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somailia Hyelen"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SHP": {
- "name": "St Helena Pɔn"
- },
- "SDG": {
- "name": "Sudan Dina"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "CHF": {
- "name": "Swiss Franc"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Tanzania Hyelen"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunisia Dina"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "Uganda Hyelen"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "XOF": {
- "name": "West African CFA Franc",
- "symbol": "CFA"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan",
- "symbol": "CN¥"
- },
- "ZMW": {
- "name": "Zambia Kwacha"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/am.json b/vendor/commerceguys/intl/resources/currency/am.json
deleted file mode 100644
index ed226e601..000000000
--- a/vendor/commerceguys/intl/resources/currency/am.json
+++ /dev/null
@@ -1,498 +0,0 @@
-{
- "MDL": {
- "name": "ሞልዶቫን ሊኡ"
- },
- "XPF": {
- "name": "ሲ ኤፍ ፒ ፍራንክ",
- "symbol": "CFPF"
- },
- "WST": {
- "name": "ሳሞአን ታላ"
- },
- "BTN": {
- "name": "ብሁታኒዝ ንጉልትረም"
- },
- "TMT": {
- "name": "ቱርክሜኒስታኒ ማናት"
- },
- "TOP": {
- "name": "ቶንጋን ፓ’አንጋ"
- },
- "CZK": {
- "name": "ቼክ ሪፐብሊክ ኮሩና"
- },
- "ANG": {
- "name": "ኔዘርላንድስ አንቲሊአን ጊልደር"
- },
- "AWG": {
- "name": "አሩባን ፍሎሪን"
- },
- "HNL": {
- "name": "የሃንዱራ ሌምፓአይራ"
- },
- "HUF": {
- "name": "የሃንጋሪያን ፎሪንት"
- },
- "HTG": {
- "name": "የሃያቲ ጓርዴ"
- },
- "HKD": {
- "name": "የሆንግኮንግ ዶላር",
- "symbol": "HK$"
- },
- "LYD": {
- "name": "የሊቢያ ዲናር"
- },
- "LBP": {
- "name": "የሊባኖስ ፓውንድ"
- },
- "LAK": {
- "name": "የላኦቲ ኪፕ"
- },
- "LRD": {
- "name": "የላይቤሪያ ዶላር"
- },
- "LSL": {
- "name": "የሌሶቶ ሎቲ"
- },
- "INR": {
- "name": "የሕንድ ሩፒ",
- "symbol": "₹"
- },
- "XAF": {
- "name": "የመካከለኛው አፍሪካ ሴፋ ፍራንክ",
- "symbol": "FCFA"
- },
- "MWK": {
- "name": "የማላዊ ኩዋቻ"
- },
- "MYR": {
- "name": "የማሌዥያ ሪንጊት"
- },
- "MVR": {
- "name": "የማልዲቫ ሩፊያ"
- },
- "MOP": {
- "name": "የማካኔዝ ፓታካ"
- },
- "MMK": {
- "name": "የማያናማር ክያት"
- },
- "MGA": {
- "name": "የማደጋስካር ማላጋስይ አሪያርይ"
- },
- "MKD": {
- "name": "የሜቆድንያ ዲናር"
- },
- "MXN": {
- "name": "የሜክሲኮ ፔሶ",
- "symbol": "MX$"
- },
- "XOF": {
- "name": "የምዕራብ አፍሪካ ሴፋ ፍራንክ",
- "symbol": "CFA"
- },
- "XCD": {
- "name": "የምዕራብ ካሪብያን ዶላር",
- "symbol": "EC$"
- },
- "MUR": {
- "name": "የሞሪሸስ ሩፒ"
- },
- "MRU": {
- "name": "የሞሪቴኒያ ኦውጉያ"
- },
- "MAD": {
- "name": "የሞሮኮ ዲርሀም"
- },
- "MNT": {
- "name": "የሞንጎሊያን ቱግሪክ"
- },
- "MZN": {
- "name": "የሞዛምቢክ ሜቲካል"
- },
- "RUB": {
- "name": "የሩስያ ሩብል"
- },
- "RWF": {
- "name": "የሩዋንዳ ፍራንክ"
- },
- "RON": {
- "name": "የሮማኒያ ለው"
- },
- "SBD": {
- "name": "የሰለሞን ደሴቶች ዶላር"
- },
- "KPW": {
- "name": "የሰሜን ኮሪያ ዎን"
- },
- "RSD": {
- "name": "የሰርቢያ ዲናር"
- },
- "SRD": {
- "name": "የሰርናሜዝ ዶላር"
- },
- "SDG": {
- "name": "የሱዳን ፓውንድ"
- },
- "LKR": {
- "name": "የሲሪላንካ ሩፒ"
- },
- "SYP": {
- "name": "የሲሪያ ፓውንድ"
- },
- "SCR": {
- "name": "የሲሼል ሩፒ"
- },
- "SGD": {
- "name": "የሲንጋፖር ዶላር"
- },
- "STN": {
- "name": "የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ"
- },
- "SAR": {
- "name": "የሳውዲ ሪያል"
- },
- "SLL": {
- "name": "የሴራሊዎን ሊዎን"
- },
- "SHP": {
- "name": "የሴይንት ሔሌና ፓውንድ"
- },
- "CHF": {
- "name": "የስዊስ ፍራንክ"
- },
- "SEK": {
- "name": "የስዊድን ክሮና"
- },
- "SZL": {
- "name": "የስዋዚላንድ ሊላንገኒ"
- },
- "SOS": {
- "name": "የሶማሌ ሺሊንግ"
- },
- "BGN": {
- "name": "የቡልጋሪያ ሌቭ"
- },
- "BSD": {
- "name": "የባሃማስ ዶላር"
- },
- "BBD": {
- "name": "የባርቤዶስ ዶላር"
- },
- "BDT": {
- "name": "የባንግላዲሽ ታካ"
- },
- "BHD": {
- "name": "የባኽሬን ዲናር"
- },
- "BZD": {
- "name": "የቤሊዝ ዶላር"
- },
- "BYN": {
- "name": "የቤላሩስያ ሩብል"
- },
- "BMD": {
- "name": "የቤርሙዳ ዶላር"
- },
- "BND": {
- "name": "የብሩኔ ዶላር"
- },
- "BIF": {
- "name": "የብሩንዲ ፍራንክ"
- },
- "BRL": {
- "name": "የብራዚል ሪል",
- "symbol": "R$"
- },
- "BOB": {
- "name": "የቦሊቪያ ቦሊቪያኖ"
- },
- "BAM": {
- "name": "የቦስኒያ ሄርዞጎቪና የሚመነዘር ማርክ"
- },
- "BWP": {
- "name": "የቦትስዋና ፑላ"
- },
- "VUV": {
- "name": "የቫንዋንቱ ቫቱ"
- },
- "VES": {
- "name": "የቬንዝዌላ-ቦሊቫር"
- },
- "VND": {
- "name": "የቭየትናም ዶንግ",
- "symbol": "₫"
- },
- "AED": {
- "name": "የተባበሩት የአረብ ኤምሬትስ ድርሀም"
- },
- "TRY": {
- "name": "የቱርክ ሊራ"
- },
- "TND": {
- "name": "የቱኒዚያ ዲናር"
- },
- "TZS": {
- "name": "የታንዛኒያ ሺሊንግ"
- },
- "THB": {
- "name": "የታይላንድ ባህት",
- "symbol": "฿"
- },
- "TJS": {
- "name": "የታጂክስታን ሶሞኒ"
- },
- "TTD": {
- "name": "የትሪንዳድ እና ቶቤጎዶላር"
- },
- "CLP": {
- "name": "የቺሊ ፔሶ"
- },
- "CNY": {
- "name": "የቻይና የን",
- "symbol": "CN¥"
- },
- "NIO": {
- "name": "የኒካራጓ ኮርዶባ"
- },
- "NZD": {
- "name": "የኒውዚላንድ ዶላር",
- "symbol": "NZ$"
- },
- "NAD": {
- "name": "የናሚቢያ ዶላር"
- },
- "NGN": {
- "name": "የናይጄሪያ ናይራ"
- },
- "NPR": {
- "name": "የኔፓል ሩፒ"
- },
- "NOK": {
- "name": "የኖርዌይ ክሮን"
- },
- "ALL": {
- "name": "የአልባንያ ሌክ"
- },
- "DZD": {
- "name": "የአልጄሪያ ዲናር"
- },
- "USD": {
- "name": "የአሜሪካን ዶላር",
- "symbol": "US$"
- },
- "AMD": {
- "name": "የአርመን ድራም"
- },
- "ARS": {
- "name": "የአርጀንቲና ፔሶ"
- },
- "AOA": {
- "name": "የአንጎላ ኩዋንዛ"
- },
- "AUD": {
- "name": "የአውስትራሊያ ዶላር",
- "symbol": "AU$"
- },
- "AZN": {
- "name": "የአዛርባጃን ማናት"
- },
- "ISK": {
- "name": "የአይስላንድ ክሮና"
- },
- "TWD": {
- "name": "የአዲሷ ታይዋን ዶላር",
- "symbol": "NT$"
- },
- "AFN": {
- "name": "የአፍጋን አፍጋኒ"
- },
- "UYU": {
- "name": "የኡራጓይ ፔሶ"
- },
- "UZS": {
- "name": "የኡዝፔኪስታን ሶም"
- },
- "IQD": {
- "name": "የኢራቅ ዲናር"
- },
- "IRR": {
- "name": "የኢራን ሪአል"
- },
- "ETB": {
- "name": "የኢትዮጵያ ብር",
- "symbol": "ብር"
- },
- "IDR": {
- "name": "የኢንዶኔዥያ ሩፒሃ"
- },
- "ERN": {
- "name": "የኤርትራ ናቅፋ"
- },
- "ILS": {
- "name": "የእስራኤል አዲስ ሽቅል",
- "symbol": "₪"
- },
- "GBP": {
- "name": "የእንግሊዝ ፓውንድ ስተርሊንግ",
- "symbol": "£"
- },
- "OMR": {
- "name": "የኦማን ሪአል"
- },
- "CUC": {
- "name": "የኩባ የሚመነዘር ፔሶ"
- },
- "CUP": {
- "name": "የኩባ ፔሶ"
- },
- "KWD": {
- "name": "የኩዌት ዲናር"
- },
- "KGS": {
- "name": "የኪርጊስታን ሶም"
- },
- "KHR": {
- "name": "የካምቦዲያ ሬል"
- },
- "CAD": {
- "name": "የካናዳ ዶላር",
- "symbol": "CA$"
- },
- "KZT": {
- "name": "የካዛኪስታን ተንጌ"
- },
- "KYD": {
- "name": "የካይማን ደሴቶች ዶላር"
- },
- "KES": {
- "name": "የኬኒያ ሺሊንግ"
- },
- "CVE": {
- "name": "የኬፕ ቫርዲ ኤስኩዶ"
- },
- "COP": {
- "name": "የኮሎምቢያ ፔሶ"
- },
- "KMF": {
- "name": "የኮሞሮ ፍራንክ"
- },
- "CRC": {
- "name": "የኮስታሪካ ኮሎን"
- },
- "CDF": {
- "name": "የኮንጐ ፍራንክ ኮንጐሌዝ"
- },
- "QAR": {
- "name": "የኳታር ሪአል"
- },
- "ZMW": {
- "name": "የዛምቢያ ክዋቻ"
- },
- "YER": {
- "name": "የየመን ሪአል"
- },
- "UAH": {
- "name": "የዩክሬን ሀሪይቭኒአ"
- },
- "UGX": {
- "name": "የዩጋንዳ ሺሊንግ"
- },
- "SSP": {
- "name": "የደቡብ ሱዳን ፓውንድ"
- },
- "ZAR": {
- "name": "የደቡብ አፍሪካ ራንድ"
- },
- "KRW": {
- "name": "የደቡብ ኮሪያ ዎን",
- "symbol": "₩"
- },
- "DKK": {
- "name": "የዴንማርክ ክሮን"
- },
- "DOP": {
- "name": "የዶሚኒክ ፔሶ"
- },
- "JMD": {
- "name": "የጃማይካ ዶላር"
- },
- "JPY": {
- "name": "የጃፓን የን",
- "symbol": "JP¥"
- },
- "DJF": {
- "name": "የጅቡቲ ፍራንክ"
- },
- "JOD": {
- "name": "የጆርዳን ዲናር"
- },
- "GEL": {
- "name": "የጆርጅያ ላሪ"
- },
- "GYD": {
- "name": "የጉየና ዶላር"
- },
- "GNF": {
- "name": "የጊኒ ፍራንክ"
- },
- "GMD": {
- "name": "የጋምቢያ ዳላሲ"
- },
- "GHS": {
- "name": "የጋና ሲዲ"
- },
- "EGP": {
- "name": "የግብጽ ፓውንድ"
- },
- "PHP": {
- "name": "የፊሊፒንስ ፔሶ"
- },
- "FJD": {
- "name": "የፊጂ ዶላር"
- },
- "FKP": {
- "name": "የፎክላንድ ደሴቶች ፓውንድ"
- },
- "PYG": {
- "name": "የፓራጓይ ጉአራኒ"
- },
- "PKR": {
- "name": "የፓኪስታን ሩፒ"
- },
- "PGK": {
- "name": "የፓፕዋ ኒው ጊኒ ኪና"
- },
- "PEN": {
- "name": "የፔሩቪያ ሶል"
- },
- "PLN": {
- "name": "የፖላንድ ዝሎቲ"
- },
- "EUR": {
- "name": "ዩሮ",
- "symbol": "€"
- },
- "GIP": {
- "name": "ጂብራልተር ፓውንድ"
- },
- "GTQ": {
- "name": "ጓቲማላን ኩቲዛል"
- },
- "PAB": {
- "name": "ፓናማኒአን ባልቦአ"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/asa.json b/vendor/commerceguys/intl/resources/currency/asa.json
deleted file mode 100644
index 067c45a9d..000000000
--- a/vendor/commerceguys/intl/resources/currency/asa.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "dalathi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "dinari ya Aljeria"
- },
- "BHD": {
- "name": "dinari ya Bahareni"
- },
- "LYD": {
- "name": "dinari ya Libya"
- },
- "SDG": {
- "name": "dinari ya Thudani"
- },
- "TND": {
- "name": "dinari ya Tunithia"
- },
- "AED": {
- "name": "dirham ya Falme dha Kiarabu"
- },
- "MAD": {
- "name": "dirham ya Moroko"
- },
- "STN": {
- "name": "dobra ya Thao Tome na Principe"
- },
- "AUD": {
- "name": "dola ya Authtralia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "dola ya Liberia"
- },
- "USD": {
- "name": "dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "ethkudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "MGA": {
- "name": "faranga ya Bukini"
- },
- "BIF": {
- "name": "faranga ya Burundi"
- },
- "DJF": {
- "name": "faranga ya Jibuti"
- },
- "KMF": {
- "name": "faranga ya Komoro"
- },
- "CDF": {
- "name": "faranga ya Kongo"
- },
- "RWF": {
- "name": "faranga ya Rwanda"
- },
- "CHF": {
- "name": "faranga ya Uthwithi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "ZMW": {
- "name": "kwacha ya Dhambia"
- },
- "MWK": {
- "name": "kwacha ya Malawi"
- },
- "AOA": {
- "name": "kwandha ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "leoni"
- },
- "SZL": {
- "name": "lilangeni"
- },
- "LSL": {
- "name": "loti ya Lethoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "naira ya Nijeria"
- },
- "ERN": {
- "name": "nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "pauni ya Mithri"
- },
- "SHP": {
- "name": "pauni ya Thantahelena"
- },
- "GBP": {
- "name": "pauni ya Uingeredha",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "pula ya Botthwana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "randi ya Afrika Kuthini"
- },
- "SAR": {
- "name": "riyal ya Thaudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "rupia ya Morithi"
- },
- "SCR": {
- "name": "rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "shilingi ya Kenya"
- },
- "TZS": {
- "name": "shilingi ya Tandhania",
- "symbol": "TSh"
- },
- "SOS": {
- "name": "shilingi ya Thomalia"
- },
- "UGX": {
- "name": "shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "JPY": {
- "name": "tharafu ya Kijapani",
- "symbol": "JP¥"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "yuan renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bas.json b/vendor/commerceguys/intl/resources/currency/bas.json
deleted file mode 100644
index 1f407a66b..000000000
--- a/vendor/commerceguys/intl/resources/currency/bas.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bîr ètìopìà"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasì gambìà"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dìnâr àlgerìà"
- },
- "BHD": {
- "name": "Dinâr Bàraìn"
- },
- "LYD": {
- "name": "Dìnâr libìà"
- },
- "SDG": {
- "name": "Dìnâr sùdân"
- },
- "TND": {
- "name": "Dìnâr tùnîs"
- },
- "AED": {
- "name": "Dirhàm èmìrâ"
- },
- "MAD": {
- "name": "Dìrham màrôk"
- },
- "STN": {
- "name": "Dobrà sàotòme"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Dɔla àmerkà",
- "symbol": "US$"
- },
- "CAD": {
- "name": "Dɔ̀lâr kànadà",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dɔ̀lâr lìberìà"
- },
- "NAD": {
- "name": "Dɔ̀lâr nàmibìà"
- },
- "AUD": {
- "name": "Dɔ̀lâr òstralìà",
- "symbol": "A$"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "EUR": {
- "name": "Èrô",
- "symbol": "€"
- },
- "CVE": {
- "name": "Èskudò kabwe᷆r"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "BIF": {
- "name": "Frǎŋ bùrundì"
- },
- "XOF": {
- "name": "Frǎŋ CFA (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Frǎŋ CFA (BEAC)",
- "symbol": "FCFA"
- },
- "DJF": {
- "name": "Frǎŋ jìbutì"
- },
- "KMF": {
- "name": "Frǎŋ kòmorà"
- },
- "CDF": {
- "name": "Frǎŋ kòŋgo"
- },
- "MGA": {
- "name": "Frǎŋ màlàgasì"
- },
- "RWF": {
- "name": "Frǎŋ Rùandà"
- },
- "CHF": {
- "name": "Frǎŋ sùwîs"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwaca màlawì"
- },
- "ZMW": {
- "name": "Kwàca sàmbià"
- },
- "AOA": {
- "name": "Kwànza àŋgolà"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Lèonɛ̀"
- },
- "SZL": {
- "name": "Lìlàŋgeni swàzì"
- },
- "LSL": {
- "name": "Lotì lèsòtò"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "Nafkà èrìtrěà"
- },
- "NGN": {
- "name": "Nayrà nìgerìà"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Paùnd ègîptò"
- },
- "SHP": {
- "name": "Paùnd hèlenà"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pùla Bòtswanà"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Rân àfrǐkàsɔ̀"
- },
- "SAR": {
- "name": "Rìal sàudì"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rùpi īndìà",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupìɛ̀ mòrîs"
- },
- "SCR": {
- "name": "Rùpiɛ̀ sèsɛ̂l"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Silîŋ kenìà"
- },
- "SOS": {
- "name": "Silîŋ sòmàli"
- },
- "TZS": {
- "name": "Silîŋ tànzànià"
- },
- "UGX": {
- "name": "Silîŋ ùgàndà"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "GBP": {
- "name": "Stɛrlìŋ ŋgìsì",
- "symbol": "£"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ùgwiya mòrìtanìa"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yɛ̂n yàpân",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yùan kinà",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bez.json b/vendor/commerceguys/intl/resources/currency/bez.json
deleted file mode 100644
index 9f5f7bc21..000000000
--- a/vendor/commerceguys/intl/resources/currency/bez.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "XOF": {
- "name": "Lupila lwa CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Lupila lwa CFA BEAC",
- "symbol": "FCFA"
- },
- "JPY": {
- "name": "Lupila lwa Hijapani",
- "symbol": "JP¥"
- },
- "ZAR": {
- "name": "Lupila lwa Huafriaka ya Hukusini"
- },
- "DZD": {
- "name": "Lupila lwa Hualjelia"
- },
- "AOA": {
- "name": "Lupila lwa Huangola"
- },
- "AUD": {
- "name": "Lupila lwa Huaustlalia",
- "symbol": "A$"
- },
- "BHD": {
- "name": "Lupila lwa Hubahareni"
- },
- "BWP": {
- "name": "Lupila lwa Hubotswana"
- },
- "MGA": {
- "name": "Lupila lwa Hubukini"
- },
- "BIF": {
- "name": "Lupila lwa Huburundi"
- },
- "CNY": {
- "name": "Lupila lwa Huchina",
- "symbol": "CN¥"
- },
- "ERN": {
- "name": "Lupila lwa Hueritrea"
- },
- "AED": {
- "name": "Lupila lwa Hufalme dza Huhihalabu"
- },
- "GMD": {
- "name": "Lupila lwa Hugambia"
- },
- "INR": {
- "name": "Lupila lwa Huindia",
- "symbol": "₹"
- },
- "DJF": {
- "name": "Lupila lwa Hujibuti"
- },
- "CAD": {
- "name": "Lupila lwa Hukanada",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "Lupila lwa Hukepuvede"
- },
- "KMF": {
- "name": "Lupila lwa Hukomoro"
- },
- "CDF": {
- "name": "Lupila lwa Hukongo"
- },
- "LSL": {
- "name": "Lupila lwa Hulesoto"
- },
- "LRD": {
- "name": "Lupila lwa Hulibelia"
- },
- "LYD": {
- "name": "Lupila lwa Hulibya"
- },
- "MWK": {
- "name": "Lupila lwa Humalawi"
- },
- "USD": {
- "name": "Lupila lwa Humalekani",
- "symbol": "US$"
- },
- "EGP": {
- "name": "Lupila lwa Humisri"
- },
- "MUR": {
- "name": "Lupila lwa Humolisi"
- },
- "MRU": {
- "name": "Lupila lwa Humolitania"
- },
- "MAD": {
- "name": "Lupila lwa Humoloko"
- },
- "NAD": {
- "name": "Lupila lwa Hunamibia"
- },
- "NGN": {
- "name": "Lupila lwa Hunijelia"
- },
- "RWF": {
- "name": "Lupila lwa Hurwanda"
- },
- "SHP": {
- "name": "Lupila lwa Husantahelena"
- },
- "STN": {
- "name": "Lupila lwa Husaotome na Huprinisipe"
- },
- "SAR": {
- "name": "Lupila lwa Husaudi"
- },
- "SCR": {
- "name": "Lupila lwa Hushelisheli"
- },
- "SOS": {
- "name": "Lupila lwa Husomalia"
- },
- "SDG": {
- "name": "Lupila lwa Husudani"
- },
- "TND": {
- "name": "Lupila lwa Hutunisia"
- },
- "ETB": {
- "name": "Lupila lwa Huuhabeshi"
- },
- "GBP": {
- "name": "Lupila lwa Huuingereza",
- "symbol": "£"
- },
- "CHF": {
- "name": "Lupila lwa Huuswisi"
- },
- "ZMW": {
- "name": "Lupila lwa Huzambia"
- },
- "SZL": {
- "name": "Lupila lwa Lilangeni"
- },
- "SLL": {
- "name": "Lupila lwa Lioni"
- },
- "EUR": {
- "name": "Lupila lwa Yulo",
- "symbol": "€"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Hukenya"
- },
- "TZS": {
- "name": "Shilingi ya Hutanzania",
- "symbol": "TSh"
- },
- "UGX": {
- "name": "Shilingi ya Huuganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/bm.json b/vendor/commerceguys/intl/resources/currency/bm.json
deleted file mode 100644
index 342620fc3..000000000
--- a/vendor/commerceguys/intl/resources/currency/bm.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "DZD": {
- "name": "alizeri Dinar"
- },
- "USD": {
- "name": "ameriki Dolar",
- "symbol": "US$"
- },
- "GBP": {
- "name": "angilɛ Livri",
- "symbol": "£"
- },
- "AOA": {
- "name": "angola Kwanza"
- },
- "AED": {
- "name": "arabu mara kafoli Diram"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BHD": {
- "name": "bareyini Dinar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "bɔtisiwana Pula"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "BIF": {
- "name": "burundi Fraŋ"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "CVE": {
- "name": "capivɛrdi Esekudo"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "ERN": {
- "name": "eritere Nafika"
- },
- "EUR": {
- "name": "ero",
- "symbol": "€"
- },
- "ETB": {
- "name": "etiopi Bir"
- },
- "EGP": {
- "name": "eziputi Livri"
- },
- "SHP": {
- "name": "Ɛlɛni-Senu Livri"
- },
- "INR": {
- "name": "Ɛndu Rupi",
- "symbol": "₹"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "gambi Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "DJF": {
- "name": "jibuti Fraŋ"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CAD": {
- "name": "kanada Dolar",
- "symbol": "CA$"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "keniya Siling"
- },
- "KMF": {
- "name": "komɔri Fraŋ"
- },
- "CDF": {
- "name": "kongole Fraŋ"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "LSL": {
- "name": "lesoto Loti"
- },
- "LRD": {
- "name": "liberiya Dolar"
- },
- "LYD": {
- "name": "libi Dinar"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MGA": {
- "name": "madagasikari Fraŋ"
- },
- "MWK": {
- "name": "malawi Kwaca"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MAD": {
- "name": "marɔku Diram"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MUR": {
- "name": "morisi Rupi"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MRU": {
- "name": "mɔritani Uguwiya"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NAD": {
- "name": "namibi Dolar"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "NGN": {
- "name": "nizeriya Nɛra"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "AUD": {
- "name": "ositirali Dolar",
- "symbol": "A$"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "RWF": {
- "name": "ruwanda Fraŋ"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "sawotome Dobra"
- },
- "SAR": {
- "name": "sawudiya Riyal"
- },
- "XOF": {
- "name": "sefa Fraŋ (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "sefa Fraŋ (BEAC)",
- "symbol": "FCFA"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SCR": {
- "name": "sesɛli Rupi"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "CNY": {
- "name": "siniwa Yuwan",
- "symbol": "CN¥"
- },
- "SLL": {
- "name": "siyeralewɔni Lewɔni"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "somali Siling"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "ZAR": {
- "name": "sudafriki Randi"
- },
- "SDG": {
- "name": "sudani Dinar"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "CHF": {
- "name": "suwisi Fraŋ"
- },
- "SZL": {
- "name": "swazilandi Lilangeni"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "tanzani Siling"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "tunizi Dinar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "uganda Siling"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZMW": {
- "name": "zambi Kwaca"
- },
- "JPY": {
- "name": "zapɔne Yɛn",
- "symbol": "JP¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/br.json b/vendor/commerceguys/intl/resources/currency/br.json
deleted file mode 100644
index 7f99ce2a1..000000000
--- a/vendor/commerceguys/intl/resources/currency/br.json
+++ /dev/null
@@ -1,488 +0,0 @@
-{
- "AFN": {
- "name": "afghani Afghanistan"
- },
- "MGA": {
- "name": "ariary Madagaskar"
- },
- "THB": {
- "name": "baht Thailand"
- },
- "PAB": {
- "name": "balboa Panamá"
- },
- "ETB": {
- "name": "birr Etiopia"
- },
- "VES": {
- "name": "bolivar Venezuela"
- },
- "BOB": {
- "name": "boliviano Bolivia"
- },
- "GHS": {
- "name": "cedi Ghana"
- },
- "CRC": {
- "name": "colón Costa Rica"
- },
- "SVC": {
- "name": "colón Salvador"
- },
- "NIO": {
- "name": "cordoba Nicaragua"
- },
- "GMD": {
- "name": "dalasi Gambia"
- },
- "MKD": {
- "name": "denar Makedonia"
- },
- "DZD": {
- "name": "dinar Aljeria"
- },
- "BHD": {
- "name": "dinar Bahrein"
- },
- "IQD": {
- "name": "dinar Iraq"
- },
- "JOD": {
- "name": "dinar Jordania"
- },
- "KWD": {
- "name": "dinar Koweit"
- },
- "LYD": {
- "name": "dinar Libia"
- },
- "RSD": {
- "name": "dinar Serbia"
- },
- "TND": {
- "name": "dinar Tunizia"
- },
- "AED": {
- "name": "dirham EAU"
- },
- "MAD": {
- "name": "dirham Maroko"
- },
- "STN": {
- "name": "dobra São Tomé ha Príncipe"
- },
- "AUD": {
- "name": "dollar Aostralia",
- "symbol": "$A"
- },
- "BSD": {
- "name": "dollar Bahamas"
- },
- "BBD": {
- "name": "dollar Barbados"
- },
- "BZD": {
- "name": "dollar Belize"
- },
- "BMD": {
- "name": "dollar Bermuda"
- },
- "BND": {
- "name": "dollar Brunei"
- },
- "FJD": {
- "name": "dollar Fidji"
- },
- "GYD": {
- "name": "dollar Guyana"
- },
- "HKD": {
- "name": "dollar Hong Kong",
- "symbol": "$ HK"
- },
- "KYD": {
- "name": "dollar Inizi Cayman"
- },
- "SBD": {
- "name": "dollar Inizi Salomon"
- },
- "JMD": {
- "name": "dollar Jamaika"
- },
- "CAD": {
- "name": "dollar Kanada",
- "symbol": "$CA"
- },
- "XCD": {
- "name": "dollar Karib ar reter"
- },
- "LRD": {
- "name": "dollar Liberia"
- },
- "NAD": {
- "name": "dollar Namibia"
- },
- "TWD": {
- "name": "dollar nevez Taiwan"
- },
- "SGD": {
- "name": "dollar Singapour"
- },
- "USD": {
- "name": "dollar SU",
- "symbol": "$ SU"
- },
- "SRD": {
- "name": "dollar Surinam"
- },
- "TTD": {
- "name": "dollar Trinidad ha Tobago"
- },
- "NZD": {
- "name": "dollar Zeland-Nevez",
- "symbol": "$ ZN"
- },
- "ZWL": {
- "name": "dollar Zimbabwe (2009)"
- },
- "VND": {
- "name": "dong Viêt Nam"
- },
- "AMD": {
- "name": "dram Armenia"
- },
- "CVE": {
- "name": "escudo Kab Glas"
- },
- "EUR": {
- "name": "euro",
- "symbol": "€"
- },
- "ANG": {
- "name": "florin Antilhez nederlandat"
- },
- "AWG": {
- "name": "florin Aruba"
- },
- "HUF": {
- "name": "forint Hungaria"
- },
- "HTG": {
- "name": "gourde Haiti"
- },
- "PYG": {
- "name": "guarani Paraguay"
- },
- "UAH": {
- "name": "hryvnia Ukraina"
- },
- "PGK": {
- "name": "kina Papoua Ginea-Nevez"
- },
- "LAK": {
- "name": "kip Laos"
- },
- "HRK": {
- "name": "kuna Kroatia"
- },
- "DKK": {
- "name": "kurunenn Danmark"
- },
- "ISK": {
- "name": "kurunenn Island"
- },
- "NOK": {
- "name": "kurunenn Norvegia"
- },
- "SEK": {
- "name": "kurunenn Sveden"
- },
- "CZK": {
- "name": "kurunenn Tchek"
- },
- "MWK": {
- "name": "kwacha Malawi"
- },
- "ZMW": {
- "name": "kwacha Zambia"
- },
- "AOA": {
- "name": "kwanza Angola"
- },
- "MMK": {
- "name": "kyat Myanmar"
- },
- "GEL": {
- "name": "lari Jorjia"
- },
- "ALL": {
- "name": "lek Albania"
- },
- "HNL": {
- "name": "lempira Honduras"
- },
- "SLL": {
- "name": "leone Sierra Leone"
- },
- "MDL": {
- "name": "leu Moldova"
- },
- "RON": {
- "name": "leu Roumania"
- },
- "BGN": {
- "name": "lev Bulgaria"
- },
- "SZL": {
- "name": "lilangeni Swaziland"
- },
- "LSL": {
- "name": "loti Lesotho"
- },
- "GBP": {
- "name": "lur Breizh-Veur",
- "symbol": "£ RU"
- },
- "BIF": {
- "name": "lur Burundi"
- },
- "XOF": {
- "name": "lur CFA Afrika ar Cʼhornôg",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "lur CFA Kreizafrika",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "lur CFP",
- "symbol": "CFPF"
- },
- "DJF": {
- "name": "lur Djibouti"
- },
- "EGP": {
- "name": "lur Egipt"
- },
- "GNF": {
- "name": "lur Ginea"
- },
- "FKP": {
- "name": "lur Inizi Falkland"
- },
- "GIP": {
- "name": "lur Jibraltar"
- },
- "KMF": {
- "name": "lur Komorez"
- },
- "CDF": {
- "name": "lur Kongo"
- },
- "LBP": {
- "name": "lur Liban"
- },
- "RWF": {
- "name": "lur Rwanda"
- },
- "SHP": {
- "name": "lur Saint-Helena"
- },
- "SYP": {
- "name": "lur Siria"
- },
- "SDG": {
- "name": "lur Soudan"
- },
- "CHF": {
- "name": "lur Suis"
- },
- "SSP": {
- "name": "lur Susoudan"
- },
- "TRY": {
- "name": "lur Turkia"
- },
- "AZN": {
- "name": "manat Azerbaidjan"
- },
- "TMT": {
- "name": "manat Turkmenistan"
- },
- "BAM": {
- "name": "mark kemmadus Bosnia ha Herzegovina"
- },
- "MZN": {
- "name": "metical Mozambik"
- },
- "NGN": {
- "name": "naira Nigeria"
- },
- "ERN": {
- "name": "nakfa Eritrea"
- },
- "BTN": {
- "name": "ngultrum Bhoutan"
- },
- "MRU": {
- "name": "ouguiya Maouritania"
- },
- "TOP": {
- "name": "paʻanga Tonga"
- },
- "MOP": {
- "name": "pataca Macau"
- },
- "ARS": {
- "name": "peso Arcʼhantina"
- },
- "CLP": {
- "name": "peso Chile"
- },
- "DOP": {
- "name": "peso Dominikan"
- },
- "PHP": {
- "name": "peso Filipinez"
- },
- "CUC": {
- "name": "peso kemmadus Kuba"
- },
- "COP": {
- "name": "peso Kolombia"
- },
- "CUP": {
- "name": "peso Kuba"
- },
- "MXN": {
- "name": "peso Mecʼhiko",
- "symbol": "MX$"
- },
- "UYU": {
- "name": "peso Uruguay"
- },
- "BWP": {
- "name": "pula Botswana"
- },
- "GTQ": {
- "name": "quetzal Guatemala"
- },
- "ZAR": {
- "name": "rand Suafrika"
- },
- "BRL": {
- "name": "real Brazil"
- },
- "IRR": {
- "name": "rial Iran"
- },
- "OMR": {
- "name": "rial Oman"
- },
- "QAR": {
- "name": "rial Qatar"
- },
- "YER": {
- "name": "rial Yemen"
- },
- "KHR": {
- "name": "riel Kambodja"
- },
- "MYR": {
- "name": "ringgit Malaysia"
- },
- "SAR": {
- "name": "riyal Arabia Saoudat"
- },
- "BYN": {
- "name": "roubl Belarus"
- },
- "RUB": {
- "name": "roubl Rusia"
- },
- "INR": {
- "name": "roupi India",
- "symbol": "₹"
- },
- "IDR": {
- "name": "roupi Indonezia"
- },
- "MUR": {
- "name": "roupi Moris"
- },
- "NPR": {
- "name": "roupi Nepal"
- },
- "PKR": {
- "name": "roupi Pakistan"
- },
- "SCR": {
- "name": "roupi Sechelez"
- },
- "LKR": {
- "name": "roupi Sri Lanka"
- },
- "MVR": {
- "name": "rufiyaa Maldivez"
- },
- "ILS": {
- "name": "shekel nevez Israel"
- },
- "KES": {
- "name": "shilling Kenya"
- },
- "UGX": {
- "name": "shilling Ouganda"
- },
- "SOS": {
- "name": "shilling Somalia"
- },
- "TZS": {
- "name": "shilling Tanzania"
- },
- "PEN": {
- "name": "sol Perou"
- },
- "KGS": {
- "name": "som Kyrgyzstan"
- },
- "UZS": {
- "name": "som Ouzbekistan"
- },
- "TJS": {
- "name": "somoni Tadjikistan"
- },
- "BDT": {
- "name": "taka Bangladesh"
- },
- "WST": {
- "name": "tala Samoa"
- },
- "KZT": {
- "name": "tenge Kazakstan"
- },
- "MNT": {
- "name": "tugrik Mongolia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "VUV": {
- "name": "vatu Vanuatu"
- },
- "KPW": {
- "name": "won Korea an Norzh"
- },
- "KRW": {
- "name": "won Korea ar Su"
- },
- "JPY": {
- "name": "yen Japan"
- },
- "CNY": {
- "name": "yuan Sina"
- },
- "PLN": {
- "name": "zloty Polonia"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ccp.json b/vendor/commerceguys/intl/resources/currency/ccp.json
deleted file mode 100644
index b2854b83f..000000000
--- a/vendor/commerceguys/intl/resources/currency/ccp.json
+++ /dev/null
@@ -1,498 +0,0 @@
-{
- "MRU": {
- "name": "Mauritanian Ouguiya"
- },
- "STN": {
- "name": "São Tomé & Príncipe Dobra"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "UAH": {
- "name": "ই𑄃𑄨𑄃𑄪𑄇𑄳𑄢𑄭𑄚𑄴 𑄢𑄨𑄛𑄴𑄚𑄨𑄠"
- },
- "AZN": {
- "name": "𑄃𑄎𑄢𑄴𑄝𑄭𑄎𑄚𑄴 𑄟𑄚𑄖𑄴"
- },
- "AFN": {
- "name": "𑄃𑄜𑄴𑄉𑄚𑄴 𑄃𑄜𑄴𑄉𑄚𑄨"
- },
- "AWG": {
- "name": "𑄃𑄢𑄪𑄝 𑄉𑄨𑄣𑄴𑄓𑄢𑄴"
- },
- "ARS": {
- "name": "𑄃𑄢𑄴𑄎𑄬𑄚𑄴𑄑𑄨𑄚 𑄛𑄬𑄥𑄮"
- },
- "DZD": {
- "name": "𑄃𑄢𑄴𑄎𑄬𑄢𑄩𑄠𑄧 𑄘𑄨𑄚𑄢𑄴"
- },
- "AMD": {
- "name": "𑄃𑄢𑄴𑄟𑄬𑄚𑄨𑄠𑄚𑄴 𑄘𑄳𑄢𑄟𑄴"
- },
- "ALL": {
- "name": "𑄃𑄣𑄴𑄝𑄬𑄚𑄨𑄠𑄚𑄴 𑄣𑄬𑄇𑄴"
- },
- "AUD": {
- "name": "𑄃𑄧𑄌𑄴𑄑𑄳𑄢𑄬𑄣𑄨𑄠𑄚𑄴 𑄓𑄧𑄣𑄢𑄴",
- "symbol": "A$"
- },
- "EUR": {
- "name": "𑄃𑄨𑄅𑄪𑄢𑄮",
- "symbol": "€"
- },
- "ETB": {
- "name": "𑄃𑄨𑄗𑄨𑄃𑄮𑄛𑄨𑄠𑄚𑄴 𑄝𑄨𑄢𑄴"
- },
- "INR": {
- "name": "𑄃𑄨𑄚𑄴𑄘𑄨𑄠𑄚𑄴 𑄢𑄪𑄛𑄨",
- "symbol": "₹"
- },
- "IDR": {
- "name": "𑄃𑄨𑄚𑄴𑄘𑄮𑄚𑄬𑄥𑄨𑄠𑄚𑄴 𑄢𑄪𑄛𑄨𑄠𑄳𑄦𑄴"
- },
- "YER": {
- "name": "𑄃𑄨𑄠𑄬𑄟𑄬𑄚𑄨 𑄢𑄨𑄠𑄣𑄴"
- },
- "IQD": {
- "name": "𑄃𑄨𑄢𑄇𑄨 𑄘𑄨𑄚𑄢𑄴"
- },
- "IRR": {
- "name": "𑄃𑄨𑄢𑄚𑄨𑄠𑄚𑄴 𑄢𑄨𑄠𑄣𑄴"
- },
- "ILS": {
- "name": "𑄃𑄨𑄥𑄳𑄢𑄭𑄣𑄨 𑄚𑄱 𑄥𑄬𑄇𑄬𑄣𑄴",
- "symbol": "₪"
- },
- "UGX": {
- "name": "𑄃𑄪𑄉𑄚𑄴𑄓𑄚𑄴 𑄥𑄨𑄣𑄨𑄁"
- },
- "UZS": {
- "name": "𑄃𑄪𑄌𑄴𑄝𑄬𑄇𑄨𑄌𑄴𑄖𑄚𑄨 𑄥𑄮𑄟𑄴"
- },
- "KPW": {
- "name": "𑄃𑄪𑄖𑄴𑄖𑄮𑄢𑄴 𑄇𑄮𑄢𑄨𑄠𑄢𑄴 𑄃𑄮𑄚𑄴"
- },
- "UYU": {
- "name": "𑄃𑄪𑄢𑄪𑄉𑄪𑄠𑄬 𑄛𑄬𑄥𑄮"
- },
- "ERN": {
- "name": "𑄃𑄬𑄢𑄨𑄑𑄳𑄢𑄨𑄠𑄬𑄚𑄴 𑄚𑄇𑄴𑄜"
- },
- "SVC": {
- "name": "𑄃𑄬𑄣𑄴 𑄥𑄳𑄠𑄣𑄴𑄞𑄮𑄓𑄮𑄢𑄴 𑄇𑄮𑄣𑄮𑄚𑄴"
- },
- "ISK": {
- "name": "𑄃𑄭𑄥𑄴𑄣𑄳𑄠𑄚𑄳𑄓𑄴 𑄇𑄳𑄢𑄯𑄚𑄴"
- },
- "OMR": {
- "name": "𑄃𑄮𑄟𑄚𑄨 𑄢𑄨𑄠𑄣𑄴"
- },
- "AOA": {
- "name": "𑄃𑄳𑄠𑄋𑄴𑄉𑄮𑄣𑄚𑄴 𑄇𑄧𑄤𑄮𑄚𑄴𑄎"
- },
- "KZT": {
- "name": "𑄇𑄎𑄈𑄥𑄴𑄖𑄚𑄨 𑄑𑄬𑄋𑄴𑄉𑄬"
- },
- "QAR": {
- "name": "𑄇𑄖𑄢𑄴 𑄢𑄨𑄠𑄳𑄠𑄣𑄴"
- },
- "CAD": {
- "name": "𑄇𑄚𑄓𑄨𑄠𑄚𑄴 𑄓𑄧𑄣𑄢𑄴",
- "symbol": "CA$"
- },
- "CDF": {
- "name": "𑄇𑄧𑄋𑄴𑄉𑄮𑄣𑄨𑄌𑄴 𑄜𑄳𑄢𑄁𑄇𑄴"
- },
- "KHR": {
- "name": "𑄇𑄧𑄟𑄴𑄝𑄮𑄓𑄨𑄠𑄚𑄴 𑄢𑄨𑄠𑄬𑄣𑄴"
- },
- "KMF": {
- "name": "𑄇𑄧𑄟𑄴𑄝𑄮𑄢𑄮 𑄜𑄳𑄢𑄋𑄳𑄇𑄴"
- },
- "COP": {
- "name": "𑄇𑄧𑄣𑄮𑄟𑄴𑄝𑄨𑄠𑄚𑄴 𑄛𑄬𑄥𑄮"
- },
- "CUP": {
- "name": "𑄇𑄨𑄅𑄪𑄝𑄚𑄴 𑄛𑄬𑄥𑄮"
- },
- "CUC": {
- "name": "𑄇𑄨𑄅𑄪𑄝𑄚𑄴 𑄝𑄮𑄘𑄮𑄣𑄨𑄛𑄢𑄬 𑄛𑄬𑄥𑄮"
- },
- "KGS": {
- "name": "𑄇𑄨𑄢𑄴𑄉𑄨𑄎𑄴𑄃𑄨𑄥𑄴𑄖𑄚𑄴 𑄥𑄮𑄟𑄴"
- },
- "KWD": {
- "name": "𑄇𑄪𑄠𑄬𑄖𑄨 𑄘𑄨𑄚𑄢𑄴"
- },
- "KES": {
- "name": "𑄇𑄬𑄚𑄨𑄠𑄚𑄴 𑄥𑄨𑄣𑄨𑄁"
- },
- "CVE": {
- "name": "𑄇𑄬𑄛𑄴 𑄞𑄢𑄴𑄘𑄬 𑄃𑄬𑄥𑄴𑄇𑄪𑄓𑄮"
- },
- "KYD": {
- "name": "𑄇𑄬𑄟𑄳𑄠𑄚𑄴 𑄉𑄭 𑄉𑄭 𑄞𑄨𑄘𑄬𑄢𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "CRC": {
- "name": "𑄇𑄮𑄥𑄴𑄑𑄢𑄨𑄇 𑄇𑄮𑄣𑄮𑄚𑄴"
- },
- "HRK": {
- "name": "𑄇𑄳𑄢𑄮𑄠𑄬𑄥𑄨𑄠𑄚𑄴 𑄇𑄪𑄚"
- },
- "GMD": {
- "name": "𑄉𑄟𑄴𑄝𑄨𑄠 𑄓𑄣𑄥𑄨"
- },
- "GNF": {
- "name": "𑄉𑄨𑄚𑄨 𑄜𑄳𑄢𑄋𑄳𑄇𑄴"
- },
- "GTQ": {
- "name": "𑄉𑄪𑄠𑄖𑄬𑄟𑄣𑄧 𑄇𑄪𑄠𑄬𑄖𑄴𑄎𑄣𑄴"
- },
- "GYD": {
- "name": "𑄉𑄭𑄠𑄬𑄚 𑄓𑄧𑄣𑄢𑄴"
- },
- "GHS": {
- "name": "𑄊𑄚 𑄥𑄬𑄓𑄨"
- },
- "CLP": {
- "name": "𑄌𑄨𑄣𑄨 𑄛𑄬𑄥𑄮"
- },
- "CNY": {
- "name": "𑄌𑄩𑄚 𑄠𑄪𑄠𑄚𑄴",
- "symbol": "CN¥"
- },
- "CZK": {
- "name": "𑄌𑄬𑄇𑄴 𑄛𑄳𑄢𑄧𑄎𑄖𑄧𑄚𑄴𑄖𑄳𑄢𑄧 𑄇𑄮𑄢𑄪𑄚"
- },
- "JPY": {
- "name": "𑄎𑄛𑄚𑄨 𑄃𑄨𑄠𑄬𑄚𑄴",
- "symbol": "JP¥"
- },
- "JMD": {
- "name": "𑄎𑄟𑄭𑄇𑄚𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "ZMW": {
- "name": "𑄎𑄟𑄴𑄝𑄨𑄠𑄚𑄴 𑄇𑄧𑄤𑄌"
- },
- "AED": {
- "name": "𑄎𑄧𑄙 𑄃𑄢𑄧𑄝𑄴 𑄃𑄟𑄨𑄢𑄖𑄴 𑄘𑄨𑄢𑄴𑄦𑄟𑄴"
- },
- "GEL": {
- "name": "𑄎𑄧𑄢𑄴𑄎𑄨𑄠𑄚𑄴 𑄣𑄢𑄨"
- },
- "JOD": {
- "name": "𑄎𑄧𑄢𑄴𑄓𑄚𑄨𑄠𑄚𑄴 𑄘𑄨𑄚𑄢𑄴"
- },
- "DJF": {
- "name": "𑄎𑄨𑄝𑄪𑄖𑄨 𑄜𑄳𑄢𑄁𑄇𑄴"
- },
- "GIP": {
- "name": "𑄎𑄨𑄝𑄳𑄢𑄣𑄴𑄑𑄢𑄴 𑄛𑄅𑄪𑄚𑄳𑄓𑄴"
- },
- "ZWL": {
- "name": "𑄎𑄨𑄟𑄴𑄝𑄝𑄪𑄠𑄬 𑄓𑄧𑄣𑄢𑄴 (𑄸𑄶𑄶𑄿)"
- },
- "TOP": {
- "name": "𑄑𑄮𑄋𑄴𑄉 𑄛𑄳𑄃 𑄃𑄋𑄴𑄉"
- },
- "DOP": {
- "name": "𑄓𑄮𑄟𑄨𑄚𑄨𑄇𑄚𑄴 𑄛𑄬𑄥𑄮"
- },
- "DKK": {
- "name": "𑄓𑄳𑄠𑄚𑄨𑄌𑄴 𑄇𑄳𑄢𑄯𑄚𑄴"
- },
- "TJS": {
- "name": "𑄖𑄎𑄨𑄇𑄨𑄌𑄴𑄖𑄚𑄴 𑄥𑄮𑄟𑄮𑄚𑄨"
- },
- "TZS": {
- "name": "𑄖𑄚𑄴𑄎𑄚𑄨𑄠 𑄥𑄨𑄣𑄨𑄁"
- },
- "TND": {
- "name": "𑄖𑄨𑄃𑄪𑄚𑄬𑄥𑄨𑄠𑄚𑄴 𑄘𑄨𑄚𑄢𑄴"
- },
- "TMT": {
- "name": "𑄖𑄪𑄢𑄴𑄇𑄧𑄟𑄬𑄚𑄨𑄌𑄴𑄖𑄚𑄨 𑄟𑄚𑄖𑄴"
- },
- "TRY": {
- "name": "𑄖𑄪𑄢𑄴𑄇𑄨 𑄣𑄨𑄢"
- },
- "TTD": {
- "name": "𑄖𑄳𑄢𑄨𑄚𑄨𑄘𑄖𑄴 𑄃𑄳𑄃 𑄑𑄮𑄝𑄉𑄮 𑄓𑄧𑄣𑄢𑄴"
- },
- "THB": {
- "name": "𑄗𑄭 𑄝𑄖𑄴",
- "symbol": "฿"
- },
- "ZAR": {
- "name": "𑄘𑄧𑄉𑄨𑄚𑄴 𑄃𑄜𑄳𑄢𑄨𑄇𑄚𑄴 𑄢𑄳𑄠𑄚𑄳𑄓𑄴"
- },
- "KRW": {
- "name": "𑄘𑄧𑄉𑄨𑄚𑄴 𑄇𑄮𑄢𑄨𑄠𑄢𑄴 𑄃𑄮𑄚𑄴",
- "symbol": "₩"
- },
- "SSP": {
- "name": "𑄘𑄧𑄉𑄨𑄚𑄴 𑄥𑄪𑄘𑄚𑄨 𑄛𑄃𑄪𑄚𑄳𑄓𑄴"
- },
- "NAD": {
- "name": "𑄚𑄟𑄨𑄝𑄨𑄠 𑄓𑄧𑄣𑄢𑄴"
- },
- "NOK": {
- "name": "𑄚𑄧𑄢𑄴𑄃𑄮𑄠𑄬 𑄇𑄳𑄢𑄯𑄚𑄴"
- },
- "NZD": {
- "name": "𑄚𑄨𑄃𑄪𑄎𑄨𑄣𑄳𑄠𑄚𑄳𑄓𑄴 𑄓𑄧𑄣𑄢𑄴",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "𑄚𑄨𑄇𑄢𑄉𑄪𑄠𑄚 𑄇𑄧𑄢𑄴𑄓𑄮𑄝"
- },
- "ANG": {
- "name": "𑄚𑄬𑄘𑄢𑄴𑄣𑄳𑄠𑄚𑄴𑄓𑄴 𑄃𑄳𑄠𑄚𑄴𑄑𑄨𑄣𑄨𑄠𑄚𑄴 𑄉𑄪𑄣𑄴𑄓𑄬𑄢𑄴"
- },
- "NPR": {
- "name": "𑄚𑄬𑄛𑄣𑄨 𑄢𑄪𑄛𑄨"
- },
- "NGN": {
- "name": "𑄚𑄭𑄎𑄬𑄢𑄨𑄠𑄚𑄴 𑄚𑄠𑄴𑄢"
- },
- "TWD": {
- "name": "𑄚𑄱 𑄦𑄭𑄤𑄚𑄴𑄓𑄧𑄣𑄢𑄴",
- "symbol": "NT$"
- },
- "PKR": {
- "name": "𑄛𑄇𑄨𑄥𑄴𑄖𑄚𑄨 𑄢𑄪𑄛𑄨"
- },
- "PAB": {
- "name": "𑄛𑄚𑄟 𑄝𑄬𑄣𑄴𑄝𑄮𑄠"
- },
- "PGK": {
- "name": "𑄛𑄛𑄱 𑄚𑄨𑄃𑄪 𑄉𑄨𑄚𑄨 𑄉𑄨𑄚𑄨𑄠𑄚𑄴 𑄇𑄨𑄚"
- },
- "XOF": {
- "name": "𑄛𑄧𑄎𑄨𑄟𑄴 𑄃𑄜𑄳𑄢𑄨𑄇𑄚𑄴 [CFA] 𑄜𑄳𑄢𑄳𑄠𑄋𑄳𑄇𑄴",
- "symbol": "CFA"
- },
- "XCD": {
- "name": "𑄛𑄪𑄉𑄬𑄘𑄨 𑄇𑄳𑄠𑄢𑄝𑄨𑄠𑄚𑄴 𑄓𑄧𑄣𑄢𑄴",
- "symbol": "EC$"
- },
- "PEN": {
- "name": "𑄛𑄬𑄢𑄪𑄞𑄨𑄠𑄚𑄴 𑄥𑄮𑄣𑄴"
- },
- "PLN": {
- "name": "𑄛𑄮𑄣𑄨𑄌𑄴 𑄎𑄧𑄣𑄮𑄑𑄨"
- },
- "PYG": {
- "name": "𑄛𑄳𑄠𑄢𑄉𑄪𑄠𑄚𑄴 𑄉𑄪𑄠𑄢𑄚𑄨"
- },
- "FKP": {
- "name": "𑄜𑄧𑄇𑄴𑄣𑄳𑄠𑄚𑄴𑄓𑄴 𑄉𑄭 𑄉𑄭 𑄞𑄨𑄘𑄬 𑄛𑄃𑄪𑄚𑄴𑄓𑄴"
- },
- "FJD": {
- "name": "𑄜𑄨𑄎𑄨 𑄓𑄧𑄣𑄢𑄴"
- },
- "PHP": {
- "name": "𑄜𑄨𑄣𑄨𑄛𑄭𑄚𑄴 𑄛𑄬𑄥𑄮"
- },
- "BBD": {
- "name": "𑄝𑄢𑄴𑄝𑄬𑄓𑄮𑄎𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "BMD": {
- "name": "𑄝𑄢𑄴𑄟𑄨𑄅𑄪𑄓𑄚𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "BDT": {
- "name": "𑄝𑄁𑄣𑄘𑄬𑄥𑄨 𑄑𑄬𑄋",
- "symbol": "৳"
- },
- "BSD": {
- "name": "𑄝𑄦𑄟𑄨𑄠𑄚𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "BHD": {
- "name": "𑄝𑄦𑄧𑄢𑄭𑄚𑄨 𑄘𑄨𑄚𑄢𑄴"
- },
- "BWP": {
- "name": "𑄝𑄧𑄖𑄴𑄥𑄮𑄠𑄚 𑄛𑄪𑄣"
- },
- "BOB": {
- "name": "𑄝𑄧𑄣𑄨𑄞𑄨𑄠𑄚𑄮"
- },
- "BAM": {
- "name": "𑄝𑄧𑄥𑄴𑄚𑄨𑄠 𑄃𑄳𑄃 𑄦𑄢𑄴𑄎𑄬𑄉𑄮𑄞𑄨𑄚 𑄟𑄢𑄴𑄇𑄴"
- },
- "BIF": {
- "name": "𑄝𑄪𑄢𑄪𑄚𑄴𑄓𑄨 𑄜𑄳𑄢𑄋𑄴𑄇𑄴"
- },
- "BGN": {
- "name": "𑄝𑄪𑄣𑄴𑄉𑄬𑄢𑄩𑄠𑄧 𑄚𑄱 𑄣𑄬𑄞𑄴"
- },
- "BYN": {
- "name": "𑄝𑄬𑄣𑄢𑄪𑄥𑄨𑄠𑄚𑄴 𑄢𑄪𑄝𑄬𑄣𑄴"
- },
- "BZD": {
- "name": "𑄝𑄬𑄣𑄨𑄎𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "BRL": {
- "name": "𑄝𑄳𑄢𑄎𑄨𑄣𑄨𑄠𑄚𑄴 𑄢𑄨𑄠𑄬𑄣𑄴",
- "symbol": "R$"
- },
- "GBP": {
- "name": "𑄝𑄳𑄢𑄨𑄑𑄨𑄌𑄴 𑄛𑄃𑄪𑄚𑄴",
- "symbol": "£"
- },
- "BND": {
- "name": "𑄝𑄳𑄢𑄪𑄚𑄬𑄭 𑄓𑄧𑄣𑄢𑄴"
- },
- "VUV": {
- "name": "𑄞𑄚𑄪𑄠𑄖𑄪 𑄞𑄖𑄪"
- },
- "VND": {
- "name": "𑄞𑄨𑄠𑄬𑄖𑄴𑄚𑄟𑄨 𑄓𑄧𑄋𑄴𑄉𑄧",
- "symbol": "₫"
- },
- "BTN": {
- "name": "𑄞𑄪𑄑𑄚𑄨 𑄃𑄬𑄚𑄴𑄉𑄪𑄣𑄴𑄑𑄳𑄢𑄟𑄴𑄛𑄴"
- },
- "MGA": {
- "name": "𑄟𑄘𑄉𑄌𑄴𑄇𑄢𑄴 𑄃𑄢𑄨𑄠𑄢𑄨"
- },
- "MMK": {
- "name": "𑄟𑄠𑄚𑄴𑄟𑄢𑄴 𑄇𑄨𑄠𑄖𑄴"
- },
- "USD": {
- "name": "𑄟𑄢𑄴𑄇𑄨𑄚𑄴 𑄓𑄧𑄣𑄢𑄴",
- "symbol": "US$"
- },
- "MWK": {
- "name": "𑄟𑄣𑄃𑄪𑄃𑄨𑄠𑄚𑄴 𑄇𑄧𑄤𑄌𑄴"
- },
- "MVR": {
- "name": "𑄟𑄣𑄴𑄘𑄨𑄞𑄨𑄠𑄚𑄴 𑄢𑄪𑄜𑄨𑄠"
- },
- "MYR": {
- "name": "𑄟𑄣𑄴𑄠𑄬𑄥𑄨𑄠𑄚𑄴 𑄢𑄨𑄁𑄉𑄨𑄖𑄴"
- },
- "MNT": {
- "name": "𑄟𑄧𑄋𑄴𑄉𑄮𑄣𑄨𑄠𑄚𑄴 𑄖𑄪𑄇𑄴𑄢𑄨𑄇𑄴"
- },
- "XAF": {
- "name": "𑄟𑄧𑄖𑄴𑄙𑄳𑄠 𑄃𑄜𑄳𑄢𑄨𑄇𑄚𑄴[CFA] 𑄜𑄳𑄢𑄳𑄠𑄋𑄳𑄇𑄴",
- "symbol": "FCFA"
- },
- "EGP": {
- "name": "𑄟𑄨𑄥𑄧𑄢𑄩𑄠𑄴 𑄛𑄅𑄪𑄚𑄴𑄓𑄴"
- },
- "MZN": {
- "name": "𑄟𑄮𑄎𑄟𑄴𑄝𑄨𑄇𑄴 𑄟𑄬𑄑𑄨𑄇𑄬𑄣𑄴"
- },
- "MAD": {
- "name": "𑄟𑄮𑄢𑄮𑄇𑄳𑄦𑄚𑄴 𑄘𑄨𑄢𑄴𑄦𑄟𑄴"
- },
- "MDL": {
- "name": "𑄟𑄮𑄣𑄴𑄓𑄮𑄞𑄚𑄴 𑄣𑄬𑄠𑄪"
- },
- "MUR": {
- "name": "𑄟𑄯𑄢𑄨𑄖𑄚𑄨𑄠𑄚𑄴 𑄢𑄪𑄛𑄨"
- },
- "MOP": {
- "name": "𑄟𑄳𑄠𑄇𑄳𑄠𑄃𑄮 𑄛𑄑𑄇"
- },
- "MXN": {
- "name": "𑄟𑄳𑄠𑄇𑄴𑄥𑄨𑄇𑄚𑄴 𑄛𑄬𑄥𑄮",
- "symbol": "MX$"
- },
- "MKD": {
- "name": "𑄟𑄳𑄠𑄥𑄬𑄓𑄮𑄚𑄨𑄠𑄚𑄴 𑄘𑄨𑄚𑄢𑄴"
- },
- "RUB": {
- "name": "𑄢𑄥𑄨𑄠𑄚𑄴 𑄢𑄪𑄝𑄬𑄣𑄴"
- },
- "RON": {
- "name": "𑄢𑄪𑄟𑄚𑄨𑄠 𑄣𑄬𑄠𑄪"
- },
- "RWF": {
- "name": "𑄢𑄪𑄠𑄚𑄴𑄓𑄚𑄴 𑄜𑄳𑄢𑄋𑄳𑄇𑄴"
- },
- "LYD": {
- "name": "𑄣𑄨𑄝𑄨𑄠𑄚𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "LRD": {
- "name": "𑄣𑄨𑄝𑄬𑄢𑄨𑄠𑄚𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "LAK": {
- "name": "𑄣𑄬𑄅𑄪𑄥𑄚𑄴 𑄇𑄨𑄛𑄴"
- },
- "LBP": {
- "name": "𑄣𑄬𑄝𑄚𑄨𑄎𑄴 𑄛𑄅𑄪𑄚𑄳𑄓𑄴"
- },
- "LSL": {
- "name": "𑄣𑄬𑄥𑄪𑄑𑄪 𑄣𑄮𑄑𑄨"
- },
- "WST": {
- "name": "𑄥𑄟𑄮𑄠𑄚𑄴 𑄑𑄣"
- },
- "RSD": {
- "name": "𑄥𑄢𑄴𑄝𑄨𑄠𑄚𑄴 𑄘𑄨𑄚𑄢𑄴"
- },
- "SBD": {
- "name": "𑄥𑄧𑄣𑄮𑄟𑄧𑄚𑄴 𑄉𑄭 𑄉𑄭 𑄞𑄨𑄘𑄬𑄢𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "XPF": {
- "name": "𑄥𑄨𑄃𑄬𑄛𑄴𑄛𑄨 𑄜𑄳𑄢𑄳𑄠𑄋𑄳𑄇𑄴",
- "symbol": "CFPF"
- },
- "SGD": {
- "name": "𑄥𑄨𑄁𑄉𑄛𑄪𑄢𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "SLL": {
- "name": "𑄥𑄨𑄠𑄬𑄢𑄣𑄨𑄠𑄧𑄚𑄴 𑄣𑄨𑄠𑄧𑄚𑄴"
- },
- "SYP": {
- "name": "𑄥𑄨𑄢𑄨𑄠𑄚𑄴 𑄛𑄃𑄪𑄚𑄳𑄓𑄴"
- },
- "SDG": {
- "name": "𑄥𑄪𑄘𑄚𑄨 𑄛𑄃𑄪𑄚𑄳𑄓𑄴"
- },
- "SRD": {
- "name": "𑄥𑄪𑄢𑄨𑄚𑄟𑄴 𑄓𑄧𑄣𑄢𑄴"
- },
- "SHP": {
- "name": "𑄥𑄬𑄚𑄳𑄑𑄴 𑄦𑄬𑄣𑄬𑄚 𑄛𑄃𑄪𑄚𑄳𑄓𑄴"
- },
- "SCR": {
- "name": "𑄥𑄬𑄠𑄧𑄥𑄬𑄣𑄴𑄣𑄮𑄃𑄨𑄌𑄴 𑄢𑄪𑄛𑄨"
- },
- "SEK": {
- "name": "𑄥𑄭𑄪𑄓𑄨𑄥𑄴 𑄇𑄳𑄢𑄮𑄚"
- },
- "CHF": {
- "name": "𑄥𑄭𑄪𑄥𑄴 𑄜𑄳𑄢𑄀"
- },
- "SOS": {
- "name": "𑄥𑄮𑄟𑄣𑄨 𑄥𑄨𑄣𑄨𑄁"
- },
- "SZL": {
- "name": "𑄥𑄮𑄠𑄎𑄨𑄣𑄳𑄠𑄚𑄳𑄓𑄴 𑄣𑄨𑄣𑄋𑄴𑄉𑄬𑄚𑄨"
- },
- "SAR": {
- "name": "𑄥𑄯𑄘𑄨 𑄢𑄨𑄠𑄣𑄴"
- },
- "LKR": {
- "name": "𑄥𑄳𑄢𑄨𑄣𑄧𑄁𑄇𑄚𑄴 𑄢𑄪𑄛𑄨"
- },
- "HUF": {
- "name": "𑄦𑄋𑄴𑄉𑄬𑄢𑄨𑄠𑄚𑄴 𑄜𑄮𑄢𑄨𑄚𑄳𑄑𑄴"
- },
- "HKD": {
- "name": "𑄦𑄧𑄁𑄇𑄧𑄁 𑄓𑄧𑄣𑄢𑄴",
- "symbol": "HK$"
- },
- "HNL": {
- "name": "𑄦𑄪𑄚𑄴𑄓𑄪𑄢𑄥𑄴 𑄣𑄬𑄟𑄴𑄛𑄨𑄢"
- },
- "HTG": {
- "name": "𑄦𑄭𑄖𑄨 𑄉𑄯𑄢𑄴𑄘𑄬"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ceb.json b/vendor/commerceguys/intl/resources/currency/ceb.json
deleted file mode 100644
index 55b050b55..000000000
--- a/vendor/commerceguys/intl/resources/currency/ceb.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "DZD": {
- "name": "Algerian Dinar"
- },
- "AOA": {
- "name": "Angolan Kwanza"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AUD": {
- "name": "Australian Dollar",
- "symbol": "A$"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BHD": {
- "name": "Bahraini Dinar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "Botswanan Pula"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "BIF": {
- "name": "Burundian Franc"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "CAD": {
- "name": "Canadian Dollar",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "Cape Verdean Escudo"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XAF": {
- "name": "Central African CFA Franc",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "KMF": {
- "name": "Comorian Franc"
- },
- "CDF": {
- "name": "Congolese Franc"
- },
- "CRC": {
- "name": "Costa Rican Colon"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DJF": {
- "name": "Djiboutian Franc"
- },
- "USD": {
- "name": "Dolyar sa US",
- "symbol": "US $"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "EGP": {
- "name": "Egyptian Pound"
- },
- "ERN": {
- "name": "Eritrean Nakfa"
- },
- "ETB": {
- "name": "Ethiopian Birr"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "Gambian Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "JPY": {
- "name": "Hapon nga Yen",
- "symbol": "JP¥"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Krona"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "GBP": {
- "name": "Inglatera nga Libra",
- "symbol": "£"
- },
- "CNY": {
- "name": "Intsik nga Yuan",
- "symbol": "CN¥"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Kenyan Shilling"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "LRD": {
- "name": "Liberian Dollar"
- },
- "LYD": {
- "name": "Libyan Dinar"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MGA": {
- "name": "Malagasy Ariary"
- },
- "MWK": {
- "name": "Malawian Kwacha"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MRU": {
- "name": "Mauritanian Ouguiya"
- },
- "MUR": {
- "name": "Mauritian Rupee"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MAD": {
- "name": "Moroccan Dirham"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NAD": {
- "name": "Namibian Dollar"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Cordoba"
- },
- "NGN": {
- "name": "Nigerian Naira"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso",
- "symbol": "₱"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupee sa India",
- "symbol": "₹"
- },
- "RUB": {
- "name": "Rusong ruble"
- },
- "RWF": {
- "name": "Rwandan Franc"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "Sao Tome & Principe Dobra"
- },
- "SAR": {
- "name": "Saudi Riyal"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SCR": {
- "name": "Seychellois Rupee"
- },
- "SLL": {
- "name": "Sierra Leonean Leone"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somali Shilling"
- },
- "ZAR": {
- "name": "South African Rand"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SHP": {
- "name": "St. Helena Pound"
- },
- "SDG": {
- "name": "Sudanese Pound"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SZL": {
- "name": "Swazi Lilangeni"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "CHF": {
- "name": "Swiss Franc"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Tanzanian Shilling"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunisian Dinar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "Ugandan Shilling"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "AED": {
- "name": "United Arab Emirates Dirham"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolivar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "XOF": {
- "name": "West African CFA Franc",
- "symbol": "CFA"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZMW": {
- "name": "Zambian Kwacha"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/cgg.json b/vendor/commerceguys/intl/resources/currency/cgg.json
deleted file mode 100644
index 5b05c3338..000000000
--- a/vendor/commerceguys/intl/resources/currency/cgg.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariari ya Maragariita"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Birr ya Ethiopiya"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Arigyeriya"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "SDG": {
- "name": "Dinari ya Sudani"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham za Buharabu"
- },
- "MAD": {
- "name": "Dirram ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Purinsipo"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Doora ya America",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Doora ya Austureeriya",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Doora ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Doora ya Liberia"
- },
- "NAD": {
- "name": "Doora ya Namibiya"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "SOS": {
- "name": "Eshiringi ya Somalia"
- },
- "TZS": {
- "name": "Eshiringi ya Tanzania"
- },
- "UGX": {
- "name": "Eshiringi ya Uganda",
- "symbol": "USh"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "XOF": {
- "name": "Faranga ya CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga ya CFA BEAC",
- "symbol": "FCFA"
- },
- "DJF": {
- "name": "Faranga ya Gyibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Swisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwaca ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angora"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leone"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Naigyeriya"
- },
- "ERN": {
- "name": "Nakfa ya Eritireya"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "MRU": {
- "name": "Ougwiya ya Mouriteeniya"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "GBP": {
- "name": "Paundi ya Bungyereza",
- "symbol": "£"
- },
- "EGP": {
- "name": "Paundi ya Misiri"
- },
- "SHP": {
- "name": "Paundi ya Senti Herena"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pura ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Sausi Afirika"
- },
- "SAR": {
- "name": "Riya ya Saudi"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "MUR": {
- "name": "Rupiiha ya Mauritiasi"
- },
- "SCR": {
- "name": "Rupiiha ya Sherisheri"
- },
- "INR": {
- "name": "Rupiya ya India",
- "symbol": "₹"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shiringi ya Kenya"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SZL": {
- "name": "Swazi Lilangeni"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni ya Japaani",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/chr.json b/vendor/commerceguys/intl/resources/currency/chr.json
deleted file mode 100644
index 6b55fa8fd..000000000
--- a/vendor/commerceguys/intl/resources/currency/chr.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AMD": {
- "name": "ᎠᎵᎻᏂᎠ ᎠᏕᎳ"
- },
- "ALL": {
- "name": "ᎠᎵᏇᏂᏯ ᎠᏕᎳ"
- },
- "DZD": {
- "name": "ᎠᎵᏥᎵᏯ ᎠᏕᎳ"
- },
- "AWG": {
- "name": "ᎠᎷᏆ ᎠᏕᎳ"
- },
- "AOA": {
- "name": "ᎠᏂᎪᎳ ᎠᏕᎳ"
- },
- "PHP": {
- "name": "ᎠᏂᏈᎵᎩᏃ ᎠᏕᎳ"
- },
- "AZN": {
- "name": "ᎠᏏᎵᏆᏌᏂ ᎠᏕᎳ"
- },
- "ARS": {
- "name": "ᎠᏥᏂᏘᏂᎠ ᎠᏕᎳ"
- },
- "AFN": {
- "name": "ᎠᏫᎨᏂᏍᏖᏂ ᎠᏕᎳ"
- },
- "XAF": {
- "name": "ᎠᏰᏟ ᎬᎿᎨᏍᏛ CFA ᎠᏕᎳ",
- "symbol": "FCFA"
- },
- "AUD": {
- "name": "ᎡᎳᏗᏜ ᎠᏕᎳ",
- "symbol": "A$"
- },
- "ERN": {
- "name": "ᎡᎵᏟᏯ ᎠᏕᎳ"
- },
- "CVE": {
- "name": "ᎢᎬᎾᏕᎾ ᎢᏤᏳᏍᏗ ᎠᏕᎳ"
- },
- "IQD": {
- "name": "ᎢᎳᎩ ᎠᏕᎳ"
- },
- "IRR": {
- "name": "ᎢᎴᏂ ᎠᏕᎳ"
- },
- "INR": {
- "name": "ᎢᏂᏗᎢᎠ ᎠᏕᎳ",
- "symbol": "₹"
- },
- "IDR": {
- "name": "ᎢᏂᏙᏂᏍᏯ ᎠᏕᎳ"
- },
- "ILS": {
- "name": "ᎢᏏᎵᏱ ᎢᏤ ᎠᏕᎳ",
- "symbol": "₪"
- },
- "ETB": {
- "name": "ᎢᏗᎣᏈᎠ ᎠᏕᎳ"
- },
- "NZD": {
- "name": "ᎢᏤ ᏏᎢᎴᏂᏗ ᎠᏕᎳ",
- "symbol": "NZ$"
- },
- "TWD": {
- "name": "ᎢᏤ ᏔᎢᏩᏂ ᎠᏕᎳ",
- "symbol": "NT$"
- },
- "EGP": {
- "name": "ᎢᏥᏈᎢ ᎠᏕᎳ"
- },
- "OMR": {
- "name": "ᎣᎺᏂ ᎠᏕᎳ"
- },
- "UZS": {
- "name": "ᎤᏍᏇᎩᏍᏖᏂ ᎠᏕᎳ"
- },
- "SHP": {
- "name": "ᎤᏓᏅᏘ ᎮᎵᎾ ᎠᏕᎳ"
- },
- "GHS": {
- "name": "ᎦᎠᎾ ᎠᏕᎳ"
- },
- "GMD": {
- "name": "ᎦᎹᏈᎢᎠ ᎠᏕᎳ"
- },
- "GYD": {
- "name": "ᎦᏯᎾ ᎠᏕᎳ"
- },
- "HRK": {
- "name": "ᎧᎶᎡᏏᎠ ᎠᏕᎳ"
- },
- "KHR": {
- "name": "ᎧᎹᏉᏗᎠᏂ ᎠᏕᎳ"
- },
- "CDF": {
- "name": "ᎧᏂᎪ ᎠᏕᎳ"
- },
- "KZT": {
- "name": "ᎧᏎᎧᏍᏕᏂ ᎠᏕᎳ"
- },
- "QAR": {
- "name": "ᎧᏔᎵ ᎠᏕᎳ"
- },
- "KYD": {
- "name": "ᎨᎢᎹᏂ ᏚᎦᏚᏛᎢ ᎠᏕᎳ"
- },
- "CAD": {
- "name": "ᎨᎾᏓ ᎠᏕᎳ",
- "symbol": "CA$"
- },
- "KES": {
- "name": "ᎨᏂᏯ ᎠᏕᎳ"
- },
- "GNF": {
- "name": "ᎩᎢᏂ ᎠᏕᎳ"
- },
- "GBP": {
- "name": "ᎩᎵᏏᏲ ᎠᏕᎳ",
- "symbol": "£"
- },
- "KGS": {
- "name": "ᎩᎵᏣᎢᏍ ᎠᏕᎳ"
- },
- "COP": {
- "name": "ᎪᎸᎻᏈᎢᎠ ᎠᏕᎳ"
- },
- "KMF": {
- "name": "ᎪᎼᎳᏍ ᎠᏕᎳ"
- },
- "CRC": {
- "name": "ᎪᏍᏓᎵᎧ ᎠᏕᎳ"
- },
- "CUP": {
- "name": "ᎫᏆ ᎠᏕᎳ"
- },
- "CUC": {
- "name": "ᎫᏆ ᎦᏁᏟᏴᏍᏔᏅ ᎠᏕᎳ"
- },
- "KWD": {
- "name": "ᎫᏪᎢᏘ ᎠᏕᎳ"
- },
- "TRY": {
- "name": "ᎬᏃ ᎠᏕᎳ"
- },
- "HNL": {
- "name": "ᎭᏂᏚᎳᏍ ᎠᏕᎳ"
- },
- "HTG": {
- "name": "ᎮᏘ ᎠᏕᎳ"
- },
- "HKD": {
- "name": "ᎰᏂᎩ ᎪᏂᎩ ᎠᏕᎳ",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "ᎲᏂᎦᎵ ᎠᏕᎳ"
- },
- "LAK": {
- "name": "ᎳᎣ ᎠᏕᎳ"
- },
- "LRD": {
- "name": "ᎳᏈᎵᏯ ᎠᏕᎳ"
- },
- "LBP": {
- "name": "ᎴᏆᎾᏂ ᎠᏕᎳ"
- },
- "LYD": {
- "name": "ᎵᏈᏯ ᎠᏕᎳ"
- },
- "RON": {
- "name": "ᎶᎹᏂᏯ ᎠᏕᎳ"
- },
- "RWF": {
- "name": "ᎶᏩᏂᏓ ᎠᏕᎳ"
- },
- "MOP": {
- "name": "ᎹᎧᎣ ᎠᏕᎳ"
- },
- "MGA": {
- "name": "ᎹᎳᎦᏏ ᎠᏕᎳ"
- },
- "MWK": {
- "name": "ᎹᎳᏫ ᎠᏕᎳ"
- },
- "MYR": {
- "name": "ᎹᎴᏏᎢᎠ ᎠᏕᎳ"
- },
- "MVR": {
- "name": "ᎹᎵᏗᏫᏍ ᎠᏕᎳ"
- },
- "MDL": {
- "name": "ᎹᎵᏙᏫᎠ ᎠᏕᎳ"
- },
- "MNT": {
- "name": "ᎹᏂᎪᎵᎠ ᎠᏕᎳ"
- },
- "MRU": {
- "name": "ᎹᏈᏔᏂᎠ ᎠᏕᎳ"
- },
- "MKD": {
- "name": "ᎹᏎᏙᏂᎠ ᎠᏕᎳ"
- },
- "MUR": {
- "name": "ᎹᏘᎢᏯ ᎠᏕᎳ"
- },
- "MMK": {
- "name": "ᎹᏯᎹᎵ ᎠᏕᎳ"
- },
- "MAD": {
- "name": "ᎼᎶᎪ ᎠᏕᎳ"
- },
- "MZN": {
- "name": "ᎼᏎᎻᏇᎩ ᎠᏕᎳ"
- },
- "NAD": {
- "name": "ᎾᎻᏈᎢᏯ ᎠᏕᎳ"
- },
- "ANG": {
- "name": "ᎾᏍᎩᏁᏛᎳᏂ ᎠᏂᏘᎵᏏ ᎠᏕᎳ"
- },
- "NPR": {
- "name": "ᏁᏆᎵ ᎠᏕᎳ"
- },
- "NIO": {
- "name": "ᏂᎧᎳᏆ ᎠᏕᎳ"
- },
- "NGN": {
- "name": "ᏂᏥᎵᏯ ᎠᏕᎳ"
- },
- "NOK": {
- "name": "ᏃᏪ ᎠᏕᎳ"
- },
- "PKR": {
- "name": "ᏆᎩᏍᏖᏂ ᎠᏕᎳ"
- },
- "BHD": {
- "name": "ᏆᎭᎴᎢᏂ ᎠᏕᎳ"
- },
- "BSD": {
- "name": "ᏆᎭᎹ ᎠᏕᎳ"
- },
- "PYG": {
- "name": "ᏆᎳᏇᎢᏯ ᎠᏕᎳ"
- },
- "PAB": {
- "name": "ᏆᎾᎹ ᎠᏕᎳ"
- },
- "BDT": {
- "name": "ᏆᏂᎦᎵᏕᏍ ᎠᏕᎳ"
- },
- "PGK": {
- "name": "ᏆᏇ ᎢᏤ ᎩᎢᏂ ᎠᏕᎳ"
- },
- "BBD": {
- "name": "ᏆᏇᏙᏍ ᎠᏕᎳ"
- },
- "BMD": {
- "name": "ᏆᏊᏓ ᎠᏕᎳ"
- },
- "BRL": {
- "name": "ᏆᏏᎵᎢ ᎠᏕᎳ",
- "symbol": "R$"
- },
- "GTQ": {
- "name": "ᏆᏖᎹᎳ ᎠᏕᎳ"
- },
- "BWP": {
- "name": "ᏆᏣᏩᎾ ᎠᏕᎳ"
- },
- "BYN": {
- "name": "ᏇᎳᎷᏍ ᎠᏕᎳ"
- },
- "BZD": {
- "name": "ᏇᎵᏍ ᎠᏕᎳ"
- },
- "PEN": {
- "name": "ᏇᎷ ᎠᏕᎳ"
- },
- "PLN": {
- "name": "ᏉᎳᏂ ᎠᏕᎳ"
- },
- "BOB": {
- "name": "ᏉᎵᏫᎠ ᎠᏕᎳ"
- },
- "BAM": {
- "name": "ᏉᏏᏂᎠ-ᎲᏤᎪᏫ ᎦᏁᏟᏴᏍᏔᏅ ᎠᏕᎳ"
- },
- "BGN": {
- "name": "ᏊᎵᎨᎵᎠ ᎠᏕᎳ"
- },
- "BND": {
- "name": "ᏊᎾᎢ ᎠᏕᎳ"
- },
- "BTN": {
- "name": "ᏊᏔᏂ ᎠᏕᎳ"
- },
- "BIF": {
- "name": "ᏋᎷᏂᏗ ᎠᏕᎳ"
- },
- "STN": {
- "name": "ᏌᎣᏙᎺ & ᏈᏂᏏᏇ ᎠᏕᎳ"
- },
- "SAR": {
- "name": "ᏌᎤᏗ ᎠᏕᎳ"
- },
- "WST": {
- "name": "ᏌᎼᎠ ᎠᏕᎳ"
- },
- "AED": {
- "name": "ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᎡᎳᏈ ᎢᎹᎵᏘᏏ ᎠᏕᎳ"
- },
- "LKR": {
- "name": "ᏍᎵ ᎳᏂᎧ ᎠᏕᎳ"
- },
- "MXN": {
- "name": "ᏍᏆᏂ ᎠᏕᎳ",
- "symbol": "MX$"
- },
- "SZL": {
- "name": "ᏍᏩᏏ ᎠᏕᎳ"
- },
- "CHF": {
- "name": "ᏍᏫᏏ ᎠᏕᎳ"
- },
- "SEK": {
- "name": "ᏍᏫᏕᏂ ᎠᏕᎳ"
- },
- "SLL": {
- "name": "ᏏᎡᎳᎴᎣᏂ ᎠᏕᎳ"
- },
- "SCR": {
- "name": "ᏏᎡᏥᎵᏍ ᎠᏕᎳ"
- },
- "SYP": {
- "name": "ᏏᎵᎠ ᎠᏕᎳ"
- },
- "ZMW": {
- "name": "ᏏᎻᏆᏇ ᎠᏕᎳ"
- },
- "SGD": {
- "name": "ᏏᏂᎦᏉᎵ ᎠᏕᎳ"
- },
- "SBD": {
- "name": "ᏐᎶᎹᏂ ᏚᎦᏚᏛᎢ ᎠᏕᎳ"
- },
- "SOS": {
- "name": "ᏐᎹᎵ ᎠᏕᎳ"
- },
- "SDG": {
- "name": "ᏑᏕᏂ ᎠᏕᎳ"
- },
- "SRD": {
- "name": "ᏒᎵᎾᎻ ᎠᏕᎳ"
- },
- "RSD": {
- "name": "ᏒᏈᏯ ᎠᏕᎳ"
- },
- "CNY": {
- "name": "ᏓᎶᏂᎨ ᎠᏕᎳ",
- "symbol": "CN¥"
- },
- "TOP": {
- "name": "ᏔᏂᎪ ᎠᏕᎳ"
- },
- "TJS": {
- "name": "ᏔᏥᎩᏍᏕᏂ ᎠᏕᎳ"
- },
- "THB": {
- "name": "ᏔᏯᎴᏂ ᎠᏕᎳ"
- },
- "DKK": {
- "name": "ᏕᏂᏍ ᎠᏕᎳ"
- },
- "TZS": {
- "name": "ᏖᏂᏏᏂᏯ ᎠᏕᎳ"
- },
- "XCD": {
- "name": "ᏗᎧᎸᎬ ᎨᏆᏙᏯ ᎠᏕᎳ",
- "symbol": "EC$"
- },
- "DOP": {
- "name": "ᏙᎻᏂᎧᏂ ᎠᏕᎳ"
- },
- "TND": {
- "name": "ᏚᏂᏏᏍᎠ ᎠᏕᎳ"
- },
- "TMT": {
- "name": "ᏛᎵᎩᎺᏂᏍᏔᏂ ᎠᏕᎳ"
- },
- "TTD": {
- "name": "ᏟᏂᏕᏗ & ᏙᏆᎪ ᎠᏕᎳ"
- },
- "GEL": {
- "name": "ᏣᎠᏥᎢ ᎠᏕᎳ"
- },
- "JMD": {
- "name": "ᏣᎺᎢᎧ ᎠᏕᎳ"
- },
- "JPY": {
- "name": "ᏣᏩᏂᏏ ᎠᏕᎳ",
- "symbol": "JP¥"
- },
- "CZK": {
- "name": "ᏤᎩ ᎠᏕᎳ"
- },
- "CLP": {
- "name": "ᏥᎵ ᎠᏕᎳ"
- },
- "GIP": {
- "name": "ᏥᏆᎵᏓ ᎠᏕᎳ"
- },
- "DJF": {
- "name": "ᏥᏊᏗ ᎠᏕᎳ"
- },
- "JOD": {
- "name": "ᏦᏓᏂ ᎠᏕᎳ"
- },
- "KRW": {
- "name": "ᏧᎦᎾᏮ ᎪᎵᎠ ᎠᏕᎳ",
- "symbol": "₩"
- },
- "ZAR": {
- "name": "ᏧᎦᎾᏮ ᎬᎿᎨᏍᏛ ᎠᏕᎳ"
- },
- "SSP": {
- "name": "ᏧᎦᎾᏮ ᏑᏕᏂ ᎠᏕᎳ"
- },
- "ISK": {
- "name": "ᏧᏁᏍᏓᎸᎯ ᎠᏕᎳ"
- },
- "KPW": {
- "name": "ᏧᏴᏢ ᎪᎵᎠ ᎠᏕᎳ"
- },
- "FKP": {
- "name": "ᏩᎩᎤ ᏚᎦᏚᏛᎢ ᎠᏕᎳ"
- },
- "VUV": {
- "name": "ᏩᏂᎤᏩᏚ ᎠᏕᎳ"
- },
- "VES": {
- "name": "ᏪᏁᏑᏪ ᎠᏕᎳ"
- },
- "VND": {
- "name": "ᏫᎡᏘᎾᎻᏍ ᎠᏕᎳ",
- "symbol": "₫"
- },
- "FJD": {
- "name": "ᏫᎩ ᎠᏕᎳ"
- },
- "XOF": {
- "name": "ᏭᏕᎵᎬ ᎬᎿᎨᏍᏛ CFA ᎠᏕᎳ",
- "symbol": "CFA"
- },
- "YER": {
- "name": "ᏰᎺᏂ ᎠᏕᎳ"
- },
- "RUB": {
- "name": "ᏲᏂᎢ ᎠᏕᎳ"
- },
- "UGX": {
- "name": "ᏳᎦᏂᏓ ᎠᏕᎳ"
- },
- "UAH": {
- "name": "ᏳᎧᎴᏂ ᎠᏕᎳ"
- },
- "EUR": {
- "name": "ᏳᎳᏛ ᎠᏕᎳ",
- "symbol": "€"
- },
- "UYU": {
- "name": "ᏳᎷᏇ ᎠᏕᎳ"
- },
- "XPF": {
- "name": "CFP ᎠᏕᎳ",
- "symbol": "CFPF"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "USD": {
- "name": "US ᎠᏕᎳ",
- "symbol": "$"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/dav.json b/vendor/commerceguys/intl/resources/currency/dav.json
deleted file mode 100644
index 020a51dbc..000000000
--- a/vendor/commerceguys/intl/resources/currency/dav.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariary ya Bukini"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "USD": {
- "name": "Dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "SDG": {
- "name": "Pauni ya Sudani"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Kenya",
- "symbol": "Ksh"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/dje.json b/vendor/commerceguys/intl/resources/currency/dje.json
deleted file mode 100644
index 9ddc15238..000000000
--- a/vendor/commerceguys/intl/resources/currency/dje.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "DZD": {
- "name": "Alžeeri Dinar"
- },
- "USD": {
- "name": "Ameriki Dollar",
- "symbol": "US$"
- },
- "AOA": {
- "name": "Angoola Kwanza"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BHD": {
- "name": "Bahareen Dinar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "Botswaana Pund"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "Britin Pund",
- "symbol": "£"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "BIF": {
- "name": "Burundi Fraŋ"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XOF": {
- "name": "CFA Fraŋ (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA Fraŋ (BEAC)",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "ETB": {
- "name": "Ecioopi Birr"
- },
- "EUR": {
- "name": "Eero",
- "symbol": "€"
- },
- "ERN": {
- "name": "Eritree Nafka"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "Gambi Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "ZAR": {
- "name": "Hawasa Afriki Rand"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "INR": {
- "name": "Indu Rupii",
- "symbol": "₹"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JPY": {
- "name": "Jaapoŋ Yen",
- "symbol": "JP¥"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "DJF": {
- "name": "Jibuuti Fraŋ"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CAD": {
- "name": "Kanaada Dollar",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "Kapuver Escudo"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Keeniya Šiiliŋ"
- },
- "KMF": {
- "name": "Komoor Fraŋ"
- },
- "CDF": {
- "name": "Kongo Fraŋ"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "AED": {
- "name": "Laaraw Immaara Margantey Dirham"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leeon"
- },
- "LSL": {
- "name": "Leezoto Loti"
- },
- "LRD": {
- "name": "Liberia Dollar"
- },
- "LYD": {
- "name": "Liibi Dinar"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "MAD": {
- "name": "Maarok Dirham"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MWK": {
- "name": "Malaawi Kwaca"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MGA": {
- "name": "Malgaaši Fraŋ"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "EGP": {
- "name": "Misra Pund"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MUR": {
- "name": "Mooris Rupii"
- },
- "MRU": {
- "name": "Mooritaani Ugiya"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naajiriya Neera"
- },
- "NAD": {
- "name": "Naamibi Dollar"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "AUD": {
- "name": "Ostraali Dollar",
- "symbol": "A$"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "RWF": {
- "name": "Rwanda Fraŋ"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "Sao Tome nda Prinsipe Dobra"
- },
- "SAR": {
- "name": "Saudiya Riyal"
- },
- "SCR": {
- "name": "Seešel Rupii"
- },
- "SHP": {
- "name": "Seŋ Helena Fraŋ"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "CNY": {
- "name": "Sinwa Yuan Renminbi",
- "symbol": "CN¥"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somaali Šiiliŋ"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SDG": {
- "name": "Suudaŋ Dinar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "CHF": {
- "name": "Swisu Fraŋ"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Tanzaani Šiiliŋ"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunizi Dinar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "Uganda Šiiliŋ"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZMW": {
- "name": "Zambi Kwaca"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/dsb.json b/vendor/commerceguys/intl/resources/currency/dsb.json
deleted file mode 100644
index 131b84a64..000000000
--- a/vendor/commerceguys/intl/resources/currency/dsb.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "afghaniski afgani"
- },
- "ALL": {
- "name": "albański lek"
- },
- "DZD": {
- "name": "algeriski dinar"
- },
- "USD": {
- "name": "ameriski dolar",
- "symbol": "$"
- },
- "AOA": {
- "name": "angolska kwanza"
- },
- "ARS": {
- "name": "argentinski peso"
- },
- "AMD": {
- "name": "armeński dram"
- },
- "AWG": {
- "name": "aruba-florin"
- },
- "AUD": {
- "name": "awstralski dolar"
- },
- "AZN": {
- "name": "azerbajdžaniski manat"
- },
- "BSD": {
- "name": "bahamaski dolar"
- },
- "BHD": {
- "name": "bahrainski dinar"
- },
- "BDT": {
- "name": "bangladešska taka"
- },
- "BBD": {
- "name": "barbadoski dolar"
- },
- "BZD": {
- "name": "belizeski dolar"
- },
- "BMD": {
- "name": "bermudaski dolar"
- },
- "BYN": {
- "name": "běłoruski rubl"
- },
- "BTN": {
- "name": "bhutański ngultrum"
- },
- "BOB": {
- "name": "boliwiski boliviano"
- },
- "BAM": {
- "name": "bosniska konwertibelna marka"
- },
- "BWP": {
- "name": "botswaniska pula"
- },
- "BRL": {
- "name": "brazilski real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "britiski punt",
- "symbol": "£"
- },
- "BND": {
- "name": "bruneiski dolar"
- },
- "BGN": {
- "name": "bulgarski lew"
- },
- "BIF": {
- "name": "burundiski frank"
- },
- "XOF": {
- "name": "CFA-frank (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA-frank (BEAC)",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP-frank",
- "symbol": "CFPF"
- },
- "CZK": {
- "name": "česka krona"
- },
- "DKK": {
- "name": "dańska krona"
- },
- "DOP": {
- "name": "dominikański peso"
- },
- "DJF": {
- "name": "dźibutiski frank"
- },
- "EGP": {
- "name": "egyptojski punt"
- },
- "SVC": {
- "name": "el-salvadorski colón"
- },
- "ERN": {
- "name": "eritrejska nakfa"
- },
- "ETB": {
- "name": "etiopiski birr"
- },
- "EUR": {
- "name": "euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "falklandski punt"
- },
- "FJD": {
- "name": "fidźiski dolar"
- },
- "PHP": {
- "name": "filipinski peso"
- },
- "GMD": {
- "name": "gambiski dalasi"
- },
- "GEL": {
- "name": "georgiski lari"
- },
- "GHS": {
- "name": "ghanaski cedi"
- },
- "GIP": {
- "name": "gibraltiski punt"
- },
- "GTQ": {
- "name": "guatemalski quetzal"
- },
- "GNF": {
- "name": "guineski frank"
- },
- "GYD": {
- "name": "guyański dolar"
- },
- "HTG": {
- "name": "haitiska gourda"
- },
- "HNL": {
- "name": "honduraska lempira"
- },
- "HKD": {
- "name": "hongkongski dolar",
- "symbol": "HK$"
- },
- "CLP": {
- "name": "chilski peso"
- },
- "CNY": {
- "name": "chinski yuan",
- "symbol": "CN¥"
- },
- "HRK": {
- "name": "chorwatska kuna"
- },
- "INR": {
- "name": "indiska rupija",
- "symbol": "₹"
- },
- "IDR": {
- "name": "indoneska rupija"
- },
- "IQD": {
- "name": "irakski dinar"
- },
- "IRR": {
- "name": "irański rial"
- },
- "ISK": {
- "name": "islandska krona"
- },
- "ILS": {
- "name": "israelski nowy šekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "jamaiski dolar"
- },
- "JPY": {
- "name": "japański yen",
- "symbol": "¥"
- },
- "YER": {
- "name": "jemeński rial"
- },
- "JOD": {
- "name": "jordaniski dinar"
- },
- "KYD": {
- "name": "kajmaniski dolar"
- },
- "KHR": {
- "name": "kambodžaski riel"
- },
- "CAD": {
- "name": "kanadiski dolar",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "kapverdski escudo"
- },
- "QAR": {
- "name": "katarski rial"
- },
- "KZT": {
- "name": "kazachski tenge"
- },
- "KES": {
- "name": "keniaski šiling"
- },
- "KGS": {
- "name": "kirgiski som"
- },
- "COP": {
- "name": "kolumbiski peso"
- },
- "KMF": {
- "name": "komorski frank"
- },
- "CDF": {
- "name": "kongoski frank"
- },
- "CRC": {
- "name": "kosta-rikański colón"
- },
- "CUC": {
- "name": "kubański konwertibelny peso"
- },
- "CUP": {
- "name": "kubański peso"
- },
- "KWD": {
- "name": "kuwaitski dinar"
- },
- "LAK": {
- "name": "laoski kip"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "LBP": {
- "name": "libanoński punt"
- },
- "LRD": {
- "name": "liberiski dolar"
- },
- "LYD": {
- "name": "libyski dinar"
- },
- "MOP": {
- "name": "macaoska pataca"
- },
- "MGA": {
- "name": "madagaskarski ariary"
- },
- "HUF": {
- "name": "madźarski forint"
- },
- "MKD": {
- "name": "makedoński denar"
- },
- "MYR": {
- "name": "malajziski ringgit"
- },
- "MWK": {
- "name": "malawiski kwacha"
- },
- "MVR": {
- "name": "malediwiska rupija"
- },
- "MAD": {
- "name": "marokkoski dirham"
- },
- "MRU": {
- "name": "mauretański ouguiya"
- },
- "MUR": {
- "name": "mauriciska rupija"
- },
- "MXN": {
- "name": "mexiski peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "moldawiski leu"
- },
- "MNT": {
- "name": "mongolski tugrik"
- },
- "MZN": {
- "name": "mosambikski metical"
- },
- "MMK": {
- "name": "myanmarski kyat"
- },
- "NAD": {
- "name": "namibiski dolar"
- },
- "NPR": {
- "name": "nepalska rupija"
- },
- "NGN": {
- "name": "nigeriska naira"
- },
- "NIO": {
- "name": "nikaraguaska cordoba"
- },
- "ANG": {
- "name": "nižozemsko-antilski gulden"
- },
- "NOK": {
- "name": "norwegska krona"
- },
- "NZD": {
- "name": "nowoseelandski dolar",
- "symbol": "NZ$"
- },
- "TWD": {
- "name": "nowy taiwański dolar",
- "symbol": "NT$"
- },
- "OMR": {
- "name": "omański rial"
- },
- "PKR": {
- "name": "pakistańska rupija"
- },
- "PAB": {
- "name": "panamaski balboa"
- },
- "PGK": {
- "name": "papua-neuguinejska kina"
- },
- "PYG": {
- "name": "paraguayski guarani"
- },
- "PEN": {
- "name": "peruski sol"
- },
- "ZAR": {
- "name": "pódpołdnjowoafriski rand"
- },
- "KRW": {
- "name": "pódpołdnjowokorejski won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "pódpołdnjowosudański punt"
- },
- "KPW": {
- "name": "pódpołnocnokorejski won"
- },
- "XCD": {
- "name": "pódzajtšnokaribiski dolar",
- "symbol": "EC$"
- },
- "PLN": {
- "name": "pólski złoty",
- "symbol": "zł"
- },
- "RWF": {
- "name": "ruandiski frank"
- },
- "RON": {
- "name": "rumuński leu"
- },
- "RUB": {
- "name": "ruski rubl"
- },
- "SBD": {
- "name": "salomoński dolar"
- },
- "ZMW": {
- "name": "sambiska kwacha"
- },
- "WST": {
- "name": "samoaska tala"
- },
- "STN": {
- "name": "são-tomeska dobra"
- },
- "SAR": {
- "name": "saudi-arabiski rial"
- },
- "RSD": {
- "name": "serbiski dinar"
- },
- "SCR": {
- "name": "seychelska rupija"
- },
- "SLL": {
- "name": "sierra-leoneski leone"
- },
- "SGD": {
- "name": "singapurski dolar"
- },
- "SOS": {
- "name": "somaliski šiling"
- },
- "LKR": {
- "name": "sri-lankaska rupija"
- },
- "SHP": {
- "name": "St. Helena punt"
- },
- "SDG": {
- "name": "sudański punt"
- },
- "SRD": {
- "name": "surinamski dolar"
- },
- "SZL": {
- "name": "swasiski lilangeni"
- },
- "SYP": {
- "name": "syriski punt"
- },
- "SEK": {
- "name": "šwedska krona"
- },
- "CHF": {
- "name": "šwicarski frank"
- },
- "TJS": {
- "name": "tadźikiski somoni"
- },
- "TZS": {
- "name": "tansaniski šiling"
- },
- "THB": {
- "name": "thaiski baht",
- "symbol": "฿"
- },
- "TOP": {
- "name": "tongaski paʻanga"
- },
- "TTD": {
- "name": "trinidad-tobagoski dolar"
- },
- "TND": {
- "name": "tuneziski dinar"
- },
- "TMT": {
- "name": "turkmeniski manat"
- },
- "TRY": {
- "name": "turkojska lira"
- },
- "UGX": {
- "name": "ugandaski šiling"
- },
- "UAH": {
- "name": "ukrainska griwna"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "uruguayski peso"
- },
- "UZS": {
- "name": "usbekiski sum"
- },
- "VUV": {
- "name": "vanuatski vatu"
- },
- "VES": {
- "name": "venezuelski bolívar"
- },
- "VND": {
- "name": "vietnamski dong",
- "symbol": "₫"
- },
- "AED": {
- "name": "ZAE dirham"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ebu.json b/vendor/commerceguys/intl/resources/currency/ebu.json
deleted file mode 100644
index 31d6f11db..000000000
--- a/vendor/commerceguys/intl/resources/currency/ebu.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariary ya Bukini"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "USD": {
- "name": "Dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "AUD": {
- "name": "Dora ya Australia",
- "symbol": "A$"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "SDG": {
- "name": "Pauni ya Sudani"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Kenya",
- "symbol": "Ksh"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ee.json b/vendor/commerceguys/intl/resources/currency/ee.json
deleted file mode 100644
index a916cfd49..000000000
--- a/vendor/commerceguys/intl/resources/currency/ee.json
+++ /dev/null
@@ -1,498 +0,0 @@
-{
- "AFN": {
- "name": "afghanistanga afghani"
- },
- "ALL": {
- "name": "albaniaga lek"
- },
- "DZD": {
- "name": "aldzeriaga dinar"
- },
- "AOA": {
- "name": "angolaga kwanza"
- },
- "ARS": {
- "name": "argentinaga peso"
- },
- "AMD": {
- "name": "armeniaga dram"
- },
- "AWG": {
- "name": "arubaga lorin"
- },
- "AUD": {
- "name": "Australiaga dollar",
- "symbol": "AU$"
- },
- "AZN": {
- "name": "azerbaidzanga manat"
- },
- "BSD": {
- "name": "bahamasga dollar"
- },
- "BHD": {
- "name": "bahrainga dinar"
- },
- "BDT": {
- "name": "bangladeshga taka"
- },
- "BBD": {
- "name": "barbadosga dollar"
- },
- "BYN": {
- "name": "belarusiaga ruble"
- },
- "BZD": {
- "name": "belizega dollar"
- },
- "BMD": {
- "name": "bermudaga dollar"
- },
- "BTN": {
- "name": "bhutanga ngultrum"
- },
- "BOB": {
- "name": "boliviaga boliviano"
- },
- "BAM": {
- "name": "bosnia-herzegovinaga convertible mark"
- },
- "BWP": {
- "name": "botswanaga pula"
- },
- "BRL": {
- "name": "braziliaga real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "britainga pound",
- "symbol": "£"
- },
- "BND": {
- "name": "bruneiga dollar"
- },
- "BGN": {
- "name": "bulgariaga lev"
- },
- "BIF": {
- "name": "burundiga franc"
- },
- "CAD": {
- "name": "canadaga dollar",
- "symbol": "CA$"
- },
- "KYD": {
- "name": "cayman islandsga dollar"
- },
- "XPF": {
- "name": "CFP ga franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "chilega peso"
- },
- "CNY": {
- "name": "Chinesega yuan",
- "symbol": "CN¥"
- },
- "COP": {
- "name": "colombiaga peso"
- },
- "CRC": {
- "name": "costa ricaga colón"
- },
- "HRK": {
- "name": "croatiaga kuna"
- },
- "CUC": {
- "name": "cubaga convertible peso"
- },
- "CUP": {
- "name": "cubaga peso"
- },
- "CZK": {
- "name": "czechga koruna"
- },
- "DKK": {
- "name": "denmarkga krone"
- },
- "DOP": {
- "name": "dominicaga peso"
- },
- "DJF": {
- "name": "dziboutiga franc"
- },
- "KPW": {
- "name": "dziehe koreaga won"
- },
- "GEL": {
- "name": "dzɔdziaga lari"
- },
- "XCD": {
- "name": "east caribbeanga dollar",
- "symbol": "EC$"
- },
- "EGP": {
- "name": "egyptega pound"
- },
- "ERN": {
- "name": "eritreaga nakfa"
- },
- "ETB": {
- "name": "ethiopiaga birr"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "falkland islands pound"
- },
- "FJD": {
- "name": "fidziga dollar"
- },
- "PHP": {
- "name": "filipiniga peso"
- },
- "GMD": {
- "name": "gambiaga dalasi"
- },
- "GHS": {
- "name": "ghana siɖi",
- "symbol": "GH₵"
- },
- "GIP": {
- "name": "gilbratarga pound"
- },
- "GNF": {
- "name": "giniga franc"
- },
- "GTQ": {
- "name": "guatemalaga quetzal"
- },
- "GYD": {
- "name": "guyanaga dollar"
- },
- "XOF": {
- "name": "ɣetoɖofe afrikaga CFA franc BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "ɣetoɖofe afrikaga CFA franc BEAC",
- "symbol": "FCFA"
- },
- "HTG": {
- "name": "haitiga gourde"
- },
- "HNL": {
- "name": "honduraga lempira"
- },
- "HKD": {
- "name": "Hong Kongga dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "hungariaga forint"
- },
- "ISK": {
- "name": "icelandga króna"
- },
- "INR": {
- "name": "Indiaga rupee",
- "symbol": "₹"
- },
- "IDR": {
- "name": "Indonesiaga rupiah"
- },
- "IQD": {
- "name": "irakga dinar"
- },
- "IRR": {
- "name": "iranga rial"
- },
- "ILS": {
- "name": "israelga yeyetɔ sheqel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "jamaicaga dollar"
- },
- "JPY": {
- "name": "Japanesega yen",
- "symbol": "JP¥"
- },
- "KHR": {
- "name": "kambodiaga riel"
- },
- "CVE": {
- "name": "kape verdega escudo"
- },
- "QAR": {
- "name": "katarga rial"
- },
- "KZT": {
- "name": "kazakhstanga tenge"
- },
- "KES": {
- "name": "kenyaga shilling"
- },
- "KGS": {
- "name": "kirgistanga som"
- },
- "KMF": {
- "name": "komoroga franc"
- },
- "CDF": {
- "name": "kongoga franc"
- },
- "KWD": {
- "name": "kuwaitga dinar"
- },
- "LAK": {
- "name": "laosga kip"
- },
- "LBP": {
- "name": "lebanonga pound"
- },
- "LSL": {
- "name": "lesotoga loti"
- },
- "LRD": {
- "name": "liberiaga dollar"
- },
- "LYD": {
- "name": "libyaga dinar"
- },
- "MOP": {
- "name": "makanesega pataca"
- },
- "MGA": {
- "name": "malagasega ariary"
- },
- "MWK": {
- "name": "Malawian Kwacha"
- },
- "MYR": {
- "name": "malaysiaga ringit"
- },
- "MVR": {
- "name": "maldiviaga rufiyaa"
- },
- "MKD": {
- "name": "marcedoniaga denar"
- },
- "MXN": {
- "name": "mexicoga peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "moldovaga leu"
- },
- "MNT": {
- "name": "mongoliaga tugrik"
- },
- "MAD": {
- "name": "morokoga dirham"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MRU": {
- "name": "mɔritaniaga ouguiya"
- },
- "MUR": {
- "name": "mɔritiusga rupee"
- },
- "MMK": {
- "name": "myanmaga kyat"
- },
- "NGN": {
- "name": "naidzeriaga naira"
- },
- "NAD": {
- "name": "Namibian Dollar"
- },
- "NPR": {
- "name": "nepalga rupee"
- },
- "ANG": {
- "name": "netherlands antilleaga guilder"
- },
- "NZD": {
- "name": "new zealanɖga dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "nicaraguaga córdoba"
- },
- "NOK": {
- "name": "norwayga krone"
- },
- "OMR": {
- "name": "omanga rial"
- },
- "PKR": {
- "name": "pakistaniga rupee"
- },
- "PAB": {
- "name": "panamaga balboa"
- },
- "PGK": {
- "name": "papua new guineaga kina"
- },
- "PYG": {
- "name": "paraguayga guarani"
- },
- "PEN": {
- "name": "peruga sol"
- },
- "PLN": {
- "name": "polandga zloty"
- },
- "RON": {
- "name": "romaniaga leu"
- },
- "RUB": {
- "name": "russiaga ruble"
- },
- "RWF": {
- "name": "rwandaga franc"
- },
- "SHP": {
- "name": "saint helenaga pound"
- },
- "SVC": {
- "name": "salvadɔga colón"
- },
- "WST": {
- "name": "samaoga tala"
- },
- "STN": {
- "name": "são tomé kple príncipega dobra"
- },
- "SAR": {
- "name": "Saudi Arabiaga riyal"
- },
- "RSD": {
- "name": "serbiaga dinar"
- },
- "SCR": {
- "name": "sɛtselsga rupee"
- },
- "SLL": {
- "name": "sierra leonega leone"
- },
- "SGD": {
- "name": "singapɔga dollar"
- },
- "SBD": {
- "name": "solomon ƒudomekpo dukɔwo ƒe ga dollar"
- },
- "SOS": {
- "name": "somaliaga shilling"
- },
- "ZAR": {
- "name": "South Africaga rand"
- },
- "KRW": {
- "name": "South Koreaga won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "sri lankaga rupee"
- },
- "SDG": {
- "name": "sudanga pound"
- },
- "SRD": {
- "name": "surinamga dollar"
- },
- "SZL": {
- "name": "swaziga lilangeni"
- },
- "SEK": {
- "name": "swedenga krone"
- },
- "CHF": {
- "name": "switzerlandga franc"
- },
- "SYP": {
- "name": "syriaga pound"
- },
- "TWD": {
- "name": "Taiwanga dollar",
- "symbol": "NT$"
- },
- "TJS": {
- "name": "tajikistanga somoni"
- },
- "TZS": {
- "name": "Tanzaniatɔwofɛgadudu"
- },
- "THB": {
- "name": "Thailandga baht",
- "symbol": "฿"
- },
- "TOP": {
- "name": "tonagaga pa’anga"
- },
- "TTD": {
- "name": "trinidad & tobagoga dollar"
- },
- "TND": {
- "name": "tunisiaga dinar"
- },
- "TRY": {
- "name": "Turkishga lira"
- },
- "TMT": {
- "name": "turkmenistanga manat"
- },
- "UGX": {
- "name": "ugandaga shilling"
- },
- "UAH": {
- "name": "ukrainega hryvnia"
- },
- "AED": {
- "name": "united arab emiratesga dirham"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "uruguayga peso"
- },
- "USD": {
- "name": "us ga dollar",
- "symbol": "US$"
- },
- "UZS": {
- "name": "uzbekistanga som"
- },
- "VUV": {
- "name": "vanuatuga vatu"
- },
- "VES": {
- "name": "venezuelaga bolívar"
- },
- "VND": {
- "name": "vietnamga dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "yemeniga rial"
- },
- "JOD": {
- "name": "yɔdanga dinar"
- },
- "ZMW": {
- "name": "zambiaga kwacha"
- },
- "ZWL": {
- "name": "zimbabwega dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ewo.json b/vendor/commerceguys/intl/resources/currency/ewo.json
deleted file mode 100644
index 4e418ec7f..000000000
--- a/vendor/commerceguys/intl/resources/currency/ewo.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariari yá Maləgás"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bír yá Etsiópia"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasí yá Gámbía"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinár yá Alehérí"
- },
- "BHD": {
- "name": "Dinár yá Bahərɛ́n"
- },
- "LYD": {
- "name": "Dinár yá Libí"
- },
- "TND": {
- "name": "Dinár yá Tunisí"
- },
- "AED": {
- "name": "Dirám yá Emirá Aráb Uní"
- },
- "MAD": {
- "name": "Dirám yá Maróg"
- },
- "STN": {
- "name": "Dóbə́ra yá Saó Tomé ai Pəlinəsípe"
- },
- "USD": {
- "name": "Dolár yá amɛ́rəkə",
- "symbol": "US$"
- },
- "CAD": {
- "name": "Dolár yá Kanáda",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dolár yá Libéria"
- },
- "NAD": {
- "name": "Dolár yá Namibí"
- },
- "AUD": {
- "name": "Dolár yá Osətəralí",
- "symbol": "A$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Esəkúdo yá Kápə́vɛ́rə"
- },
- "EUR": {
- "name": "əró",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Fəláŋ CFA (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Fəláŋ CFA (BEAC)",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Fəláŋ yá Burundí"
- },
- "DJF": {
- "name": "Fəláŋ yá dzibutí"
- },
- "KMF": {
- "name": "Fəláŋ yá Komória"
- },
- "CDF": {
- "name": "Fəláŋ yá Kongo"
- },
- "RWF": {
- "name": "Fəláŋ yá Ruwandá"
- },
- "CHF": {
- "name": "Fəláŋ yá Suís"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "AOA": {
- "name": "Kwánəza yá Angolá"
- },
- "MWK": {
- "name": "Kwatsa yá Malawí"
- },
- "ZMW": {
- "name": "Kwatsa yá Zambí"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leóne yá Sierá-leónə"
- },
- "SZL": {
- "name": "Lilangeni yá Swazí"
- },
- "GBP": {
- "name": "Lívə́lə Sətərəlíŋ",
- "symbol": "£"
- },
- "EGP": {
- "name": "Lívə́lə yá Ehíbətía"
- },
- "SHP": {
- "name": "Lívələ yá Ǹfúfúb Elɛ́n"
- },
- "SDG": {
- "name": "Lívələ yá Sudán"
- },
- "LSL": {
- "name": "Lotí yá Lesotó"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "Náfəka yá Eritelé"
- },
- "NGN": {
- "name": "Náíra yá Nihéria"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Púlá yá Botswána"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Ránədə yá Afiríka"
- },
- "SAR": {
- "name": "Riál yá Arabí Saudí"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupí yá ɛ́ndía",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupí yá Morís"
- },
- "SCR": {
- "name": "Rupí yá Sɛsɛ́l"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Silíŋ yá Keniá"
- },
- "SOS": {
- "name": "Silíŋ yá Somalí"
- },
- "TZS": {
- "name": "Silíŋ yá Tanazaní"
- },
- "UGX": {
- "name": "Silíŋ yá Ugandá (1966–1987)"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugiya yá Moritaní"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yɛ́n yá Hapɔ́n",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuán Renəminəbí yá Tsainís",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ff.json b/vendor/commerceguys/intl/resources/currency/ff.json
deleted file mode 100644
index 77812a9b3..000000000
--- a/vendor/commerceguys/intl/resources/currency/ff.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariyari Madagaskaar"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Biir Ecoppi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi Gammbi"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinaar Alaseri"
- },
- "BHD": {
- "name": "Dinaar Bahrayn"
- },
- "LYD": {
- "name": "Dinaar Libi"
- },
- "TND": {
- "name": "Dinaar Tunisii"
- },
- "MAD": {
- "name": "Diraham Maruk"
- },
- "AED": {
- "name": "Dirham Emiraati Araab Dentuɗi"
- },
- "STN": {
- "name": "Dobra Sawo Tome e Prensipe"
- },
- "USD": {
- "name": "Dolaar Dowlaaji Dentuɗi",
- "symbol": "US$"
- },
- "CAD": {
- "name": "Dolaar Kandaaa",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dolaar Liberiyaa"
- },
- "NAD": {
- "name": "Dolaar Namibii"
- },
- "AUD": {
- "name": "Dolaar Ostaraalii",
- "symbol": "A$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudoo Kap Weer"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "DJF": {
- "name": "Faraa Jibutii"
- },
- "KMF": {
- "name": "Faraa Komoor"
- },
- "CDF": {
- "name": "Faraa Konngo"
- },
- "RWF": {
- "name": "Faraa Ruwanndaa"
- },
- "CHF": {
- "name": "Faraa Suwiis"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "MWK": {
- "name": "Kuwacca Malaawi"
- },
- "ZMW": {
- "name": "Kuwacca Sammbi"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "AOA": {
- "name": "Kwansaa Anngolaa"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Lewoon Seraa Liyon"
- },
- "EGP": {
- "name": "Liibar Ejipt"
- },
- "SHP": {
- "name": "Liibar Sent Helen"
- },
- "GBP": {
- "name": "Liibar Sterling",
- "symbol": "£"
- },
- "SDG": {
- "name": "Liibar Sudaan"
- },
- "SZL": {
- "name": "Lilangeni Swaasilannda"
- },
- "LSL": {
- "name": "Loti Lesotoo"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "XAF": {
- "name": "Mbuuɗi Seefaa BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Mbuuɗu Burunndi"
- },
- "XOF": {
- "name": "Mbuuɗu Seefaa BCEAO",
- "symbol": "CFA"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "Nafka Eriteree"
- },
- "NGN": {
- "name": "Nayraa Nijeriyaa"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "EUR": {
- "name": "Oroo",
- "symbol": "€"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pulaa Botwanaa"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Rannda Afrik Bŋ Worgo"
- },
- "SAR": {
- "name": "Riyaal Arabi Sawdit"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupii Enndo",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupii Moriis"
- },
- "SCR": {
- "name": "Rupii Seysel"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Siling Keñaa"
- },
- "SOS": {
- "name": "Siling Soomali"
- },
- "TZS": {
- "name": "Siling Tansanii"
- },
- "UGX": {
- "name": "Siling Uganndaa"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugiyya Muritani"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yen Sapoo",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuam Siin",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fo.json b/vendor/commerceguys/intl/resources/currency/fo.json
deleted file mode 100644
index 1a0e73500..000000000
--- a/vendor/commerceguys/intl/resources/currency/fo.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afganistan afghani"
- },
- "ALL": {
- "name": "Albania lek"
- },
- "DZD": {
- "name": "Algeria dinar"
- },
- "AOA": {
- "name": "Angola kwanza"
- },
- "ARS": {
- "name": "Argentina peso"
- },
- "AMD": {
- "name": "Armenia dram"
- },
- "AWG": {
- "name": "Aruba florin"
- },
- "AZN": {
- "name": "Aserbadjan manat"
- },
- "AUD": {
- "name": "Avstralskur dollari",
- "symbol": "A$"
- },
- "BSD": {
- "name": "Bahamaoyggjar dollari"
- },
- "BDT": {
- "name": "Bangladesj taka"
- },
- "BBD": {
- "name": "Barbados dollari"
- },
- "BHD": {
- "name": "Barein dinar"
- },
- "BZD": {
- "name": "Belis dollari"
- },
- "BMD": {
- "name": "Bermuda dollari"
- },
- "BOB": {
- "name": "Bolivia boliviano"
- },
- "BAM": {
- "name": "Bosnia-Hersegovina mark (kann vekslast)"
- },
- "BWP": {
- "name": "Botsvana pula"
- },
- "BRL": {
- "name": "Brasilianskur real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "bretsk pund",
- "symbol": "£"
- },
- "BND": {
- "name": "Brunei dollari"
- },
- "BGN": {
- "name": "Bulgaria lev"
- },
- "BIF": {
- "name": "Burundi frankur"
- },
- "BTN": {
- "name": "Butan ngultrum"
- },
- "KYD": {
- "name": "Caymanoyggjar dollari"
- },
- "XPF": {
- "name": "CFP frankur",
- "symbol": "CFPF"
- },
- "DJF": {
- "name": "Djibuti frankur"
- },
- "DOP": {
- "name": "Dominika peso"
- },
- "DKK": {
- "name": "donsk króna",
- "symbol": "kr"
- },
- "EGP": {
- "name": "Egyptaland pund"
- },
- "ERN": {
- "name": "Eritrea nakfa"
- },
- "ETB": {
- "name": "Etiopia birr"
- },
- "EUR": {
- "name": "Evra",
- "symbol": "€"
- },
- "XCD": {
- "name": "Eystur Karibia dollari",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falklandsoyggjar pund"
- },
- "FJD": {
- "name": "Fiji dollari"
- },
- "PHP": {
- "name": "Filipsoyggjar peso"
- },
- "GMD": {
- "name": "Gambia dalasi"
- },
- "GHS": {
- "name": "Gana cedi"
- },
- "GEL": {
- "name": "Georgia lari"
- },
- "GIP": {
- "name": "Gibraltar pund"
- },
- "CVE": {
- "name": "Grønhøvdaoyggjar escudo"
- },
- "GTQ": {
- "name": "Guatemala quetzal"
- },
- "GNF": {
- "name": "Guinea frankur"
- },
- "GYD": {
- "name": "Gujana dollari"
- },
- "HTG": {
- "name": "Haiti gourde"
- },
- "HNL": {
- "name": "Honduras lempira"
- },
- "HKD": {
- "name": "Hong Kong dollari",
- "symbol": "HK$"
- },
- "BYN": {
- "name": "Hvítarussland ruble"
- },
- "INR": {
- "name": "indiskir rupis",
- "symbol": "₹"
- },
- "IDR": {
- "name": "Indonesia rupiah"
- },
- "IQD": {
- "name": "Irak dinar"
- },
- "IRR": {
- "name": "iranskir rials"
- },
- "ISK": {
- "name": "íslendsk króna"
- },
- "ILS": {
- "name": "Ísrael new shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaika dollari"
- },
- "JPY": {
- "name": "japanskur yen",
- "symbol": "JP¥"
- },
- "YER": {
- "name": "Jemen rial"
- },
- "JOD": {
- "name": "Jordan dinar"
- },
- "KHR": {
- "name": "Kambodja riel"
- },
- "CAD": {
- "name": "Kanada dollari",
- "symbol": "CA$"
- },
- "KZT": {
- "name": "Kasakstan tenge"
- },
- "QAR": {
- "name": "Katar rial"
- },
- "CZK": {
- "name": "Kekkia koruna"
- },
- "KES": {
- "name": "kenjanskur skillingur"
- },
- "CLP": {
- "name": "Kili peso"
- },
- "CNY": {
- "name": "kinesiskur yuan",
- "symbol": "CN¥"
- },
- "KGS": {
- "name": "Kirgisia som"
- },
- "COP": {
- "name": "Kolombia peso"
- },
- "KMF": {
- "name": "Komoroyggjar frankur"
- },
- "CDF": {
- "name": "Kongo frankur"
- },
- "CRC": {
- "name": "Kosta Rika colón"
- },
- "HRK": {
- "name": "Kroatia kuna"
- },
- "CUP": {
- "name": "Kuba peso"
- },
- "CUC": {
- "name": "Kuba peso (sum kann vekslast)"
- },
- "KWD": {
- "name": "Kuvait dinar"
- },
- "LAK": {
- "name": "Laos kip"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "LBP": {
- "name": "Libanon pund"
- },
- "LRD": {
- "name": "Liberia dollari"
- },
- "LYD": {
- "name": "Libya dinar"
- },
- "MGA": {
- "name": "Madagaskar ariary"
- },
- "MOP": {
- "name": "Makao pataca"
- },
- "MKD": {
- "name": "Makedónia denar"
- },
- "MYR": {
- "name": "Malaisia ringgit"
- },
- "MWK": {
- "name": "Malavi kwacha"
- },
- "MVR": {
- "name": "Maldivoyggjar rufiyaa"
- },
- "MAD": {
- "name": "Marokko dirham"
- },
- "MXN": {
- "name": "Meksiko peso",
- "symbol": "MX$"
- },
- "XAF": {
- "name": "Miðafrika CFA frankur",
- "symbol": "FCFA"
- },
- "MDL": {
- "name": "Moldova leu"
- },
- "MNT": {
- "name": "Mongolia tugrik"
- },
- "MRU": {
- "name": "Móritania ouguiya"
- },
- "MUR": {
- "name": "Móritius rupi"
- },
- "MZN": {
- "name": "Mosambik metical"
- },
- "MMK": {
- "name": "Myanmar (Burma) kyat"
- },
- "NAD": {
- "name": "Namibia dollari"
- },
- "NPR": {
- "name": "Nepal rupi"
- },
- "ANG": {
- "name": "Niðurlonds Karibia gyllin"
- },
- "NGN": {
- "name": "Nigeria naira"
- },
- "NIO": {
- "name": "Nikaragua córdoba"
- },
- "KPW": {
- "name": "Norðurkorea won"
- },
- "NOK": {
- "name": "norsk króna"
- },
- "NZD": {
- "name": "Nýsæland dollari",
- "symbol": "NZ$"
- },
- "OMR": {
- "name": "Oman rial"
- },
- "PKR": {
- "name": "Pakistan rupi"
- },
- "PAB": {
- "name": "Panama balboa"
- },
- "PGK": {
- "name": "Papua Nýguinea kina"
- },
- "PYG": {
- "name": "Paraguai guarani"
- },
- "PEN": {
- "name": "Peru sol"
- },
- "PLN": {
- "name": "Pólland zloty"
- },
- "RWF": {
- "name": "Ruanda frankur"
- },
- "RON": {
- "name": "Rumenia leu"
- },
- "RUB": {
- "name": "Russland ruble"
- },
- "SBD": {
- "name": "Salomonoyggjar dollari"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "ZMW": {
- "name": "Sambia kwacha"
- },
- "AED": {
- "name": "Sameindu Emirríkini dirham"
- },
- "WST": {
- "name": "Samoa tala"
- },
- "STN": {
- "name": "Sao Tome & Prinsipi dobra"
- },
- "SAR": {
- "name": "Saudiarabia riyal"
- },
- "RSD": {
- "name": "Serbia dinar"
- },
- "SCR": {
- "name": "Seyskelloyggjar rupi"
- },
- "SLL": {
- "name": "Sierra Leona leone"
- },
- "SGD": {
- "name": "Singapor dollari"
- },
- "SOS": {
- "name": "Somalia skillingur"
- },
- "LKR": {
- "name": "Sri Lanka rupi"
- },
- "SHP": {
- "name": "St. Helena pund"
- },
- "SDG": {
- "name": "Sudan pund"
- },
- "ZAR": {
- "name": "Suðurafrika rand"
- },
- "KRW": {
- "name": "Suðurkorea won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "Suðursudan pund"
- },
- "SRD": {
- "name": "Surinam dollari"
- },
- "SZL": {
- "name": "Svasiland lilangeni"
- },
- "CHF": {
- "name": "sveisiskur frankur"
- },
- "SEK": {
- "name": "svensk króna"
- },
- "SYP": {
- "name": "Sýria pund"
- },
- "TJS": {
- "name": "Tadsjikistan somoni"
- },
- "THB": {
- "name": "Tailand baht"
- },
- "TWD": {
- "name": "Taivan new dollari",
- "symbol": "NT$"
- },
- "TZS": {
- "name": "Tansania skillingur"
- },
- "TOP": {
- "name": "Tonga paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago dollari"
- },
- "TND": {
- "name": "Tunesia dinar"
- },
- "TRY": {
- "name": "Turkaland liri"
- },
- "TMT": {
- "name": "Turkmenistan manat"
- },
- "UGX": {
- "name": "Uganda skillingur"
- },
- "UAH": {
- "name": "Ukraina hryvnia"
- },
- "HUF": {
- "name": "Ungarn forint"
- },
- "UYU": {
- "name": "Uruguai peso"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "USD": {
- "name": "US dollari",
- "symbol": "US$"
- },
- "UZS": {
- "name": "Usbekistan som"
- },
- "VUV": {
- "name": "Vanuatu vatu"
- },
- "VES": {
- "name": "Venesuela bolívar"
- },
- "XOF": {
- "name": "Vesturafrika CFA frankur",
- "symbol": "CFA"
- },
- "VND": {
- "name": "Vjetnam dong",
- "symbol": "₫"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fur.json b/vendor/commerceguys/intl/resources/currency/fur.json
deleted file mode 100644
index 6873334c3..000000000
--- a/vendor/commerceguys/intl/resources/currency/fur.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "AOA": {
- "name": "Angolan Kwanza"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BHD": {
- "name": "Bahraini Dinar"
- },
- "THB": {
- "name": "baht tailandês"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "Botswanan Pula"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "CVE": {
- "name": "Cape Verdean Escudo"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XAF": {
- "name": "Central African CFA Franc",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "KMF": {
- "name": "Comorian Franc"
- },
- "CDF": {
- "name": "Congolese Franc"
- },
- "NIO": {
- "name": "Córdoba oro nicaraguan"
- },
- "DKK": {
- "name": "corone danese"
- },
- "CZK": {
- "name": "Corone de Republiche Ceche"
- },
- "NOK": {
- "name": "corone norvegjese"
- },
- "SEK": {
- "name": "corone svedese"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "DZD": {
- "name": "Dinar algerin"
- },
- "RSD": {
- "name": "Dinar serp"
- },
- "DJF": {
- "name": "Djiboutian Franc"
- },
- "USD": {
- "name": "dolar american",
- "symbol": "US$"
- },
- "AUD": {
- "name": "dolar australian",
- "symbol": "A$"
- },
- "CAD": {
- "name": "dolar canadês",
- "symbol": "CA$"
- },
- "BND": {
- "name": "Dolar dal Brunei"
- },
- "HKD": {
- "name": "dolar di Hong Kong",
- "symbol": "HK$"
- },
- "NAD": {
- "name": "Dolar namibian"
- },
- "NZD": {
- "name": "Dollar neozelandês",
- "symbol": "NZ$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "AMD": {
- "name": "Dram armen"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "EGP": {
- "name": "Egyptian Pound"
- },
- "ERN": {
- "name": "Eritrean Nakfa"
- },
- "ETB": {
- "name": "Ethiopian Birr"
- },
- "EUR": {
- "name": "euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "BIF": {
- "name": "Franc burundês"
- },
- "CHF": {
- "name": "franc svuizar"
- },
- "GMD": {
- "name": "Gambian Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "TWD": {
- "name": "gnûf dolar taiwanês",
- "symbol": "NT$"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Kenyan Shilling"
- },
- "HRK": {
- "name": "Kuna cravuate"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "LRD": {
- "name": "Liberian Dollar"
- },
- "LYD": {
- "name": "Libyan Dinar"
- },
- "TRY": {
- "name": "lire turche"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MGA": {
- "name": "Malagasy Ariary"
- },
- "MWK": {
- "name": "Malawian Kwacha"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MRU": {
- "name": "Mauritanian Ouguiya"
- },
- "MUR": {
- "name": "Mauritian Rupee"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MAD": {
- "name": "Moroccan Dirham"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "NGN": {
- "name": "Nigerian Naira"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "ARS": {
- "name": "Peso argjentin"
- },
- "CUP": {
- "name": "Peso cuban"
- },
- "MXN": {
- "name": "peso messican",
- "symbol": "MX$"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "rand sudafrican"
- },
- "BRL": {
- "name": "real brasilian",
- "symbol": "R$"
- },
- "IRR": {
- "name": "Rial iranian"
- },
- "SAR": {
- "name": "riyal de Arabie Saudite"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "BYN": {
- "name": "Rubli bielorùs"
- },
- "RUB": {
- "name": "rubli rus"
- },
- "IDR": {
- "name": "rupiah indonesiane"
- },
- "INR": {
- "name": "rupie indiane",
- "symbol": "₹"
- },
- "PKR": {
- "name": "Rupie pachistane"
- },
- "RWF": {
- "name": "Rwandan Franc"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "São Tomé & Príncipe Dobra"
- },
- "SCR": {
- "name": "Seychellois Rupee"
- },
- "SLL": {
- "name": "Sierra Leonean Leone"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somali Shilling"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SHP": {
- "name": "St. Helena Pound"
- },
- "GBP": {
- "name": "sterline britaniche",
- "symbol": "£"
- },
- "SDG": {
- "name": "Sudanese Pound"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SZL": {
- "name": "Swazi Lilangeni"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Tanzanian Shilling"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunisian Dinar"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "Ugandan Shilling"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "AED": {
- "name": "United Arab Emirates Dirham"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "XOF": {
- "name": "West African CFA Franc",
- "symbol": "CFA"
- },
- "KRW": {
- "name": "won de Coree dal Sud",
- "symbol": "₩"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "yen gjaponês",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "yuan cinês",
- "symbol": "CN¥"
- },
- "ZMW": {
- "name": "Zambian Kwacha"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "PLN": {
- "name": "zloty polac"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/fy.json b/vendor/commerceguys/intl/resources/currency/fy.json
deleted file mode 100644
index cc1a57e54..000000000
--- a/vendor/commerceguys/intl/resources/currency/fy.json
+++ /dev/null
@@ -1,498 +0,0 @@
-{
- "AFN": {
- "name": "Afghaanske afghani"
- },
- "ALL": {
- "name": "Albanese lek"
- },
- "DZD": {
- "name": "Algerynske dinar"
- },
- "USD": {
- "name": "Amerikaanske dollar",
- "symbol": "US$"
- },
- "AOA": {
- "name": "Angolese kwanza"
- },
- "ARS": {
- "name": "Argentynske peso"
- },
- "AMD": {
- "name": "Armeense dram"
- },
- "AWG": {
- "name": "Arubaanske gulden"
- },
- "AUD": {
- "name": "Australyske dollar",
- "symbol": "AU$"
- },
- "AZN": {
- "name": "Azerbeidzjaanske manat"
- },
- "BSD": {
- "name": "Bahamaanske dollar"
- },
- "BHD": {
- "name": "Bahreinse dinar"
- },
- "BBD": {
- "name": "Barbadaanske dollar"
- },
- "BZD": {
- "name": "Belizaanske dollar"
- },
- "BDT": {
- "name": "Bengalese taka"
- },
- "BMD": {
- "name": "Bermuda-dollar"
- },
- "BTN": {
- "name": "Bhutaanske ngultrum"
- },
- "BOB": {
- "name": "Boliviaanske boliviano"
- },
- "BAM": {
- "name": "Bosnyske convertibele mark"
- },
- "BWP": {
- "name": "Botswaanske pula"
- },
- "BRL": {
- "name": "Braziliaanske real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "Brits pûn",
- "symbol": "£"
- },
- "BND": {
- "name": "Bruneise dollar"
- },
- "BGN": {
- "name": "Bulgaarse lev"
- },
- "BIF": {
- "name": "Burundese frank"
- },
- "CAD": {
- "name": "Canadese dollar",
- "symbol": "C$"
- },
- "KYD": {
- "name": "Caymaneilânske dollar"
- },
- "XOF": {
- "name": "CFA-franc BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA-frank",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP-franc"
- },
- "CDF": {
- "name": "Congolese frank"
- },
- "CRC": {
- "name": "Costaricaanske colón"
- },
- "DKK": {
- "name": "Deenske kroon"
- },
- "DJF": {
- "name": "Djiboutiaanske frank"
- },
- "DOP": {
- "name": "Dominikaanske peso"
- },
- "XCD": {
- "name": "East-Karibyske dollar",
- "symbol": "EC$"
- },
- "EGP": {
- "name": "Egyptysk pûn"
- },
- "ERN": {
- "name": "Eritrese nakfa"
- },
- "ETB": {
- "name": "Ethiopyske birr"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falklâneilânske pûn"
- },
- "VES": {
- "name": "Fenezolaanske bolivar"
- },
- "VND": {
- "name": "Fietnameeske dong",
- "symbol": "₫"
- },
- "FJD": {
- "name": "Fiji-dollar",
- "symbol": "FJ$"
- },
- "PHP": {
- "name": "Filipynske peso"
- },
- "GMD": {
- "name": "Gambiaanske dalasi"
- },
- "GEL": {
- "name": "Georgyske lari"
- },
- "GHS": {
- "name": "Ghanese cedi"
- },
- "GIP": {
- "name": "Gibraltarees pûn"
- },
- "GTQ": {
- "name": "Guatemalteekse quetzal"
- },
- "GNF": {
- "name": "Guinese franc"
- },
- "GYD": {
- "name": "Guyaanske dollar"
- },
- "HTG": {
- "name": "Haïtiaanske gourde"
- },
- "HNL": {
- "name": "Hondurese lempira"
- },
- "HUF": {
- "name": "Hongaarse forint"
- },
- "HKD": {
- "name": "Hongkongske dollar",
- "symbol": "HK$"
- },
- "INR": {
- "name": "Indiase roepie",
- "symbol": "₹"
- },
- "IDR": {
- "name": "Indonesyske roepia"
- },
- "IQD": {
- "name": "Iraakse dinar"
- },
- "IRR": {
- "name": "Iraanske rial"
- },
- "ILS": {
- "name": "Israëlyske nieuwe shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaikaanske dollar"
- },
- "JPY": {
- "name": "Japanse yen",
- "symbol": "JP¥"
- },
- "YER": {
- "name": "Jemenityske rial"
- },
- "JOD": {
- "name": "Jordaanske dinar"
- },
- "CVE": {
- "name": "Kaapverdyske escudo"
- },
- "KHR": {
- "name": "Kambodjaanske riel"
- },
- "QAR": {
- "name": "Katarese rial"
- },
- "KZT": {
- "name": "Kazachstaanske tenge"
- },
- "KES": {
- "name": "Keniaanske shilling"
- },
- "KGS": {
- "name": "Kirgizyske som"
- },
- "KWD": {
- "name": "Koeweitse dinar"
- },
- "COP": {
- "name": "Kolombiaanske peso"
- },
- "KMF": {
- "name": "Komorese frank"
- },
- "HRK": {
- "name": "Kroatyske kuna"
- },
- "CUC": {
- "name": "Kubaanske convertibele peso"
- },
- "CUP": {
- "name": "Kubaanske peso"
- },
- "LAK": {
- "name": "Laotiaanske kip"
- },
- "LSL": {
- "name": "Lesothaanske loti"
- },
- "LBP": {
- "name": "Libaneeske pûn"
- },
- "LRD": {
- "name": "Liberiaanske dollar"
- },
- "LYD": {
- "name": "Libyske dinar"
- },
- "MOP": {
- "name": "Macause pataca"
- },
- "MKD": {
- "name": "Macedonyske denar"
- },
- "MGA": {
- "name": "Malagassyske ariary"
- },
- "MWK": {
- "name": "Malawyske kwacha"
- },
- "MVR": {
- "name": "Maldivyske rufiyaa"
- },
- "MYR": {
- "name": "Maleisyske ringgit"
- },
- "MAD": {
- "name": "Marokkaanske dirham"
- },
- "MRU": {
- "name": "Mauritaanske ouguiya"
- },
- "MUR": {
- "name": "Mauritiaanske roepie"
- },
- "MXN": {
- "name": "Meksikaanske peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldavyske leu"
- },
- "MNT": {
- "name": "Mongoalske tugrik"
- },
- "MZN": {
- "name": "Mozambikaanske metical"
- },
- "MMK": {
- "name": "Myanmarese kyat"
- },
- "NAD": {
- "name": "Namibyske dollar"
- },
- "ANG": {
- "name": "Nederlânsk-Antilliaanske gûne"
- },
- "NPR": {
- "name": "Nepalese roepie"
- },
- "NIO": {
- "name": "Nicaraguaanske córdoba"
- },
- "NGN": {
- "name": "Nigeriaanske naira"
- },
- "NZD": {
- "name": "Nij-Seelânske dollar",
- "symbol": "NZ$"
- },
- "TWD": {
- "name": "Nije Taiwanese dollar",
- "symbol": "NT$"
- },
- "KPW": {
- "name": "Noard-Koreaanske won"
- },
- "NOK": {
- "name": "Noarske kroon"
- },
- "UGX": {
- "name": "Oegandese shilling"
- },
- "UAH": {
- "name": "Oekraïense hryvnia"
- },
- "UZS": {
- "name": "Oezbekistaanske sum"
- },
- "OMR": {
- "name": "Omaanske rial"
- },
- "PKR": {
- "name": "Pakistaanske roepie"
- },
- "PAB": {
- "name": "Panamese balboa"
- },
- "PGK": {
- "name": "Papuaanske kina"
- },
- "PYG": {
- "name": "Paraguayaanske guarani"
- },
- "PEN": {
- "name": "Peruaanske sol"
- },
- "PLN": {
- "name": "Poalske zloty"
- },
- "RON": {
- "name": "Roemeenske leu"
- },
- "RUB": {
- "name": "Russyske roebel"
- },
- "RWF": {
- "name": "Rwandese frank"
- },
- "SBD": {
- "name": "Salomon-dollar",
- "symbol": "SI$"
- },
- "SVC": {
- "name": "Salvadoraanske colón"
- },
- "ZMW": {
- "name": "Sambiaanske kwacha"
- },
- "WST": {
- "name": "Samoaanske tala"
- },
- "STN": {
- "name": "Santomese dobra"
- },
- "SAR": {
- "name": "Saoedi-Arabyske riyal"
- },
- "RSD": {
- "name": "Servyske dinar"
- },
- "SCR": {
- "name": "Seychelse roepie"
- },
- "SLL": {
- "name": "Sierraleoonse leone"
- },
- "CLP": {
- "name": "Sileenske peso"
- },
- "ZWL": {
- "name": "Simbabwaanske dollar (2009)"
- },
- "CNY": {
- "name": "Sineeske yuan renminbi",
- "symbol": "CN¥"
- },
- "SGD": {
- "name": "Singaporese dollar"
- },
- "SHP": {
- "name": "Sint-Heleenske pûn"
- },
- "SDG": {
- "name": "Soedaneeske pûn"
- },
- "SOS": {
- "name": "Somalyske shilling"
- },
- "LKR": {
- "name": "Sri Lankaanske roepie"
- },
- "ZAR": {
- "name": "Sûd-Afrikaanske rand"
- },
- "KRW": {
- "name": "Sûd-Koreaanske won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "Sûd-Soedaneeske pûn"
- },
- "SRD": {
- "name": "Surinaamske dollar"
- },
- "SZL": {
- "name": "Swazyske lilangeni"
- },
- "SEK": {
- "name": "Sweedske kroon"
- },
- "SYP": {
- "name": "Syrysk pûn"
- },
- "TJS": {
- "name": "Tadzjikistaanske somoni"
- },
- "TZS": {
- "name": "Tanzaniaanske shilling"
- },
- "THB": {
- "name": "Thaise baht",
- "symbol": "฿"
- },
- "TOP": {
- "name": "Tongaanske paʻanga"
- },
- "TTD": {
- "name": "Trinidad en Tobago-dollar"
- },
- "CZK": {
- "name": "Tsjechyske kroon"
- },
- "TND": {
- "name": "Tunesyske dinar"
- },
- "TMT": {
- "name": "Turkmeense manat"
- },
- "TRY": {
- "name": "Turkse lira"
- },
- "UYU": {
- "name": "Uruguayaanske peso"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "VUV": {
- "name": "Vanuatuaanske vatu"
- },
- "AED": {
- "name": "Verenigde Arabyske Emiraten-dirham"
- },
- "BYN": {
- "name": "Wit-Russyske roebel"
- },
- "ISK": {
- "name": "Yslânske kroon"
- },
- "CHF": {
- "name": "Zwitserse frank"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/guz.json b/vendor/commerceguys/intl/resources/currency/guz.json
deleted file mode 100644
index 020a51dbc..000000000
--- a/vendor/commerceguys/intl/resources/currency/guz.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariary ya Bukini"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "USD": {
- "name": "Dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "SDG": {
- "name": "Pauni ya Sudani"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Kenya",
- "symbol": "Ksh"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ha.json b/vendor/commerceguys/intl/resources/currency/ha.json
deleted file mode 100644
index af69fec0e..000000000
--- a/vendor/commerceguys/intl/resources/currency/ha.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "USD": {
- "name": "Dalar Amirka",
- "symbol": "$"
- },
- "CAD": {
- "name": "Dalar Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dalar Laberiya"
- },
- "NAD": {
- "name": "Dalar Namibiya"
- },
- "AUD": {
- "name": "Dalar Ostareliya",
- "symbol": "A$"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "EGP": {
- "name": "Fam kin Masar"
- },
- "SHP": {
- "name": "Fam kin San Helena"
- },
- "SDG": {
- "name": "Fam kin Sudan"
- },
- "GBP": {
- "name": "Fam na Ingila",
- "symbol": "£"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "ZAR": {
- "name": "Kuɗin Afirka Ta Kudu"
- },
- "DZD": {
- "name": "Kuɗin Aljeriya"
- },
- "AOA": {
- "name": "Kuɗin Angola"
- },
- "BHD": {
- "name": "Kuɗin Baharan"
- },
- "BWP": {
- "name": "Kuɗin Baswana"
- },
- "BIF": {
- "name": "Kuɗin Burundi"
- },
- "ERN": {
- "name": "Kuɗin Eritireya"
- },
- "GMD": {
- "name": "Kuɗin Gambiya"
- },
- "ETB": {
- "name": "Kuɗin Habasha"
- },
- "AED": {
- "name": "Kuɗin Haɗaɗɗiyar Daular Larabawa"
- },
- "INR": {
- "name": "Kuɗin Indiya",
- "symbol": "₹"
- },
- "DJF": {
- "name": "Kuɗin Jibuti"
- },
- "CDF": {
- "name": "Kuɗin Kongo"
- },
- "KMF": {
- "name": "Kuɗin Kwamoras"
- },
- "LSL": {
- "name": "Kuɗin Lesoto"
- },
- "LYD": {
- "name": "Kuɗin Libiya"
- },
- "SZL": {
- "name": "Kuɗin Lilangeni"
- },
- "MGA": {
- "name": "Kuɗin Madagaskar"
- },
- "MWK": {
- "name": "Kuɗin Malawi"
- },
- "MAD": {
- "name": "Kuɗin Maroko"
- },
- "MRU": {
- "name": "Kuɗin Moritaniya"
- },
- "MUR": {
- "name": "Kuɗin Moritus"
- },
- "RWF": {
- "name": "Kuɗin Ruwanda"
- },
- "SCR": {
- "name": "Kuɗin Saishal"
- },
- "SLL": {
- "name": "Kuɗin Salewo"
- },
- "STN": {
- "name": "Kuɗin Sawo Tome da Paransip"
- },
- "XAF": {
- "name": "Kuɗin Sefa na Afirka Ta Tsakiya",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "Kuɗin Sefa na Afirka Ta Yamma",
- "symbol": "CFA"
- },
- "CHF": {
- "name": "Kuɗin Suwizalan"
- },
- "TND": {
- "name": "Kuɗin Tunisiya"
- },
- "CVE": {
- "name": "Kuɗin Tsibiran Kap Barde"
- },
- "ZMW": {
- "name": "Kuɗin Zambiya"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Nairar Najeriya",
- "symbol": "₦"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "BRL": {
- "name": "Ril Kudin Birazil",
- "symbol": "R$"
- },
- "SAR": {
- "name": "Riyal"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Ruble kasar Rasha"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "UGX": {
- "name": "Sule Yuganda"
- },
- "KES": {
- "name": "Sulen Kenya"
- },
- "SOS": {
- "name": "Sulen Somaliya"
- },
- "TZS": {
- "name": "Sulen Tanzaniya"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yen kasar Japan",
- "symbol": "¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "CNY": {
- "name": "Yuwan kasar Sin",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/hsb.json b/vendor/commerceguys/intl/resources/currency/hsb.json
deleted file mode 100644
index a76c6cb9f..000000000
--- a/vendor/commerceguys/intl/resources/currency/hsb.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "afghaniski afghani"
- },
- "ALL": {
- "name": "albanski lek"
- },
- "DZD": {
- "name": "algeriski dinar"
- },
- "USD": {
- "name": "ameriski dolar",
- "symbol": "$"
- },
- "AOA": {
- "name": "angolska kwanza"
- },
- "ARS": {
- "name": "argentinski peso"
- },
- "AMD": {
- "name": "armenski dram"
- },
- "AWG": {
- "name": "aruba-florin"
- },
- "AUD": {
- "name": "awstralski dolar"
- },
- "AZN": {
- "name": "azerbajdźanski manat"
- },
- "BSD": {
- "name": "bahamaski dolar"
- },
- "BHD": {
- "name": "bahrainski dinar"
- },
- "BDT": {
- "name": "bangladešska taka"
- },
- "BBD": {
- "name": "barbadoski dolar"
- },
- "BZD": {
- "name": "belizeski dolar"
- },
- "BMD": {
- "name": "bermudaski dolar"
- },
- "BYN": {
- "name": "běłoruski rubl"
- },
- "BTN": {
- "name": "bhutanski ngultrum"
- },
- "BGN": {
- "name": "bołharski lew"
- },
- "BOB": {
- "name": "boliwiski boliviano"
- },
- "BAM": {
- "name": "bosniska konwertibelna hriwna"
- },
- "BWP": {
- "name": "botswanska pula"
- },
- "BRL": {
- "name": "brazilski real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "britiski punt",
- "symbol": "£"
- },
- "BND": {
- "name": "bruneiski dolar"
- },
- "BIF": {
- "name": "burundiski frank"
- },
- "XOF": {
- "name": "CFA-frank (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA-frank (BEAC)",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP-frank",
- "symbol": "CFPF"
- },
- "CZK": {
- "name": "čěska króna"
- },
- "DKK": {
- "name": "danska króna"
- },
- "DOP": {
- "name": "dominikanski peso"
- },
- "DJF": {
- "name": "dźibutiski frank"
- },
- "EGP": {
- "name": "egyptowski punt"
- },
- "SVC": {
- "name": "el salvadorski colón"
- },
- "ERN": {
- "name": "eritrejska nakfa"
- },
- "ETB": {
- "name": "etiopiski birr"
- },
- "EUR": {
- "name": "euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "falklandski punt"
- },
- "FJD": {
- "name": "fidźiski dolar"
- },
- "PHP": {
- "name": "filipinski peso"
- },
- "GMD": {
- "name": "gambiski dalasi"
- },
- "GEL": {
- "name": "georgiski lari"
- },
- "GHS": {
- "name": "ghanaski cedi"
- },
- "GIP": {
- "name": "gibraltarski punt"
- },
- "GNF": {
- "name": "ginejski frank"
- },
- "GTQ": {
- "name": "guatemalski quetzal"
- },
- "GYD": {
- "name": "guyanski dolar"
- },
- "HTG": {
- "name": "haitiska gourda"
- },
- "HNL": {
- "name": "honduraska lempira"
- },
- "HKD": {
- "name": "hongkongski dolar",
- "symbol": "HK$"
- },
- "CLP": {
- "name": "chilski peso"
- },
- "CNY": {
- "name": "chinski yuan",
- "symbol": "CN¥"
- },
- "HRK": {
- "name": "chorwatska kuna"
- },
- "INR": {
- "name": "indiska rupija",
- "symbol": "₹"
- },
- "IDR": {
- "name": "indoneska rupija"
- },
- "IQD": {
- "name": "irakski dinar"
- },
- "IRR": {
- "name": "iranski rial"
- },
- "ISK": {
- "name": "islandska króna"
- },
- "ILS": {
- "name": "israelski nowy šekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "jamaiski dolar"
- },
- "JPY": {
- "name": "japanski yen",
- "symbol": "¥"
- },
- "YER": {
- "name": "jemenski rial"
- },
- "JOD": {
- "name": "jordaniski dinar"
- },
- "ZAR": {
- "name": "južnoafriski rand"
- },
- "KRW": {
- "name": "južnokorejski won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "južnosudanski punt"
- },
- "KYD": {
- "name": "kajmanski dolar"
- },
- "KHR": {
- "name": "kambodźaski riel"
- },
- "CAD": {
- "name": "kanadiski dolar",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "kapverdski escudo"
- },
- "QAR": {
- "name": "katarski rial"
- },
- "KZT": {
- "name": "kazachski tenge"
- },
- "KES": {
- "name": "keniaski šiling"
- },
- "KGS": {
- "name": "kirgiski som"
- },
- "COP": {
- "name": "kolumbiski peso"
- },
- "KMF": {
- "name": "komorski frank"
- },
- "CDF": {
- "name": "kongoski frank"
- },
- "CRC": {
- "name": "kosta-rikaski colón"
- },
- "CUC": {
- "name": "kubaski konwertibelny peso"
- },
- "CUP": {
- "name": "kubaski peso"
- },
- "KWD": {
- "name": "kuwaitski dinar"
- },
- "LAK": {
- "name": "laoski kip"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "LBP": {
- "name": "libanonski punt"
- },
- "LRD": {
- "name": "liberiski dolar"
- },
- "LYD": {
- "name": "libyski dinar"
- },
- "MOP": {
- "name": "macaoska pataka"
- },
- "MGA": {
- "name": "madagaskarski ariary"
- },
- "HUF": {
- "name": "madźarski forint"
- },
- "MKD": {
- "name": "makedonski denar"
- },
- "MYR": {
- "name": "malajziski ringgit"
- },
- "MWK": {
- "name": "malawiski kwacha"
- },
- "MVR": {
- "name": "malediwiska rupija"
- },
- "MAD": {
- "name": "marokkoski dirham"
- },
- "MUR": {
- "name": "mauritiuska rupija"
- },
- "MRU": {
- "name": "mawretanska ouguiya"
- },
- "MXN": {
- "name": "mexiski peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "moldawski leu"
- },
- "MNT": {
- "name": "mongolski tugrik"
- },
- "MZN": {
- "name": "mosambikski metical"
- },
- "MMK": {
- "name": "myanmarski kyat"
- },
- "NAD": {
- "name": "namibiski dolar"
- },
- "NPR": {
- "name": "nepalska rupija"
- },
- "NGN": {
- "name": "nigeriski naira"
- },
- "NIO": {
- "name": "nikaraguaski cordoba"
- },
- "ANG": {
- "name": "nižozemsko-antilski gulden"
- },
- "NOK": {
- "name": "norwegska króna"
- },
- "NZD": {
- "name": "nowoseelandski dolar",
- "symbol": "NZ$"
- },
- "TWD": {
- "name": "nowy taiwanski dolar",
- "symbol": "NT$"
- },
- "OMR": {
- "name": "omanski rial"
- },
- "PKR": {
- "name": "pakistanska rupija"
- },
- "PAB": {
- "name": "panamaski balboa"
- },
- "PGK": {
- "name": "papua-nowoginejski kina"
- },
- "PYG": {
- "name": "paraguayski guarani"
- },
- "PEN": {
- "name": "peruski sol"
- },
- "PLN": {
- "name": "pólski złoty",
- "symbol": "zł"
- },
- "RWF": {
- "name": "ruandiski frank"
- },
- "RON": {
- "name": "rumunski leu"
- },
- "RUB": {
- "name": "ruski rubl"
- },
- "SBD": {
- "name": "salomonski dolar"
- },
- "ZMW": {
- "name": "sambiski kwacha"
- },
- "WST": {
- "name": "samoaski tala"
- },
- "STN": {
- "name": "são tomeski dobra"
- },
- "SAR": {
- "name": "saudi-arabski rial"
- },
- "RSD": {
- "name": "serbiski dinar"
- },
- "KPW": {
- "name": "sewjernokorejski won"
- },
- "SCR": {
- "name": "seychellska rupija"
- },
- "SLL": {
- "name": "sierra-leoneski leone"
- },
- "SGD": {
- "name": "singapurski dolar"
- },
- "SOS": {
- "name": "somaliski šiling"
- },
- "LKR": {
- "name": "sri-lankaska rupija"
- },
- "SHP": {
- "name": "St. Helenski punt"
- },
- "SDG": {
- "name": "sudanski punt"
- },
- "SRD": {
- "name": "surinamski dolar"
- },
- "SZL": {
- "name": "swasiski lilangeni"
- },
- "SYP": {
- "name": "syriski punt"
- },
- "SEK": {
- "name": "šwedska króna"
- },
- "CHF": {
- "name": "šwicarski frank"
- },
- "TJS": {
- "name": "tadźikski somoni"
- },
- "TZS": {
- "name": "tansaniski šiling"
- },
- "THB": {
- "name": "thaiski baht",
- "symbol": "฿"
- },
- "TOP": {
- "name": "tongaski paʻanga"
- },
- "TTD": {
- "name": "trinidad-tobagoski dolar"
- },
- "TND": {
- "name": "tuneziski dinar"
- },
- "TMT": {
- "name": "turkmenski manat"
- },
- "TRY": {
- "name": "turkowska lira"
- },
- "UGX": {
- "name": "ugandaski šiling"
- },
- "UAH": {
- "name": "ukrainska hriwna"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "uruguayski peso"
- },
- "UZS": {
- "name": "uzbekski sum"
- },
- "VUV": {
- "name": "vanuatuski vatu"
- },
- "VES": {
- "name": "venezuelski bolívar"
- },
- "VND": {
- "name": "vietnamski dong",
- "symbol": "₫"
- },
- "XCD": {
- "name": "wuchodnokaribiski dolar",
- "symbol": "EC$"
- },
- "AED": {
- "name": "ZAE dirham"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/jmc.json b/vendor/commerceguys/intl/resources/currency/jmc.json
deleted file mode 100644
index 7d6a4ff33..000000000
--- a/vendor/commerceguys/intl/resources/currency/jmc.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "SDG": {
- "name": "Dinari ya Sudani"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "USD": {
- "name": "Dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "MGA": {
- "name": "Faranga ya Bukini"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Kenya"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania",
- "symbol": "TSh"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/jv.json b/vendor/commerceguys/intl/resources/currency/jv.json
deleted file mode 100644
index 085ef0b47..000000000
--- a/vendor/commerceguys/intl/resources/currency/jv.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghani Afganistan"
- },
- "MGA": {
- "name": "Ariary Malagasi"
- },
- "BHD": {
- "name": "Bahrain Dinar"
- },
- "THB": {
- "name": "Baht Thai"
- },
- "PAB": {
- "name": "Balboa Panama"
- },
- "ETB": {
- "name": "Birr Ethiopia"
- },
- "VES": {
- "name": "Bolivar Venezuela"
- },
- "BOB": {
- "name": "Boliviano Bolivia"
- },
- "GHS": {
- "name": "Cedi Ghana"
- },
- "XOF": {
- "name": "CFA Franc Afrika Kulon",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA Franc Afrika Tengah",
- "symbol": "FCFA"
- },
- "CRC": {
- "name": "Colon Kosta Rika"
- },
- "NIO": {
- "name": "Cordoba Nikaragua"
- },
- "GMD": {
- "name": "Dalasi Gambia"
- },
- "MKD": {
- "name": "Denar Masedonia"
- },
- "DZD": {
- "name": "Dinar Algeria"
- },
- "IQD": {
- "name": "Dinar Irak"
- },
- "KWD": {
- "name": "Dinar Kuwait"
- },
- "LYD": {
- "name": "Dinar Libya"
- },
- "RSD": {
- "name": "Dinar Serbia"
- },
- "TND": {
- "name": "Dinar Tunisia"
- },
- "JOD": {
- "name": "Dinar Yordania"
- },
- "MAD": {
- "name": "Dirham Maroko"
- },
- "AED": {
- "name": "Dirham Uni Emirat Arab"
- },
- "STN": {
- "name": "Dobra Sao Tome lan Principe"
- },
- "USD": {
- "name": "Dolar Amerika Serikat",
- "symbol": "US$"
- },
- "TWD": {
- "name": "Dolar Anyar Taiwan",
- "symbol": "NT$"
- },
- "AUD": {
- "name": "Dolar Australia",
- "symbol": "A$"
- },
- "BSD": {
- "name": "Dolar Bahamian"
- },
- "BBD": {
- "name": "Dolar Barbadian"
- },
- "BZD": {
- "name": "Dolar Belise"
- },
- "BMD": {
- "name": "Dolar Bermuda"
- },
- "BND": {
- "name": "Dolar Brunai"
- },
- "FJD": {
- "name": "Dolar Fiji"
- },
- "GYD": {
- "name": "Dolar Guyana"
- },
- "HKD": {
- "name": "Dolar Hong Kong",
- "symbol": "HK$"
- },
- "JMD": {
- "name": "Dolar Jamaika"
- },
- "CAD": {
- "name": "Dolar Kanada",
- "symbol": "CA$"
- },
- "XCD": {
- "name": "Dolar Karibia Wetan",
- "symbol": "EC$"
- },
- "KYD": {
- "name": "Dolar Kepuloan Caiman"
- },
- "SBD": {
- "name": "Dolar Kepuloan Solomon"
- },
- "LRD": {
- "name": "Dolar Liberia"
- },
- "NAD": {
- "name": "Dolar Namibia"
- },
- "NZD": {
- "name": "Dolar Selandia Anyar",
- "symbol": "NZ$"
- },
- "SGD": {
- "name": "Dolar Singapura"
- },
- "SRD": {
- "name": "Dolar Suriname"
- },
- "TTD": {
- "name": "Dolar Trinidad lan Tobago"
- },
- "VND": {
- "name": "Dong Vietnam",
- "symbol": "₫"
- },
- "AMD": {
- "name": "Dram Armenia"
- },
- "CVE": {
- "name": "Escudo Tanjung Verde"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "AWG": {
- "name": "Florin Aruban"
- },
- "HUF": {
- "name": "Forint Hungaria"
- },
- "BIF": {
- "name": "Franc Burundi"
- },
- "XPF": {
- "name": "Franc CFP",
- "symbol": "CFPF"
- },
- "DJF": {
- "name": "Franc Djibouti"
- },
- "GNF": {
- "name": "Franc Guinea"
- },
- "KMF": {
- "name": "Franc Komoro"
- },
- "CDF": {
- "name": "Franc Kongo"
- },
- "RWF": {
- "name": "Franc Rwanda"
- },
- "CHF": {
- "name": "Franc Swiss"
- },
- "HTG": {
- "name": "Gourde Haiti"
- },
- "PYG": {
- "name": "Guarani Paraguay"
- },
- "ANG": {
- "name": "Guilder Antilla Walanda"
- },
- "UAH": {
- "name": "Hryvnia Ukrania"
- },
- "PGK": {
- "name": "Kina Papua Nugini"
- },
- "LAK": {
- "name": "Kip Laos"
- },
- "CZK": {
- "name": "Koruna Czech"
- },
- "ISK": {
- "name": "Krona Islandia"
- },
- "SEK": {
- "name": "Krona Swedia"
- },
- "DKK": {
- "name": "Krone Denmark"
- },
- "NOK": {
- "name": "Krone Norwegia"
- },
- "HRK": {
- "name": "Kuna Kroasia"
- },
- "MWK": {
- "name": "Kwacha Malawi"
- },
- "ZMW": {
- "name": "Kwacha Sambia"
- },
- "AOA": {
- "name": "Kwanza Angola"
- },
- "MMK": {
- "name": "Kyat Myanmar"
- },
- "GEL": {
- "name": "Lari Georgia"
- },
- "ALL": {
- "name": "Lek Albania"
- },
- "HNL": {
- "name": "Lempira Honduras"
- },
- "SLL": {
- "name": "Leone Sierra Leone"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "MDL": {
- "name": "Leu Moldova"
- },
- "RON": {
- "name": "Leu Rumania"
- },
- "BGN": {
- "name": "Lev Bulgaria"
- },
- "SZL": {
- "name": "Lilangeni Swasi"
- },
- "TRY": {
- "name": "Lira Turki"
- },
- "AZN": {
- "name": "Manat Azerbaijan"
- },
- "TMT": {
- "name": "Manat Turmenistan"
- },
- "BAM": {
- "name": "Mark Konvertibel Bosnia-Herzegovina"
- },
- "MZN": {
- "name": "Metical Mosambik"
- },
- "NGN": {
- "name": "Naira Nigeria"
- },
- "ERN": {
- "name": "Nakfa Eritrea"
- },
- "BTN": {
- "name": "Ngultrum Bhutan"
- },
- "MRU": {
- "name": "Ouguiya Mauritania"
- },
- "TOP": {
- "name": "Paʻanga Tonga"
- },
- "MOP": {
- "name": "Pataca Macau"
- },
- "ARS": {
- "name": "Peso Argentina"
- },
- "CLP": {
- "name": "Peso Chili"
- },
- "DOP": {
- "name": "Peso Dominika"
- },
- "COP": {
- "name": "Peso Kolumbia"
- },
- "CUC": {
- "name": "Peso Konvertibel Kuba"
- },
- "CUP": {
- "name": "Peso Kuba"
- },
- "MXN": {
- "name": "Peso Meksiko",
- "symbol": "MX$"
- },
- "UYU": {
- "name": "Peso Uruguay"
- },
- "PHP": {
- "name": "Piso Filipina"
- },
- "GIP": {
- "name": "Pound Gibraltar"
- },
- "GBP": {
- "name": "Pound Inggris",
- "symbol": "£"
- },
- "FKP": {
- "name": "Pound Kepuloan Falkland"
- },
- "LBP": {
- "name": "Pound Libanon"
- },
- "EGP": {
- "name": "Pound Mesir"
- },
- "SHP": {
- "name": "Pound Santa Helena"
- },
- "SYP": {
- "name": "Pound Siria"
- },
- "SDG": {
- "name": "Pound Sudan"
- },
- "SSP": {
- "name": "Pound Sudan Kidul"
- },
- "BWP": {
- "name": "Pula Botswana"
- },
- "GTQ": {
- "name": "Quetzal Guatemala"
- },
- "ZAR": {
- "name": "Rand Afrika Kidul"
- },
- "BRL": {
- "name": "Real Brasil",
- "symbol": "R$"
- },
- "IRR": {
- "name": "Rial Iran"
- },
- "OMR": {
- "name": "Rial Oman"
- },
- "QAR": {
- "name": "Rial Qatar"
- },
- "YER": {
- "name": "Rial Yaman"
- },
- "KHR": {
- "name": "Riel Kamboja"
- },
- "MYR": {
- "name": "Ringgit Malaysia"
- },
- "SAR": {
- "name": "Riyal Saudi"
- },
- "RUB": {
- "name": "Rubel Rusia"
- },
- "BYN": {
- "name": "Ruble Belarusia"
- },
- "MVR": {
- "name": "Rufiyaa Maladewa"
- },
- "INR": {
- "name": "Rupee India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupee Mauritius"
- },
- "NPR": {
- "name": "Rupee Nepal"
- },
- "PKR": {
- "name": "Rupee Pakistan"
- },
- "SCR": {
- "name": "Rupee Seichelles"
- },
- "LKR": {
- "name": "Rupee Sri Lanka"
- },
- "IDR": {
- "name": "Rupiah Indonesia",
- "symbol": "Rp"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "ILS": {
- "name": "Shekel Anyar Israel",
- "symbol": "₪"
- },
- "KES": {
- "name": "Shilling Kenya"
- },
- "SOS": {
- "name": "Shilling Somalia"
- },
- "TZS": {
- "name": "Shilling Tansania"
- },
- "UGX": {
- "name": "Shilling Uganda"
- },
- "PEN": {
- "name": "Sol Peru"
- },
- "KGS": {
- "name": "Som Kirgistan"
- },
- "UZS": {
- "name": "Som Usbekistan"
- },
- "TJS": {
- "name": "Somoni Tajikistan"
- },
- "BDT": {
- "name": "Taka Bangladesh"
- },
- "WST": {
- "name": "Tala Samoa"
- },
- "KZT": {
- "name": "Tenge Kasakhstan"
- },
- "MNT": {
- "name": "Tugrik Mongol"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "VUV": {
- "name": "Vatu Vanuatu"
- },
- "KRW": {
- "name": "Won Korea Kidul",
- "symbol": "₩"
- },
- "KPW": {
- "name": "Won Korea Lor"
- },
- "JPY": {
- "name": "Yen Jepang",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuan Tyongkok",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "PLN": {
- "name": "Zloty Polandia"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kab.json b/vendor/commerceguys/intl/resources/currency/kab.json
deleted file mode 100644
index 79149cf47..000000000
--- a/vendor/commerceguys/intl/resources/currency/kab.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "ETB": {
- "name": "Abir Utyupi"
- },
- "KES": {
- "name": "Aciling Akini"
- },
- "SOS": {
- "name": "Aciling Aṣumali"
- },
- "TZS": {
- "name": "Aciling Aṭanẓani"
- },
- "UGX": {
- "name": "Aciling Awgandi"
- },
- "GMD": {
- "name": "Adalasi Agambi"
- },
- "BHD": {
- "name": "Adinar Abaḥrini"
- },
- "LYD": {
- "name": "Adinar Alibi"
- },
- "TND": {
- "name": "Adinar Atunsi"
- },
- "DZD": {
- "name": "Adinar Azzayri",
- "symbol": "DA"
- },
- "MAD": {
- "name": "Adirham Amerruki"
- },
- "AED": {
- "name": "Adirham n Tgeldunin Taɛrabin Yedduklen"
- },
- "CAD": {
- "name": "Adular Akanadi",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Adular Alibiri"
- },
- "NAD": {
- "name": "Adular Anamibi"
- },
- "AUD": {
- "name": "Adular n Lusṭrali",
- "symbol": "A$"
- },
- "USD": {
- "name": "Adular WD",
- "symbol": "US$"
- },
- "AFN": {
- "name": "Afghan Afghani"
- },
- "BIF": {
- "name": "Afrank Aburandi"
- },
- "DJF": {
- "name": "Afrank Ajibuti"
- },
- "KMF": {
- "name": "Afrank Akamiruni"
- },
- "CDF": {
- "name": "Afrank Akunguli"
- },
- "RWF": {
- "name": "Afrank Aruwandi"
- },
- "CHF": {
- "name": "Afrank Aswis"
- },
- "XAF": {
- "name": "Afrank BCEA CFA",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "Afrank BCEAO CFA",
- "symbol": "CFA"
- },
- "MRU": {
- "name": "Agiya Amuriṭani"
- },
- "CVE": {
- "name": "Akabuviradinu Askudi"
- },
- "MWK": {
- "name": "Akwaca Amalawi"
- },
- "ZMW": {
- "name": "Akwaca Azambi"
- },
- "AOA": {
- "name": "Akwanza n Ungula"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "SZL": {
- "name": "Alilangini"
- },
- "LSL": {
- "name": "Aluṭi Alizuṭi"
- },
- "SLL": {
- "name": "Alyun"
- },
- "ERN": {
- "name": "Anakfa Iritiri"
- },
- "NGN": {
- "name": "Anayra Anijiri"
- },
- "BWP": {
- "name": "Apula Abusṭwanan"
- },
- "GBP": {
- "name": "Apund Aglizi",
- "symbol": "£"
- },
- "EGP": {
- "name": "Apund Amaṣri"
- },
- "SHP": {
- "name": "Apund Asant Ilini"
- },
- "SDG": {
- "name": "Apund Asudani"
- },
- "ZAR": {
- "name": "Arand Afriqi n Wadda"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "INR": {
- "name": "Arupi Ahendi",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Arupi Amurisi"
- },
- "SCR": {
- "name": "Arupi Aseycili"
- },
- "SAR": {
- "name": "Aryal Asuɛudi"
- },
- "MGA": {
- "name": "Aryari Amalgac"
- },
- "STN": {
- "name": "Asw Ṭum d Udubra Amenzay"
- },
- "JPY": {
- "name": "Ayen Ajappuni",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Ayuwan Renminbi Acinwa",
- "symbol": "CN¥"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "EUR": {
- "name": "Uru",
- "symbol": "€"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kam.json b/vendor/commerceguys/intl/resources/currency/kam.json
deleted file mode 100644
index 1b1fe8369..000000000
--- a/vendor/commerceguys/intl/resources/currency/kam.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariary ya Bukini"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "GMD": {
- "name": "Ndalasi ya Gambia"
- },
- "TND": {
- "name": "Ndinari ya Tunisia"
- },
- "AUD": {
- "name": "Ndola ya Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Ndola ya Kanada",
- "symbol": "CA$"
- },
- "USD": {
- "name": "Ndola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Ndola ya Namibia"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Silingi ya Kenya",
- "symbol": "Ksh"
- },
- "SOS": {
- "name": "Silingi ya Somalia"
- },
- "TZS": {
- "name": "Silingi ya Tanzania"
- },
- "UGX": {
- "name": "Silingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "EGP": {
- "name": "Vaundi ya Misili"
- },
- "SHP": {
- "name": "Vaũndi ya Santahelena"
- },
- "SDG": {
- "name": "Vaũndi ya Sudani"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kde.json b/vendor/commerceguys/intl/resources/currency/kde.json
deleted file mode 100644
index da51a2797..000000000
--- a/vendor/commerceguys/intl/resources/currency/kde.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "SDG": {
- "name": "Dinari ya Sudani"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Chiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "USD": {
- "name": "Dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "MGA": {
- "name": "Faranga ya Bukini"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Chijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Kenya"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania",
- "symbol": "TSh"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kea.json b/vendor/commerceguys/intl/resources/currency/kea.json
deleted file mode 100644
index 26edbf84b..000000000
--- a/vendor/commerceguys/intl/resources/currency/kea.json
+++ /dev/null
@@ -1,498 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariari di Madagaskar"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "THB": {
- "name": "Baht tailandes",
- "symbol": "฿"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir etiópiku"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi"
- },
- "DZD": {
- "name": "Dinar arjelinu"
- },
- "BHD": {
- "name": "Dinar di Barain"
- },
- "LYD": {
- "name": "Dinar líbiu"
- },
- "TND": {
- "name": "Dinar tunizianu"
- },
- "AED": {
- "name": "Diren di Emiradus Arabi Unidu"
- },
- "MAD": {
- "name": "Diren marokinu"
- },
- "STN": {
- "name": "Dobra di San Tume i Prínsipi"
- },
- "AUD": {
- "name": "Dola australianu",
- "symbol": "AU$"
- },
- "HKD": {
- "name": "Dola di Ong Kong",
- "symbol": "HK$"
- },
- "CAD": {
- "name": "Dola kanadianu",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola liberianu"
- },
- "USD": {
- "name": "Dola merkanu",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola namibianu"
- },
- "TWD": {
- "name": "Dola Novu di Taiwan",
- "symbol": "NT$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "BIF": {
- "name": "Franku borundes"
- },
- "XOF": {
- "name": "Franku CFA (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Franku CFA (BEAC)",
- "symbol": "FCFA"
- },
- "DJF": {
- "name": "Franku di Djibuti"
- },
- "KMF": {
- "name": "Franku di Komoris"
- },
- "CDF": {
- "name": "Franku kongoles"
- },
- "RWF": {
- "name": "Franku ruandes"
- },
- "CHF": {
- "name": "Franku suisu"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "JPY": {
- "name": "Ieni japones",
- "symbol": "JP¥"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "CNY": {
- "name": "Iuan xines",
- "symbol": "CN¥"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "AOA": {
- "name": "Kuanza"
- },
- "MWK": {
- "name": "Kuaxa di Malaui"
- },
- "ZMW": {
- "name": "Kuaxa zambianu"
- },
- "DKK": {
- "name": "Kuroa dinamarkeza"
- },
- "NOK": {
- "name": "Kuroa norueges"
- },
- "SEK": {
- "name": "Kuroa sueku"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leone di Sera Leoa"
- },
- "GBP": {
- "name": "Libra britániku",
- "symbol": "£"
- },
- "SHP": {
- "name": "Libra di Santa Ilena"
- },
- "EGP": {
- "name": "Libra ejípsiu"
- },
- "SDG": {
- "name": "Libra sudanes"
- },
- "SZL": {
- "name": "Lilanjeni"
- },
- "TRY": {
- "name": "Lira turku"
- },
- "LSL": {
- "name": "Loti di Lezotu"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "Nafka di Eritreia"
- },
- "NGN": {
- "name": "Naira"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "MRU": {
- "name": "Ougia"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "MXN": {
- "name": "Pezu mexikanu",
- "symbol": "MX$"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "BWP": {
- "name": "Pula di Botsuana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Rand sulafrikanu"
- },
- "BRL": {
- "name": "Rial brazileru",
- "symbol": "R$"
- },
- "SAR": {
- "name": "Rial saudita"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Rublu rusu"
- },
- "MUR": {
- "name": "Rupia di Maurisias"
- },
- "SCR": {
- "name": "Rupia di Seixelis"
- },
- "INR": {
- "name": "Rupia indianu",
- "symbol": "₹"
- },
- "IDR": {
- "name": "Rupia indoneziu"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "CVE": {
- "name": "Skudu Kabuverdianu",
- "symbol": "​"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "KRW": {
- "name": "Won sul-koreanu",
- "symbol": "₩"
- },
- "TZS": {
- "name": "Xelin di Tanzania"
- },
- "KES": {
- "name": "Xelin kenianu"
- },
- "SOS": {
- "name": "Xelin somalianu"
- },
- "UGX": {
- "name": "Xelin ugandensi"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "PLN": {
- "name": "Zloty polaku"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/khq.json b/vendor/commerceguys/intl/resources/currency/khq.json
deleted file mode 100644
index 9ddc15238..000000000
--- a/vendor/commerceguys/intl/resources/currency/khq.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "DZD": {
- "name": "Alžeeri Dinar"
- },
- "USD": {
- "name": "Ameriki Dollar",
- "symbol": "US$"
- },
- "AOA": {
- "name": "Angoola Kwanza"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BHD": {
- "name": "Bahareen Dinar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "Botswaana Pund"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "Britin Pund",
- "symbol": "£"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "BIF": {
- "name": "Burundi Fraŋ"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XOF": {
- "name": "CFA Fraŋ (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA Fraŋ (BEAC)",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "ETB": {
- "name": "Ecioopi Birr"
- },
- "EUR": {
- "name": "Eero",
- "symbol": "€"
- },
- "ERN": {
- "name": "Eritree Nafka"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "Gambi Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "ZAR": {
- "name": "Hawasa Afriki Rand"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "INR": {
- "name": "Indu Rupii",
- "symbol": "₹"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JPY": {
- "name": "Jaapoŋ Yen",
- "symbol": "JP¥"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "DJF": {
- "name": "Jibuuti Fraŋ"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CAD": {
- "name": "Kanaada Dollar",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "Kapuver Escudo"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Keeniya Šiiliŋ"
- },
- "KMF": {
- "name": "Komoor Fraŋ"
- },
- "CDF": {
- "name": "Kongo Fraŋ"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "AED": {
- "name": "Laaraw Immaara Margantey Dirham"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leeon"
- },
- "LSL": {
- "name": "Leezoto Loti"
- },
- "LRD": {
- "name": "Liberia Dollar"
- },
- "LYD": {
- "name": "Liibi Dinar"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "MAD": {
- "name": "Maarok Dirham"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MWK": {
- "name": "Malaawi Kwaca"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MGA": {
- "name": "Malgaaši Fraŋ"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "EGP": {
- "name": "Misra Pund"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MUR": {
- "name": "Mooris Rupii"
- },
- "MRU": {
- "name": "Mooritaani Ugiya"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naajiriya Neera"
- },
- "NAD": {
- "name": "Naamibi Dollar"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "AUD": {
- "name": "Ostraali Dollar",
- "symbol": "A$"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "RWF": {
- "name": "Rwanda Fraŋ"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "Sao Tome nda Prinsipe Dobra"
- },
- "SAR": {
- "name": "Saudiya Riyal"
- },
- "SCR": {
- "name": "Seešel Rupii"
- },
- "SHP": {
- "name": "Seŋ Helena Fraŋ"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "CNY": {
- "name": "Sinwa Yuan Renminbi",
- "symbol": "CN¥"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somaali Šiiliŋ"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SDG": {
- "name": "Suudaŋ Dinar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "CHF": {
- "name": "Swisu Fraŋ"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Tanzaani Šiiliŋ"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunizi Dinar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "Uganda Šiiliŋ"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZMW": {
- "name": "Zambi Kwaca"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ki.json b/vendor/commerceguys/intl/resources/currency/ki.json
deleted file mode 100644
index 7263f51e2..000000000
--- a/vendor/commerceguys/intl/resources/currency/ki.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariary ya Bukini"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "SOS": {
- "name": "ciringi cia cumarĩ"
- },
- "TZS": {
- "name": "ciringi cia Tanizania"
- },
- "UGX": {
- "name": "ciringi cia Ũganda"
- },
- "KES": {
- "name": "Ciringi ya Kenya",
- "symbol": "Ksh"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "GBP": {
- "name": "Mbauini cia Ngeretha",
- "symbol": "£"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "USD": {
- "name": "Ndora cia Amerika",
- "symbol": "US$"
- },
- "CAD": {
- "name": "Ndora ya Kananda",
- "symbol": "CA$"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "SDG": {
- "name": "Pauni ya Sudani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rubia rwa India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kln.json b/vendor/commerceguys/intl/resources/currency/kln.json
deleted file mode 100644
index b31d286a4..000000000
--- a/vendor/commerceguys/intl/resources/currency/kln.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "AUD": {
- "name": "Dolaitab Australian",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dolaitab Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dolaitab Liberia"
- },
- "NAD": {
- "name": "Dolaitab Namibia"
- },
- "USD": {
- "name": "Dolaitab ya Amareka",
- "symbol": "US$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "ZMW": {
- "name": "Kwachaitab Zambia"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leonit"
- },
- "SZL": {
- "name": "Lilangenit"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauditab Misri"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "SHP": {
- "name": "Pouditab helena ne tilil"
- },
- "SDG": {
- "name": "Pouditab Sudan"
- },
- "GBP": {
- "name": "pounditab Uingereza",
- "symbol": "£"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "DZD": {
- "name": "Rabisiekab Algerian"
- },
- "AOA": {
- "name": "Rabisiekab Angolan"
- },
- "BHD": {
- "name": "Rabisiekab Bahrain"
- },
- "BWP": {
- "name": "Rabisiekab Botswana"
- },
- "BIF": {
- "name": "Rabisiekab Burundi"
- },
- "XOF": {
- "name": "Rabisiekab CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Rabisiekab CFA BEAC",
- "symbol": "FCFA"
- },
- "CNY": {
- "name": "Rabisiekab China",
- "symbol": "CN¥"
- },
- "CDF": {
- "name": "Rabisiekab Congo"
- },
- "ERN": {
- "name": "Rabisiekab Eritrea"
- },
- "ETB": {
- "name": "Rabisiekab Ethiopia"
- },
- "GMD": {
- "name": "Rabisiekab Gambia"
- },
- "INR": {
- "name": "Rabisiekab India",
- "symbol": "₹"
- },
- "JPY": {
- "name": "Rabisiekab Japan",
- "symbol": "JP¥"
- },
- "DJF": {
- "name": "Rabisiekab Jibuti"
- },
- "CVE": {
- "name": "Rabisiekab Kepuvede"
- },
- "AED": {
- "name": "Rabisiekab Kibagegeitab arabuk"
- },
- "KMF": {
- "name": "Rabisiekab Komoro"
- },
- "LSL": {
- "name": "Rabisiekab Lesoto"
- },
- "LYD": {
- "name": "Rabisiekab Libya"
- },
- "MGA": {
- "name": "Rabisiekab Malagasy"
- },
- "MRU": {
- "name": "Rabisiekab Mauritania"
- },
- "MUR": {
- "name": "Rabisiekab Mauritius"
- },
- "MAD": {
- "name": "Rabisiekab Moroccan"
- },
- "NGN": {
- "name": "Rabisiekab Nigeria"
- },
- "RWF": {
- "name": "Rabisiekab Rwanda"
- },
- "STN": {
- "name": "Rabisiekab Sao Tome ak Principe"
- },
- "SAR": {
- "name": "Rabisiekab Saudia"
- },
- "SCR": {
- "name": "Rabisiekab Shelisheli"
- },
- "CHF": {
- "name": "Rabisiekab Swiss"
- },
- "TND": {
- "name": "RabisiekabTunisia"
- },
- "MWK": {
- "name": "Rabisiekaby Malawi"
- },
- "ZAR": {
- "name": "Randitab Afrika nebo murot tai"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SOS": {
- "name": "siligitab Somalia"
- },
- "TZS": {
- "name": "silingitab Tanzania"
- },
- "UGX": {
- "name": "Silingitab Uganda"
- },
- "KES": {
- "name": "Silingitab ya Kenya",
- "symbol": "Ksh"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "EUR": {
- "name": "Yuroit",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/kn.json b/vendor/commerceguys/intl/resources/currency/kn.json
deleted file mode 100644
index d6323bb08..000000000
--- a/vendor/commerceguys/intl/resources/currency/kn.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "XPF": {
- "name": "[CFP] ಫ್ರಾಂಕ್",
- "symbol": "CFPF"
- },
- "AOA": {
- "name": "ಅಂಗೋಲಾದ ಕ್ವಾನ್ಝಾ"
- },
- "AZN": {
- "name": "ಅಝರ್‌ಬೈಜಾನಿ ಮನಾತ್"
- },
- "AFN": {
- "name": "ಅಫ್‌ಘನ್ ಅಫಘಾನಿ"
- },
- "USD": {
- "name": "ಅಮೆರಿಕದ ಡಾಲರ್‌",
- "symbol": "$"
- },
- "AWG": {
- "name": "ಅರುಬನ್ ಫ್ಲೊರೀನ್‌‌"
- },
- "ARS": {
- "name": "ಅರ್ಜೆಂಟಿನಾ ಪೆಸೊ"
- },
- "AMD": {
- "name": "ಅರ್ಮೆನಿಯನ್ ಡ್ರಾಮ್"
- },
- "DZD": {
- "name": "ಅಲ್ಜೀರಿಯನ್ ದಿನಾರ್"
- },
- "ALL": {
- "name": "ಅಲ್‌ಬೇನಿಯನ್ ಲೆಕ್"
- },
- "AUD": {
- "name": "ಆಸ್ಟ್ರೇಲಿಯನ್ ಡಾಲರ್‌",
- "symbol": "A$"
- },
- "IDR": {
- "name": "ಇಂಡೊನೇಷ್ಯಾ ರುಪೈ"
- },
- "ETB": {
- "name": "ಇಥಿಯೋಪಿಯನ್ ಬಿರ್"
- },
- "IQD": {
- "name": "ಇರಾಕಿ ದಿನಾರ್"
- },
- "IRR": {
- "name": "ಇರಾನಿಯನ್ ರಿಯಲ್"
- },
- "ILS": {
- "name": "ಇಸ್ರೇಲಿ ನ್ಯೂ ಶೇಖಲ್",
- "symbol": "₪"
- },
- "EGP": {
- "name": "ಈಜಿಪ್ಷಿಯನ್ ಪೌಂಡ್‍"
- },
- "UAH": {
- "name": "ಉಕ್ರೇನಿಯನ್ ಹ್ರಿವ್ನೀಯ"
- },
- "UGX": {
- "name": "ಉಗಾಂಡನ್ ಶಿಲ್ಲಿಂಗ್"
- },
- "UZS": {
- "name": "ಉಜ್ಬೇಕಿಸ್ತಾನ್ ಸೊಮ್"
- },
- "KPW": {
- "name": "ಉತ್ತರ ಕೊರಿಯನ್ ವೋನ್"
- },
- "UYU": {
- "name": "ಉರುಗ್ವೆಯ ಪೆಸೊ"
- },
- "ERN": {
- "name": "ಎರಿತ್ರಿಯನ್ ನಕ್ಫಾ"
- },
- "ISK": {
- "name": "ಐಸ್‌ಲ್ಯಾಂಡಿಕ್ ಕ್ರೋನಾ"
- },
- "OMR": {
- "name": "ಒಮಾನಿ ರಿಯಲ್"
- },
- "KZT": {
- "name": "ಕಜಾಕಿಸ್ತಾನಿ ತೆಂಗೆ"
- },
- "CDF": {
- "name": "ಕಾಂಗೋಲೀಸ್ ಫ್ರಾಂಕ್"
- },
- "KHR": {
- "name": "ಕಾಂಬೋಡಿಯನ್ ರಿಯಲ್"
- },
- "KGS": {
- "name": "ಕಿರ್ಗಿಸ್ತಾನಿ ಸೋಮ್"
- },
- "KES": {
- "name": "ಕೀನ್ಯಾದ ಶಿಲ್ಲಿಂಗ್‌"
- },
- "KWD": {
- "name": "ಕುವೈತೀ ದಿನಾರ್"
- },
- "CAD": {
- "name": "ಕೆನಡಾದ ಡಾಲರ್",
- "symbol": "CA$"
- },
- "KYD": {
- "name": "ಕೆಮ್ಯಾನ್‌ ಐಲ್ಯಾಂಡ್‌ನ ಡಾಲರ್‌"
- },
- "CVE": {
- "name": "ಕೇಪ್ ವರ್ಡಿನ್ ಎಸ್‌ಕೂಡೊ"
- },
- "KMF": {
- "name": "ಕೊಮೊರಿಯನ್ ಫ್ರಾಂಕ್"
- },
- "COP": {
- "name": "ಕೊಲೊಂಬಿಯೋದ ಪೆಸೊ"
- },
- "CRC": {
- "name": "ಕೋಸ್ಟ ರಿಕನ್ ಕೊಲನ್"
- },
- "CUC": {
- "name": "ಕ್ಯುಬಾದ ಪರಿವರ್ತನೀಯ ಪೆಸೊ"
- },
- "CUP": {
- "name": "ಕ್ಯೂಬಾದ ಪೆಸೊ"
- },
- "HRK": {
- "name": "ಕ್ರೊಯೆಷ್ಯಾದ ಕೂನಾ"
- },
- "QAR": {
- "name": "ಖತಾರಿ ರಿಯಲ್"
- },
- "GNF": {
- "name": "ಗಿನಿಯನ್ ಫ್ರಾಂಕ್"
- },
- "GIP": {
- "name": "ಗಿಬ್ರಾಲ್ಟರ್ ಪೌಂಡ್"
- },
- "GYD": {
- "name": "ಗುಯಾನೀಸ್‌ ಡಾಲರ್‌"
- },
- "GMD": {
- "name": "ಗ್ಯಾಂಬಿಯಾದ ದಲಾಸಿ"
- },
- "GTQ": {
- "name": "ಗ್ವಾಟೆಮಾಲಾದ ಕುಯಿಟ್ಸಲ್‌‌"
- },
- "GHS": {
- "name": "ಘಾನಾದ ಸೆದಿ"
- },
- "CLP": {
- "name": "ಚಿಲಿಯ ಪೆಸೊ"
- },
- "CNY": {
- "name": "ಚೈನೀಸ್ ಯುವಾನ್",
- "symbol": "CN¥"
- },
- "JPY": {
- "name": "ಜಪಾನೀಸ್ ಯೆನ್",
- "symbol": "JP¥"
- },
- "JMD": {
- "name": "ಜಮೈಕನ್ ಡಾಲರ್"
- },
- "ZMW": {
- "name": "ಜಾಂಬಿಯಾ ಕ್ವಾಚ"
- },
- "GEL": {
- "name": "ಜಾರ್ಜಿಯಾದ ಲಾರಿ"
- },
- "DJF": {
- "name": "ಜಿಬೊಟಿಯನ್ ಫ್ರಾಂಕ್"
- },
- "JOD": {
- "name": "ಜೋರ್ಡಾನಿಯನ್ ದಿನಾರ್"
- },
- "CZK": {
- "name": "ಝೆಕ್ ಗಣರಾಜ್ಯ ಕೊರೂನ"
- },
- "TRY": {
- "name": "ಟರ್ಕಿಶ್ ಲಿರಾ"
- },
- "TMT": {
- "name": "ಟರ್ಕ್‍ಮೆನಿಸ್ತಾನ್ ಮನಾತ್"
- },
- "TOP": {
- "name": "ಟೊಂಗಾ ಪಾಂಗ"
- },
- "TND": {
- "name": "ಟ್ಯುನೀಷಿಯನ್‌ ದಿನಾರ್"
- },
- "TTD": {
- "name": "ಟ್ರಿನಿಡಾಡ್ ಮತ್ತು ಟೊಬಾಗೊ ಡಾಲರ್"
- },
- "DOP": {
- "name": "ಡೊಮಿನಿಕನ್ ಪೆಸೊ"
- },
- "DKK": {
- "name": "ಡ್ಯಾನಿಶ್ ಕ್ರೋನ್"
- },
- "TJS": {
- "name": "ತಜಕಿಸ್ತಾನಿ ಸೊಮೋನಿ"
- },
- "TZS": {
- "name": "ತಾನ್‌ಜೇನಿಯನ್ ಶಿಲ್ಲಿಂಗ್"
- },
- "THB": {
- "name": "ಥಾಯ್ ಬಹ್ತ್",
- "symbol": "฿"
- },
- "ZAR": {
- "name": "ದಕ್ಷಿಣ ಆಫ್ರಿಕನ್ ರಾಂಡ್"
- },
- "KRW": {
- "name": "ದಕ್ಷಿಣ ಕೊರಿಯನ್ ವೊನ್",
- "symbol": "₩"
- },
- "SSP": {
- "name": "ದಕ್ಷಿಣ ಸೂಡಾನೀಸ್ ಪೌಂಡ್‍"
- },
- "NAD": {
- "name": "ನಮೀಬಿಯನ್ ಡಾಲರ್"
- },
- "NOK": {
- "name": "ನಾರ್ವೇಯ ಕ್ರೋನ್"
- },
- "NIO": {
- "name": "ನಿಕಾರಗ್ವಾದ ಕರ್ದೊಬಾ"
- },
- "ANG": {
- "name": "ನೆದರ್ಲೆಂಡ್ಸ್ ಆಂಟಿಲಿಯನ್ ಗಿಲ್ಡರ್"
- },
- "NPR": {
- "name": "ನೇಪಾಳದ ರುಪೀ"
- },
- "NGN": {
- "name": "ನೈಜೀರಿಯಾದ ನೇರಾ"
- },
- "TWD": {
- "name": "ನ್ಯೂ ತೈವಾನ್ ಡಾಲರ್",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಡಾಲರ್",
- "symbol": "NZ$"
- },
- "PAB": {
- "name": "ಪನಾಮಾನಿಯನ್ ಬಲ್ಬೋವಾ"
- },
- "PGK": {
- "name": "ಪಪುವಾ ನ್ಯೂ ಗಿನಿಯನ್ ಕಿನಾ"
- },
- "XOF": {
- "name": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾದ CFA ಫ್ರಾಂಕ್",
- "symbol": "CFA"
- },
- "PKR": {
- "name": "ಪಾಕಿಸ್ತಾನದ ರುಪೀ"
- },
- "XCD": {
- "name": "ಪೂರ್ವ ಕೆರೀಬಿಯನ್ ಡಾಲರ್",
- "symbol": "EC$"
- },
- "PYG": {
- "name": "ಪೆರುಗ್ವೇಯ ಗ್ವಾರನೀ"
- },
- "PEN": {
- "name": "ಪೆರುವಿಯನ್ ಸೊಲ್"
- },
- "PLN": {
- "name": "ಪೊಲಿಶ್ ಝ್ಲೋಟಿ"
- },
- "FKP": {
- "name": "ಫಾಲ್ಕ್‌ಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳ ಪೌಂಡ್"
- },
- "FJD": {
- "name": "ಫಿಜಿಯನ್ ಡಾಲರ್"
- },
- "PHP": {
- "name": "ಫಿಲಿಪ್ಪೈನ್ ಪಿಸೊ"
- },
- "BBD": {
- "name": "ಬರ್ಬಾಡಿಯನ್ ಡಾಲರ್"
- },
- "BMD": {
- "name": "ಬರ್ಮುಡನ್ ಡಾಲರ್"
- },
- "BGN": {
- "name": "ಬಲ್ಗೇರಿಯನ್ ಲೆವ್"
- },
- "BSD": {
- "name": "ಬಹಾಮಿಯನ್ ಡಾಲರ್"
- },
- "BHD": {
- "name": "ಬಹ್‌‌ರೈನಿ ದಿನಾರ್"
- },
- "BDT": {
- "name": "ಬಾಂಗ್ಲಾದೇಶದ ಟಾಕಾ"
- },
- "BIF": {
- "name": "ಬುರುಂದಿಯನ್ ಫ್ರಾಂಕ್"
- },
- "BYN": {
- "name": "ಬೆಲಾರುಸಿಯನ್ ರೂಬಲ್"
- },
- "BZD": {
- "name": "ಬೆಲೀಜ್ ಡಾಲರ್"
- },
- "BOB": {
- "name": "ಬೊಲಿವಿಯಾದ ಬೊಲಿವಿಯಾನೊ"
- },
- "BWP": {
- "name": "ಬೋಟ್ಸ್‌ವಾನನ್ ಪುಲಾ"
- },
- "BAM": {
- "name": "ಬೋಸ್ನಿಯಾ-ಹರ್ಜ್‌ಗೋವಿನ ಪರಿವರ್ತನೀಯ ಗುರುತು"
- },
- "GBP": {
- "name": "ಬ್ರಿಟೀಷ್ ಪೌಂಡ್",
- "symbol": "£"
- },
- "BND": {
- "name": "ಬ್ರೂನಿ ಡಾಲರ್"
- },
- "BRL": {
- "name": "ಬ್ರೆಜಿಲಿಯನ್‌ ರಿಯಲ್",
- "symbol": "R$"
- },
- "INR": {
- "name": "ಭಾರತೀಯ ರೂಪಾಯಿ",
- "symbol": "₹"
- },
- "BTN": {
- "name": "ಭೂತಾನೀಸ್ ನುಲ್ತರಮ್"
- },
- "MNT": {
- "name": "ಮಂಗೋಲಿಯಾದ ತುಗ್ರಿಕ್‌‌"
- },
- "MOP": {
- "name": "ಮಕಾನಿಸ್ ಪಟಾಕಾ"
- },
- "XAF": {
- "name": "ಮಧ್ಯ ಆಫ್ರಿಕನ್ CFA ಫ್ರಾಂಕ್",
- "symbol": "FCFA"
- },
- "MGA": {
- "name": "ಮಲಗಾಸಿ ಅರಿಯಾರಿ"
- },
- "MWK": {
- "name": "ಮಲಾವಿಯ ಕ್ವಾಚ"
- },
- "MYR": {
- "name": "ಮಲೇಶಿಯನ್ ರಿಂಗಿಟ್"
- },
- "MDL": {
- "name": "ಮಲ್ದೋವಾದ ಲೆವೂ"
- },
- "MUR": {
- "name": "ಮಾರಿಷಿಯನ್ ರುಪಿ"
- },
- "MVR": {
- "name": "ಮಾಲ್ಡೀವಿಯನ್ ರುಫಿಯಾ"
- },
- "MXN": {
- "name": "ಮೆಕ್ಸಿಕೊದ ಪೆಸೊ",
- "symbol": "MX$"
- },
- "MKD": {
- "name": "ಮೆಸಡೋನಿಯನ್ ದಿನಾರ್"
- },
- "MZN": {
- "name": "ಮೊಝಾಂಬಿಕನ್ ಮೆಟಿಕಲ್"
- },
- "MAD": {
- "name": "ಮೊರೊಕನ್ ದಿರ್‌ಹಮ್"
- },
- "MRU": {
- "name": "ಮೌರೀಶಿಯನಿಯನ್ ಒಗಿಯ"
- },
- "MMK": {
- "name": "ಮ್ಯಾನ್ಮಾರ್ ಕ್ಯಾಟ್"
- },
- "EUR": {
- "name": "ಯೂರೊ",
- "symbol": "€"
- },
- "YER": {
- "name": "ಯೆಮೆನಿ ರಿಯಲ್"
- },
- "RUB": {
- "name": "ರಶಿಯನ್ ರೂಬಲ್"
- },
- "RWF": {
- "name": "ರುವಾಂಡನ್ ಫ್ರಾಂಕ್"
- },
- "RON": {
- "name": "ರೊಮೇನಿಯನ್ ಲೆವು"
- },
- "LYD": {
- "name": "ಲಿಬಿಯಾದ ದಿನಾರ್‌"
- },
- "LRD": {
- "name": "ಲಿಬೇರಿಯನ್ ಡಾಲರ್"
- },
- "LBP": {
- "name": "ಲೆಬೆನೀಸ್ ಪೌಂಡ್"
- },
- "LSL": {
- "name": "ಲೆಸೊತೊ ಲೊತಿ"
- },
- "LAK": {
- "name": "ಲೋಟಿಯನ್ ಕಿಪ್"
- },
- "VUV": {
- "name": "ವನೂತು ವತು"
- },
- "VND": {
- "name": "ವಿಯೆಟ್ನಾಮೀಸ್ ಡಾಂಗ್",
- "symbol": "₫"
- },
- "VES": {
- "name": "ವೆನಿಜುಲಿಯನ್ ಬೊಲಿವರ್"
- },
- "LKR": {
- "name": "ಶ್ರೀಲಂಕಾದ ರುಪೀ"
- },
- "AED": {
- "name": "ಸಂಯುಕ್ತ ಅರಬ್‌ ಎಮಿರೇಟ್‌‌ಗಳ ದಿರಾಮ್‌‌"
- },
- "WST": {
- "name": "ಸಮೋನ್ ತಲಾ"
- },
- "STN": {
- "name": "ಸಾವೊ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪ್ ದೊಬ್ರಾ"
- },
- "SGD": {
- "name": "ಸಿಂಗಾಪುರ್ ಡಾಲರ್‌"
- },
- "SLL": {
- "name": "ಸಿಯೆರಾ ಲಿಯೋನಿಯನ್ ಲಿಯೋನ್"
- },
- "SYP": {
- "name": "ಸಿರಿಯನ್ ಪೌಂಡ್"
- },
- "SDG": {
- "name": "ಸುಡಾನೀಸ್ ಪೌಂಡ್"
- },
- "SRD": {
- "name": "ಸುರಿನಾಮೀಸ್ ಡಾಲರ್"
- },
- "SCR": {
- "name": "ಸೆಚೊಲಿಯೊಸ್ ರುಪಿ"
- },
- "RSD": {
- "name": "ಸೆರ್ಬಿಯನ್ ದಿನಾರ್"
- },
- "SHP": {
- "name": "ಸೇಂಟ್ ಹೆಲೇನಾ ಪೌಂಡ್"
- },
- "SOS": {
- "name": "ಸೊಮಾಲಿ ಶಿಲ್ಲಿಂಗ್"
- },
- "SBD": {
- "name": "ಸೊಲೊಮನ್ ದ್ವೀಪಗಳ ಡಾಲರ್"
- },
- "SAR": {
- "name": "ಸೌದಿ ರಿಯಾಲ್"
- },
- "SZL": {
- "name": "ಸ್ವಾಜಿ ಲಿಲಂಗೆನಿ"
- },
- "CHF": {
- "name": "ಸ್ವಿಸ್ ಫ್ರಾಂಕ್"
- },
- "SEK": {
- "name": "ಸ್ವೀಡಿಷ್ ಕ್ರೋನಾ"
- },
- "HUF": {
- "name": "ಹಂಗೇರಿಯನ್ ಫೋರಿಂಟ್"
- },
- "HKD": {
- "name": "ಹಾಂಗ್ ಕಾಂಗ್ ಡಾಲರ್",
- "symbol": "HK$"
- },
- "HTG": {
- "name": "ಹೈಟಿಯ ಗೋರ್ದೆ"
- },
- "HNL": {
- "name": "ಹೊಂಡುರಾನ್‌ ಲೆಂಪಿರಾ"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ksb.json b/vendor/commerceguys/intl/resources/currency/ksb.json
deleted file mode 100644
index ee0e50c1a..000000000
--- a/vendor/commerceguys/intl/resources/currency/ksb.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "bil ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "AED": {
- "name": "dilham ya Falme za Kialabu"
- },
- "MAD": {
- "name": "dilham ya Moloko"
- },
- "DZD": {
- "name": "dinali ya Aljelia"
- },
- "BHD": {
- "name": "dinali ya Bahaleni"
- },
- "LYD": {
- "name": "dinali ya Libya"
- },
- "SDG": {
- "name": "dinali ya Sudani"
- },
- "TND": {
- "name": "dinali ya Tunisia"
- },
- "STN": {
- "name": "dobla ya Sao Tome na Plincipe"
- },
- "AUD": {
- "name": "dola ya Austlalia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "dola ya Libelia"
- },
- "USD": {
- "name": "dola ya Malekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "eskudo ya Kepuvede"
- },
- "XOF": {
- "name": "falanga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "falanga CFA BEAC",
- "symbol": "FCFA"
- },
- "MGA": {
- "name": "falanga ya Bukini"
- },
- "BIF": {
- "name": "falanga ya Bulundi"
- },
- "DJF": {
- "name": "falanga ya Jibuti"
- },
- "KMF": {
- "name": "falanga ya Komolo"
- },
- "CDF": {
- "name": "falanga ya Kongo"
- },
- "RWF": {
- "name": "falanga ya Lwanda"
- },
- "CHF": {
- "name": "falanga ya Uswisi"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "kwacha ya Malawi"
- },
- "ZMW": {
- "name": "kwacha ya Zambia"
- },
- "AOA": {
- "name": "kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "ZAR": {
- "name": "landi ya Aflika Kusini"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "leoni"
- },
- "SZL": {
- "name": "lilangeni"
- },
- "SAR": {
- "name": "liyal ya Saudia"
- },
- "LSL": {
- "name": "loti ya Lesoto"
- },
- "INR": {
- "name": "lupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "lupia ya Molisi"
- },
- "SCR": {
- "name": "lupia ya Shelisheli"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "naila ya Naijelia"
- },
- "ERN": {
- "name": "nakfa ya Elitlea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "pauni ya Misli"
- },
- "SHP": {
- "name": "pauni ya Santahelena"
- },
- "GBP": {
- "name": "pauni ya Uingeeza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "JPY": {
- "name": "salafu ya Kijapani",
- "symbol": "JP¥"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "shilingi ya Kenya"
- },
- "SOS": {
- "name": "shilingi ya Somalia"
- },
- "TZS": {
- "name": "shilingi ya Tanzania",
- "symbol": "TSh"
- },
- "UGX": {
- "name": "shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "ugwiya ya Molitania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "CNY": {
- "name": "yaun lenminbi ya China",
- "symbol": "CN¥"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "EUR": {
- "name": "yulo",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ksf.json b/vendor/commerceguys/intl/resources/currency/ksf.json
deleted file mode 100644
index 1af4e2840..000000000
--- a/vendor/commerceguys/intl/resources/currency/ksf.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "XAF": {
- "name": "fráŋ",
- "symbol": "FCFA"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "ZAR": {
- "name": "mɔni mǝ á afrik anǝ a sud"
- },
- "XOF": {
- "name": "mɔni mǝ á afríka aná wɛs",
- "symbol": "CFA"
- },
- "DZD": {
- "name": "mɔni mǝ á aljɛrí"
- },
- "USD": {
- "name": "mɔni mǝ á amɛrika",
- "symbol": "US$"
- },
- "AOA": {
- "name": "mɔni mǝ á angóla"
- },
- "SAR": {
- "name": "mɔni mǝ á arabí saodí"
- },
- "BHD": {
- "name": "mɔni mǝ á barǝ́n"
- },
- "AED": {
- "name": "mɔni mǝ á bǝlɔŋ bǝ kaksa bɛ táatáaŋzǝn"
- },
- "BWP": {
- "name": "mɔni mǝ á botswana"
- },
- "BIF": {
- "name": "mɔni mǝ á burundí"
- },
- "CNY": {
- "name": "mɔni mǝ á cín",
- "symbol": "CN¥"
- },
- "DJF": {
- "name": "mɔni mǝ á dyibutí"
- },
- "EGP": {
- "name": "mɔni mǝ á ɛjípt"
- },
- "ERN": {
- "name": "mɔni mǝ á ɛritrɛ́"
- },
- "ETB": {
- "name": "mɔni mǝ á ɛtyɔpí"
- },
- "GMD": {
- "name": "mɔni mǝ á gambí"
- },
- "INR": {
- "name": "mɔni mǝ á indí",
- "symbol": "₹"
- },
- "GBP": {
- "name": "mɔni mǝ á ingɛrís",
- "symbol": "£"
- },
- "JPY": {
- "name": "mɔni mǝ á japɔ́ŋ",
- "symbol": "JP¥"
- },
- "CAD": {
- "name": "mɔni mǝ á kanada",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "mɔni mǝ á kapvɛr"
- },
- "KES": {
- "name": "mɔni mǝ á kɛnya"
- },
- "KMF": {
- "name": "mɔni mǝ á komɔr"
- },
- "CDF": {
- "name": "mɔni mǝ á kɔngó"
- },
- "LSL": {
- "name": "mɔni mǝ á lǝsóto"
- },
- "LRD": {
- "name": "mɔni mǝ á libɛrya"
- },
- "LYD": {
- "name": "mɔni mǝ á libí"
- },
- "MGA": {
- "name": "mɔni mǝ á madagaska"
- },
- "MWK": {
- "name": "mɔni mǝ á malawi"
- },
- "MAD": {
- "name": "mɔni mǝ á marɔk"
- },
- "MUR": {
- "name": "mɔni mǝ á mwarís"
- },
- "MRU": {
- "name": "mɔni mǝ á mwaritaní"
- },
- "NAD": {
- "name": "mɔni mǝ á namibí"
- },
- "NGN": {
- "name": "mɔni mǝ á nijɛ́rya"
- },
- "AUD": {
- "name": "mɔni mǝ á ɔstralí",
- "symbol": "A$"
- },
- "EUR": {
- "name": "mɔni mǝ á pɛrɛsǝ́",
- "symbol": "€"
- },
- "RWF": {
- "name": "mɔni mǝ á rwanda"
- },
- "STN": {
- "name": "mɔni mǝ á saotomɛ́ ri priŋsib"
- },
- "SCR": {
- "name": "mɔni mǝ á sɛcɛl"
- },
- "SHP": {
- "name": "mɔni mǝ á sɛntɛ́len"
- },
- "SOS": {
- "name": "mɔni mǝ á somalí"
- },
- "SDG": {
- "name": "mɔni mǝ á sudan"
- },
- "SZL": {
- "name": "mɔni mǝ á swazilan"
- },
- "CHF": {
- "name": "mɔni mǝ á swís"
- },
- "SLL": {
- "name": "mɔni mǝ á syɛraleon"
- },
- "TZS": {
- "name": "mɔni mǝ á tanzaní"
- },
- "TND": {
- "name": "mɔni mǝ á tunɛsí"
- },
- "UGX": {
- "name": "mɔni mǝ á uganda"
- },
- "ZMW": {
- "name": "mɔni mǝ á zambí"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ksh.json b/vendor/commerceguys/intl/resources/currency/ksh.json
deleted file mode 100644
index ae1868c0d..000000000
--- a/vendor/commerceguys/intl/resources/currency/ksh.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afjahni"
- },
- "ARS": {
- "name": "ajentiinesche Peeso"
- },
- "EGP": {
- "name": "äjiptesche Pongk"
- },
- "ALL": {
- "name": "albaanesche Lek"
- },
- "DZD": {
- "name": "aljeresche Denaa"
- },
- "USD": {
- "name": "ammärrikaanesche Dollaa",
- "symbol": "US$"
- },
- "AOA": {
- "name": "angjolaanesche Kwansa"
- },
- "AMD": {
- "name": "armeenesche Dram"
- },
- "AWG": {
- "name": "arubesche Florin"
- },
- "SVC": {
- "name": "asalvadorejaanesche Cosan"
- },
- "AZN": {
- "name": "Asserbaidschaani Manat"
- },
- "ETB": {
- "name": "ätejoopesche Birr"
- },
- "AUD": {
- "name": "austraalesche Dollaa",
- "symbol": "A$"
- },
- "BHD": {
- "name": "Bachrainesche Denaa"
- },
- "BSD": {
- "name": "bahama’sche Dollaa"
- },
- "BBD": {
- "name": "Barbados-Dollaa"
- },
- "BZD": {
- "name": "belizjaanesche Dollaa"
- },
- "BMD": {
- "name": "Bermuuda-Dollaa"
- },
- "BTN": {
- "name": "bhutanesesche Ngultrum"
- },
- "BOB": {
- "name": "Bollivijano"
- },
- "BRL": {
- "name": "brasilljaanesche Real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "brittesche £",
- "symbol": "£"
- },
- "BND": {
- "name": "Brunei-Dollaa"
- },
- "BGN": {
- "name": "buljaaresche Lev"
- },
- "MMK": {
- "name": "burmeesesche Kyat"
- },
- "BIF": {
- "name": "burundesche Frang"
- },
- "DKK": {
- "name": "dänesche Kruhne"
- },
- "AED": {
- "name": "de vereineschte arraabesche Emiraate ier Dirham"
- },
- "STN": {
- "name": "Dobra vun São Tomé un Príncipe"
- },
- "TTD": {
- "name": "Dollaa uß Trinidad un Tobääjo"
- },
- "DOP": {
- "name": "dommenikaanesche Peesos"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "FJD": {
- "name": "Fidschi-Dollaa"
- },
- "PHP": {
- "name": "fillipiinesche Pesos"
- },
- "XOF": {
- "name": "Frang uß de Älfebeinköß",
- "symbol": "CFA"
- },
- "DJF": {
- "name": "Frang uß Dschibuti"
- },
- "HTG": {
- "name": "haiitesche Gourde"
- },
- "HNL": {
- "name": "hondureanesche Lempira"
- },
- "HKD": {
- "name": "Hongkong-Dollaa",
- "symbol": "HK$"
- },
- "INR": {
- "name": "indesche Ruupije",
- "symbol": "₹"
- },
- "IDR": {
- "name": "indoneesesche Ruupije"
- },
- "IQD": {
- "name": "iraakesche Denaa"
- },
- "ISK": {
- "name": "ißländesche Kruhne"
- },
- "ILS": {
- "name": "ißraeelesche Schekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "jamaikaanesche Dollaa"
- },
- "GMD": {
- "name": "jambesche Dalasi"
- },
- "GHS": {
- "name": "janaaesche Cedi"
- },
- "JPY": {
- "name": "japaanesche Jen",
- "symbol": "JP¥"
- },
- "YER": {
- "name": "jemenitesche Rijal"
- },
- "GEL": {
- "name": "jeorjesche Lari"
- },
- "GIP": {
- "name": "jibraltaa’sche Pongk"
- },
- "GNF": {
- "name": "Jineea-Frang"
- },
- "JOD": {
- "name": "Jordaanesche Dollaa"
- },
- "GYD": {
- "name": "Juaana-Dollaa"
- },
- "GTQ": {
- "name": "juatemalesche Quetzal"
- },
- "KYD": {
- "name": "Kaimann-Dollaa"
- },
- "KHR": {
- "name": "kambodschaanesche Riel"
- },
- "CAD": {
- "name": "kannaadesche Dollaa",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "kapverdesche Eskuudos"
- },
- "KZT": {
- "name": "kasakesche Tenge"
- },
- "QAR": {
- "name": "kataaresche Rijal"
- },
- "KES": {
- "name": "Kenjaanesche Schillinge"
- },
- "KGS": {
- "name": "kirjiisesche Som"
- },
- "XAF": {
- "name": "Kmmeruhner Frang",
- "symbol": "FCFA"
- },
- "COP": {
- "name": "kolumbesche Peso"
- },
- "KMF": {
- "name": "kommooresche Frang"
- },
- "CDF": {
- "name": "kongjoleesesche Frang"
- },
- "CRC": {
- "name": "koßtarikaanesche Colón"
- },
- "HRK": {
- "name": "krowaatesche Kuna"
- },
- "CUP": {
- "name": "kubaanesche Peesos"
- },
- "KWD": {
- "name": "kuwaitesche Denaa"
- },
- "LSL": {
- "name": "lesoothesche Loti"
- },
- "LBP": {
- "name": "libaneesesche Pongk"
- },
- "LRD": {
- "name": "liberijaanesche Dollaa"
- },
- "LYD": {
- "name": "libesche Denaa"
- },
- "LAK": {
- "name": "loaatesche Kip"
- },
- "MGA": {
- "name": "madajaskesche Ariary"
- },
- "MOP": {
- "name": "makaneesesche Pataca"
- },
- "MWK": {
- "name": "malaawesche Kwache"
- },
- "MYR": {
- "name": "malaisesche Ringgit"
- },
- "MVR": {
- "name": "mallediivesche Rufiyaa"
- },
- "MAD": {
- "name": "marrokaanesche Dirhamm"
- },
- "MRU": {
- "name": "mauretanesche Ouguiya"
- },
- "MUR": {
- "name": "maurizjahnesche Ruupije"
- },
- "MKD": {
- "name": "mazedoonesche Denaa"
- },
- "MXN": {
- "name": "mexekaanesche Peeso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "moldaavesche Leu"
- },
- "MNT": {
- "name": "mongjoolesche Tugrik"
- },
- "MZN": {
- "name": "mossambikaanesche Metical"
- },
- "ERN": {
- "name": "Nafka uß Erritreja"
- },
- "NAD": {
- "name": "namiibesche Dollaa"
- },
- "ANG": {
- "name": "neederlängsch antillesche Jullde"
- },
- "NPR": {
- "name": "nepaleesesche Ruupije"
- },
- "TWD": {
- "name": "neu taiwaneesesche Dollaa",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "neuseeländesche Dollaa",
- "symbol": "NZ$"
- },
- "NGN": {
- "name": "nijerijaanesche Naira"
- },
- "NIO": {
- "name": "nikarajaanesche Córdoba"
- },
- "KPW": {
- "name": "noodkorejaansche Won"
- },
- "NOK": {
- "name": "norrweejesche Kruhne"
- },
- "OMR": {
- "name": "ommaanesche Rijal"
- },
- "CUC": {
- "name": "ömtuuschbaa kubaanesche Pesos"
- },
- "BAM": {
- "name": "ömtuuschbaa Mark us Boßnije un dä Hächejovvina"
- },
- "XCD": {
- "name": "oß-karribbesche Dollaa",
- "symbol": "EC$"
- },
- "PKR": {
- "name": "pakestaanesche Ruupije"
- },
- "PAB": {
- "name": "pannameesesche Balboa"
- },
- "PGK": {
- "name": "papua neujinejaanesche Kina"
- },
- "PYG": {
- "name": "parajuaanesche Juarani"
- },
- "PEN": {
- "name": "perruaanesche Sol"
- },
- "IRR": {
- "name": "persesche Rial"
- },
- "XPF": {
- "name": "polineesesche Frang",
- "symbol": "CFPF"
- },
- "PLN": {
- "name": "polnesche Złoty"
- },
- "FKP": {
- "name": "Pongk vun de Falkland-Enselle"
- },
- "BWP": {
- "name": "Pula us Bozwaana"
- },
- "RON": {
- "name": "romäänesche Leu"
- },
- "RWF": {
- "name": "ruandesche Frang"
- },
- "RUB": {
- "name": "russesche Ruubel"
- },
- "ZMW": {
- "name": "sambesche Kwacha"
- },
- "WST": {
- "name": "samowaanesche Tala"
- },
- "RSD": {
- "name": "särbesche Denaare"
- },
- "SAR": {
- "name": "saudesche Rijal"
- },
- "CLP": {
- "name": "schileenesche Peeso"
- },
- "CNY": {
- "name": "schineesesche Yuan Renminbi",
- "symbol": "CN¥"
- },
- "LKR": {
- "name": "schrilankesche Ruupije"
- },
- "SEK": {
- "name": "schweedesche Kruhne"
- },
- "CHF": {
- "name": "schweijzer Fränkli"
- },
- "SCR": {
- "name": "seischellesche Ruupije"
- },
- "ZWL": {
- "name": "simbabwesche Dollaa (2009)"
- },
- "SGD": {
- "name": "singjapurejaanesche Dollaa"
- },
- "ZAR": {
- "name": "södaffrekaanesche Rand"
- },
- "SSP": {
- "name": "södsudaneesesche Pongk"
- },
- "SBD": {
- "name": "solomonesche Dollaa"
- },
- "SOS": {
- "name": "somaalesche Schillenge"
- },
- "KRW": {
- "name": "söödkorejaansche Won",
- "symbol": "₩"
- },
- "SLL": {
- "name": "ẞjärra-lejoneesesche Leone"
- },
- "SDG": {
- "name": "sudaneesesche Pongk"
- },
- "SRD": {
- "name": "sürinameesesche Dollaa"
- },
- "SYP": {
- "name": "süüresche Pund"
- },
- "SZL": {
- "name": "swasiländesche Lilangeni"
- },
- "TJS": {
- "name": "tadschikißtaanesche Somoni"
- },
- "THB": {
- "name": "tailändesche Baht"
- },
- "BDT": {
- "name": "Taka us Bangladäsch"
- },
- "TZS": {
- "name": "tansaanesche Schillenge"
- },
- "TOP": {
- "name": "tongjanes Paʻangache"
- },
- "TRY": {
- "name": "törkesche Liire"
- },
- "CZK": {
- "name": "tschäschesche Kruhne"
- },
- "TND": {
- "name": "tuneesesche Denaa"
- },
- "TMT": {
- "name": "turkmeneßtaanesche Manat"
- },
- "UGX": {
- "name": "ujandesche Schillenge"
- },
- "UAH": {
- "name": "ukraijnesche Hryvnia"
- },
- "HUF": {
- "name": "unjarresche Forint"
- },
- "UYU": {
- "name": "urrujuwaische Peeso"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UZS": {
- "name": "ußbeekesche Som"
- },
- "VUV": {
- "name": "vanuatesche Vatu"
- },
- "VES": {
- "name": "venezuelaanesche Bolívar"
- },
- "VND": {
- "name": "vijätnammeesesche Dong",
- "symbol": "₫"
- },
- "BYN": {
- "name": "wiißrußesche Rubel"
- },
- "SHP": {
- "name": "Zint-Hellena-Pongk"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ky.json b/vendor/commerceguys/intl/resources/currency/ky.json
index 17fa9c246..ef77c6a32 100644
--- a/vendor/commerceguys/intl/resources/currency/ky.json
+++ b/vendor/commerceguys/intl/resources/currency/ky.json
@@ -90,6 +90,9 @@
"HUF": {
"name": "венгр форинти"
},
+ "VES": {
+ "name": "Венесуэла боливары"
+ },
"VND": {
"name": "Вьетнам доңу",
"symbol": "₫"
@@ -476,9 +479,6 @@
"UYW": {
"name": "Uruguayan Nominal Wage Index Unit"
},
- "VES": {
- "name": "Venezuelan Bolívar"
- },
"ZWL": {
"name": "Zimbabwean Dollar (2009)"
}
diff --git a/vendor/commerceguys/intl/resources/currency/lag.json b/vendor/commerceguys/intl/resources/currency/lag.json
deleted file mode 100644
index 887000ce2..000000000
--- a/vendor/commerceguys/intl/resources/currency/lag.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bíiri ya Ʉhabéeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Daláasi ya Gámbia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dináairi ya Alijéria"
- },
- "BHD": {
- "name": "Dináari ya Baharéeni"
- },
- "LYD": {
- "name": "Dináari ya Líbia"
- },
- "TND": {
- "name": "Dináari ya Tunísia"
- },
- "MAD": {
- "name": "Diriháamu ya Moróoko"
- },
- "AED": {
- "name": "Diriháamu ya Ʉtemi wa Kɨaráabu"
- },
- "STN": {
- "name": "Dóbura ya SaoTóome na Pirínsipe"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Dóola ya Amerɨ́ka",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Dóola ya Ausitereelía",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dóola ya Kánada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dóola ya Libéria"
- },
- "NAD": {
- "name": "Dóola ya Namíbia"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Esikúudo ya Kepuvéede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "CHF": {
- "name": "Faráaka ya Uswíisi"
- },
- "BIF": {
- "name": "Faráanga ya Burúundi"
- },
- "XOF": {
- "name": "Faráanga ya CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faráanga ya CFA BEAC",
- "symbol": "FCFA"
- },
- "DJF": {
- "name": "Faráanga ya Jibóuti"
- },
- "KMF": {
- "name": "Faráanga ya Komóoro"
- },
- "CDF": {
- "name": "Faráanga ya Kóongo"
- },
- "RWF": {
- "name": "Faráanga ya Rwáanda"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwáacha ya Maláawi"
- },
- "AOA": {
- "name": "Kwáanza ya Angóola"
- },
- "ZMW": {
- "name": "Kwácha ya Sámbia"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leóoni"
- },
- "SZL": {
- "name": "Lilengéeni"
- },
- "LSL": {
- "name": "Lóoti ya Lesóoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MGA": {
- "name": "Mpía ya bukini"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naíira ya Niijéria"
- },
- "ERN": {
- "name": "Nákɨfa ya Eriterea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Páundi ya Mísiri"
- },
- "SHP": {
- "name": "Páundi ya Mʉtakatíifu Heléena"
- },
- "SDG": {
- "name": "Páundi ya Sudáani"
- },
- "GBP": {
- "name": "Páundi ya Ʉɨngɨréesa",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Púula ya Botiswáana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Ráandi ya Afɨrɨka ya Saame"
- },
- "SAR": {
- "name": "Riyáali ya Saudía"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupía ya Índia",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupía ya Moríisi"
- },
- "SCR": {
- "name": "Rupía ya Shelishéeli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilíingi ya Kéenya"
- },
- "SOS": {
- "name": "Shilíingi ya Somália"
- },
- "TZS": {
- "name": "Shilíingi ya Taansanía",
- "symbol": "TSh"
- },
- "UGX": {
- "name": "Shilíingi ya Ugáanda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "MRU": {
- "name": "Ungwíiya ya Moritánia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "JPY": {
- "name": "Yéeni ya Japáani",
- "symbol": "JP¥"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yúani Renimínibi ya Chíina",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yúuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lg.json b/vendor/commerceguys/intl/resources/currency/lg.json
deleted file mode 100644
index c19201322..000000000
--- a/vendor/commerceguys/intl/resources/currency/lg.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Biiru ey’Esyopya"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ey’eGambya"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinaali ey’Aligerya"
- },
- "BHD": {
- "name": "Dinaali ey’eBaareeni"
- },
- "LYD": {
- "name": "Dinaali ey’eLibya"
- },
- "SDG": {
- "name": "Dinaali ey’eSudaani"
- },
- "TND": {
- "name": "Dinaali ey’eTunizya"
- },
- "MAD": {
- "name": "Diraamu ey’eMoroko"
- },
- "AED": {
- "name": "Diraamu eya Emireeti"
- },
- "STN": {
- "name": "Dobura ey’eSantome ne Purincipe"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Doola ey’Amerika",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Doola ey’Awusiturelya",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Doola ey’eKanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Doola ey’eLiberya"
- },
- "NAD": {
- "name": "Doola ey’eNamibiya"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Esikudo ey’Keepu Veredi"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "BIF": {
- "name": "Faranga ey’eburundi"
- },
- "DJF": {
- "name": "Faranga ey’eJjibuti"
- },
- "KMF": {
- "name": "Faranga ey’eKomoro"
- },
- "CDF": {
- "name": "Faranga ey’eKongo"
- },
- "MGA": {
- "name": "Faranga ey’eMalagase"
- },
- "RWF": {
- "name": "Faranga ey’eRwanda"
- },
- "CHF": {
- "name": "Faranga ey’eSwitizirandi"
- },
- "XOF": {
- "name": "Faranga ey’omu Afirika ey’ebugwanjuba",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga ey’omu Afirika eya wakati",
- "symbol": "FCFA"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwaca ey’eMalawi"
- },
- "ZMW": {
- "name": "Kwaca ey’eZambya"
- },
- "AOA": {
- "name": "Kwanza ey’Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Lewone"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ey’eLesoso"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "Nakifa ey’Eritureya"
- },
- "NGN": {
- "name": "Nayira ey’eNayijerya"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "GBP": {
- "name": "Pawundi ey’eBungereza",
- "symbol": "£"
- },
- "EGP": {
- "name": "Pawundi ey’eMisiri"
- },
- "SHP": {
- "name": "Pawundi ey’eSenti Herena"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ey’eBotiswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ey’eSawusafirika"
- },
- "SAR": {
- "name": "Riyaali ey’eBuwarabu"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupiya ey’eBuyindi",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupiya ey’eMawurisyasi"
- },
- "SCR": {
- "name": "Rupiya ey’eSesere"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Silingi ey’eKenya"
- },
- "SOS": {
- "name": "Silingi ey’eSomaliya"
- },
- "TZS": {
- "name": "Silingi ey’eTanzaniya"
- },
- "UGX": {
- "name": "Silingi eya Yuganda",
- "symbol": "USh"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "MRU": {
- "name": "Wugwiya ey’eMawritenya"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni ey’eJapani",
- "symbol": "JP¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "CNY": {
- "name": "Yuwani Reniminibi ey’eCayina",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ln.json b/vendor/commerceguys/intl/resources/currency/ln.json
deleted file mode 100644
index d6c405783..000000000
--- a/vendor/commerceguys/intl/resources/currency/ln.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Birɛ ya Etsiópi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambi"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinarɛ ya Alizeri"
- },
- "BHD": {
- "name": "Dinarɛ ya Bahrɛnɛ"
- },
- "LYD": {
- "name": "Dinarɛ ya Libí"
- },
- "SDG": {
- "name": "Dinarɛ ya Sudá"
- },
- "TND": {
- "name": "Dinarɛ ya Tinizi"
- },
- "MAD": {
- "name": "Dirihame ya Marokɛ"
- },
- "AED": {
- "name": "Dirihamɛ ya Lémila alabo"
- },
- "STN": {
- "name": "Dobra ya Sao Tomé mpé Presipe"
- },
- "USD": {
- "name": "Dolarɛ ya Ameriki",
- "symbol": "US$"
- },
- "CAD": {
- "name": "Dolarɛ ya Kanadá",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dolarɛ ya Liberya"
- },
- "NAD": {
- "name": "Dolarɛ ya Namibi"
- },
- "AUD": {
- "name": "Dolarɛ ya Ositali",
- "symbol": "A$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Esikudo ya Kapevɛrɛ"
- },
- "EUR": {
- "name": "Ɛlɔ́",
- "symbol": "€"
- },
- "XOF": {
- "name": "Falánga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Falánga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Falánga ya Burundi"
- },
- "DJF": {
- "name": "Falánga ya Dzibuti"
- },
- "KMF": {
- "name": "Falánga ya Komoro"
- },
- "CDF": {
- "name": "Falánga ya Kongó",
- "symbol": "FC"
- },
- "MGA": {
- "name": "Falánga ya Madagasikarɛ"
- },
- "RWF": {
- "name": "Falánga ya Rwanda"
- },
- "CHF": {
- "name": "Falánga ya Swisɛ"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "AOA": {
- "name": "Kwanza ya Angóla"
- },
- "MWK": {
- "name": "Kwasha ya Malawi"
- },
- "ZMW": {
- "name": "Kwasha ya Zambi"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leonɛ"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesóto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nizerya"
- },
- "ERN": {
- "name": "Nakfa ya Elitlɛ"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "GBP": {
- "name": "Paunɛ ya Angɛlɛtɛ́lɛ",
- "symbol": "£"
- },
- "EGP": {
- "name": "Paunɛ ya Ezípitɛ"
- },
- "SHP": {
- "name": "Paunɛ ya Sántu elena"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randɛ ya Afríka Súdi"
- },
- "SAR": {
- "name": "Riyalɛ ya Alabi Sawuditɛ"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupi ya Índɛ",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupi ya Morisi"
- },
- "SCR": {
- "name": "Rupi ya Sɛshɛlɛ"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingɛ ya Kenya"
- },
- "SOS": {
- "name": "Shilingɛ ya Somali"
- },
- "TZS": {
- "name": "Shilingɛ ya Tanzani"
- },
- "UGX": {
- "name": "Shilingɛ ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritani"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni ya Zapɔ",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuanɛ Renminbi ya Sinɛ",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lu.json b/vendor/commerceguys/intl/resources/currency/lu.json
deleted file mode 100644
index ed39cf130..000000000
--- a/vendor/commerceguys/intl/resources/currency/lu.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bira wa Etshiopi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "STN": {
- "name": "Dobra wa Sao Tome ne Presipe"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Esikuludo wa Kapevere"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "EUR": {
- "name": "Iro",
- "symbol": "€"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "AOA": {
- "name": "Kwanza wa Angola"
- },
- "MWK": {
- "name": "Kwasha wa Malawi"
- },
- "ZMW": {
- "name": "Kwasha wa Zambi"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leone"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti wa Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira wa Nizerya"
- },
- "ERN": {
- "name": "Nakfa wa Elitle"
- },
- "GMD": {
- "name": "Ndalasi wa Ngambi"
- },
- "DZD": {
- "name": "Ndina wa Alijeri"
- },
- "BHD": {
- "name": "Ndina wa Bahrene"
- },
- "LYD": {
- "name": "Ndina wa Libi"
- },
- "SDG": {
- "name": "Ndina wa Suda"
- },
- "TND": {
- "name": "Ndina wa Tinizi"
- },
- "AED": {
- "name": "Ndiriha wa Lemila alabu"
- },
- "MAD": {
- "name": "Ndiriha wa Maroke"
- },
- "USD": {
- "name": "Ndola wa Ameriki",
- "symbol": "US$"
- },
- "CAD": {
- "name": "Ndola wa Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Ndola wa Liberya"
- },
- "NAD": {
- "name": "Ndola wa Namibi"
- },
- "AUD": {
- "name": "Ndola wa Ositali",
- "symbol": "A$"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "XOF": {
- "name": "Nfalanga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Nfalanga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Nfalanga wa Bulundi"
- },
- "DJF": {
- "name": "Nfalanga wa Dzibuti"
- },
- "KMF": {
- "name": "Nfalanga wa Komoru"
- },
- "CDF": {
- "name": "Nfalanga wa Kongu",
- "symbol": "FC"
- },
- "MGA": {
- "name": "Nfalanga wa Madagasikare"
- },
- "RWF": {
- "name": "Nfalanga wa Rwanda"
- },
- "CHF": {
- "name": "Nfalanga wa Swise"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "KES": {
- "name": "Nshili wa Kenya"
- },
- "SOS": {
- "name": "Nshili wa Somali"
- },
- "TZS": {
- "name": "Nshili wa Tanzani"
- },
- "UGX": {
- "name": "Nshili wa Uganda"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "GBP": {
- "name": "Pauni wa Angeletele",
- "symbol": "£"
- },
- "EGP": {
- "name": "Pauni wa Mushidi"
- },
- "SHP": {
- "name": "Pauni wa Santu Elena"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula wa Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Rande wa Afrika wa Mwinshi"
- },
- "SAR": {
- "name": "Riyale wa Alabu Nsawu"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupi wa Inde",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia wa Morisi"
- },
- "SCR": {
- "name": "Rupya wa Seshele"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya wa Moritani"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni wa Zapɔ",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuani Renminbi wa Shine",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/luo.json b/vendor/commerceguys/intl/resources/currency/luo.json
deleted file mode 100644
index 0a11123ac..000000000
--- a/vendor/commerceguys/intl/resources/currency/luo.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariary ya Bukini"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Birr mar Ethiopia"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "USD": {
- "name": "Dola",
- "symbol": "US$"
- },
- "CAD": {
- "name": "Dola mar Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola mar Liberia"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Paund mar Misri"
- },
- "GBP": {
- "name": "Pauni mar Uingereza",
- "symbol": "£"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "SDG": {
- "name": "Pauni ya Sudani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula mar Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "KES": {
- "name": "Siling mar Kenya",
- "symbol": "Ksh"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yen mar Japan",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/luy.json b/vendor/commerceguys/intl/resources/currency/luy.json
deleted file mode 100644
index 6291dff52..000000000
--- a/vendor/commerceguys/intl/resources/currency/luy.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariary ya Bukini"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "USD": {
- "name": "Dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "SDG": {
- "name": "Pauni ya Sudani"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "KES": {
- "name": "Sirinji ya Kenya",
- "symbol": "Ksh"
- },
- "TZS": {
- "name": "Sirinji ya Tanzania"
- },
- "UGX": {
- "name": "Sirinji ya Uganda"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mas.json b/vendor/commerceguys/intl/resources/currency/mas.json
deleted file mode 100644
index 089e52f7d..000000000
--- a/vendor/commerceguys/intl/resources/currency/mas.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ZAR": {
- "name": "Iropiyianí e Afrika Kusini"
- },
- "DZD": {
- "name": "Iropiyianí e Algeria"
- },
- "AOA": {
- "name": "Iropiyianí e Angola"
- },
- "AUD": {
- "name": "Iropiyianí e Austria",
- "symbol": "A$"
- },
- "BHD": {
- "name": "Iropiyianí e Bahareini"
- },
- "BWP": {
- "name": "Iropiyianí e Botswana"
- },
- "MGA": {
- "name": "Iropiyianí e Bukini"
- },
- "BIF": {
- "name": "Iropiyianí e Burundi"
- },
- "XOF": {
- "name": "Iropiyianí e CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Iropiyianí e CFA BEAC",
- "symbol": "FCFA"
- },
- "CNY": {
- "name": "Iropiyianí e China",
- "symbol": "CN¥"
- },
- "ERN": {
- "name": "Iropiyianí e Eritrea"
- },
- "GMD": {
- "name": "Iropiyianí e Gambia"
- },
- "INR": {
- "name": "Iropiyianí e India",
- "symbol": "₹"
- },
- "JPY": {
- "name": "Iropiyianí e Japani",
- "symbol": "JP¥"
- },
- "DJF": {
- "name": "Iropiyianí e Jibuti"
- },
- "CAD": {
- "name": "Iropiyianí e Kanada",
- "symbol": "CA$"
- },
- "KES": {
- "name": "Iropiyianí e Kenya",
- "symbol": "Ksh"
- },
- "CVE": {
- "name": "Iropiyianí e Kepuvede"
- },
- "KMF": {
- "name": "Iropiyianí e Komoro"
- },
- "CDF": {
- "name": "Iropiyianí e Kongo"
- },
- "SLL": {
- "name": "Iropiyianí e leoni"
- },
- "LSL": {
- "name": "Iropiyianí e Lesoto"
- },
- "LRD": {
- "name": "Iropiyianí e Liberia"
- },
- "LYD": {
- "name": "Iropiyianí e Libya"
- },
- "SZL": {
- "name": "Iropiyianí e lilangeni"
- },
- "MWK": {
- "name": "Iropiyianí e Malawi"
- },
- "EGP": {
- "name": "Iropiyianí e Misri"
- },
- "MUR": {
- "name": "Iropiyianí e Morisi"
- },
- "MRU": {
- "name": "Iropiyianí e Moritania"
- },
- "MAD": {
- "name": "Iropiyianí e Moroko"
- },
- "NAD": {
- "name": "Iropiyianí e Namibia"
- },
- "NGN": {
- "name": "Iropiyianí e Nijeria"
- },
- "GBP": {
- "name": "Iropiyianí e Nkɨ́resa",
- "symbol": "£"
- },
- "RWF": {
- "name": "Iropiyianí e Rwanda"
- },
- "ZMW": {
- "name": "Iropiyianí e Sambia"
- },
- "SHP": {
- "name": "Iropiyianí e Santahelena"
- },
- "STN": {
- "name": "Iropiyianí e Saotome"
- },
- "SAR": {
- "name": "Iropiyianí e Saudi"
- },
- "SCR": {
- "name": "Iropiyianí e Shelisheli"
- },
- "SOS": {
- "name": "Iropiyianí e Somalia"
- },
- "SDG": {
- "name": "Iropiyianí e Sudani"
- },
- "TZS": {
- "name": "Iropiyianí e Tanzania"
- },
- "TND": {
- "name": "Iropiyianí e Tunisia"
- },
- "UGX": {
- "name": "Iropiyianí e Uganda"
- },
- "ETB": {
- "name": "Iropiyianí e Uhabeshi"
- },
- "CHF": {
- "name": "Iropiyianí e Uswisi"
- },
- "EUR": {
- "name": "Iropiyianí e yuro",
- "symbol": "€"
- },
- "USD": {
- "name": "Iropiyianí ɔ́ɔ̄ lamarekani",
- "symbol": "US$"
- },
- "AED": {
- "name": "Iropiyianí ɔ́ɔ̄ lmarabu"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mer.json b/vendor/commerceguys/intl/resources/currency/mer.json
deleted file mode 100644
index 9cba40481..000000000
--- a/vendor/commerceguys/intl/resources/currency/mer.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariarĩ ya Bukini"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bĩrũ ya Ithiopia"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Anjĩria"
- },
- "BHD": {
- "name": "Dinari ya Baharini"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme cia Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "USD": {
- "name": "Dola ya Amerika",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Dola ya Austrĩlia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Swisilandi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Paũndi ya Misri"
- },
- "GBP": {
- "name": "Paũndi ya Ngeretha",
- "symbol": "£"
- },
- "SHP": {
- "name": "Paũndi ya Santahelena"
- },
- "SDG": {
- "name": "Paũndi ya Sudani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika ya Sauthi"
- },
- "SAR": {
- "name": "Riyal ya Saudi Arĩbia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Maurĩtiasi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya japani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Kenya",
- "symbol": "Ksh"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Mauritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mfe.json b/vendor/commerceguys/intl/resources/currency/mfe.json
deleted file mode 100644
index 79266a5f6..000000000
--- a/vendor/commerceguys/intl/resources/currency/mfe.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "birr etiopien"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "dalasi gambien"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "dinar alzerien"
- },
- "BHD": {
- "name": "dinar bahreïn"
- },
- "LYD": {
- "name": "dinar libien"
- },
- "SDG": {
- "name": "dinar soudane"
- },
- "TND": {
- "name": "dinar tinizien"
- },
- "AED": {
- "name": "dirham Emira arab ini"
- },
- "MAD": {
- "name": "dirham marokin"
- },
- "STN": {
- "name": "dobra santomeen"
- },
- "USD": {
- "name": "dolar amerikin",
- "symbol": "US$"
- },
- "CAD": {
- "name": "dolar kanadien",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "dolar liberien"
- },
- "NAD": {
- "name": "dolar namibien"
- },
- "AUD": {
- "name": "dolar ostralien",
- "symbol": "A$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "eskudo kapverdien"
- },
- "EUR": {
- "name": "euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "BIF": {
- "name": "fran burunde"
- },
- "XOF": {
- "name": "fran CFA (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "fran CFA (BEAC)",
- "symbol": "FCFA"
- },
- "DJF": {
- "name": "fran djiboutien"
- },
- "KMF": {
- "name": "fran komorien"
- },
- "CDF": {
- "name": "fran kongole"
- },
- "MGA": {
- "name": "fran malgas"
- },
- "RWF": {
- "name": "fran rwande"
- },
- "CHF": {
- "name": "fran swis"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "kwacha malawit"
- },
- "ZMW": {
- "name": "kwacha zanbien"
- },
- "AOA": {
- "name": "kwanza angole"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "leonn Sierra-Leone"
- },
- "SZL": {
- "name": "lilangeni swazi"
- },
- "EGP": {
- "name": "liv ezipsien"
- },
- "SHP": {
- "name": "liv Sainte-Hélène"
- },
- "GBP": {
- "name": "liv sterlin",
- "symbol": "£"
- },
- "LSL": {
- "name": "loti lezoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "nafka erythreen"
- },
- "NGN": {
- "name": "naira nizerian"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "MRU": {
- "name": "ouguiya moritanien"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "pula ya botswane"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "rand sid-afrikin"
- },
- "SAR": {
- "name": "rial saoudien"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "roupi",
- "symbol": "₹"
- },
- "MUR": {
- "name": "roupi morisien",
- "symbol": "Rs"
- },
- "SCR": {
- "name": "roupi seselwa"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "shiling kenyan"
- },
- "UGX": {
- "name": "shiling ougande"
- },
- "TZS": {
- "name": "shiling tanzanien"
- },
- "SOS": {
- "name": "shilingi somalien"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "yen zapone",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "yuan renminbi sinwa",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ms.json b/vendor/commerceguys/intl/resources/currency/ms.json
index 95d3324b8..e08b4e2b3 100644
--- a/vendor/commerceguys/intl/resources/currency/ms.json
+++ b/vendor/commerceguys/intl/resources/currency/ms.json
@@ -139,6 +139,9 @@
"TTD": {
"name": "Dolar Trinidad dan Tobago"
},
+ "ZWL": {
+ "name": "Dolar Zimbabwe (2009)"
+ },
"VND": {
"name": "Dong Vietnam",
"symbol": "₫"
@@ -146,9 +149,6 @@
"AMD": {
"name": "Dram Armenia"
},
- "ERN": {
- "name": "Eritrean Nakfa"
- },
"CVE": {
"name": "Escudo Tanjung Verde"
},
@@ -288,6 +288,9 @@
"NGN": {
"name": "Naira Nigeria"
},
+ "ERN": {
+ "name": "Nakfa Eritrea"
+ },
"BTN": {
"name": "Ngultrum Bhutan"
},
@@ -485,9 +488,6 @@
"name": "Yuan Cina",
"symbol": "CN¥"
},
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
"PLN": {
"name": "Zloty Poland"
}
diff --git a/vendor/commerceguys/intl/resources/currency/mua.json b/vendor/commerceguys/intl/resources/currency/mua.json
deleted file mode 100644
index 1675b70ed..000000000
--- a/vendor/commerceguys/intl/resources/currency/mua.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "ZAR": {
- "name": "Solai Africa nekǝsǝŋ"
- },
- "DZD": {
- "name": "solai Algerya"
- },
- "USD": {
- "name": "Solai Amerika",
- "symbol": "US$"
- },
- "AOA": {
- "name": "solai Angola"
- },
- "AED": {
- "name": "Solai Arabiya"
- },
- "AUD": {
- "name": "solai Australya",
- "symbol": "A$"
- },
- "BHD": {
- "name": "solai Barenya"
- },
- "XOF": {
- "name": "solai BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "solai BEAC",
- "symbol": "FCFA"
- },
- "BWP": {
- "name": "solai Botswana"
- },
- "GBP": {
- "name": "solai Britaniya",
- "symbol": "£"
- },
- "BIF": {
- "name": "solai Burundi"
- },
- "DJF": {
- "name": "solai Djibouti"
- },
- "EGP": {
- "name": "solai Egypt"
- },
- "ERN": {
- "name": "solai Eritre"
- },
- "ETB": {
- "name": "solai Etiopia"
- },
- "EUR": {
- "name": "solai Euro",
- "symbol": "€"
- },
- "GMD": {
- "name": "solai Gambiya"
- },
- "SHP": {
- "name": "Solai Helena"
- },
- "INR": {
- "name": "solai India",
- "symbol": "₹"
- },
- "JPY": {
- "name": "solai Japoŋ",
- "symbol": "JP¥"
- },
- "CAD": {
- "name": "solai Kanada",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "solai Kapverdiya"
- },
- "KES": {
- "name": "solai Kenia"
- },
- "KMF": {
- "name": "solai Komorya"
- },
- "CDF": {
- "name": "solai Kongo"
- },
- "LSL": {
- "name": "solai Lesotho"
- },
- "LRD": {
- "name": "solai Liberiya"
- },
- "LYD": {
- "name": "solai Libya"
- },
- "MGA": {
- "name": "Solai Malagasya"
- },
- "MWK": {
- "name": "Solai Malawi"
- },
- "MAD": {
- "name": "Solai Marok"
- },
- "MUR": {
- "name": "Solai Mauricǝ"
- },
- "MRU": {
- "name": "Solai Mauritaniya"
- },
- "NAD": {
- "name": "Solai Namibiya"
- },
- "NGN": {
- "name": "Solai Nigeriya"
- },
- "RWF": {
- "name": "Solai Rwanda"
- },
- "SCR": {
- "name": "Solai Saichel"
- },
- "STN": {
- "name": "Solai Sao Tome"
- },
- "SAR": {
- "name": "Solai Saudiya"
- },
- "SLL": {
- "name": "solai Sierra leonǝ"
- },
- "SOS": {
- "name": "Solai Somaliya"
- },
- "SDG": {
- "name": "Solai Sudaŋ ma dii ne dinar"
- },
- "SZL": {
- "name": "solai Swaziland"
- },
- "CHF": {
- "name": "Solai Swiss"
- },
- "CNY": {
- "name": "solai Syiŋ",
- "symbol": "CN¥"
- },
- "TZS": {
- "name": "Solai Tanzaniya"
- },
- "TND": {
- "name": "Solai Tunisiya"
- },
- "UGX": {
- "name": "Solai Uganda"
- },
- "ZMW": {
- "name": "Solai Zambiya"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/mzn.json b/vendor/commerceguys/intl/resources/currency/mzn.json
deleted file mode 100644
index 762913d66..000000000
--- a/vendor/commerceguys/intl/resources/currency/mzn.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AUD": {
- "name": "Australian Dollar",
- "symbol": "A$"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "AZN": {
- "name": "آذربایجون ِمنات"
- },
- "ARS": {
- "name": "آرژانتین ِپزو"
- },
- "AWG": {
- "name": "آروبای ِفلورن"
- },
- "ALL": {
- "name": "آلبانی ِلک"
- },
- "USD": {
- "name": "آمریکای ِدولار",
- "symbol": "$"
- },
- "AOA": {
- "name": "آنگولای ِکوانزا"
- },
- "ETB": {
- "name": "اتیوپی ِبیر"
- },
- "JOD": {
- "name": "اردن ِدینار"
- },
- "AMD": {
- "name": "ارمنستون درهم"
- },
- "UYU": {
- "name": "اروگوئه‌ی ِپزو"
- },
- "ERN": {
- "name": "اریتره‌ی ِناکفا"
- },
- "UZS": {
- "name": "ازبکستون ِسام"
- },
- "ILS": {
- "name": "اسراییل ِنو شِکِل",
- "symbol": "₪"
- },
- "AFN": {
- "name": "افغانستون ِافغانی"
- },
- "UAH": {
- "name": "اکراین ِگریونا"
- },
- "DZD": {
- "name": "الجزیره‌ی ِدینار"
- },
- "IDR": {
- "name": "اندونزی ِروپیه"
- },
- "UGX": {
- "name": "اوگاندای ِشیلینگ"
- },
- "IRR": {
- "name": "ایران ریال"
- },
- "ISK": {
- "name": "ایسلند کرونا"
- },
- "BBD": {
- "name": "باربادوس ِدولار"
- },
- "BSD": {
- "name": "باهامای ِدولار"
- },
- "BHD": {
- "name": "بحرین ِدینار"
- },
- "BRL": {
- "name": "برزیل ِرئال",
- "symbol": "R$"
- },
- "BMD": {
- "name": "برمودای ِدولار"
- },
- "BND": {
- "name": "برونئی ِدولار"
- },
- "GBP": {
- "name": "بریتانیای ِپوند",
- "symbol": "£"
- },
- "BYN": {
- "name": "بلاروس ِروبل"
- },
- "BGN": {
- "name": "بلغارستون ِلیوا"
- },
- "BZD": {
- "name": "بلیز ِدولار"
- },
- "BDT": {
- "name": "بنگلادش ِتاکا"
- },
- "BTN": {
- "name": "بوتان ِنگولتروم"
- },
- "BWP": {
- "name": "بوتساوانای ِپولا"
- },
- "BIF": {
- "name": "بوروندی ِفرانک"
- },
- "BAM": {
- "name": "بوسنی و هرزگوین ِتبدیل‌بَیی مارک"
- },
- "BOB": {
- "name": "بولیوی ِبولیویانو"
- },
- "PYG": {
- "name": "پاراگوئه‌ی ِگوارانی"
- },
- "PKR": {
- "name": "پاکستون روپیه"
- },
- "PAB": {
- "name": "پانامای ِبالبوا"
- },
- "PEN": {
- "name": "پروی ِسول"
- },
- "TJS": {
- "name": "تاجیکستون ِسامانی"
- },
- "TZS": {
- "name": "تانزانیای ِشیلینگ"
- },
- "THB": {
- "name": "تایلند ِبات"
- },
- "TMT": {
- "name": "ترکمنستون ِمنات"
- },
- "TRY": {
- "name": "ترکیه‌ی ِلیره"
- },
- "TTD": {
- "name": "ترینیداد و توباگوی ِدولار"
- },
- "TND": {
- "name": "تونس ِدینار"
- },
- "JPY": {
- "name": "جاپون ِین",
- "symbol": "JP¥"
- },
- "JMD": {
- "name": "جاماییکای ِدولار"
- },
- "GIP": {
- "name": "جبل‌طارق ِپوند"
- },
- "TWD": {
- "name": "جدید ِتایوان ِدولار",
- "symbol": "NT$"
- },
- "ZAR": {
- "name": "جنوبی آفریقای ِراند"
- },
- "SSP": {
- "name": "جنوبی سودان ِپوند"
- },
- "KRW": {
- "name": "جنوبی کُره‌ی ِوون",
- "symbol": "₩"
- },
- "DJF": {
- "name": "جیبوتی ِفرانک"
- },
- "CZK": {
- "name": "چک ِکرون"
- },
- "CNY": {
- "name": "چین ِیوآن",
- "symbol": "CN¥"
- },
- "DKK": {
- "name": "دانمارک ِکورن"
- },
- "DOP": {
- "name": "دومینیکن ِپزو"
- },
- "RWF": {
- "name": "روآندای ِفرانک"
- },
- "RUB": {
- "name": "روسیه‌ی ِروبل"
- },
- "RON": {
- "name": "رومانی ِلئو"
- },
- "ZMW": {
- "name": "زامبیای ِکواچا"
- },
- "STN": {
- "name": "سائوتومه و پرینسیپ ِدوبرا"
- },
- "LKR": {
- "name": "سریلانکا روپیه"
- },
- "SHP": {
- "name": "سنت هلنای ِپوند"
- },
- "SGD": {
- "name": "سنگاپور ِدلار"
- },
- "SEK": {
- "name": "سوئد ِکرون"
- },
- "SZL": {
- "name": "سوازیلند ِلیلانجنی"
- },
- "SDG": {
- "name": "سودان ِپوند"
- },
- "SRD": {
- "name": "سورینام ِدولار"
- },
- "SYP": {
- "name": "سوریه‌ی ِپوند"
- },
- "SOS": {
- "name": "سومالی ِشیلینگ"
- },
- "CHF": {
- "name": "سوییس ِفرانک"
- },
- "SLL": {
- "name": "سیرالئون ِلئون"
- },
- "SCR": {
- "name": "سیشل ِروپیه"
- },
- "XCD": {
- "name": "شرقی کاراییب ِدولار",
- "symbol": "EC$"
- },
- "KPW": {
- "name": "شمالی کره‌ی ِوون"
- },
- "CLP": {
- "name": "شیلی ِپزو"
- },
- "RSD": {
- "name": "صربستون ِدینار"
- },
- "CVE": {
- "name": "عاج ِساحل ِایسکودو"
- },
- "IQD": {
- "name": "عراق ِدینار"
- },
- "SAR": {
- "name": "عربستون ِریال"
- },
- "OMR": {
- "name": "عمان ِریال"
- },
- "XOF": {
- "name": "غربی آفریقای ِسی‌اف‌ای فرانک",
- "symbol": "CFA"
- },
- "GHS": {
- "name": "غنای ِسدی"
- },
- "FKP": {
- "name": "فالکلند ِجزایر ِپوند"
- },
- "PHP": {
- "name": "فیلیپین ِپزو"
- },
- "KZT": {
- "name": "قراقستون ِتنگ"
- },
- "KGS": {
- "name": "قرقیزستون ِسام"
- },
- "QAR": {
- "name": "قطر ِریال"
- },
- "CRC": {
- "name": "کاستاریکای ِکولون"
- },
- "KHR": {
- "name": "کامبوج ِریل"
- },
- "KMF": {
- "name": "کامرون ِفرانک"
- },
- "CAD": {
- "name": "کانادای ِدولار",
- "symbol": "CA$"
- },
- "KYD": {
- "name": "کایمن جزیره‌ی ِدولار"
- },
- "HRK": {
- "name": "کرواسی ِکونا"
- },
- "COP": {
- "name": "کلمبیای ِپزو"
- },
- "CDF": {
- "name": "کنگوی ِفرانک"
- },
- "KES": {
- "name": "کنیای ِشیلینگ"
- },
- "CUP": {
- "name": "کوبای ِپزو"
- },
- "CUC": {
- "name": "کوبای ِتبدیل‌بَیی پزو"
- },
- "KWD": {
- "name": "کویت ِدینار"
- },
- "GMD": {
- "name": "گامبیای ِدالاسی"
- },
- "GEL": {
- "name": "گرجستون ِلاری"
- },
- "GTQ": {
- "name": "گواتمالا کتزال"
- },
- "GYD": {
- "name": "گویان ِدولار"
- },
- "GNF": {
- "name": "گینه‌ی ِفرانک"
- },
- "LAK": {
- "name": "لائوس ِکیپ"
- },
- "LBP": {
- "name": "لبنان ِپوند"
- },
- "PLN": {
- "name": "لهستون ِزلوتی"
- },
- "LRD": {
- "name": "لیبریای ِدولار"
- },
- "LYD": {
- "name": "لیبی ِدینار"
- },
- "MGA": {
- "name": "ماداگاسکار ِآریاری"
- },
- "MOP": {
- "name": "ماکائو ِپاتاجا"
- },
- "MWK": {
- "name": "مالاوی ِکواچا"
- },
- "MVR": {
- "name": "مالدیو ِروفیا"
- },
- "MYR": {
- "name": "مالزی ِرینگیت"
- },
- "AED": {
- "name": "متحده عربی امارات ِدرهم"
- },
- "HUF": {
- "name": "مجارستون ِفروینت"
- },
- "MAD": {
- "name": "مراکش ِدرهم"
- },
- "EGP": {
- "name": "مصر ِپوند"
- },
- "MNT": {
- "name": "مغلستون ِتوگریک"
- },
- "MKD": {
- "name": "مقدونیه‌ی ِدینار"
- },
- "MXN": {
- "name": "مکزیک ِپزو",
- "symbol": "MX$"
- },
- "MRU": {
- "name": "موریتانی ِاوگوئیا"
- },
- "MUR": {
- "name": "موریتیان ِروپیه"
- },
- "MZN": {
- "name": "موزامبیک متیکال"
- },
- "MDL": {
- "name": "مولداوی ِلئو"
- },
- "MMK": {
- "name": "میانمار ِکیات"
- },
- "XAF": {
- "name": "میونی آفریقای ِسی‌اف‌ای فرانک",
- "symbol": "FCFA"
- },
- "NAD": {
- "name": "نامبیای ِدولار"
- },
- "NPR": {
- "name": "نپال ِروپیه"
- },
- "NOK": {
- "name": "نروژ ِکرون"
- },
- "NGN": {
- "name": "نیجریه‌ی ِنیارا"
- },
- "NIO": {
- "name": "نیکاراگوئه‌ی ِکوردوبا"
- },
- "HTG": {
- "name": "هائیتی ِگورد"
- },
- "ANG": {
- "name": "هلند ِآنتیل ِجزایر ِگویلدر"
- },
- "INR": {
- "name": "هند ِروپیه",
- "symbol": "₹"
- },
- "HNL": {
- "name": "هندوراس ِلمپیرا"
- },
- "HKD": {
- "name": "هونگ کونگ ِدولار",
- "symbol": "HK$"
- },
- "VES": {
- "name": "ونزوئلایِ بولیوار"
- },
- "VND": {
- "name": "ویتنام ِدنگ",
- "symbol": "₫"
- },
- "YER": {
- "name": "یمن ِریال"
- },
- "EUR": {
- "name": "یورو",
- "symbol": "€"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/naq.json b/vendor/commerceguys/intl/resources/currency/naq.json
deleted file mode 100644
index 7c1b70136..000000000
--- a/vendor/commerceguys/intl/resources/currency/naq.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "DZD": {
- "name": "Algerian Dinar"
- },
- "AOA": {
- "name": "Angolan Kwanzab"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AUD": {
- "name": "Australian Dollari",
- "symbol": "A$"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BHD": {
- "name": "Bahrain Dinar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "Botswanan Pulab"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "British Ponds",
- "symbol": "£"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "BIF": {
- "name": "Burundi Franc"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "CAD": {
- "name": "Canadian Dollari",
- "symbol": "CA$"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XOF": {
- "name": "CFA Franc BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA Franc BEAC",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "CNY": {
- "name": "Chinese Yuan Renminbi",
- "symbol": "CN¥"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "KMF": {
- "name": "Comorian Franc"
- },
- "CDF": {
- "name": "Congolese Franc"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DJF": {
- "name": "Djibouti Franc"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "EGP": {
- "name": "Egytian Ponds"
- },
- "ERN": {
- "name": "Eritreian Nakfa"
- },
- "CVE": {
- "name": "Escudo Caboverdiano"
- },
- "ETB": {
- "name": "Ethiopian Birr"
- },
- "EUR": {
- "name": "Eurob",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "Gambia Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "INR": {
- "name": "Indian Rupee",
- "symbol": "₹"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JPY": {
- "name": "Japanese Yenni",
- "symbol": "JP¥"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Kenyan Shilling"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leone"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "LRD": {
- "name": "Liberian Dollar"
- },
- "LYD": {
- "name": "Libyan Dinar"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MGA": {
- "name": "Malagasy Franc"
- },
- "MWK": {
- "name": "Malawian Kwachab"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MRU": {
- "name": "Mauritania Ouguiya"
- },
- "MUR": {
- "name": "Mauritius Rupeeb"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MAD": {
- "name": "Moroccan Dirham"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NAD": {
- "name": "Namibia Dollari",
- "symbol": "$"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "NGN": {
- "name": "Nigerian Naira"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "RWF": {
- "name": "Rwanda Franci"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "Sao Tome and Principe Dobra"
- },
- "SAR": {
- "name": "Saudi Riyal"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SCR": {
- "name": "Seychelles Rupee"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somali Shillings"
- },
- "ZAR": {
- "name": "South African Randi"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SHP": {
- "name": "St Helena Ponds"
- },
- "SDG": {
- "name": "Sudanese Dinar"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "CHF": {
- "name": "Swiss Franci"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Tanzanian Shillings"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunisian Dinar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "Ugandan Shillings"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "AED": {
- "name": "United Arab Emirates Dirham"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "USD": {
- "name": "US Dollari",
- "symbol": "US$"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZMW": {
- "name": "Zambian Kwachab"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nd.json b/vendor/commerceguys/intl/resources/currency/nd.json
deleted file mode 100644
index 89508f23e..000000000
--- a/vendor/commerceguys/intl/resources/currency/nd.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi yase Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinali yase Aljeriya"
- },
- "BHD": {
- "name": "Dinari yase Bhahareni"
- },
- "LYD": {
- "name": "Dinari yase Libya"
- },
- "SDG": {
- "name": "Dinari yase Sudani"
- },
- "TND": {
- "name": "Dinari yase Tunisiya"
- },
- "MAD": {
- "name": "Dirham yase Morokho"
- },
- "STN": {
- "name": "Dobra yase Sao Tome lo Principe"
- },
- "AED": {
- "name": "Dola laseArab"
- },
- "ETB": {
- "name": "Dola laseEthiopia"
- },
- "USD": {
- "name": "Dola yase Amelika",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Dola yase Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola yase Khanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola yase Libheriya"
- },
- "NAD": {
- "name": "Dola yase Namibiya"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Escudo Caboverdiano"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "XOF": {
- "name": "Fulenki CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Fulenki CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Fulenki yase Bhurundi"
- },
- "DJF": {
- "name": "Fulenki yase Jibhuthi"
- },
- "KMF": {
- "name": "Fulenki yase Khomoro"
- },
- "CDF": {
- "name": "Fulenki yase Khongo"
- },
- "MGA": {
- "name": "Fulenki yase Malagasi"
- },
- "RWF": {
- "name": "Fulenki yase Ruwanda"
- },
- "CHF": {
- "name": "Fulenki yase Swisi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha yase Malawi"
- },
- "ZMW": {
- "name": "Kwacha yase Zambiya"
- },
- "AOA": {
- "name": "Kwanza yase Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leyoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Lothi yase Lesotho"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "Nakfa yase Eritrea"
- },
- "NGN": {
- "name": "Nayira yase Nijeriya"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "EGP": {
- "name": "Phawundi laseGibhide"
- },
- "GBP": {
- "name": "Phawundi yase Ngilandi",
- "symbol": "£"
- },
- "SHP": {
- "name": "Phawundindi laseSt Helena"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "BWP": {
- "name": "Phula yase Botswana"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi yase Afrika ye Zanzi"
- },
- "SAR": {
- "name": "Riyal yase Saudi"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupi yase Indiya",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupi yase Morishasi"
- },
- "SCR": {
- "name": "Rupi yase Seyisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi yase Kenya"
- },
- "SOS": {
- "name": "Shilingi yase Somaliya"
- },
- "TZS": {
- "name": "Shilingi yase Tanzaniya"
- },
- "UGX": {
- "name": "Shilingi yase Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya yase Moritaniya"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni yase Japhani",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuan Renminbi yase China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nmg.json b/vendor/commerceguys/intl/resources/currency/nmg.json
deleted file mode 100644
index 1b1f2065b..000000000
--- a/vendor/commerceguys/intl/resources/currency/nmg.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Dɔ́llɔ Amɛŕka",
- "symbol": "US$"
- },
- "CAD": {
- "name": "Dɔ́llɔ Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dɔ́llɔ Liberia"
- },
- "NAD": {
- "name": "Dɔ́llɔ Namibia"
- },
- "AUD": {
- "name": "Dɔ́llɔ Ɔstralia",
- "symbol": "A$"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "CDF": {
- "name": "Fraŋ bó Kongolɛ̌"
- },
- "KMF": {
- "name": "Fraŋ bó Kɔmɔr"
- },
- "BIF": {
- "name": "Fraŋ Burundi"
- },
- "XOF": {
- "name": "Fraŋ CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Fraŋ CFA BEAC",
- "symbol": "FCFA"
- },
- "DJF": {
- "name": "Fraŋ Jibuti"
- },
- "RWF": {
- "name": "Fraŋ Rwanda"
- },
- "CHF": {
- "name": "Fraŋ Suisse"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "ZAR": {
- "name": "Mɔn Afrik yí sí"
- },
- "EGP": {
- "name": "Mɔn Ägyptɛn"
- },
- "DZD": {
- "name": "Mɔn Algeria"
- },
- "AOA": {
- "name": "Mɔn Angola"
- },
- "AED": {
- "name": "Mɔn B ´Arabe"
- },
- "BHD": {
- "name": "Mɔn Bahrein"
- },
- "CNY": {
- "name": "Mɔn bó Chinois",
- "symbol": "CN¥"
- },
- "BWP": {
- "name": "Mɔn Botswana"
- },
- "ERN": {
- "name": "Mɔn Erytré"
- },
- "ETB": {
- "name": "Mɔn Ethiopia"
- },
- "GMD": {
- "name": "Mɔn Gambia"
- },
- "INR": {
- "name": "Mɔn India",
- "symbol": "₹"
- },
- "JPY": {
- "name": "Mɔn Japɔn",
- "symbol": "JP¥"
- },
- "CVE": {
- "name": "Mɔn Kapvɛrt"
- },
- "KES": {
- "name": "Mɔn Kɛnya"
- },
- "SLL": {
- "name": "Mɔn Leɔne"
- },
- "LSL": {
- "name": "Mɔn Lesoto"
- },
- "LYD": {
- "name": "Mɔn Libya"
- },
- "SZL": {
- "name": "Mɔn Ligangeni"
- },
- "SHP": {
- "name": "Mɔn má Saint Lina"
- },
- "MGA": {
- "name": "Mɔn Madagaskar"
- },
- "MWK": {
- "name": "Mɔn Malawi"
- },
- "MAD": {
- "name": "Mɔn Marɔk"
- },
- "MUR": {
- "name": "Mɔn Moriss"
- },
- "MRU": {
- "name": "Mɔn Moritania"
- },
- "GBP": {
- "name": "Mɔn Ngɛ̄lɛ̄n",
- "symbol": "£"
- },
- "STN": {
- "name": "Mɔn Sao tomé na prinship"
- },
- "SAR": {
- "name": "Mɔn Saudi Arabia"
- },
- "SCR": {
- "name": "Mɔn Seychɛlle"
- },
- "SOS": {
- "name": "Mɔn Somalía"
- },
- "SDG": {
- "name": "Mɔn Sudan"
- },
- "TZS": {
- "name": "Mɔn Tanzania"
- },
- "TND": {
- "name": "Mɔn Tunisia"
- },
- "UGX": {
- "name": "Mɔn Uganda"
- },
- "ZMW": {
- "name": "Mɔn Zambia"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naïra Nigeria"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/nyn.json b/vendor/commerceguys/intl/resources/currency/nyn.json
deleted file mode 100644
index d5ab658b7..000000000
--- a/vendor/commerceguys/intl/resources/currency/nyn.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "Ariari ya Maragariita"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Birr ya Ethiopiya"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Arigyeriya"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "SDG": {
- "name": "Dinari ya Sudani"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham za Buharabu"
- },
- "MAD": {
- "name": "Dirram ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Purinsipo"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Doora ya America",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Doora ya Austureeriya",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Doora ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Doora ya Liberia"
- },
- "NAD": {
- "name": "Doora ya Namibiya"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "SOS": {
- "name": "Eshiringi ya Somalia"
- },
- "TZS": {
- "name": "Eshiringi ya Tanzania"
- },
- "UGX": {
- "name": "Eshiringi ya Uganda",
- "symbol": "USh"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "XOF": {
- "name": "Faranga ya CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga ya CFA BEAC",
- "symbol": "FCFA"
- },
- "DJF": {
- "name": "Faranga ya Gyibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Swisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwaca ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angora"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leone"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Naigyeriya"
- },
- "ERN": {
- "name": "Nakfa ya Eritireya"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "MRU": {
- "name": "Ougwiya ya Mouriteeniya"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "GBP": {
- "name": "Paundi ya Bungyereza",
- "symbol": "£"
- },
- "EGP": {
- "name": "Paundi ya Misiri"
- },
- "SHP": {
- "name": "Paundi ya Senti Herena"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pura ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Sausi Afirika"
- },
- "SAR": {
- "name": "Riya ya Saudi"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "MUR": {
- "name": "Rupiiha ya Mauritiasi"
- },
- "SCR": {
- "name": "Rupiiha ya Sherisheri"
- },
- "INR": {
- "name": "Rupiya ya India",
- "symbol": "₹"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shiringi ya Kenya"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni ya Japaani",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/or.json b/vendor/commerceguys/intl/resources/currency/or.json
deleted file mode 100644
index b5c810b76..000000000
--- a/vendor/commerceguys/intl/resources/currency/or.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AOA": {
- "name": "ଅଙ୍ଗୋଲୀୟ କୱାନଜା"
- },
- "AMD": {
- "name": "ଅର୍ମେନୀୟ ଡ୍ରାମ୍"
- },
- "AUD": {
- "name": "ଅଷ୍ଟ୍ରେଲିୟ ଡଲାର୍",
- "symbol": "A$"
- },
- "ISK": {
- "name": "ଆଇସଲ୍ୟାଣ୍ଡିକ୍‍ କ୍ରୋନା"
- },
- "AZN": {
- "name": "ଆଜେରବାଇଜାନି ମନତ୍"
- },
- "AFN": {
- "name": "ଆଫଗାନ ଆଫଗାନି"
- },
- "AWG": {
- "name": "ଆରୁବୀୟ ଫ୍ଲୋରିନ୍"
- },
- "ARS": {
- "name": "ଆର୍ଜେଣ୍ଟାଇନ୍‍ ପେସୋ"
- },
- "DZD": {
- "name": "ଆଲଜେରୀୟ ଦିନାର୍"
- },
- "ALL": {
- "name": "ଆଲବାନିୟ ଲେକ୍"
- },
- "EGP": {
- "name": "ଇଜିପ୍ଟିୟ ପାଉଣ୍ଡ୍"
- },
- "IDR": {
- "name": "ଇଣ୍ଡୋନେସିୟ ରୁପିଆ"
- },
- "ETB": {
- "name": "ଇଥିଓପିୟ ବିର୍"
- },
- "IQD": {
- "name": "ଇରାକି ଦିନାର୍"
- },
- "IRR": {
- "name": "ଇରାନୀ ରିଆଲ୍"
- },
- "ILS": {
- "name": "ଇସ୍ରାଇଲି ନ୍ୟୁ ଶେକେଲ୍",
- "symbol": "₪"
- },
- "UGX": {
- "name": "ଉଗାଣ୍ଡିୟ ଶିଲିଂ"
- },
- "UZS": {
- "name": "ଉଜବେକିସ୍ତାନୀ ସୋମ୍"
- },
- "KPW": {
- "name": "ଉତ୍ତର କୋରିଆଇ ୱୋନ୍"
- },
- "UYU": {
- "name": "ଉରୁଗୁଇୟାନ୍ ପେସୋ"
- },
- "ERN": {
- "name": "ଏରିଟ୍ରେୟ ନାକଫା"
- },
- "OMR": {
- "name": "ଓମାନି ରିଆଲ୍"
- },
- "CDF": {
- "name": "କଙ୍ଗୋଲିଜ୍ ଫ୍ରାଙ୍କ୍"
- },
- "COP": {
- "name": "କଲୋମ୍ବୀୟ ପେସୋ"
- },
- "KZT": {
- "name": "କାଜାକସ୍ତାନୀ ତେଙ୍ଗେ"
- },
- "CAD": {
- "name": "କାନେଡିୟ ଡଲାର୍",
- "symbol": "CA$"
- },
- "KHR": {
- "name": "କାମ୍ଵୋଡିୟ ରିଏଲ୍"
- },
- "KGS": {
- "name": "କିର୍ଗିସ୍ତାନୀ ସୋମ୍"
- },
- "KWD": {
- "name": "କୁୱେତି ଦିନାର୍"
- },
- "KES": {
- "name": "କେନିୟ ଶିଲିଂ"
- },
- "CVE": {
- "name": "କେପ୍ ଭେର୍ଦେୟ ଏସ୍କୁଡୋ"
- },
- "KYD": {
- "name": "କେମେନ୍ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"
- },
- "KMF": {
- "name": "କୋମୋରୀୟ ଫ୍ରାଙ୍କ୍"
- },
- "CRC": {
- "name": "କୋଷ୍ଟା ରିକୀୟ କୋଲୋନ୍"
- },
- "CUC": {
- "name": "କ୍ୟୁବାନ୍ କନଭର୍ଟିବଲ୍ ପେସୋ"
- },
- "CUP": {
- "name": "କ୍ୟୁବାନ୍ ପେସୋ"
- },
- "HRK": {
- "name": "କ୍ରୋଏସୀୟ କୁନା"
- },
- "QAR": {
- "name": "କ୍ଵାତାରି ରିଆଲ୍"
- },
- "GMD": {
- "name": "ଗାମ୍ବିୟ ଡାଲାସି"
- },
- "GYD": {
- "name": "ଗାୟାନିସ୍ ଡଲାର୍"
- },
- "GIP": {
- "name": "ଗିବ୍ରାଲଟର୍ ପାଉଣ୍ଡ୍"
- },
- "GNF": {
- "name": "ଗୁଇନେୟ ଫ୍ରାଙ୍କ୍"
- },
- "GTQ": {
- "name": "ଗୁଏଟମାଲୀୟ କ୍ଵେତଜାଲ୍"
- },
- "GHS": {
- "name": "ଘାନିୟ ସେଡି"
- },
- "CNY": {
- "name": "ଚିନୀ ୟୁଆନ୍",
- "symbol": "CN¥"
- },
- "CLP": {
- "name": "ଚିଲି ପେସୋ"
- },
- "CZK": {
- "name": "ଚେକ୍ କୋରୁନା"
- },
- "GEL": {
- "name": "ଜର୍ଜିୟ ଲାରି"
- },
- "JOD": {
- "name": "ଜର୍ଡାନିୟ ଦିନାର୍"
- },
- "JPY": {
- "name": "ଜାପାନୀ ୟେନ୍",
- "symbol": "¥"
- },
- "JMD": {
- "name": "ଜାମାଇକୀୟ ଡଲାର୍"
- },
- "ZMW": {
- "name": "ଜାମ୍ବୀୟ କ୍ୱାଚା"
- },
- "DJF": {
- "name": "ଜିବୌଟିୟ ଫ୍ରାଙ୍କ୍"
- },
- "TND": {
- "name": "ଟୁନେସିଆଇ ଦିନାର୍"
- },
- "DKK": {
- "name": "ଡାନିସ୍ କ୍ରୋନ୍"
- },
- "DOP": {
- "name": "ଡୋମିନିକୀୟ ପେସୋ"
- },
- "TJS": {
- "name": "ତାଜିକିସ୍ତାନୀ ସୋମୋନି"
- },
- "TZS": {
- "name": "ତାନଜାନୀୟ ଶିଲିଂ"
- },
- "TMT": {
- "name": "ତୁର୍କମେନିସ୍ତାନୀ ମନତ୍‌"
- },
- "TRY": {
- "name": "ତୁର୍କିୟ ଲିରା"
- },
- "TOP": {
- "name": "ତୋଙ୍ଗିୟ ପାଙ୍ଗା"
- },
- "TTD": {
- "name": "ତ୍ରିନିଦାଦ୍ ଏବଂ ଟୋବାଗୋ ଡଲାର୍"
- },
- "THB": {
- "name": "ଥାଇ ଭାଟ୍"
- },
- "ZAR": {
- "name": "ଦକ୍ଷିଣ ଆଫ୍ରିକିୟ ରାଣ୍ଡ୍"
- },
- "KRW": {
- "name": "ଦକ୍ଷିଣ କୋରିଆଇ ୱୋନ୍",
- "symbol": "₩"
- },
- "SSP": {
- "name": "ଦକ୍ଷିଣ ସୁଡାନିଜ୍‍ ପାଉଣ୍ଡ୍"
- },
- "NOK": {
- "name": "ନରୱେୟୀୟ କ୍ରୋନ୍"
- },
- "NGN": {
- "name": "ନାଇଜେରିଆଇ ନାଇରା"
- },
- "NAD": {
- "name": "ନାମିବିୟ ଡଲାର୍"
- },
- "NIO": {
- "name": "ନିକାରାଗୁଆ କୋର୍ଡୋବା"
- },
- "ANG": {
- "name": "ନେଦରଲ୍ୟାଣ୍ଡ୍ ଆଣ୍ଟିଲିୟ ଗିଲଡର୍"
- },
- "NPR": {
- "name": "ନେପାଳି ରୁପି"
- },
- "TWD": {
- "name": "ନ୍ୟୁ ତାଇୱାନ୍ ଡଲାର୍",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "ନ୍ୟୁଜିଲ୍ୟାଣ୍ଡ୍ ଡଲାର୍",
- "symbol": "NZ$"
- },
- "PGK": {
- "name": "ପପୁଆ ନ୍ୟୁ ଗୁଇନିୟ କିନା"
- },
- "XOF": {
- "name": "ପଶ୍ଚିମ ଆଫ୍ରିକିୟ CFA ଫ୍ରାଙ୍କ୍",
- "symbol": "CFA"
- },
- "PKR": {
- "name": "ପାକିସ୍ତାନୀ ରୁପି"
- },
- "PAB": {
- "name": "ପାନାମାନିୟ ବାଲବୋଆ"
- },
- "PYG": {
- "name": "ପାରାଗୁଆୟାନ୍ ଗୁଆରାନି"
- },
- "XCD": {
- "name": "ପୂର୍ବ କାରିବୀୟ ଡଲାର୍",
- "symbol": "EC$"
- },
- "PEN": {
- "name": "ପେରୁଭୀୟ ସୋଲ୍"
- },
- "PLN": {
- "name": "ପୋଲିଶ୍ ଜ୍ଲଟୀ"
- },
- "FKP": {
- "name": "ଫକଲ୍ୟାଣ୍ଡ୍ ଦ୍ଵୀପପୁଞ୍ଜ ପାଉଣ୍ଡ୍"
- },
- "FJD": {
- "name": "ଫିଜି ଡଲାର୍"
- },
- "PHP": {
- "name": "ଫିଲିପିନି ପେସୋ"
- },
- "BDT": {
- "name": "ବଙ୍ଗଳାଦେଶୀ ଟାକା"
- },
- "BMD": {
- "name": "ବର୍ମ୍ୟୁଡା ଡଲାର୍"
- },
- "BHD": {
- "name": "ବାଃରେନି ଦିନାର୍"
- },
- "BBD": {
- "name": "ବାର୍ବାଡୀୟ ଡଲାର୍"
- },
- "BSD": {
- "name": "ବାହାମୀୟ ଡଲାର୍"
- },
- "BIF": {
- "name": "ବୁରୁଣ୍ଡିୟ ଫ୍ରାଙ୍କ୍"
- },
- "BGN": {
- "name": "ବୁଲଗେରୀୟ ଲେଭ୍"
- },
- "BYN": {
- "name": "ବେଲାରୁସି ରୁବଲ୍"
- },
- "BZD": {
- "name": "ବେଲିଜ୍ ଡଲାର୍"
- },
- "BWP": {
- "name": "ବୋତ୍ସୱାନା ପୁଲା"
- },
- "BOB": {
- "name": "ବୋଲିଭୀୟ ବୋଲିଭିଆନୋ"
- },
- "BAM": {
- "name": "ବୋସନିଆ-ହର୍ଜଗୋଭିନା କନଭର୍ଟିବଲ୍ ମାର୍କ୍"
- },
- "BRL": {
- "name": "ବ୍ରାଜିଲୀୟ ରିଏଲ୍",
- "symbol": "R$"
- },
- "GBP": {
- "name": "ବ୍ରିଟିଶ୍ ପାଉଣ୍ଡ୍",
- "symbol": "£"
- },
- "BND": {
- "name": "ବ୍ରୁନେଇ ଡଲାର୍"
- },
- "VUV": {
- "name": "ଭାନୁଆଟୁ ଭାଟୁ"
- },
- "INR": {
- "name": "ଭାରତୀୟ ଟଙ୍କା",
- "symbol": "₹"
- },
- "VND": {
- "name": "ଭୀଏତନାମୀୟ ଡଙ୍ଗ",
- "symbol": "₫"
- },
- "BTN": {
- "name": "ଭୁଟାନୀ ଗଲଟ୍ରୁମ୍"
- },
- "VES": {
- "name": "ଭେନେଜୁଏଲାନ୍ ବୋଲିଭାର୍"
- },
- "MNT": {
- "name": "ମଙ୍ଗୋଲିୟ ତୁଗ୍ରିକ୍"
- },
- "XAF": {
- "name": "ମଧ୍ୟ ଆଫ୍ରିକୀ CFA ଫ୍ରାଙ୍କ୍",
- "symbol": "FCFA"
- },
- "MRU": {
- "name": "ମର୍ଟିନିୟ ଆଗୁଇଅ"
- },
- "MWK": {
- "name": "ମଲାୱି କ୍ୱାଚା"
- },
- "MOP": {
- "name": "ମାକାନେଜ୍ ପାଟାକା"
- },
- "MVR": {
- "name": "ମାଲଡିଭିୟ ରୁଫିୟା"
- },
- "MGA": {
- "name": "ମାଲାଗାସି ଏରିଆରୀ"
- },
- "MYR": {
- "name": "ମାଲେସିୟ ରିଙ୍ଗିଟ୍"
- },
- "MKD": {
- "name": "ମାସେଡୋନୀୟ ଡିନର୍"
- },
- "MXN": {
- "name": "ମେକ୍ସିକୀୟ ପେସୋ",
- "symbol": "MX$"
- },
- "MZN": {
- "name": "ମୋଜାମ୍ବିକୀୟ ମେଟିକାଲ୍"
- },
- "MAD": {
- "name": "ମୋରୋକୀୟ ଦିର୍ହାମ୍"
- },
- "MDL": {
- "name": "ମୋଲଡୋଭାନ୍ ଲେୟୁ"
- },
- "MUR": {
- "name": "ମୌରିସୀୟ ରୁପି"
- },
- "MMK": {
- "name": "ମ୍ୟାନମାର୍ କ୍ୟାତ୍‌"
- },
- "AED": {
- "name": "ଯୁକ୍ତ ଆରବ ଏମିରେଟସ୍ ଦିରହାମ୍"
- },
- "USD": {
- "name": "ଯୁକ୍ତରାଷ୍ଟ୍ର ଡଲାର୍",
- "symbol": "$"
- },
- "UAH": {
- "name": "ୟୁକ୍ରେନୀୟ ହ୍ରାଇଭନିଆ"
- },
- "EUR": {
- "name": "ୟୁରୋ",
- "symbol": "€"
- },
- "YER": {
- "name": "ୟେମେନି ରିଆଲ୍"
- },
- "RWF": {
- "name": "ରୁୱାଣ୍ଡା ଫ୍ରାଙ୍କ୍"
- },
- "RUB": {
- "name": "ରୁଷି ରୁବଲ୍"
- },
- "RON": {
- "name": "ରୋମାନିୟ ଲେଉ"
- },
- "LAK": {
- "name": "ଲାଓଟିୟ କିପ୍"
- },
- "LRD": {
- "name": "ଲିବେରୀୟ ଡଲାର୍"
- },
- "LYD": {
- "name": "ଲିବ୍ୟ ଦିନାର୍"
- },
- "LBP": {
- "name": "ଲେବାନିଜ୍ ପାଉଣ୍ଡ୍"
- },
- "LKR": {
- "name": "ଶ୍ରୀଲଙ୍କିୟ ରୁପି"
- },
- "RSD": {
- "name": "ସର୍ବିଆଇ ଦିନାର"
- },
- "STN": {
- "name": "ସାଓ ତୋମେ & ପ୍ରିସିପ୍ ଡୋବ୍ରା"
- },
- "WST": {
- "name": "ସାମୋୟିୟ ତାଲା"
- },
- "SLL": {
- "name": "ସିଏରା ଲିଓନୀୟ ଲେଓନ୍"
- },
- "SGD": {
- "name": "ସିଙ୍ଗାପୁର୍ ଡଲାର୍"
- },
- "SYP": {
- "name": "ସିରିୟ ପାଉଣ୍ଡ୍"
- },
- "CHF": {
- "name": "ସୁଇସ୍ ଫ୍ରାଙ୍କ୍"
- },
- "SDG": {
- "name": "ସୁଦାନୀଜ ପାଉଣ୍ଡ୍"
- },
- "SRD": {
- "name": "ସୁରିନାମିଜ୍ ଡଲାର୍"
- },
- "SHP": {
- "name": "ସେଣ୍ଟ୍. ହେଲେନା ପାଉଣ୍ଡ୍"
- },
- "SCR": {
- "name": "ସେୟଚେଲୋଇସ୍ ରୁପି"
- },
- "SOS": {
- "name": "ସୋମାଲି ସିଲିଂ"
- },
- "SBD": {
- "name": "ସୋଲୋମୋନ୍ ଦ୍ଵୀପପୁଞ୍ଜ ଡଲାର୍"
- },
- "SAR": {
- "name": "ସୌଦି ରିୟାଲ୍"
- },
- "SZL": {
- "name": "ସ୍ଵାଜି ଲିଲାଞ୍ଜେନି"
- },
- "SEK": {
- "name": "ସ୍ୱେଡିଶ୍ କ୍ରୋନା"
- },
- "HKD": {
- "name": "ହଂ କଂ ଡଲାର୍",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "ହଙ୍ଗେରିୟ ଫୋରିଣ୍ଟ୍"
- },
- "HTG": {
- "name": "ହାଇତୀୟ ଗୋରଡ୍"
- },
- "HNL": {
- "name": "ହୋଣ୍ଡୁରୀୟ ଲେମପିରା"
- },
- "XPF": {
- "name": "CFP ଫ୍ରାଙ୍କ୍",
- "symbol": "CFPF"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ps.json b/vendor/commerceguys/intl/resources/currency/ps.json
index 07c869bf0..52bc3b3c8 100644
--- a/vendor/commerceguys/intl/resources/currency/ps.json
+++ b/vendor/commerceguys/intl/resources/currency/ps.json
@@ -70,6 +70,10 @@
"name": "برازيلي ريل",
"symbol": "R$"
},
+ "GBP": {
+ "name": "برتانوې پونډ",
+ "symbol": "£"
+ },
"BMD": {
"name": "برمودا ډالر"
},
@@ -152,6 +156,9 @@
"name": "جاپاني ين",
"symbol": "JP¥"
},
+ "GEL": {
+ "name": "جارجیاېي لارې"
+ },
"GIP": {
"name": "جبل الطارقي پونډ"
},
@@ -334,6 +341,9 @@
"GMD": {
"name": "ګيمبين دلاسې"
},
+ "LAK": {
+ "name": "لاشې کپ"
+ },
"LRD": {
"name": "لايبيرين ډالر"
},
@@ -423,6 +433,10 @@
"name": "هانګ کانګ ډالر",
"symbol": "HK$"
},
+ "INR": {
+ "name": "هندي روپۍ",
+ "symbol": "₹"
+ },
"HUF": {
"name": "هنګري فورنټ"
},
@@ -455,24 +469,10 @@
"UGX": {
"name": "يوګانډي شيلنګ"
},
- "GBP": {
- "name": "British Pound",
- "symbol": "£"
- },
"XPF": {
"name": "CFP فرانک",
"symbol": "CFPF"
},
- "GEL": {
- "name": "Georgian Lari"
- },
- "INR": {
- "name": "Indian Rupee",
- "symbol": "₹"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
"LSL": {
"name": "Lesotho Loti"
},
diff --git a/vendor/commerceguys/intl/resources/currency/qu.json b/vendor/commerceguys/intl/resources/currency/qu.json
deleted file mode 100644
index 434511930..000000000
--- a/vendor/commerceguys/intl/resources/currency/qu.json
+++ /dev/null
@@ -1,500 +0,0 @@
-{
- "AFN": {
- "name": "Afgani Afgano"
- },
- "MGA": {
- "name": "Ariary Malgache"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "THB": {
- "name": "Baht Tailandés"
- },
- "PAB": {
- "name": "Balboa Panameño"
- },
- "ETB": {
- "name": "Birr Etíope"
- },
- "VES": {
- "name": "Bolívar Venezolano"
- },
- "BOB": {
- "name": "Boliviano"
- },
- "GHS": {
- "name": "Cedi Ganés"
- },
- "KES": {
- "name": "Chelín Keniano"
- },
- "SOS": {
- "name": "Chelín Somalí"
- },
- "TZS": {
- "name": "Chelín Tanzano"
- },
- "UGX": {
- "name": "Chelín Ugandés"
- },
- "CRC": {
- "name": "Colón Costarricense"
- },
- "NIO": {
- "name": "Córdova Nicaragüense"
- },
- "CZK": {
- "name": "Corona Checa"
- },
- "DKK": {
- "name": "Corona Danesa"
- },
- "ISK": {
- "name": "Corona Islandesa"
- },
- "NOK": {
- "name": "Corona Noruega"
- },
- "SEK": {
- "name": "Corona Sueca"
- },
- "GMD": {
- "name": "Dalasi"
- },
- "DZD": {
- "name": "Dinar Argelino"
- },
- "BHD": {
- "name": "Dinar Bareiní"
- },
- "IQD": {
- "name": "Dinar Iraquí"
- },
- "JOD": {
- "name": "Dinar Jordano"
- },
- "KWD": {
- "name": "Dinar Kuwaití"
- },
- "LYD": {
- "name": "Dinar Libio"
- },
- "MKD": {
- "name": "Dinar Macedonio"
- },
- "RSD": {
- "name": "Dinar Serbio"
- },
- "TND": {
- "name": "Dinar Tunecino"
- },
- "MAD": {
- "name": "Dírham Marroquí"
- },
- "STN": {
- "name": "Dobra Santotomense"
- },
- "USD": {
- "name": "Dólar Americano",
- "symbol": "$US"
- },
- "AUD": {
- "name": "Dólar Australiano",
- "symbol": "A$"
- },
- "BSD": {
- "name": "Dólar Bahameño"
- },
- "BZD": {
- "name": "Dólar Beliceño",
- "symbol": "DBZ"
- },
- "BMD": {
- "name": "Dólar Bermudeño",
- "symbol": "DBM"
- },
- "CAD": {
- "name": "Dólar Canadiense",
- "symbol": "$CA"
- },
- "BBD": {
- "name": "Dólar de Barbados",
- "symbol": "BBG"
- },
- "BND": {
- "name": "Dólar de Brunéi"
- },
- "HKD": {
- "name": "Dólar de Hong Kong",
- "symbol": "HK$"
- },
- "KYD": {
- "name": "Dólar de las Islas Caimán"
- },
- "SBD": {
- "name": "Dólar de las Islas Salomón"
- },
- "SGD": {
- "name": "Dólar de Singapur"
- },
- "TTD": {
- "name": "Dólar de Trinidad y Tobago"
- },
- "XCD": {
- "name": "Dólar del Caribe Oriental",
- "symbol": "EC$"
- },
- "FJD": {
- "name": "Dólar Fiyiano"
- },
- "GYD": {
- "name": "Dólar Guyanés"
- },
- "JMD": {
- "name": "Dólar Jamaiquino"
- },
- "LRD": {
- "name": "Dólar Liberiano"
- },
- "NAD": {
- "name": "Dólar Namibio"
- },
- "NZD": {
- "name": "Dólar Neozelandés",
- "symbol": "NZ$"
- },
- "SRD": {
- "name": "Dólar Surinamés"
- },
- "VND": {
- "name": "Dong Vietnamita",
- "symbol": "₫"
- },
- "CVE": {
- "name": "Escudo Caboverdiano"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "ANG": {
- "name": "Florín Antillano Neerlandés"
- },
- "AWG": {
- "name": "Florín Arubeño"
- },
- "HUF": {
- "name": "Florín Húngaro"
- },
- "BIF": {
- "name": "Franco Burundés"
- },
- "XAF": {
- "name": "Franco CFA de África Central",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "Franco CFA de África Occidental",
- "symbol": "CFA"
- },
- "XPF": {
- "name": "Franco CFP",
- "symbol": "CFPF"
- },
- "KMF": {
- "name": "Franco Comorense"
- },
- "CDF": {
- "name": "Franco Congoleño"
- },
- "GNF": {
- "name": "Franco Guineano"
- },
- "RWF": {
- "name": "Franco Ruandés"
- },
- "CHF": {
- "name": "Franco Suizo"
- },
- "DJF": {
- "name": "Franco Yibutiano"
- },
- "HTG": {
- "name": "Gourde Haitiano"
- },
- "UAH": {
- "name": "Grivna"
- },
- "PYG": {
- "name": "Guaraní Paraguayo"
- },
- "PGK": {
- "name": "Kina Papuano"
- },
- "LAK": {
- "name": "Kip Laosiano"
- },
- "HRK": {
- "name": "Kuna Croata"
- },
- "MWK": {
- "name": "Kwacha Malauí"
- },
- "ZMW": {
- "name": "Kwacha Zambiano"
- },
- "AOA": {
- "name": "Kwanza Angoleño"
- },
- "MMK": {
- "name": "Kyat Birmano"
- },
- "GEL": {
- "name": "Lari Georgiano"
- },
- "ALL": {
- "name": "Lek albanés"
- },
- "HNL": {
- "name": "Lempira Hondureño"
- },
- "SLL": {
- "name": "Leone de Sierra Leona"
- },
- "LSL": {
- "name": "Lesotho Loti"
- },
- "MDL": {
- "name": "Leu Moldavo"
- },
- "RON": {
- "name": "Leu Rumano"
- },
- "BGN": {
- "name": "Lev"
- },
- "SHP": {
- "name": "Libra de Santa Helena"
- },
- "EGP": {
- "name": "Libra Egipcia"
- },
- "GBP": {
- "name": "Libra Esterlina",
- "symbol": "£"
- },
- "GIP": {
- "name": "Libra Gibraltareña"
- },
- "LBP": {
- "name": "Libra Libanesa"
- },
- "FKP": {
- "name": "Libra Malvinense"
- },
- "SYP": {
- "name": "Libra Siria"
- },
- "SDG": {
- "name": "Libra Sudanesa"
- },
- "SSP": {
- "name": "Libra Sursudanesa"
- },
- "SZL": {
- "name": "Lilangeni Swazi"
- },
- "TRY": {
- "name": "Lira Turca"
- },
- "TMT": {
- "name": "Manat Turcomano"
- },
- "BAM": {
- "name": "Marco Bosnioherzegovino"
- },
- "MZN": {
- "name": "Metical Mozambiqueño"
- },
- "NGN": {
- "name": "Naira Nigeriano"
- },
- "ERN": {
- "name": "Nakfa Eritreano"
- },
- "BTN": {
- "name": "Ngultrum Butanés"
- },
- "TWD": {
- "name": "Nuevo Dólar Taiwanés",
- "symbol": "NT$"
- },
- "BYN": {
- "name": "Nuevo Rublo Bielorruso"
- },
- "ILS": {
- "name": "Nuevo Séquel",
- "symbol": "₪"
- },
- "TOP": {
- "name": "Paʻanga Tongano"
- },
- "MOP": {
- "name": "Pataca Macaense"
- },
- "ARS": {
- "name": "Peso Argentino"
- },
- "CLP": {
- "name": "Peso Chileno"
- },
- "COP": {
- "name": "Peso Colombiano"
- },
- "CUP": {
- "name": "Peso Cubano"
- },
- "CUC": {
- "name": "Peso Cubano Convertible"
- },
- "DOP": {
- "name": "Peso Dominicano"
- },
- "PHP": {
- "name": "Peso Filipino"
- },
- "MXN": {
- "name": "Peso Mexicano",
- "symbol": "MX$"
- },
- "UYU": {
- "name": "Peso Uruguayo"
- },
- "BWP": {
- "name": "Pula Botswano"
- },
- "GTQ": {
- "name": "Quetzal Guatemalteco"
- },
- "ZAR": {
- "name": "Rand Sudafricano"
- },
- "BRL": {
- "name": "Real Brasileño",
- "symbol": "R$"
- },
- "IRR": {
- "name": "Rial Iraní"
- },
- "OMR": {
- "name": "Rial Omaní"
- },
- "YER": {
- "name": "Rial Yemení"
- },
- "KHR": {
- "name": "Riel Camboyano"
- },
- "MYR": {
- "name": "Ringgit Malayo"
- },
- "QAR": {
- "name": "Riyal Catarí"
- },
- "SAR": {
- "name": "Riyal Saudí"
- },
- "RUB": {
- "name": "Rublo Ruso"
- },
- "MVR": {
- "name": "Rupia de Maldivas"
- },
- "MUR": {
- "name": "Rupia de Mauricio"
- },
- "SCR": {
- "name": "Rupia de Seychelles"
- },
- "LKR": {
- "name": "Rupia de Sri Lanka"
- },
- "INR": {
- "name": "Rupia India",
- "symbol": "₹"
- },
- "IDR": {
- "name": "Rupia Indonesia"
- },
- "NPR": {
- "name": "Rupia Nepalí"
- },
- "PKR": {
- "name": "Rupia Pakistaní"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "PEN": {
- "name": "Sol Peruano",
- "symbol": "S\/"
- },
- "KGS": {
- "name": "Som Kirguís"
- },
- "UZS": {
- "name": "Som Ubzeko"
- },
- "TJS": {
- "name": "Somoni Tayiko"
- },
- "BDT": {
- "name": "Taka Bangladesí"
- },
- "WST": {
- "name": "Tala Samoano"
- },
- "KZT": {
- "name": "Tenge Kazajo"
- },
- "MNT": {
- "name": "Tugrik Mongol"
- },
- "MRU": {
- "name": "Uguiya Mauritano"
- },
- "AED": {
- "name": "United Arab Emirates Dirham"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "VUV": {
- "name": "Vatu Vanuatu"
- },
- "KPW": {
- "name": "Won Norcoreano"
- },
- "KRW": {
- "name": "Won Surcoreano",
- "symbol": "₩"
- },
- "JPY": {
- "name": "Yen Japonés",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuan Chino",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "PLN": {
- "name": "Zloty"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/rm.json b/vendor/commerceguys/intl/resources/currency/rm.json
deleted file mode 100644
index a36607d9c..000000000
--- a/vendor/commerceguys/intl/resources/currency/rm.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "afghani"
- },
- "MGA": {
- "name": "ariary madagasc"
- },
- "THB": {
- "name": "baht tailandais"
- },
- "PAB": {
- "name": "balboa dal Panama"
- },
- "ETB": {
- "name": "birr etiopic"
- },
- "VES": {
- "name": "bolivar venezuelan"
- },
- "BOB": {
- "name": "boliviano"
- },
- "GHS": {
- "name": "cedi ghanais"
- },
- "SVC": {
- "name": "colon da l’El Salvador"
- },
- "CRC": {
- "name": "colon da la Costa Rica"
- },
- "NIO": {
- "name": "cordoba oro nicaraguan"
- },
- "DKK": {
- "name": "cruna danaisa"
- },
- "ISK": {
- "name": "cruna islandaisa"
- },
- "NOK": {
- "name": "cruna norvegiaisa"
- },
- "SEK": {
- "name": "cruna svedaisa"
- },
- "CZK": {
- "name": "cruna tscheca"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "GMD": {
- "name": "dalasi gambic"
- },
- "DZD": {
- "name": "dinar algerian"
- },
- "MKD": {
- "name": "dinar da la Macedonia"
- },
- "BHD": {
- "name": "dinar dal Bahrain"
- },
- "KWD": {
- "name": "dinar dal Kuwait"
- },
- "IQD": {
- "name": "dinar iracais"
- },
- "JOD": {
- "name": "dinar jordanic"
- },
- "LYD": {
- "name": "dinar libic"
- },
- "RSD": {
- "name": "dinar serb"
- },
- "TND": {
- "name": "dinar tunesian"
- },
- "AED": {
- "name": "dirham dals Emirats Arabs Unids"
- },
- "MAD": {
- "name": "dirham marocan"
- },
- "STN": {
- "name": "dobra da São Tomé e Principe"
- },
- "AUD": {
- "name": "dollar australian",
- "symbol": "A$"
- },
- "CAD": {
- "name": "dollar canadais",
- "symbol": "CA$"
- },
- "BBD": {
- "name": "dollar da Barbados"
- },
- "HKD": {
- "name": "dollar da Hongkong",
- "symbol": "HK$"
- },
- "XCD": {
- "name": "dollar da la Caribica Orientala",
- "symbol": "EC$"
- },
- "GYD": {
- "name": "dollar da la Guyana"
- },
- "NZD": {
- "name": "dollar da la Nova Zelanda",
- "symbol": "NZ$"
- },
- "BSD": {
- "name": "dollar da las Bahamas"
- },
- "BMD": {
- "name": "dollar da las Bermudas"
- },
- "KYD": {
- "name": "dollar da las Inslas Cayman"
- },
- "SBD": {
- "name": "dollar da las Salomonas"
- },
- "TTD": {
- "name": "dollar da Trinidad e Tobago"
- },
- "BZD": {
- "name": "dollar dal Belize"
- },
- "BND": {
- "name": "dollar dal Brunei"
- },
- "FJD": {
- "name": "dollar dal Fidschi"
- },
- "SGD": {
- "name": "dollar dal Singapur"
- },
- "USD": {
- "name": "dollar dals Stadis Unids da l’America",
- "symbol": "US$"
- },
- "JMD": {
- "name": "dollar giamaican"
- },
- "LRD": {
- "name": "dollar liberian"
- },
- "NAD": {
- "name": "dollar namibian"
- },
- "SRD": {
- "name": "dollar surinam"
- },
- "VND": {
- "name": "dong vietnamais",
- "symbol": "₫"
- },
- "AMD": {
- "name": "dram armen"
- },
- "CVE": {
- "name": "escudo dal Cap Verd"
- },
- "EUR": {
- "name": "euro",
- "symbol": "€"
- },
- "AWG": {
- "name": "flurin da l’Aruba"
- },
- "ANG": {
- "name": "flurin da las Antillas Olandaisas"
- },
- "HUF": {
- "name": "forint ungarais"
- },
- "XOF": {
- "name": "franc CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "franc CFA BEAC",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "franc CFP",
- "symbol": "CFPF"
- },
- "KMF": {
- "name": "franc comorian"
- },
- "CDF": {
- "name": "franc congolais"
- },
- "GNF": {
- "name": "franc da la Guinea"
- },
- "BIF": {
- "name": "franc dal Burundi"
- },
- "DJF": {
- "name": "franc dal Dschibuti"
- },
- "RWF": {
- "name": "franc ruandais"
- },
- "CHF": {
- "name": "franc svizzer"
- },
- "GIP": {
- "name": "glivra da Gibraltar"
- },
- "SHP": {
- "name": "glivra da Sontg’Elena"
- },
- "FKP": {
- "name": "glivra dal Falkland"
- },
- "EGP": {
- "name": "glivra egipziana"
- },
- "LBP": {
- "name": "glivra libanaisa"
- },
- "SYP": {
- "name": "glivra siriana"
- },
- "GBP": {
- "name": "glivra sterlina",
- "symbol": "£"
- },
- "SDG": {
- "name": "glivra sudanaisa"
- },
- "HTG": {
- "name": "gourde haitian"
- },
- "PYG": {
- "name": "guarani paraguaian"
- },
- "UAH": {
- "name": "hryvnia ucranais"
- },
- "PGK": {
- "name": "kina da la Papua Nova Guinea"
- },
- "LAK": {
- "name": "kip laot"
- },
- "HRK": {
- "name": "kuna croata"
- },
- "ZMW": {
- "name": "kwacha da la sambia"
- },
- "MWK": {
- "name": "kwacha dal Malawi"
- },
- "AOA": {
- "name": "kwanza angolan"
- },
- "MMK": {
- "name": "Kyat dal Myanmar"
- },
- "GEL": {
- "name": "lari georgian"
- },
- "ALL": {
- "name": "lek"
- },
- "HNL": {
- "name": "lempira hondurian"
- },
- "SLL": {
- "name": "leone da la Sierra Leone"
- },
- "MDL": {
- "name": "leu moldav"
- },
- "RON": {
- "name": "leu rumen"
- },
- "SZL": {
- "name": "lilangeni dal Swaziland"
- },
- "LSL": {
- "name": "loti dal Lesotho"
- },
- "AZN": {
- "name": "manat aserbaidschanic"
- },
- "BAM": {
- "name": "marc convertibel bosniac"
- },
- "MZN": {
- "name": "metical dal mozambican"
- },
- "NGN": {
- "name": "naira nigeriana"
- },
- "ERN": {
- "name": "nakfa eritreic"
- },
- "BTN": {
- "name": "ngultrum butanais"
- },
- "TWD": {
- "name": "nov dollar taiwanais",
- "symbol": "NT$"
- },
- "BGN": {
- "name": "nov lev bulgar"
- },
- "TRY": {
- "name": "nova lira tirca"
- },
- "MRU": {
- "name": "ouguiya da la Mauretania"
- },
- "TOP": {
- "name": "pa’anga da Tonga"
- },
- "MOP": {
- "name": "pataca dal Macao"
- },
- "ARS": {
- "name": "peso argentin"
- },
- "CLP": {
- "name": "peso chilen"
- },
- "COP": {
- "name": "peso columbian"
- },
- "CUP": {
- "name": "peso cuban"
- },
- "UYU": {
- "name": "peso da l’Uruguay"
- },
- "DOP": {
- "name": "peso dominican"
- },
- "PHP": {
- "name": "peso filippin"
- },
- "MXN": {
- "name": "peso mexican",
- "symbol": "MX$"
- },
- "BWP": {
- "name": "pula da la Botswana"
- },
- "GTQ": {
- "name": "quetzal da la Guatemala"
- },
- "ZAR": {
- "name": "rand sidafrican"
- },
- "BRL": {
- "name": "real brasilian",
- "symbol": "R$"
- },
- "OMR": {
- "name": "rial da l’Oman"
- },
- "YER": {
- "name": "rial dal Jemen"
- },
- "IRR": {
- "name": "rial iranais"
- },
- "KHR": {
- "name": "riel cambodschan"
- },
- "MYR": {
- "name": "ringgit da la Malaisia"
- },
- "QAR": {
- "name": "riyal da Katar"
- },
- "SAR": {
- "name": "riyal saudit"
- },
- "BYN": {
- "name": "rubel bieloruss"
- },
- "RUB": {
- "name": "rubel russ (nov)"
- },
- "MVR": {
- "name": "rufiyaa da las Maledivas"
- },
- "LKR": {
- "name": "rupia da la Sri Lanka"
- },
- "SCR": {
- "name": "rupia da las Seychellas"
- },
- "MUR": {
- "name": "rupia dal Mauritius"
- },
- "INR": {
- "name": "rupia indica",
- "symbol": "₹"
- },
- "IDR": {
- "name": "rupia indonaisa"
- },
- "NPR": {
- "name": "rupia nepalaisa"
- },
- "PKR": {
- "name": "rupia pakistana"
- },
- "KES": {
- "name": "schilling kenian"
- },
- "SOS": {
- "name": "schilling somalian"
- },
- "TZS": {
- "name": "schilling tansanian"
- },
- "UGX": {
- "name": "schilling ugandais"
- },
- "ILS": {
- "name": "sheqel",
- "symbol": "₪"
- },
- "PEN": {
- "name": "sol peruan"
- },
- "KGS": {
- "name": "som kirghis"
- },
- "TJS": {
- "name": "somoni dal Tadschikistan"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "UZS": {
- "name": "sum usbec"
- },
- "BDT": {
- "name": "taka bangladais"
- },
- "WST": {
- "name": "tala da la Samoa"
- },
- "KZT": {
- "name": "tenge casac"
- },
- "MNT": {
- "name": "tugrik mongolic"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "VUV": {
- "name": "vatu dal Vanuatu"
- },
- "KPW": {
- "name": "won da la Corea dal Nord"
- },
- "KRW": {
- "name": "won da la Corea dal Sid",
- "symbol": "₩"
- },
- "JPY": {
- "name": "yen giapunais",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "yuan renminbi chinais",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "PLN": {
- "name": "zloty polac"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/rof.json b/vendor/commerceguys/intl/resources/currency/rof.json
deleted file mode 100644
index cf51d2491..000000000
--- a/vendor/commerceguys/intl/resources/currency/rof.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "ZAR": {
- "name": "heleri sa Afrika Kusini"
- },
- "DZD": {
- "name": "heleri sa Aljeria"
- },
- "AOA": {
- "name": "heleri sa Angola"
- },
- "AUD": {
- "name": "heleri sa Australia",
- "symbol": "A$"
- },
- "BHD": {
- "name": "heleri sa Bahareni"
- },
- "BWP": {
- "name": "heleri sa Botswana"
- },
- "MGA": {
- "name": "heleri sa Bukini"
- },
- "BIF": {
- "name": "heleri sa Burundi"
- },
- "XOF": {
- "name": "heleri sa CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "heleri sa CFA BEAC",
- "symbol": "FCFA"
- },
- "CNY": {
- "name": "heleri sa China",
- "symbol": "CN¥"
- },
- "ERN": {
- "name": "heleri sa Eritrea"
- },
- "AED": {
- "name": "heleri sa Falme za Kiarabu"
- },
- "GMD": {
- "name": "heleri sa Gambia"
- },
- "INR": {
- "name": "heleri sa India",
- "symbol": "₹"
- },
- "JPY": {
- "name": "heleri sa Japani",
- "symbol": "JP¥"
- },
- "DJF": {
- "name": "heleri sa Jibuti"
- },
- "CAD": {
- "name": "heleri sa Kanada",
- "symbol": "CA$"
- },
- "KES": {
- "name": "heleri sa Kenya"
- },
- "CVE": {
- "name": "heleri sa Kepuvede"
- },
- "KMF": {
- "name": "heleri sa Komoro"
- },
- "CDF": {
- "name": "heleri sa Kongo"
- },
- "LSL": {
- "name": "heleri sa Lesoto"
- },
- "LRD": {
- "name": "heleri sa Liberia"
- },
- "LYD": {
- "name": "heleri sa Libya"
- },
- "MWK": {
- "name": "heleri sa Malawi"
- },
- "USD": {
- "name": "heleri sa Marekani",
- "symbol": "US$"
- },
- "EGP": {
- "name": "heleri sa Misri"
- },
- "MUR": {
- "name": "heleri sa Morisi"
- },
- "MRU": {
- "name": "heleri sa Moritania"
- },
- "MAD": {
- "name": "heleri sa Moroko"
- },
- "NAD": {
- "name": "heleri sa Namibia"
- },
- "NGN": {
- "name": "heleri sa Nijeria"
- },
- "RWF": {
- "name": "heleri sa Rwanda"
- },
- "SHP": {
- "name": "heleri sa Santahelena"
- },
- "STN": {
- "name": "heleri sa Sao Tome na Principe"
- },
- "SAR": {
- "name": "heleri sa Saudia"
- },
- "SCR": {
- "name": "heleri sa Shelisheli"
- },
- "SOS": {
- "name": "heleri sa Somalia"
- },
- "SDG": {
- "name": "heleri sa Sudani"
- },
- "TZS": {
- "name": "heleri sa Tanzania",
- "symbol": "TSh"
- },
- "TND": {
- "name": "heleri sa Tunisia"
- },
- "UGX": {
- "name": "heleri sa Uganda"
- },
- "ETB": {
- "name": "heleri sa Uhabeshi"
- },
- "GBP": {
- "name": "heleri sa Uingereza",
- "symbol": "£"
- },
- "CHF": {
- "name": "heleri sa Uswisi"
- },
- "ZMW": {
- "name": "heleri sa Zambia"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "leoni"
- },
- "SZL": {
- "name": "lilangeni"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "EUR": {
- "name": "yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/rwk.json b/vendor/commerceguys/intl/resources/currency/rwk.json
deleted file mode 100644
index 7d6a4ff33..000000000
--- a/vendor/commerceguys/intl/resources/currency/rwk.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "SDG": {
- "name": "Dinari ya Sudani"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "USD": {
- "name": "Dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "MGA": {
- "name": "Faranga ya Bukini"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Kenya"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania",
- "symbol": "TSh"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/saq.json b/vendor/commerceguys/intl/resources/currency/saq.json
deleted file mode 100644
index 8251c0602..000000000
--- a/vendor/commerceguys/intl/resources/currency/saq.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "LRD": {
- "name": "Dola eel Liberia"
- },
- "USD": {
- "name": "Dola eel Marekani",
- "symbol": "US$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "ZAR": {
- "name": "Njilingi eel Afrika Kusini"
- },
- "DZD": {
- "name": "Njilingi eel Aljeria"
- },
- "AOA": {
- "name": "Njilingi eel Angola"
- },
- "AUD": {
- "name": "Njilingi eel Australia",
- "symbol": "A$"
- },
- "BHD": {
- "name": "Njilingi eel Bahareni"
- },
- "BWP": {
- "name": "Njilingi eel Botswana"
- },
- "MGA": {
- "name": "Njilingi eel Bukini"
- },
- "BIF": {
- "name": "Njilingi eel Burundi"
- },
- "XOF": {
- "name": "Njilingi eel CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Njilingi eel CFA BEAC",
- "symbol": "FCFA"
- },
- "CNY": {
- "name": "Njilingi eel China",
- "symbol": "CN¥"
- },
- "ERN": {
- "name": "Njilingi eel Eritrea"
- },
- "AED": {
- "name": "Njilingi eel Falme za Kiarabu"
- },
- "GMD": {
- "name": "Njilingi eel Gambia"
- },
- "INR": {
- "name": "Njilingi eel India",
- "symbol": "₹"
- },
- "DJF": {
- "name": "Njilingi eel Jibuti"
- },
- "CAD": {
- "name": "Njilingi eel Kanada",
- "symbol": "CA$"
- },
- "KES": {
- "name": "Njilingi eel Kenya",
- "symbol": "Ksh"
- },
- "CVE": {
- "name": "Njilingi eel Kepuvede"
- },
- "JPY": {
- "name": "Njilingi eel Kijapani",
- "symbol": "JP¥"
- },
- "KMF": {
- "name": "Njilingi eel Komoro"
- },
- "CDF": {
- "name": "Njilingi eel Kongo"
- },
- "LSL": {
- "name": "Njilingi eel Lesoto"
- },
- "LYD": {
- "name": "Njilingi eel Libya"
- },
- "MWK": {
- "name": "Njilingi eel Malawi"
- },
- "EGP": {
- "name": "Njilingi eel Misri"
- },
- "MUR": {
- "name": "Njilingi eel Morisi"
- },
- "MRU": {
- "name": "Njilingi eel Moritania"
- },
- "MAD": {
- "name": "Njilingi eel Moroko"
- },
- "NAD": {
- "name": "Njilingi eel Namibia"
- },
- "NGN": {
- "name": "Njilingi eel Nijeria"
- },
- "RWF": {
- "name": "Njilingi eel Rwanda"
- },
- "STN": {
- "name": "Njilingi eel Sao Tome na Principe"
- },
- "SAR": {
- "name": "Njilingi eel Saudia"
- },
- "SCR": {
- "name": "Njilingi eel Shelisheli"
- },
- "SOS": {
- "name": "Njilingi eel Somalia"
- },
- "TZS": {
- "name": "Njilingi eel Tanzania"
- },
- "TND": {
- "name": "Njilingi eel Tunisia"
- },
- "UGX": {
- "name": "Njilingi eel Uganda"
- },
- "ETB": {
- "name": "Njilingi eel Uhabeshi"
- },
- "GBP": {
- "name": "Njilingi eel Uingereza",
- "symbol": "£"
- },
- "CHF": {
- "name": "Njilingi eel Uswisi"
- },
- "ZMW": {
- "name": "Njilingi eel Zambia"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "SHP": {
- "name": "Paunt eel Santahelena"
- },
- "SDG": {
- "name": "Paunt eel Sudani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sbp.json b/vendor/commerceguys/intl/resources/currency/sbp.json
deleted file mode 100644
index 952442f8d..000000000
--- a/vendor/commerceguys/intl/resources/currency/sbp.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "ZAR": {
- "name": "Ihela ya Afilika Kusini"
- },
- "DZD": {
- "name": "Ihela ya Alijeliya"
- },
- "AOA": {
- "name": "Ihela ya Angola"
- },
- "AUD": {
- "name": "Ihela ya Awusitilaliya",
- "symbol": "A$"
- },
- "BHD": {
- "name": "Ihela ya Bahaleni"
- },
- "BWP": {
- "name": "Ihela ya Botiswana"
- },
- "MGA": {
- "name": "Ihela ya Bukini"
- },
- "BIF": {
- "name": "Ihela ya Bulundi"
- },
- "XOF": {
- "name": "Ihela ya CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Ihela ya CFA BEAC",
- "symbol": "FCFA"
- },
- "ERN": {
- "name": "Ihela ya Elitileya"
- },
- "GMD": {
- "name": "Ihela ya Gambiya"
- },
- "INR": {
- "name": "Ihela ya Indiya",
- "symbol": "₹"
- },
- "JPY": {
- "name": "Ihela ya Japani",
- "symbol": "JP¥"
- },
- "DJF": {
- "name": "Ihela ya Jibuti"
- },
- "CAD": {
- "name": "Ihela ya Kanada",
- "symbol": "CA$"
- },
- "KES": {
- "name": "Ihela ya Kenya"
- },
- "CVE": {
- "name": "Ihela ya Kepuvede"
- },
- "KMF": {
- "name": "Ihela ya Komolo"
- },
- "CDF": {
- "name": "Ihela ya Kongo"
- },
- "LSL": {
- "name": "Ihela ya Lesoto"
- },
- "LRD": {
- "name": "Ihela ya Libeliya"
- },
- "LYD": {
- "name": "Ihela ya Libiya"
- },
- "RWF": {
- "name": "Ihela ya Lwanda"
- },
- "MWK": {
- "name": "Ihela ya Malawi"
- },
- "USD": {
- "name": "Ihela ya Malekani",
- "symbol": "US$"
- },
- "EGP": {
- "name": "Ihela ya Misili"
- },
- "MUR": {
- "name": "Ihela ya Molisi"
- },
- "MRU": {
- "name": "Ihela ya Molitaniya"
- },
- "MAD": {
- "name": "Ihela ya Moloko"
- },
- "NAD": {
- "name": "Ihela ya Namibiya"
- },
- "NGN": {
- "name": "Ihela ya Nijeliya"
- },
- "ZMW": {
- "name": "Ihela ya Sambiya"
- },
- "SHP": {
- "name": "Ihela ya Santahelena"
- },
- "STN": {
- "name": "Ihela ya Sao Tome ni Pilinsipe"
- },
- "SAR": {
- "name": "Ihela ya Sawudiya"
- },
- "SCR": {
- "name": "Ihela ya Shelisheli"
- },
- "CNY": {
- "name": "Ihela ya Shina",
- "symbol": "CN¥"
- },
- "AED": {
- "name": "Ihela ya Shitwa sha Shiyalabu"
- },
- "SLL": {
- "name": "Ihela ya Siela Liyoni"
- },
- "SOS": {
- "name": "Ihela ya Somaliya"
- },
- "SDG": {
- "name": "Ihela ya Sudani"
- },
- "TZS": {
- "name": "Ihela ya Tansaniya",
- "symbol": "TSh"
- },
- "TND": {
- "name": "Ihela ya Tunisiya"
- },
- "UGX": {
- "name": "Ihela ya Uganda"
- },
- "ETB": {
- "name": "Ihela ya Uhabeshi"
- },
- "EUR": {
- "name": "Ihela ya Ulaya",
- "symbol": "€"
- },
- "SZL": {
- "name": "Ihela ya Uswasi"
- },
- "CHF": {
- "name": "Ihela ya Uswisi"
- },
- "GBP": {
- "name": "Ihela ya Uwingelesa",
- "symbol": "£"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/seh.json b/vendor/commerceguys/intl/resources/currency/seh.json
deleted file mode 100644
index 8623777da..000000000
--- a/vendor/commerceguys/intl/resources/currency/seh.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Birr etíope"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "MWK": {
- "name": "Cuacha do Maláui"
- },
- "ZMW": {
- "name": "Cuacha zambiano"
- },
- "AOA": {
- "name": "Cuanza angolano"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi de Gâmbia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinar argelino"
- },
- "BHD": {
- "name": "Dinar bareinita"
- },
- "LYD": {
- "name": "Dinar líbio"
- },
- "SDG": {
- "name": "Dinar sudanês"
- },
- "TND": {
- "name": "Dinar tunisiano"
- },
- "AED": {
- "name": "Dirém dos Emirados Árabes Unidos"
- },
- "MAD": {
- "name": "Dirém marroquino"
- },
- "STN": {
- "name": "Dobra de São Tomé e Príncipe"
- },
- "AUD": {
- "name": "Dólar australiano",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dólar canadense",
- "symbol": "CA$"
- },
- "NAD": {
- "name": "Dólar da Namíbia"
- },
- "LRD": {
- "name": "Dólar liberiano"
- },
- "USD": {
- "name": "Dólar norte-americano",
- "symbol": "US$"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Escudo cabo-verdiano"
- },
- "EUR": {
- "name": "Euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "XOF": {
- "name": "Franco CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Franco CFA BEAC",
- "symbol": "FCFA"
- },
- "CDF": {
- "name": "Franco congolês"
- },
- "KMF": {
- "name": "Franco de Comores"
- },
- "MGA": {
- "name": "Franco de Madagascar"
- },
- "BIF": {
- "name": "Franco do Burundi"
- },
- "DJF": {
- "name": "Franco do Djibuti"
- },
- "RWF": {
- "name": "Franco ruandês"
- },
- "CHF": {
- "name": "Franco suíço"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "JPY": {
- "name": "Iene japonês",
- "symbol": "JP¥"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leone de Serra Leoa"
- },
- "GBP": {
- "name": "Libra britânica",
- "symbol": "£"
- },
- "SHP": {
- "name": "Libra de Santa Helena"
- },
- "EGP": {
- "name": "Libra egípcia"
- },
- "SZL": {
- "name": "Lilangeni da Suazilândia"
- },
- "LSL": {
- "name": "Loti do Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MZN": {
- "name": "Metical de Moçambique",
- "symbol": "MTn"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira nigeriana"
- },
- "ERN": {
- "name": "Nakfa da Eritréia"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "MRU": {
- "name": "Ouguiya da Mauritânia"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula botsuanesa"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Rand sul-africano"
- },
- "SAR": {
- "name": "Rial saudita"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "SCR": {
- "name": "Rupia das Seychelles"
- },
- "MUR": {
- "name": "Rupia de Maurício"
- },
- "INR": {
- "name": "Rúpia indiana",
- "symbol": "₹"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "TZS": {
- "name": "Xelim da Tanzânia"
- },
- "KES": {
- "name": "Xelim queniano"
- },
- "SOS": {
- "name": "Xelim somali"
- },
- "UGX": {
- "name": "Xelim ugandense (1966–1987)"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi chinês",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ses.json b/vendor/commerceguys/intl/resources/currency/ses.json
deleted file mode 100644
index 9ddc15238..000000000
--- a/vendor/commerceguys/intl/resources/currency/ses.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "DZD": {
- "name": "Alžeeri Dinar"
- },
- "USD": {
- "name": "Ameriki Dollar",
- "symbol": "US$"
- },
- "AOA": {
- "name": "Angoola Kwanza"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BHD": {
- "name": "Bahareen Dinar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "Botswaana Pund"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "Britin Pund",
- "symbol": "£"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "BIF": {
- "name": "Burundi Fraŋ"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XOF": {
- "name": "CFA Fraŋ (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA Fraŋ (BEAC)",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "ETB": {
- "name": "Ecioopi Birr"
- },
- "EUR": {
- "name": "Eero",
- "symbol": "€"
- },
- "ERN": {
- "name": "Eritree Nafka"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "Gambi Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "ZAR": {
- "name": "Hawasa Afriki Rand"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "INR": {
- "name": "Indu Rupii",
- "symbol": "₹"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JPY": {
- "name": "Jaapoŋ Yen",
- "symbol": "JP¥"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "DJF": {
- "name": "Jibuuti Fraŋ"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CAD": {
- "name": "Kanaada Dollar",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "Kapuver Escudo"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Keeniya Šiiliŋ"
- },
- "KMF": {
- "name": "Komoor Fraŋ"
- },
- "CDF": {
- "name": "Kongo Fraŋ"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "AED": {
- "name": "Laaraw Immaara Margantey Dirham"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leeon"
- },
- "LSL": {
- "name": "Leezoto Loti"
- },
- "LRD": {
- "name": "Liberia Dollar"
- },
- "LYD": {
- "name": "Liibi Dinar"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "MAD": {
- "name": "Maarok Dirham"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MWK": {
- "name": "Malaawi Kwaca"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MGA": {
- "name": "Malgaaši Fraŋ"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "EGP": {
- "name": "Misra Pund"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MUR": {
- "name": "Mooris Rupii"
- },
- "MRU": {
- "name": "Mooritaani Ugiya"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naajiriya Neera"
- },
- "NAD": {
- "name": "Naamibi Dollar"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "AUD": {
- "name": "Ostraali Dollar",
- "symbol": "A$"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "RWF": {
- "name": "Rwanda Fraŋ"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "Sao Tome nda Prinsipe Dobra"
- },
- "SAR": {
- "name": "Saudiya Riyal"
- },
- "SCR": {
- "name": "Seešel Rupii"
- },
- "SHP": {
- "name": "Seŋ Helena Fraŋ"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "CNY": {
- "name": "Sinwa Yuan Renminbi",
- "symbol": "CN¥"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somaali Šiiliŋ"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SDG": {
- "name": "Suudaŋ Dinar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "CHF": {
- "name": "Swisu Fraŋ"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Tanzaani Šiiliŋ"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunizi Dinar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "Uganda Šiiliŋ"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZMW": {
- "name": "Zambi Kwaca"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sg.json b/vendor/commerceguys/intl/resources/currency/sg.json
deleted file mode 100644
index 89fddc218..000000000
--- a/vendor/commerceguys/intl/resources/currency/sg.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "MGA": {
- "name": "ariâri tî Madagasikära"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "bir tî Etiopïi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "dalasi tî gambïi"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "LYD": {
- "name": "dinäar tî Libïi"
- },
- "TND": {
- "name": "dinära tî Tunizïi"
- },
- "DZD": {
- "name": "dinäri tî Alzerïi"
- },
- "AED": {
- "name": "dirâm tî âEmirâti tî Arâbo Ôko"
- },
- "MAD": {
- "name": "dirâm tî Marôko"
- },
- "STN": {
- "name": "dôbra tî Sâô Tomë na Prinsîpe"
- },
- "USD": {
- "name": "dol$ara ttî äLetäa-Ôko tî Amerîka",
- "symbol": "US$"
- },
- "CAD": {
- "name": "dolära tî kanadäa",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "dolära tî Liberïa"
- },
- "NAD": {
- "name": "dolära tî Namibïi"
- },
- "AUD": {
- "name": "dolära tî Ostralïi",
- "symbol": "A$"
- },
- "BHD": {
- "name": "dolùara tî Bahrâina"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "eskûêdo tî Kâpo-Vêre"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "farânga CFA (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "farânga CFA (BEAC)",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "farânga tî Burundïi"
- },
- "DJF": {
- "name": "farânga tî Dibutïi"
- },
- "KMF": {
- "name": "farânga tî Kömôro"
- },
- "CDF": {
- "name": "farânga tî Kongöo"
- },
- "RWF": {
- "name": "farânga tî Ruandäa"
- },
- "CHF": {
- "name": "farânga tî Sûîsi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "AOA": {
- "name": "kwânza tî Angoläa"
- },
- "MWK": {
- "name": "kwâtia tî Malawïi"
- },
- "ZMW": {
- "name": "kwâtia tî Zambïi"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "leône tî Sierâ-Leône"
- },
- "SZL": {
- "name": "lilangùeni tî Swazïlânde"
- },
- "LSL": {
- "name": "loti tî Lesôtho"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "nâîra tî Nizerïa"
- },
- "ERN": {
- "name": "nakafa tî Eritrëe"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "GBP": {
- "name": "pôndo tî Anglëe",
- "symbol": "£"
- },
- "EGP": {
- "name": "pôndo tî Kâmitâ"
- },
- "SDG": {
- "name": "pôndo tî Sudäan"
- },
- "SHP": {
- "name": "pôndo tî Zûâ Sênt-Helêna"
- },
- "BWP": {
- "name": "pûla tî Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "rânde tî Mbongo-Afrîka"
- },
- "SAR": {
- "name": "riâli tî Saûdi Arabïi"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "rupïi tî Ênnde",
- "symbol": "₹"
- },
- "MUR": {
- "name": "rupïi tî Mörîsi"
- },
- "SCR": {
- "name": "rupïi tî Sëyshêle"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "shilîngi tî Kenyäa"
- },
- "SOS": {
- "name": "shilîngi tî Somalïi"
- },
- "TZS": {
- "name": "shilîngi tî Tanzanïi"
- },
- "UGX": {
- "name": "shilîngi tî Ugandäa"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "ugîya tî Moritanïi"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "yêni tî Zapön",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "yuan renminbi tî Shîni",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "EUR": {
- "name": "zoröo",
- "symbol": "€"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/shi-Latn.json b/vendor/commerceguys/intl/resources/currency/shi-Latn.json
deleted file mode 100644
index 8de7c2294..000000000
--- a/vendor/commerceguys/intl/resources/currency/shi-Latn.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "BWP": {
- "name": "abula n butswana"
- },
- "KES": {
- "name": "acilin n kinya"
- },
- "SOS": {
- "name": "acilin n ṣṣumal"
- },
- "TZS": {
- "name": "acilin n ṭanẓanya"
- },
- "UGX": {
- "name": "acilin n uɣanda"
- },
- "BHD": {
- "name": "adinar n bḥrayn"
- },
- "DZD": {
- "name": "adinar n dzayr"
- },
- "LYD": {
- "name": "adinar n libya"
- },
- "SDG": {
- "name": "adinar n ssudan"
- },
- "TND": {
- "name": "adinar n tuns"
- },
- "AED": {
- "name": "adrim n limarat"
- },
- "MAD": {
- "name": "adrim n lmɣrib"
- },
- "STN": {
- "name": "adubra n sanṭumi"
- },
- "USD": {
- "name": "adular n iwunak imunn",
- "symbol": "US$"
- },
- "CAD": {
- "name": "adular n kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "adular n libirya"
- },
- "NAD": {
- "name": "adular n namibya"
- },
- "AUD": {
- "name": "adular n ustralya",
- "symbol": "A$"
- },
- "AFN": {
- "name": "Afghan Afghani"
- },
- "RWF": {
- "name": "afrank n rwanda"
- },
- "CHF": {
- "name": "afrank n swisra"
- },
- "GBP": {
- "name": "ajnih astrlini n nngliz",
- "symbol": "£"
- },
- "EGP": {
- "name": "ajnih n miṣṛ"
- },
- "SHP": {
- "name": "ajnih n santilin"
- },
- "ZMW": {
- "name": "akwaca n zambya"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ZAR": {
- "name": "arand n afriqya n iffus"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "INR": {
- "name": "arubi n lhind",
- "symbol": "₹"
- },
- "MUR": {
- "name": "arubi n muris"
- },
- "SCR": {
- "name": "arubi n ssicil"
- },
- "SAR": {
- "name": "aryal n ssaɛudiya"
- },
- "CNY": {
- "name": "ayan n ccinwa",
- "symbol": "CN¥"
- },
- "JPY": {
- "name": "ayan n lyaban",
- "symbol": "JP¥"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "bir n ityubya"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "dalasi n gambya"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "BIF": {
- "name": "frank n burundi"
- },
- "DJF": {
- "name": "frank n djibuti"
- },
- "CDF": {
- "name": "frank n kungu"
- },
- "MGA": {
- "name": "frank n madaɣacqar"
- },
- "KMF": {
- "name": "frank n qumuṛ"
- },
- "XAF": {
- "name": "frank ṣifa",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "frank ṣifa bisaw",
- "symbol": "CFA"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "CVE": {
- "name": "iskudu n kabbirdi"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "kwaca n malawi"
- },
- "AOA": {
- "name": "kwanza n angula"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SZL": {
- "name": "lilanjini"
- },
- "SLL": {
- "name": "liyun"
- },
- "LSL": {
- "name": "luti n liṣuṭu"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "nafka n iritirya"
- },
- "NGN": {
- "name": "nayra n nijirya"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "MRU": {
- "name": "uqiyya n muṛiṭanya"
- },
- "EUR": {
- "name": "uru",
- "symbol": "€"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/shi.json b/vendor/commerceguys/intl/resources/currency/shi.json
deleted file mode 100644
index 0e5ced186..000000000
--- a/vendor/commerceguys/intl/resources/currency/shi.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "BWP": {
- "name": "ⴰⴱⵓⵍⴰ ⵏ ⴱⵓⵜⵙⵡⴰⵏⴰ"
- },
- "BHD": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⴱⵃⵔⴰⵢⵏ"
- },
- "DZD": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⴷⵣⴰⵢⵔ"
- },
- "LYD": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵍⵉⴱⵢⴰ"
- },
- "SDG": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵙⵙⵓⴷⴰⵏ"
- },
- "TND": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵜⵓⵏⵙ"
- },
- "STN": {
- "name": "ⴰⴷⵓⴱⵔⴰ ⵏ ⵙⴰⵏⵟⵓⵎⵉ"
- },
- "CAD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⴽⴰⵏⴰⴷⴰ",
- "symbol": "CA$"
- },
- "USD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵉⵡⵓⵏⴰⴽ ⵉⵎⵓⵏⵏ",
- "symbol": "US$"
- },
- "LRD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵍⵉⴱⵉⵔⵢⴰ"
- },
- "NAD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵏⴰⵎⵉⴱⵢⴰ"
- },
- "AUD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵓⵙⵜⵔⴰⵍⵢⴰ",
- "symbol": "A$"
- },
- "AED": {
- "name": "ⴰⴷⵔⵉⵎ ⵏ ⵍⵉⵎⴰⵔⴰⵜ"
- },
- "MAD": {
- "name": "ⴰⴷⵔⵉⵎ ⵏ ⵍⵎⵖⵔⵉⴱ"
- },
- "RWF": {
- "name": "ⴰⴼⵔⴰⵏⴽ ⵏ ⵔⵡⴰⵏⴷⴰ"
- },
- "CHF": {
- "name": "ⴰⴼⵔⴰⵏⴽ ⵏ ⵙⵡⵉⵙⵔⴰ"
- },
- "ZMW": {
- "name": "ⴰⴽⵡⴰⵛⴰ ⵏ ⵣⴰⵎⴱⵢⴰ"
- },
- "GBP": {
- "name": "ⴰⵊⵏⵉⵀ ⴰⵙⵜⵔⵍⵉⵏⵉ ⵏ ⵏⵏⴳⵍⵉⵣ",
- "symbol": "£"
- },
- "EGP": {
- "name": "ⴰⵊⵏⵉⵀ ⵏ ⵎⵉⵚⵕ"
- },
- "SHP": {
- "name": "ⴰⵊⵏⵉⵀ ⵏ ⵙⴰⵏⵜⵉⵍⵉⵏ"
- },
- "ZAR": {
- "name": "ⴰⵔⴰⵏⴷ ⵏ ⴰⴼⵔⵉⵇⵢⴰ ⵏ ⵉⴼⴼⵓⵙ"
- },
- "INR": {
- "name": "ⴰⵔⵓⴱⵉ ⵏ ⵍⵀⵉⵏⴷ",
- "symbol": "₹"
- },
- "MUR": {
- "name": "ⴰⵔⵓⴱⵉ ⵏ ⵎⵓⵔⵉⵙ"
- },
- "SCR": {
- "name": "ⴰⵔⵓⴱⵉ ⵏ ⵙⵙⵉⵛⵉⵍ"
- },
- "SAR": {
- "name": "ⴰⵔⵢⴰⵍ ⵏ ⵙⵙⴰⵄⵓⴷⵉⵢⴰ"
- },
- "KES": {
- "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⴽⵉⵏⵢⴰ"
- },
- "UGX": {
- "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵓⵖⴰⵏⴷⴰ"
- },
- "SOS": {
- "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵚⵚⵓⵎⴰⵍ"
- },
- "TZS": {
- "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵟⴰⵏⵥⴰⵏⵢⴰ"
- },
- "JPY": {
- "name": "ⴰⵢⴰⵏ ⵏ ⵍⵢⴰⴱⴰⵏ",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "ⴰⵢⴰⵏ ⵏ ⵛⵛⵉⵏⵡⴰ",
- "symbol": "CN¥"
- },
- "ETB": {
- "name": "ⴱⵉⵔ ⵏ ⵉⵜⵢⵓⴱⵢⴰ"
- },
- "GMD": {
- "name": "ⴷⴰⵍⴰⵙⵉ ⵏ ⴳⴰⵎⴱⵢⴰ"
- },
- "BIF": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⴱⵓⵔⵓⵏⴷⵉ"
- },
- "DJF": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⴷⵊⵉⴱⵓⵜⵉ"
- },
- "CDF": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⴽⵓⵏⴳⵓ"
- },
- "KMF": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⵇⵓⵎⵓⵕ"
- },
- "MGA": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ"
- },
- "XAF": {
- "name": "ⴼⵔⴰⵏⴽ ⵚⵉⴼⴰ",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "ⴼⵔⴰⵏⴽ ⵚⵉⴼⴰ ⴱⵉⵙⴰⵡ",
- "symbol": "CFA"
- },
- "AOA": {
- "name": "ⴽⵡⴰⵏⵣⴰ ⵏ ⴰⵏⴳⵓⵍⴰ"
- },
- "MWK": {
- "name": "ⴽⵡⴰⵛⴰ ⵏ ⵎⴰⵍⴰⵡⵉ"
- },
- "CVE": {
- "name": "ⵉⵙⴽⵓⴷⵓ ⵏ ⴽⴰⴱⴱⵉⵔⴷⵉ"
- },
- "SZL": {
- "name": "ⵍⵉⵍⴰⵏⵊⵉⵏⵉ"
- },
- "SLL": {
- "name": "ⵍⵉⵢⵓⵏ"
- },
- "LSL": {
- "name": "ⵍⵓⵜⵉ ⵏ ⵍⵉⵚⵓⵟⵓ"
- },
- "ERN": {
- "name": "ⵏⴰⴼⴽⴰ ⵏ ⵉⵔⵉⵜⵉⵔⵢⴰ"
- },
- "NGN": {
- "name": "ⵏⴰⵢⵔⴰ ⵏ ⵏⵉⵊⵉⵔⵢⴰ"
- },
- "MRU": {
- "name": "ⵓⵇⵉⵢⵢⴰ ⵏ ⵎⵓⵕⵉⵟⴰⵏⵢⴰ"
- },
- "EUR": {
- "name": "ⵓⵔⵓ",
- "symbol": "€"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sn.json b/vendor/commerceguys/intl/resources/currency/sn.json
deleted file mode 100644
index 3809f24c8..000000000
--- a/vendor/commerceguys/intl/resources/currency/sn.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ye Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dhinari re Aljeria"
- },
- "BHD": {
- "name": "Dhinari re Bhahareni"
- },
- "CVE": {
- "name": "Dhora re Escudo"
- },
- "ETB": {
- "name": "Dhora re Etiopia"
- },
- "LYD": {
- "name": "Dinari re Libya"
- },
- "SDG": {
- "name": "Dinari re Sudani"
- },
- "TND": {
- "name": "Dinari re Tunisia"
- },
- "AED": {
- "name": "Diramu re United Arab Emirates"
- },
- "MAD": {
- "name": "Dirham ye Moroko"
- },
- "STN": {
- "name": "Dobra re Sao Tome ne Principe"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Dora re Amerika",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Dora re Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dora re Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dora re Liberia"
- },
- "NAD": {
- "name": "Dora re Namibia"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "XOF": {
- "name": "Furenki CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Furenki CFA BEAC",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Furenki re Bhurundi"
- },
- "DJF": {
- "name": "Furenki re Jibhuti"
- },
- "KMF": {
- "name": "Furenki re Komoro"
- },
- "CDF": {
- "name": "Furenki re Kongo"
- },
- "MGA": {
- "name": "Furenki re Malagasi"
- },
- "RWF": {
- "name": "Furenki re Ruwanda"
- },
- "CHF": {
- "name": "Furenki re Swisi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ye Malawi"
- },
- "ZMW": {
- "name": "Kwacha ye Zambia"
- },
- "AOA": {
- "name": "Kwanza ye Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ye Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ye Nijeria"
- },
- "ERN": {
- "name": "Nakfa re Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Paundi re Ijipita"
- },
- "SHP": {
- "name": "Paundi re Senti Helena"
- },
- "GBP": {
- "name": "Paundi ye Bhiriteni",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pura re Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi"
- },
- "SAR": {
- "name": "Riyali re Saudi"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupe re India",
- "symbol": "₹"
- },
- "SCR": {
- "name": "Rupi re Seyisheri"
- },
- "MUR": {
- "name": "Rupi ye Morishasi"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SOS": {
- "name": "Shiringi re Somalia"
- },
- "TZS": {
- "name": "Shiringi re Tanzania"
- },
- "UGX": {
- "name": "Shiringi re Uganda"
- },
- "KES": {
- "name": "Shiringi ye Kenya"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ye Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni ye Japani",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "Yuan Renminbi ye China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sv.json b/vendor/commerceguys/intl/resources/currency/sv.json
index f242a1cc4..70a2f8a75 100644
--- a/vendor/commerceguys/intl/resources/currency/sv.json
+++ b/vendor/commerceguys/intl/resources/currency/sv.json
@@ -453,7 +453,7 @@
"name": "ungersk forint"
},
"UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
+ "name": "uruguayansk indexenhet för nominell lön"
},
"UYU": {
"name": "uruguayansk peso"
diff --git a/vendor/commerceguys/intl/resources/currency/sw-CD.json b/vendor/commerceguys/intl/resources/currency/sw-CD.json
index 3e708eb79..39b1dd53a 100644
--- a/vendor/commerceguys/intl/resources/currency/sw-CD.json
+++ b/vendor/commerceguys/intl/resources/currency/sw-CD.json
@@ -33,9 +33,6 @@
"NIO": {
"name": "Cordoba ya Nicaragua"
},
- "CZK": {
- "name": "Czech Koruna"
- },
"GMD": {
"name": "Dalasi ya Gambia"
},
@@ -216,6 +213,9 @@
"LAK": {
"name": "Kip ya Laosi"
},
+ "CZK": {
+ "name": "koruna ya Jamhuri ya Czech"
+ },
"ISK": {
"name": "Krona ya Aisilandi"
},
diff --git a/vendor/commerceguys/intl/resources/currency/sw.json b/vendor/commerceguys/intl/resources/currency/sw.json
index 6d196ca5a..269544cd2 100644
--- a/vendor/commerceguys/intl/resources/currency/sw.json
+++ b/vendor/commerceguys/intl/resources/currency/sw.json
@@ -33,9 +33,6 @@
"NIO": {
"name": "Cordoba ya Nicaragua"
},
- "CZK": {
- "name": "Czech Koruna"
- },
"GMD": {
"name": "Dalasi ya Gambia"
},
@@ -215,6 +212,9 @@
"LAK": {
"name": "Kip ya Laosi"
},
+ "CZK": {
+ "name": "koruna ya Jamhuri ya Czech"
+ },
"ISK": {
"name": "Krona ya Aisilandi"
},
diff --git a/vendor/commerceguys/intl/resources/currency/teo.json b/vendor/commerceguys/intl/resources/currency/teo.json
deleted file mode 100644
index f220fd6d1..000000000
--- a/vendor/commerceguys/intl/resources/currency/teo.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ZAR": {
- "name": "Ango’otol lok’ Afrika Kusini"
- },
- "DZD": {
- "name": "Ango’otol lok’ Aljeria"
- },
- "AOA": {
- "name": "Ango’otol lok’ Angola"
- },
- "AUD": {
- "name": "Ango’otol lok’ Australia",
- "symbol": "A$"
- },
- "BHD": {
- "name": "Ango’otol lok’ Bahareni"
- },
- "BWP": {
- "name": "Ango’otol lok’ Botswana"
- },
- "MGA": {
- "name": "Ango’otol lok’ Bukini"
- },
- "BIF": {
- "name": "Ango’otol lok’ Burundi"
- },
- "XOF": {
- "name": "Ango’otol lok’ CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Ango’otol lok’ CFA BEAC",
- "symbol": "FCFA"
- },
- "CNY": {
- "name": "Ango’otol lok’ China",
- "symbol": "CN¥"
- },
- "ERN": {
- "name": "Ango’otol lok’ Eritrea"
- },
- "AED": {
- "name": "Ango’otol lok’ Falme za Kiarabu"
- },
- "INR": {
- "name": "Ango’otol lok’ India",
- "symbol": "₹"
- },
- "DJF": {
- "name": "Ango’otol lok’ Jibuti"
- },
- "KES": {
- "name": "Ango’otol lok’ Kenya"
- },
- "CVE": {
- "name": "Ango’otol lok’ Kepuvede"
- },
- "JPY": {
- "name": "Ango’otol lok’ Kijapani",
- "symbol": "JP¥"
- },
- "KMF": {
- "name": "Ango’otol lok’ Komoro"
- },
- "CDF": {
- "name": "Ango’otol lok’ Kongo"
- },
- "LSL": {
- "name": "Ango’otol lok’ Lesoto"
- },
- "LYD": {
- "name": "Ango’otol lok’ Libya"
- },
- "MWK": {
- "name": "Ango’otol lok’ Malawi"
- },
- "MUR": {
- "name": "Ango’otol lok’ Morisi"
- },
- "MRU": {
- "name": "Ango’otol lok’ Moritania"
- },
- "MAD": {
- "name": "Ango’otol lok’ Moroko"
- },
- "NAD": {
- "name": "Ango’otol lok’ Namibia"
- },
- "NGN": {
- "name": "Ango’otol lok’ Nijeria"
- },
- "RWF": {
- "name": "Ango’otol lok’ Rwanda"
- },
- "SHP": {
- "name": "Ango’otol lok’ Santahelena"
- },
- "STN": {
- "name": "Ango’otol lok’ Sao Tome na Principe"
- },
- "SAR": {
- "name": "Ango’otol lok’ Saudia"
- },
- "SCR": {
- "name": "Ango’otol lok’ Shelisheli"
- },
- "SOS": {
- "name": "Ango’otol lok’ Somalia"
- },
- "TZS": {
- "name": "Ango’otol lok’ Tanzania"
- },
- "TND": {
- "name": "Ango’otol lok’ Tunisia"
- },
- "UGX": {
- "name": "Ango’otol lok’ Uganda",
- "symbol": "USh"
- },
- "ETB": {
- "name": "Ango’otol lok’ Uhabeshi"
- },
- "CHF": {
- "name": "Ango’otol lok’ Uswisi"
- },
- "ZMW": {
- "name": "Ango’otol lok’ Zambia"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "USD": {
- "name": "edola lok’ Amareka",
- "symbol": "US$"
- },
- "LRD": {
- "name": "edola lok’ Liberia"
- },
- "CAD": {
- "name": "Edola lok’Kanada",
- "symbol": "CA$"
- },
- "EGP": {
- "name": "Epaunt lok’ Misri"
- },
- "SDG": {
- "name": "Epaunt Lok’ Sudan"
- },
- "GBP": {
- "name": "Epaunt lok’ Uingereza",
- "symbol": "£"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/twq.json b/vendor/commerceguys/intl/resources/currency/twq.json
deleted file mode 100644
index 9ddc15238..000000000
--- a/vendor/commerceguys/intl/resources/currency/twq.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "DZD": {
- "name": "Alžeeri Dinar"
- },
- "USD": {
- "name": "Ameriki Dollar",
- "symbol": "US$"
- },
- "AOA": {
- "name": "Angoola Kwanza"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BHD": {
- "name": "Bahareen Dinar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "Botswaana Pund"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "Britin Pund",
- "symbol": "£"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "BIF": {
- "name": "Burundi Fraŋ"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XOF": {
- "name": "CFA Fraŋ (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA Fraŋ (BEAC)",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "ETB": {
- "name": "Ecioopi Birr"
- },
- "EUR": {
- "name": "Eero",
- "symbol": "€"
- },
- "ERN": {
- "name": "Eritree Nafka"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "Gambi Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "ZAR": {
- "name": "Hawasa Afriki Rand"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "INR": {
- "name": "Indu Rupii",
- "symbol": "₹"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JPY": {
- "name": "Jaapoŋ Yen",
- "symbol": "JP¥"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "DJF": {
- "name": "Jibuuti Fraŋ"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CAD": {
- "name": "Kanaada Dollar",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "Kapuver Escudo"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Keeniya Šiiliŋ"
- },
- "KMF": {
- "name": "Komoor Fraŋ"
- },
- "CDF": {
- "name": "Kongo Fraŋ"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "AED": {
- "name": "Laaraw Immaara Margantey Dirham"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leeon"
- },
- "LSL": {
- "name": "Leezoto Loti"
- },
- "LRD": {
- "name": "Liberia Dollar"
- },
- "LYD": {
- "name": "Liibi Dinar"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "MAD": {
- "name": "Maarok Dirham"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MWK": {
- "name": "Malaawi Kwaca"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MGA": {
- "name": "Malgaaši Fraŋ"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "EGP": {
- "name": "Misra Pund"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MUR": {
- "name": "Mooris Rupii"
- },
- "MRU": {
- "name": "Mooritaani Ugiya"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naajiriya Neera"
- },
- "NAD": {
- "name": "Naamibi Dollar"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "AUD": {
- "name": "Ostraali Dollar",
- "symbol": "A$"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "RWF": {
- "name": "Rwanda Fraŋ"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "Sao Tome nda Prinsipe Dobra"
- },
- "SAR": {
- "name": "Saudiya Riyal"
- },
- "SCR": {
- "name": "Seešel Rupii"
- },
- "SHP": {
- "name": "Seŋ Helena Fraŋ"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "CNY": {
- "name": "Sinwa Yuan Renminbi",
- "symbol": "CN¥"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somaali Šiiliŋ"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SDG": {
- "name": "Suudaŋ Dinar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "CHF": {
- "name": "Swisu Fraŋ"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Tanzaani Šiiliŋ"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunizi Dinar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UGX": {
- "name": "Uganda Šiiliŋ"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZMW": {
- "name": "Zambi Kwaca"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/tzm.json b/vendor/commerceguys/intl/resources/currency/tzm.json
deleted file mode 100644
index b962d68a0..000000000
--- a/vendor/commerceguys/intl/resources/currency/tzm.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "MGA": {
- "name": "Aryari Umalɣaci"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Birr Uyityuppi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "UGX": {
- "name": "Cilin Uɣandi (1966–1987)"
- },
- "SOS": {
- "name": "Cilin Uṣumali"
- },
- "TZS": {
- "name": "Cilin Uṭanzani"
- },
- "KES": {
- "name": "Cillin Ukini"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi Agambi"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "MAD": {
- "name": "Derhem Umeṛṛuki"
- },
- "AED": {
- "name": "Derhem Uymarati"
- },
- "BHD": {
- "name": "Ḍinar Ubaḥrayni"
- },
- "DZD": {
- "name": "Ḍinar Udzayri"
- },
- "LYD": {
- "name": "Ḍinar Ulibi"
- },
- "TND": {
- "name": "Ḍinar Utunsi"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "STN": {
- "name": "Dubra Usawṭumi"
- },
- "CAD": {
- "name": "Ḍular Ukanadi",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Ḍular Ulibiri"
- },
- "USD": {
- "name": "Ḍular Umirikani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Ḍular Unamibi"
- },
- "AUD": {
- "name": "Ḍular Usṭrali",
- "symbol": "A$"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "XOF": {
- "name": "Frank CFA (BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Frank CFA (BEAC)",
- "symbol": "FCFA"
- },
- "BIF": {
- "name": "Frank Uburundi"
- },
- "DJF": {
- "name": "Frank Uğibuti"
- },
- "CDF": {
- "name": "Frank Ukunguli"
- },
- "KMF": {
- "name": "Frank Uqumuri"
- },
- "RWF": {
- "name": "Frank Urwandi"
- },
- "CHF": {
- "name": "Frank Uswisri"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "CVE": {
- "name": "Iskudu Ukabuvirdyani"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "GBP": {
- "name": "Junih Ubriṭani",
- "symbol": "£"
- },
- "EGP": {
- "name": "Junih Umiṣṛi"
- },
- "SHP": {
- "name": "Junih Usantehilini"
- },
- "SDG": {
- "name": "Junih Usudani"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwača Umalawi"
- },
- "ZMW": {
- "name": "Kwača Uzambi"
- },
- "AOA": {
- "name": "Kwanza Unguli"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SZL": {
- "name": "Lilanjini Uswazi"
- },
- "LSL": {
- "name": "Luti Ulusuṭi"
- },
- "SLL": {
- "name": "Lyun Usirralyuni"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "Nakfa Uyritri"
- },
- "NGN": {
- "name": "Nayra Unijiri"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula Ubutswani"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Rand Ufriki Unzul"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupi Uḥindi",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupi Umurisi"
- },
- "SCR": {
- "name": "Rupi Usicili"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SAR": {
- "name": "Ryal Usaεudi"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "MRU": {
- "name": "Uqiyya Umuritani"
- },
- "EUR": {
- "name": "Uṛu",
- "symbol": "€"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "JPY": {
- "name": "Yann Ujappuni",
- "symbol": "JP¥"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Ywan Renminbi Ucinwi",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ug.json b/vendor/commerceguys/intl/resources/currency/ug.json
deleted file mode 100644
index 2f1e7bdae..000000000
--- a/vendor/commerceguys/intl/resources/currency/ug.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "ARS": {
- "name": "ئارگېنتىنا پېسوسى"
- },
- "AWG": {
- "name": "ئارۇبان فىلورۇنى"
- },
- "XAF": {
- "name": "ئافرىقا قىتئەسى پۇل-مۇئامىلە ئىتتىپاقى فرانكى",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "ئافرىقا قىتئەسى پۇل-مۇئامىلە ئىتتىپاقى فرانكى (BCEAO)",
- "symbol": "CFA"
- },
- "AFN": {
- "name": "ئافغان ئافغانى"
- },
- "ALL": {
- "name": "ئالبانىيە لېكى"
- },
- "DZD": {
- "name": "ئالجىرىيە دىنارى"
- },
- "USD": {
- "name": "ئامېرىكا دوللىرى",
- "symbol": "$"
- },
- "AOA": {
- "name": "ئانگولا كۇۋانزاسى"
- },
- "AUD": {
- "name": "ئاۋسترالىيە دوللىرى",
- "symbol": "A$"
- },
- "MOP": {
- "name": "ئاۋمېن پاتاكاسى"
- },
- "AED": {
- "name": "ئەرەب بىرلەشمە خەلىپىلىكى دەرھەمى"
- },
- "AMD": {
- "name": "ئەرمېنىيە دىرامى"
- },
- "AZN": {
- "name": "ئەزەربەيجان ماناتى"
- },
- "GBP": {
- "name": "ئەنگلىيە فوند سىتېرلىڭى",
- "symbol": "£"
- },
- "OMR": {
- "name": "ئومان رىيالى"
- },
- "UYU": {
- "name": "ئۇرۇگۋاي پېسوسى"
- },
- "UAH": {
- "name": "ئۇكرائىنا خرىۋناسى"
- },
- "UGX": {
- "name": "ئۇگاندا شىللىڭى"
- },
- "UZS": {
- "name": "ئۆزبېكىستان سومى"
- },
- "ERN": {
- "name": "ئېرىترېيە ناكفاسى"
- },
- "ETB": {
- "name": "ئېفىيوپىيە بىررى"
- },
- "IQD": {
- "name": "ئىراق دىنارى"
- },
- "IRR": {
- "name": "ئىران رىيالى"
- },
- "ILS": {
- "name": "ئىسرائىل يېڭى شېكېلى",
- "symbol": "₪"
- },
- "ISK": {
- "name": "ئىسلاندىيە كروناسى"
- },
- "JOD": {
- "name": "ئىيوردانىيە دىنارى"
- },
- "BBD": {
- "name": "باربادوس دوللىرى"
- },
- "BDT": {
- "name": "باڭلادىش تاكاسى"
- },
- "BSD": {
- "name": "باھاما دوللىرى"
- },
- "BHD": {
- "name": "بەھرەين دىنارى"
- },
- "BWP": {
- "name": "بوتسۋانا پۇلاسى"
- },
- "BAM": {
- "name": "بوسنىيە-خېرتسېگوۋىنا ئالماشتۇرۇشچان ماركى"
- },
- "BOB": {
- "name": "بولىۋىيە بولىۋىيانوسى"
- },
- "BTN": {
- "name": "بۇتان نگۇلترۇمى"
- },
- "BIF": {
- "name": "بۇرۇندى فرانكى"
- },
- "BGN": {
- "name": "بۇلغارىيە لېۋاسى"
- },
- "BMD": {
- "name": "بېرمۇدا دوللىرى"
- },
- "BYN": {
- "name": "بېلارۇسىيە رۇبلىسى"
- },
- "BZD": {
- "name": "بېلىز دوللىرى"
- },
- "BRL": {
- "name": "بىرازىلىيە رىيالى",
- "symbol": "R$"
- },
- "BND": {
- "name": "بىرۇنېي دوللىرى"
- },
- "PGK": {
- "name": "پاپۇئا يېڭى گىۋىنېيە كىناسى"
- },
- "PYG": {
- "name": "پاراگۋاي گۇئارانىسى"
- },
- "PKR": {
- "name": "پاكىستان رۇپىسى"
- },
- "PAB": {
- "name": "پاناما بالبوئاسى"
- },
- "PLN": {
- "name": "پولشا زىلوتى"
- },
- "PEN": {
- "name": "پېرۇ سولى"
- },
- "TJS": {
- "name": "تاجىكىستان سومونىسى"
- },
- "TZS": {
- "name": "تانزانىيە شىللىڭى"
- },
- "THB": {
- "name": "تايلاند باختى"
- },
- "TOP": {
- "name": "تونگا پائانگاسى"
- },
- "TND": {
- "name": "تۇنىس دىنارى"
- },
- "TMT": {
- "name": "تۈركمەنىستان ماناتى"
- },
- "TRY": {
- "name": "تۈركىيە لىراسى"
- },
- "TTD": {
- "name": "تىرىنىداد ۋە توباگو دوللىرى"
- },
- "XPF": {
- "name": "تىنچ ئوكيان پۇل-مۇئامىلە ئورتاق گەۋدىسى فرانكى",
- "symbol": "CFPF"
- },
- "GIP": {
- "name": "جەبىلتارىق فوند سىتېرلىڭى"
- },
- "ZAR": {
- "name": "جەنۇبىي ئافرىقا راندى"
- },
- "SSP": {
- "name": "جەنۇبىي سۇدان فوندستېرلىڭى"
- },
- "KRW": {
- "name": "جەنۇبىي كورېيە ۋونى",
- "symbol": "₩"
- },
- "CNY": {
- "name": "جۇڭگو يۈەنى",
- "symbol": "¥"
- },
- "DJF": {
- "name": "جىبۇتى فرانكى"
- },
- "CZK": {
- "name": "چېخ جۇمھۇرىيىتى كورۇناسى"
- },
- "CLP": {
- "name": "چىلى پېسوسى"
- },
- "DKK": {
- "name": "دانىيە كرونى"
- },
- "DOP": {
- "name": "دومىنىكا پېسوسى"
- },
- "RUB": {
- "name": "رۇسىيە رۇبلىسى"
- },
- "RON": {
- "name": "رۇمىنىيە لېيى"
- },
- "RWF": {
- "name": "رۋاندا فرانكى"
- },
- "ZMW": {
- "name": "زامبىيە كۋاچاسى"
- },
- "ZWL": {
- "name": "زىمبابۋې دوللىرى (2009)"
- },
- "SVC": {
- "name": "سالۋادور كولونى"
- },
- "WST": {
- "name": "ساموئا تالاسى"
- },
- "STN": {
- "name": "سان-تومې ۋە پىرىنسىپى دوبراسى"
- },
- "SHP": {
- "name": "ساينىت-ھېلېنا فوندستېرلىڭى"
- },
- "SAR": {
- "name": "سەئۇدى رىيالى"
- },
- "SBD": {
- "name": "سولومون ئاراللىرى دوللىرى"
- },
- "SOS": {
- "name": "سومالى شىللىڭى"
- },
- "SDG": {
- "name": "سۇدان فوندستېرلىڭى"
- },
- "SRD": {
- "name": "سۇرىنام دوللىرى"
- },
- "SYP": {
- "name": "سۈرىيە فوندستېرلىڭى"
- },
- "RSD": {
- "name": "سېربىيە دىنارى"
- },
- "SLL": {
- "name": "سېررالېئون لېئونېسى"
- },
- "SCR": {
- "name": "سېيشېل رۇپىسى"
- },
- "LKR": {
- "name": "سىرىلانكا رۇپىسى"
- },
- "SGD": {
- "name": "سىنگاپور دوللىرى"
- },
- "SZL": {
- "name": "سىۋېزىلاند لىلانگېنى"
- },
- "XCD": {
- "name": "شەرقىي كارىب دوللىرى",
- "symbol": "EC$"
- },
- "KPW": {
- "name": "شىمالىي كورېيە ۋونى"
- },
- "CHF": {
- "name": "شىۋېتسىيە فرانكى"
- },
- "SEK": {
- "name": "شىۋېتسىيە كروناسى"
- },
- "HKD": {
- "name": "شياڭگاڭ دوللىرى",
- "symbol": "HK$"
- },
- "FKP": {
- "name": "فالكلاند ئاراللىرى فوند سىتېرلىڭى"
- },
- "FJD": {
- "name": "فىجى دوللىرى"
- },
- "PHP": {
- "name": "فىلىپپىن پېسوسى"
- },
- "QAR": {
- "name": "قاتار رىيالى"
- },
- "KZT": {
- "name": "قازاقىستان تەڭگىسى"
- },
- "KGS": {
- "name": "قىرغىزىستان سومى"
- },
- "KHR": {
- "name": "كامبودژا رىئېلى"
- },
- "CAD": {
- "name": "كانادا دوللىرى",
- "symbol": "CA$"
- },
- "KYD": {
- "name": "كايمان ئاراللىرى دوللىرى"
- },
- "CRC": {
- "name": "كوستارىكا كولونى"
- },
- "COP": {
- "name": "كولومبىيە پېسوسى"
- },
- "KMF": {
- "name": "كومورو فرانكى"
- },
- "CDF": {
- "name": "كونگو فرانكى"
- },
- "CUC": {
- "name": "كۇبا ئالماشتۇرۇشچان پېسوسى"
- },
- "CUP": {
- "name": "كۇبا پېسوسى"
- },
- "KWD": {
- "name": "كۇۋەيت دىنارى"
- },
- "KES": {
- "name": "كېنىيە شىللىڭى"
- },
- "HRK": {
- "name": "كىرودىيە كۇناسى"
- },
- "GMD": {
- "name": "گامبىيە دالاسى"
- },
- "GHS": {
- "name": "گانا سېدىسى"
- },
- "ANG": {
- "name": "گوللاندىيەگە قاراشلىق ئانتىللېن گۇلدېنى"
- },
- "GEL": {
- "name": "گىرۇزىيە لارىسى"
- },
- "GTQ": {
- "name": "گىۋاتېمالا كۇۋېتزالى"
- },
- "GYD": {
- "name": "گىۋىئانا دوللىرى"
- },
- "GNF": {
- "name": "گىۋىنېيە فرانكى"
- },
- "LAK": {
- "name": "لائوس كىپى"
- },
- "LSL": {
- "name": "لېسوتو لوتىسى"
- },
- "LRD": {
- "name": "لىبېرىيە دوللىرى"
- },
- "LBP": {
- "name": "لىۋان فوند سىتېرلىڭى"
- },
- "LYD": {
- "name": "لىۋىيە دىنارى"
- },
- "MGA": {
- "name": "ماداغاسقار ئارىئارىسى"
- },
- "MAD": {
- "name": "ماراكەش دىرھەمى"
- },
- "MKD": {
- "name": "ماكېدونىيە دىنارى"
- },
- "MWK": {
- "name": "مالاۋى كۋاچاسى"
- },
- "MYR": {
- "name": "مالايشىيا رىڭگىتى"
- },
- "MVR": {
- "name": "مالدىۋى رۇفىياسى"
- },
- "MRU": {
- "name": "ماۋرىتانىيە ئۇگىيەسى"
- },
- "MUR": {
- "name": "ماۋرىتىئۇس رۇپىسى"
- },
- "MZN": {
- "name": "موزامبىك مېتىكالى"
- },
- "MNT": {
- "name": "موڭغۇلىيە تۈگرىكى"
- },
- "MDL": {
- "name": "مولدوۋا لېۋى"
- },
- "MXN": {
- "name": "مېكسىكا پېسوسى",
- "symbol": "MX$"
- },
- "EGP": {
- "name": "مىسىر فوند سىتېرلىڭى"
- },
- "MMK": {
- "name": "مىيانمار كىياتى"
- },
- "NAD": {
- "name": "نامىبىيە دوللىرى"
- },
- "NOK": {
- "name": "نورۋېگىيە كرونى"
- },
- "NPR": {
- "name": "نېپال رۇپىسى"
- },
- "NIO": {
- "name": "نىگېرىيە كوردوباسى"
- },
- "NGN": {
- "name": "نىگېرىيە نايراسى"
- },
- "HTG": {
- "name": "ھايتى گۇردېسى"
- },
- "HNL": {
- "name": "ھوندۇراس لېمپىراسى"
- },
- "IDR": {
- "name": "ھىندونېزىيە رۇپىيەسى"
- },
- "INR": {
- "name": "ھىندىستان رۇپىسى",
- "symbol": "₹"
- },
- "VUV": {
- "name": "ۋانۇئاتۇ ۋاتۇسى"
- },
- "HUF": {
- "name": "ۋېنگىرىيە فورېنتى"
- },
- "VES": {
- "name": "ۋېنېزۇئېلا بولىۋارى"
- },
- "VND": {
- "name": "ۋىيېتنام دوڭى",
- "symbol": "₫"
- },
- "JPY": {
- "name": "ياپونىيە يېنى",
- "symbol": "JP¥"
- },
- "JMD": {
- "name": "يامايكا دوللىرى"
- },
- "EUR": {
- "name": "ياۋرو",
- "symbol": "€"
- },
- "YER": {
- "name": "يەمەن رىيالى"
- },
- "CVE": {
- "name": "يېشىل تۇمشۇق ئېسكۇدوسى"
- },
- "TWD": {
- "name": "يېڭى تەيۋەن دوللىرى",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "يېڭى زېلاندىيە دوللىرى",
- "symbol": "NZ$"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/vai-Latn.json b/vendor/commerceguys/intl/resources/currency/vai-Latn.json
deleted file mode 100644
index 1d5549208..000000000
--- a/vendor/commerceguys/intl/resources/currency/vai-Latn.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ZAR": {
- "name": "Afirika Kɔi Leŋŋɛ lɔ Randi"
- },
- "XOF": {
- "name": "Áfíríka Tele Jíí Sifa",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Áfíríka Tɛ Sifa",
- "symbol": "FCFA"
- },
- "DZD": {
- "name": "Agiriya Dina"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "AOA": {
- "name": "Angola Kuwaŋza"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BHD": {
- "name": "Bharɛŋ Dina"
- },
- "BWP": {
- "name": "Bhosuwana Pula"
- },
- "BIF": {
- "name": "Bhurundi Furaŋki"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CNY": {
- "name": "Chaníĩ Yuwaŋ Rɛŋmimbi",
- "symbol": "CN¥"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "ERN": {
- "name": "Ɛritera Nakifa"
- },
- "CVE": {
- "name": "Ɛsikudo Cabovɛdiyano"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GMD": {
- "name": "Gambiya Dalasi"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "INR": {
- "name": "Índiya Rupi",
- "symbol": "₹"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "ETB": {
- "name": "Ítiyopiya Bhii"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JPY": {
- "name": "Japaniĩ Yɛŋ",
- "symbol": "JP¥"
- },
- "GBP": {
- "name": "Jengési Pɔɔ̃",
- "symbol": "£"
- },
- "DJF": {
- "name": "Jibhuti Furaŋki"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CAD": {
- "name": "Kanada Dala",
- "symbol": "CA$"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KES": {
- "name": "Kénya Siyeŋ"
- },
- "KMF": {
- "name": "Komoro Furaŋki"
- },
- "CDF": {
- "name": "Kóngo Furaŋki"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "SAR": {
- "name": "Lahabu Sawodi Riya"
- },
- "LRD": {
- "name": "Laibhiya Dala",
- "symbol": "$"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "LYD": {
- "name": "Libhiya Dina"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Lisóto Loti"
- },
- "SLL": {
- "name": "Liyɔɔ̀"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MGA": {
- "name": "Malagasi Ariyari"
- },
- "MWK": {
- "name": "Malawi Kuwacha"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "EGP": {
- "name": "Míséla Pɔɔ̃"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MUR": {
- "name": "Mɔreshɔ Rupi"
- },
- "MRU": {
- "name": "Mɔretani Yugiya"
- },
- "MAD": {
- "name": "Mɔroko Dihami"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naĩjiriya Naĩra"
- },
- "NAD": {
- "name": "Namibiya Dala"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "AUD": {
- "name": "Ɔ́situwa Dala",
- "symbol": "A$"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "USD": {
- "name": "Poo Dala",
- "symbol": "US$"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RWF": {
- "name": "Rawunda Furaŋki"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "STN": {
- "name": "Sawo Tombe ɓɛ a Gbawo Dobura"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SCR": {
- "name": "Seychellois Rupee"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SHP": {
- "name": "Siŋ Hɛlina Pɔɔ̃"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "SOS": {
- "name": "Somaliya Siyeŋ"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SDG": {
- "name": "Sudaniĩ Pɔɔ̃"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "CHF": {
- "name": "Suwesi Furaŋki"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "TZS": {
- "name": "Taŋzaniya Siyeŋ"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TND": {
- "name": "Tunisiya Dina"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "UGX": {
- "name": "Yuganda Siyeŋ"
- },
- "AED": {
- "name": "Yunaitɛ Arabhi Ɛmire Dihami"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZMW": {
- "name": "Zambiya Kuwacha"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/vai.json b/vendor/commerceguys/intl/resources/currency/vai.json
deleted file mode 100644
index e781d2cac..000000000
--- a/vendor/commerceguys/intl/resources/currency/vai.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XAF": {
- "name": "Central African CFA Franc",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "XOF": {
- "name": "West African CFA Franc",
- "symbol": "CFA"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- },
- "ERN": {
- "name": "ꔀꔸꔳꕟ ꗁꖻꘋ"
- },
- "SCR": {
- "name": "ꔖꗼꔷ ꖩꔪ"
- },
- "GBP": {
- "name": "ꔛꔟꔻ ꗁꖻꘋ ꔻꗳꔷꘋ",
- "symbol": "£"
- },
- "KES": {
- "name": "ꔞꕰ ꔻꔝꘋ"
- },
- "INR": {
- "name": "ꔤꔺꕩ ꖩꔪ",
- "symbol": "₹"
- },
- "ETB": {
- "name": "ꔤꕿꖎꔪꕩ ꔫꔤ"
- },
- "LYD": {
- "name": "ꔷꔫꕩ ꔵꕯ"
- },
- "SZL": {
- "name": "ꔷꕞꔟꕇ"
- },
- "LSL": {
- "name": "ꔷꖇꕿ ꖃꔳ"
- },
- "SLL": {
- "name": "ꔷꗚꘋ"
- },
- "SHP": {
- "name": "ꔻꘋ ꗥꔷꕯ ꗁꖻꘋ"
- },
- "DJF": {
- "name": "ꕀꖜꔳ ꖢꕟꘋꕃ"
- },
- "EGP": {
- "name": "ꕆꔻꕞ ꗁꖻꘋ"
- },
- "ZAR": {
- "name": "ꕉꔱꔸꕪ ꗛꔤ ꔒꘋꗣ ꗏ ꕟꘋꔵ"
- },
- "DZD": {
- "name": "ꕉꔷꕀꔸꕩ ꔵꕯ"
- },
- "AOA": {
- "name": "ꕉꖐꕞ ꖴꕎꘋꕤ"
- },
- "BHD": {
- "name": "ꕑꗸꘋ"
- },
- "TZS": {
- "name": "ꕚꘋꕤꕇꕰ ꔻꔝꘋ"
- },
- "LRD": {
- "name": "ꕞꔤꔫꕩ ꕜꕞꕌ",
- "symbol": "$"
- },
- "RWF": {
- "name": "ꕟꖙꕡ ꖢꕟꘋꕃ"
- },
- "STN": {
- "name": "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕗꕴ ꖁꖜꕟ"
- },
- "SAR": {
- "name": "ꕢꖙꔵ ꔸꕩꔷ"
- },
- "ZMW": {
- "name": "ꕤꔭꕩ ꖴꕎꕦ"
- },
- "CNY": {
- "name": "ꕦꕇꔧ ꖳꕎꘋ ꔓꕆꘋꔬ",
- "symbol": "CN¥"
- },
- "JPY": {
- "name": "ꕧꕐꕇꔧ ꘂꘋ",
- "symbol": "JP¥"
- },
- "CAD": {
- "name": "ꕪꕯꕜ ꕜꕞꕌ",
- "symbol": "CA$"
- },
- "GMD": {
- "name": "ꕭꔭꕩ ꕜꕞꔻ"
- },
- "MWK": {
- "name": "ꕮꕞꕌꔨ ꖴꕎꕦ"
- },
- "MGA": {
- "name": "ꕮꕞꕭꕌꔻ ꕉꔸꕩꔸ"
- },
- "NGN": {
- "name": "ꕯꔤꕀꔸꕩ ꕯꔤꕟ"
- },
- "NAD": {
- "name": "ꕯꕆꔫꕩ ꕜꕞꕌ"
- },
- "USD": {
- "name": "ꕶꕱ ꕜꕞ",
- "symbol": "US$"
- },
- "BWP": {
- "name": "ꕷꖬꕎꕯ ꖛꕞ"
- },
- "SOS": {
- "name": "ꖇꕮꔷ ꔻꔝꘋ"
- },
- "CDF": {
- "name": "ꖏꖐꕱ ꖢꕟꘋꕃ"
- },
- "KMF": {
- "name": "ꖏꖒꖄ ꖢꕟꘋꕃ"
- },
- "BIF": {
- "name": "ꖜꖩꔺ ꖢꕟꘋꕃ"
- },
- "TND": {
- "name": "ꖤꕇꔻꕩ ꔵꕯ"
- },
- "CHF": {
- "name": "ꖬꔃꕤ ꖨꕮꕊ ꖢꕟꘋꕃ"
- },
- "SDG": {
- "name": "ꖬꗵꘋ ꗁꖻꘋ"
- },
- "UGX": {
- "name": "ꖳꕭꕡ ꔻꔝꘋ"
- },
- "AED": {
- "name": "ꖳꕯꔤꗳ ꕉꕟꔬ ꗡꕆꔓꔻ ꔵꕌꕆ"
- },
- "EUR": {
- "name": "ꖳꖄ",
- "symbol": "€"
- },
- "AUD": {
- "name": "ꖺꔻꖤꔃꔷꕩ ꕜꕞꕌ",
- "symbol": "A$"
- },
- "MUR": {
- "name": "ꗞꔓꗔ ꖩꔪ"
- },
- "MRU": {
- "name": "ꗞꔸꕚꕇꕰ ꖳꕅꕩ"
- },
- "MAD": {
- "name": "ꗞꕟꖏ ꔵꕌꕆ"
- },
- "CVE": {
- "name": "ꗡꔻꖴꖁ ꕪꕷꗲꗡꔵꕩꖆ"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/vun.json b/vendor/commerceguys/intl/resources/currency/vun.json
deleted file mode 100644
index 7d6a4ff33..000000000
--- a/vendor/commerceguys/intl/resources/currency/vun.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Bir ya Uhabeshi"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
- "BHD": {
- "name": "Dinari ya Bahareni"
- },
- "LYD": {
- "name": "Dinari ya Libya"
- },
- "SDG": {
- "name": "Dinari ya Sudani"
- },
- "TND": {
- "name": "Dinari ya Tunisia"
- },
- "AED": {
- "name": "Dirham ya Falme za Kiarabu"
- },
- "MAD": {
- "name": "Dirham ya Moroko"
- },
- "STN": {
- "name": "Dobra ya Sao Tome na Principe"
- },
- "AUD": {
- "name": "Dola ya Australia",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dola ya Liberia"
- },
- "USD": {
- "name": "Dola ya Marekani",
- "symbol": "US$"
- },
- "NAD": {
- "name": "Dola ya Namibia"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Eskudo ya Kepuvede"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XOF": {
- "name": "Faranga CFA BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga CFA BEAC",
- "symbol": "FCFA"
- },
- "MGA": {
- "name": "Faranga ya Bukini"
- },
- "BIF": {
- "name": "Faranga ya Burundi"
- },
- "DJF": {
- "name": "Faranga ya Jibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "RWF": {
- "name": "Faranga ya Rwanda"
- },
- "CHF": {
- "name": "Faranga ya Uswisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwacha ya Malawi"
- },
- "ZMW": {
- "name": "Kwacha ya Zambia"
- },
- "AOA": {
- "name": "Kwanza ya Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Leoni"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Naira ya Nijeria"
- },
- "ERN": {
- "name": "Nakfa ya Eritrea"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "EGP": {
- "name": "Pauni ya Misri"
- },
- "SHP": {
- "name": "Pauni ya Santahelena"
- },
- "GBP": {
- "name": "Pauni ya Uingereza",
- "symbol": "£"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ya Afrika Kusini"
- },
- "SAR": {
- "name": "Riyal ya Saudia"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupia ya India",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupia ya Morisi"
- },
- "SCR": {
- "name": "Rupia ya Shelisheli"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "JPY": {
- "name": "Sarafu ya Kijapani",
- "symbol": "JP¥"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "Shilingi ya Kenya"
- },
- "SOS": {
- "name": "Shilingi ya Somalia"
- },
- "TZS": {
- "name": "Shilingi ya Tanzania",
- "symbol": "TSh"
- },
- "UGX": {
- "name": "Shilingi ya Uganda"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "MRU": {
- "name": "Ugwiya ya Moritania"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "CNY": {
- "name": "Yuan Renminbi ya China",
- "symbol": "CN¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/xog.json b/vendor/commerceguys/intl/resources/currency/xog.json
deleted file mode 100644
index 3f1e59f4c..000000000
--- a/vendor/commerceguys/intl/resources/currency/xog.json
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Biiru ya Esyopya"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ya Gambya"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "SDG": {
- "name": "Dinaali ey’eSudaani"
- },
- "TND": {
- "name": "Dinaali ey’eTunizya"
- },
- "DZD": {
- "name": "Dinaali y’Aligerya"
- },
- "BHD": {
- "name": "Dinaali ya Baareeni"
- },
- "LYD": {
- "name": "Dinaali ya Libya"
- },
- "MAD": {
- "name": "Diraamu ey’eMoroko"
- },
- "AED": {
- "name": "Diraamu eya Emireeti"
- },
- "STN": {
- "name": "Dobura ey’eSantome ne Purincipe"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Doola ey’Amerika",
- "symbol": "US$"
- },
- "AUD": {
- "name": "Doola y’Awusiturelya",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Doola ya Kanada",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Doola ya Liberya"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "CVE": {
- "name": "Esikudo ya Keepu Veredi"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "MGA": {
- "name": "Faranga ey’eMalagase"
- },
- "RWF": {
- "name": "Faranga ey’eRwanda"
- },
- "CHF": {
- "name": "Faranga ey’eSwitizirandi"
- },
- "BIF": {
- "name": "Faranga ya burundi"
- },
- "DJF": {
- "name": "Faranga ya Jjibuti"
- },
- "KMF": {
- "name": "Faranga ya Komoro"
- },
- "CDF": {
- "name": "Faranga ya Kongo"
- },
- "XOF": {
- "name": "Faranga yamu Afirika ya bugwanjuba",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "Faranga yamu Afirika ya wakati",
- "symbol": "FCFA"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "MWK": {
- "name": "Kwaca ey’eMalawi"
- },
- "ZMW": {
- "name": "Kwaca ey’eZambya"
- },
- "AOA": {
- "name": "Kwanza y’Angola"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SLL": {
- "name": "Lewone"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "LSL": {
- "name": "Loti ya Lesoso"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "ERN": {
- "name": "Nakifa ya Eritureya"
- },
- "NAD": {
- "name": "Namibian Dollar"
- },
- "NGN": {
- "name": "Nayira ey’eNayijerya"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "SHP": {
- "name": "Pawunda ey’eSenti Herena"
- },
- "GBP": {
- "name": "Pawunda ya Bungereza",
- "symbol": "£"
- },
- "EGP": {
- "name": "Pawunda ya Misiri"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "BWP": {
- "name": "Pula ya Botiswana"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ey’eSawusafirika"
- },
- "SAR": {
- "name": "Riyaali ey’eBuwarabu"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "MUR": {
- "name": "Rupiya ey’eMawurisyasi"
- },
- "SCR": {
- "name": "Rupiya ey’eSesere"
- },
- "INR": {
- "name": "Rupiya ya Buyindi",
- "symbol": "₹"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SOS": {
- "name": "Silingi ey’eSomaliya"
- },
- "TZS": {
- "name": "Silingi ey’eTanzaniya"
- },
- "UGX": {
- "name": "Silingi eya Yuganda",
- "symbol": "USh"
- },
- "KES": {
- "name": "Silingi ya Kenya"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "MRU": {
- "name": "Wugwiya ey’eMawritenya"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni ya Japani",
- "symbol": "JP¥"
- },
- "EUR": {
- "name": "Yuro",
- "symbol": "€"
- },
- "CNY": {
- "name": "Yuwani Reniminibi ya Cayina",
- "symbol": "CN¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/yo-BJ.json b/vendor/commerceguys/intl/resources/currency/yo-BJ.json
deleted file mode 100644
index 4c1690a66..000000000
--- a/vendor/commerceguys/intl/resources/currency/yo-BJ.json
+++ /dev/null
@@ -1,498 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Biri ti Orílɛ́ède Eutopia"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ti Orílɛ́ède Gamibia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "AED": {
- "name": "Diami ti Awon Orílɛ́ède Arabu"
- },
- "DZD": {
- "name": "Dina ti Orílɛ́ède Àlùgèríánì"
- },
- "BHD": {
- "name": "Dina ti Orílɛ́ède Báránì"
- },
- "LYD": {
- "name": "Dina ti Orílɛ́ède Libiya"
- },
- "SDG": {
- "name": "Dina ti Orílɛ́ède Sudani"
- },
- "TND": {
- "name": "Dina ti Orílɛ́ède Tunisia"
- },
- "MAD": {
- "name": "Dirami ti Orílɛ́ède Moroko"
- },
- "STN": {
- "name": "Dobira ti Orílɛ́ède Sao tome Ati Pirisipe"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Dɔ́là",
- "symbol": "$"
- },
- "AUD": {
- "name": "Dɔla ti Orílɛ́ède Ástràlìá",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dɔla ti Orílɛ́ède Kánádà",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dɔla ti Orílɛ́ède Liberia"
- },
- "NAD": {
- "name": "Dɔla ti Orílɛ́ède Namibia"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XAF": {
- "name": "Faransi ti Orílɛ́ède BEKA",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "Faransi ti Orílɛ́ède BIKEAO",
- "symbol": "CFA"
- },
- "BIF": {
- "name": "Faransi ti Orílɛ́ède Bùùrúndì"
- },
- "DJF": {
- "name": "Faransi ti Orílɛ́ède Dibouti"
- },
- "CDF": {
- "name": "Faransi ti Orílɛ́ède Kóngò"
- },
- "MGA": {
- "name": "Faransi ti Orílɛ́ède Malagasi"
- },
- "RWF": {
- "name": "Faransi ti Orílɛ́ède Ruwanda"
- },
- "KMF": {
- "name": "Faransi ti Orílɛ́ède shomoriani"
- },
- "CHF": {
- "name": "Faransi ti Orílɛ́ède Siwisi"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CVE": {
- "name": "Kabofediano ti Orílɛ́ède Esuodo"
- },
- "MWK": {
- "name": "Kasha ti Orílɛ́ède Malawi"
- },
- "ZMW": {
- "name": "Kawasha ti Orílɛ́ède Saabia"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "SLL": {
- "name": "Lioni"
- },
- "LSL": {
- "name": "Loti ti Orílɛ́ède Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Náìrà ti Orílɛ̀-èdè Nàìjíríà",
- "symbol": "₦"
- },
- "ERN": {
- "name": "Nakifa ti Orílɛ́ède Eriteriani"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "MRU": {
- "name": "Ouguiya ti Orílɛ́ède Maritania"
- },
- "RUB": {
- "name": "Owó ruble ti ilɛ̀ Rɔ́shíà",
- "symbol": "₽"
- },
- "BRL": {
- "name": "Owó ti Orílɛ̀-èdè Brazil",
- "symbol": "R$"
- },
- "EUR": {
- "name": "owó Yúrò",
- "symbol": "€"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "GBP": {
- "name": "Pɔ́n-ùn ti Orilɛ̀-èdè Gɛ̀ɛ́sì",
- "symbol": "£"
- },
- "EGP": {
- "name": "pɔɔn ti Orílɛ́ède Egipiti"
- },
- "SHP": {
- "name": "Pɔɔun ti Orílɛ́ède ̣Elena"
- },
- "BWP": {
- "name": "Pula ti Orílɛ́ède Bɔ̀tìsúwánà"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ti Orílɛ́ède Ariwa Afirika"
- },
- "CNY": {
- "name": "Reminibi ti Orílɛ́ède sháínà",
- "symbol": "CN¥"
- },
- "SAR": {
- "name": "Riya ti Orílɛ́ède Saudi"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupi ti Orílɛ́ède Indina",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupi ti Orílɛ́ède Maritiusi"
- },
- "SCR": {
- "name": "Rupi ti Orílɛ́ède Sayiselesi"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "KES": {
- "name": "shiili ti Orílɛ́ède Kenya"
- },
- "UGX": {
- "name": "Siile ti Orílɛ́ède Uganda"
- },
- "SOS": {
- "name": "Sile ti Orílɛ́ède Somali"
- },
- "TZS": {
- "name": "Sile ti Orílɛ́ède Tansania"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "AOA": {
- "name": "Wansa ti Orílɛ́ède Àngólà"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni ti Orílɛ́ède Japani",
- "symbol": "JP¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/yo.json b/vendor/commerceguys/intl/resources/currency/yo.json
deleted file mode 100644
index 70395e130..000000000
--- a/vendor/commerceguys/intl/resources/currency/yo.json
+++ /dev/null
@@ -1,498 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "ETB": {
- "name": "Biri ti Orílẹ́ède Eutopia"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "GMD": {
- "name": "Dalasi ti Orílẹ́ède Gamibia"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "AED": {
- "name": "Diami ti Awon Orílẹ́ède Arabu"
- },
- "DZD": {
- "name": "Dina ti Orílẹ́ède Àlùgèríánì"
- },
- "BHD": {
- "name": "Dina ti Orílẹ́ède Báránì"
- },
- "LYD": {
- "name": "Dina ti Orílẹ́ède Libiya"
- },
- "SDG": {
- "name": "Dina ti Orílẹ́ède Sudani"
- },
- "TND": {
- "name": "Dina ti Orílẹ́ède Tunisia"
- },
- "MAD": {
- "name": "Dirami ti Orílẹ́ède Moroko"
- },
- "STN": {
- "name": "Dobira ti Orílẹ́ède Sao tome Ati Pirisipe"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "USD": {
- "name": "Dọ́là",
- "symbol": "$"
- },
- "AUD": {
- "name": "Dọla ti Orílẹ́ède Ástràlìá",
- "symbol": "A$"
- },
- "CAD": {
- "name": "Dọla ti Orílẹ́ède Kánádà",
- "symbol": "CA$"
- },
- "LRD": {
- "name": "Dọla ti Orílẹ́ède Liberia"
- },
- "NAD": {
- "name": "Dọla ti Orílẹ́ède Namibia"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "XAF": {
- "name": "Faransi ti Orílẹ́ède BEKA",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "Faransi ti Orílẹ́ède BIKEAO",
- "symbol": "CFA"
- },
- "BIF": {
- "name": "Faransi ti Orílẹ́ède Bùùrúndì"
- },
- "DJF": {
- "name": "Faransi ti Orílẹ́ède Dibouti"
- },
- "CDF": {
- "name": "Faransi ti Orílẹ́ède Kóngò"
- },
- "MGA": {
- "name": "Faransi ti Orílẹ́ède Malagasi"
- },
- "RWF": {
- "name": "Faransi ti Orílẹ́ède Ruwanda"
- },
- "CHF": {
- "name": "Faransi ti Orílẹ́ède Siwisi"
- },
- "KMF": {
- "name": "Faransi ti Orílẹ́ède ṣomoriani"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GHS": {
- "name": "Ghanaian Cedi"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "CVE": {
- "name": "Kabofediano ti Orílẹ́ède Esuodo"
- },
- "MWK": {
- "name": "Kaṣa ti Orílẹ́ède Malawi"
- },
- "ZMW": {
- "name": "Kawaṣa ti Orílẹ́ède Saabia"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "SZL": {
- "name": "Lilangeni"
- },
- "SLL": {
- "name": "Lioni"
- },
- "LSL": {
- "name": "Loti ti Orílẹ́ède Lesoto"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MZN": {
- "name": "Mozambican Metical"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NGN": {
- "name": "Náìrà ti Orílẹ̀-èdè Nàìjíríà",
- "symbol": "₦"
- },
- "ERN": {
- "name": "Nakifa ti Orílẹ́ède Eriteriani"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "MRU": {
- "name": "Ouguiya ti Orílẹ́ède Maritania"
- },
- "RUB": {
- "name": "Owó ruble ti ilẹ̀ Rọ́ṣíà",
- "symbol": "₽"
- },
- "BRL": {
- "name": "Owó ti Orílẹ̀-èdè Brazil",
- "symbol": "R$"
- },
- "EUR": {
- "name": "owó Yúrò",
- "symbol": "€"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "GBP": {
- "name": "Pọ́n-ùn ti Orilẹ̀-èdè Gẹ̀ẹ́sì",
- "symbol": "£"
- },
- "EGP": {
- "name": "pọọn ti Orílẹ́ède Egipiti"
- },
- "SHP": {
- "name": "Pọọun ti Orílẹ́ède ̣Elena"
- },
- "BWP": {
- "name": "Pula ti Orílẹ́ède Bọ̀tìsúwánà"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "ZAR": {
- "name": "Randi ti Orílẹ́ède Ariwa Afirika"
- },
- "CNY": {
- "name": "Reminibi ti Orílẹ́ède ṣáínà",
- "symbol": "CN¥"
- },
- "SAR": {
- "name": "Riya ti Orílẹ́ède Saudi"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "INR": {
- "name": "Rupi ti Orílẹ́ède Indina",
- "symbol": "₹"
- },
- "MUR": {
- "name": "Rupi ti Orílẹ́ède Maritiusi"
- },
- "SCR": {
- "name": "Rupi ti Orílẹ́ède Sayiselesi"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "UGX": {
- "name": "Siile ti Orílẹ́ède Uganda"
- },
- "SOS": {
- "name": "Sile ti Orílẹ́ède Somali"
- },
- "TZS": {
- "name": "Sile ti Orílẹ́ède Tansania"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "KES": {
- "name": "ṣiili ti Orílẹ́ède Kenya"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "AOA": {
- "name": "Wansa ti Orílẹ́ède Àngólà"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "JPY": {
- "name": "Yeni ti Orílẹ́ède Japani",
- "symbol": "JP¥"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zgh.json b/vendor/commerceguys/intl/resources/currency/zgh.json
deleted file mode 100644
index 6c7f01f14..000000000
--- a/vendor/commerceguys/intl/resources/currency/zgh.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "AFN": {
- "name": "Afghan Afghani"
- },
- "ALL": {
- "name": "Albanian Lek"
- },
- "ARS": {
- "name": "Argentine Peso"
- },
- "AMD": {
- "name": "Armenian Dram"
- },
- "AWG": {
- "name": "Aruban Florin"
- },
- "AZN": {
- "name": "Azerbaijani Manat"
- },
- "BSD": {
- "name": "Bahamian Dollar"
- },
- "BDT": {
- "name": "Bangladeshi Taka"
- },
- "BBD": {
- "name": "Barbadian Dollar"
- },
- "BYN": {
- "name": "Belarusian Ruble"
- },
- "BZD": {
- "name": "Belize Dollar"
- },
- "BMD": {
- "name": "Bermudan Dollar"
- },
- "BTN": {
- "name": "Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "Bolivian Boliviano"
- },
- "BAM": {
- "name": "Bosnia-Herzegovina Convertible Mark"
- },
- "BRL": {
- "name": "Brazilian Real",
- "symbol": "R$"
- },
- "BND": {
- "name": "Brunei Dollar"
- },
- "BGN": {
- "name": "Bulgarian Lev"
- },
- "KHR": {
- "name": "Cambodian Riel"
- },
- "KYD": {
- "name": "Cayman Islands Dollar"
- },
- "XPF": {
- "name": "CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "Chilean Peso"
- },
- "COP": {
- "name": "Colombian Peso"
- },
- "CRC": {
- "name": "Costa Rican Colón"
- },
- "HRK": {
- "name": "Croatian Kuna"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
- },
- "CUP": {
- "name": "Cuban Peso"
- },
- "CZK": {
- "name": "Czech Koruna"
- },
- "DKK": {
- "name": "Danish Krone"
- },
- "DOP": {
- "name": "Dominican Peso"
- },
- "XCD": {
- "name": "East Caribbean Dollar",
- "symbol": "EC$"
- },
- "FKP": {
- "name": "Falkland Islands Pound"
- },
- "FJD": {
- "name": "Fijian Dollar"
- },
- "GEL": {
- "name": "Georgian Lari"
- },
- "GIP": {
- "name": "Gibraltar Pound"
- },
- "GTQ": {
- "name": "Guatemalan Quetzal"
- },
- "GNF": {
- "name": "Guinean Franc"
- },
- "GYD": {
- "name": "Guyanaese Dollar"
- },
- "HTG": {
- "name": "Haitian Gourde"
- },
- "HNL": {
- "name": "Honduran Lempira"
- },
- "HKD": {
- "name": "Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "Hungarian Forint"
- },
- "ISK": {
- "name": "Icelandic Króna"
- },
- "IDR": {
- "name": "Indonesian Rupiah"
- },
- "IRR": {
- "name": "Iranian Rial"
- },
- "IQD": {
- "name": "Iraqi Dinar"
- },
- "ILS": {
- "name": "Israeli New Shekel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "Jamaican Dollar"
- },
- "JOD": {
- "name": "Jordanian Dinar"
- },
- "KZT": {
- "name": "Kazakhstani Tenge"
- },
- "KWD": {
- "name": "Kuwaiti Dinar"
- },
- "KGS": {
- "name": "Kyrgystani Som"
- },
- "LAK": {
- "name": "Laotian Kip"
- },
- "LBP": {
- "name": "Lebanese Pound"
- },
- "MOP": {
- "name": "Macanese Pataca"
- },
- "MKD": {
- "name": "Macedonian Denar"
- },
- "MYR": {
- "name": "Malaysian Ringgit"
- },
- "MVR": {
- "name": "Maldivian Rufiyaa"
- },
- "MXN": {
- "name": "Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "Moldovan Leu"
- },
- "MNT": {
- "name": "Mongolian Tugrik"
- },
- "MMK": {
- "name": "Myanmar Kyat"
- },
- "NPR": {
- "name": "Nepalese Rupee"
- },
- "ANG": {
- "name": "Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "Nicaraguan Córdoba"
- },
- "KPW": {
- "name": "North Korean Won"
- },
- "NOK": {
- "name": "Norwegian Krone"
- },
- "OMR": {
- "name": "Omani Rial"
- },
- "PKR": {
- "name": "Pakistani Rupee"
- },
- "PAB": {
- "name": "Panamanian Balboa"
- },
- "PGK": {
- "name": "Papua New Guinean Kina"
- },
- "PYG": {
- "name": "Paraguayan Guarani"
- },
- "PEN": {
- "name": "Peruvian Sol"
- },
- "PHP": {
- "name": "Philippine Piso"
- },
- "PLN": {
- "name": "Polish Zloty"
- },
- "QAR": {
- "name": "Qatari Rial"
- },
- "RON": {
- "name": "Romanian Leu"
- },
- "RUB": {
- "name": "Russian Ruble"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "WST": {
- "name": "Samoan Tala"
- },
- "RSD": {
- "name": "Serbian Dinar"
- },
- "SGD": {
- "name": "Singapore Dollar"
- },
- "SBD": {
- "name": "Solomon Islands Dollar"
- },
- "KRW": {
- "name": "South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "South Sudanese Pound"
- },
- "LKR": {
- "name": "Sri Lankan Rupee"
- },
- "SRD": {
- "name": "Surinamese Dollar"
- },
- "SEK": {
- "name": "Swedish Krona"
- },
- "SYP": {
- "name": "Syrian Pound"
- },
- "TJS": {
- "name": "Tajikistani Somoni"
- },
- "THB": {
- "name": "Thai Baht"
- },
- "TOP": {
- "name": "Tongan Paʻanga"
- },
- "TTD": {
- "name": "Trinidad & Tobago Dollar"
- },
- "TRY": {
- "name": "Turkish Lira"
- },
- "TMT": {
- "name": "Turkmenistani Manat"
- },
- "UAH": {
- "name": "Ukrainian Hryvnia"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "UYU": {
- "name": "Uruguayan Peso"
- },
- "UZS": {
- "name": "Uzbekistani Som"
- },
- "VUV": {
- "name": "Vanuatu Vatu"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
- },
- "VND": {
- "name": "Vietnamese Dong",
- "symbol": "₫"
- },
- "YER": {
- "name": "Yemeni Rial"
- },
- "BWP": {
- "name": "ⴰⴱⵓⵍⴰ ⵏ ⴱⵓⵜⵙⵡⴰⵏⴰ"
- },
- "BHD": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⴱⵃⵔⴰⵢⵏ"
- },
- "DZD": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⴷⵣⴰⵢⵔ"
- },
- "LYD": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵍⵉⴱⵢⴰ"
- },
- "SDG": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵙⵙⵓⴷⴰⵏ"
- },
- "TND": {
- "name": "ⴰⴷⵉⵏⴰⵔ ⵏ ⵜⵓⵏⵙ"
- },
- "STN": {
- "name": "ⴰⴷⵓⴱⵔⴰ ⵏ ⵙⴰⵏⵟⵓⵎⵉ"
- },
- "CAD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⴽⴰⵏⴰⴷⴰ",
- "symbol": "CA$"
- },
- "USD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵉⵡⵓⵏⴰⴽ ⵉⵎⵓⵏⵏ",
- "symbol": "US$"
- },
- "LRD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵍⵉⴱⵉⵔⵢⴰ"
- },
- "NAD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵏⴰⵎⵉⴱⵢⴰ"
- },
- "AUD": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵓⵙⵜⵔⴰⵍⵢⴰ",
- "symbol": "A$"
- },
- "ZWL": {
- "name": "ⴰⴷⵓⵍⴰⵔ ⵏ ⵣⵉⵎⴱⴰⴱⵡⵉ (2009)"
- },
- "AED": {
- "name": "ⴰⴷⵔⵉⵎ ⵏ ⵍⵉⵎⴰⵔⴰⵜ"
- },
- "MAD": {
- "name": "ⴰⴷⵔⵉⵎ ⵏ ⵍⵎⵖⵔⵉⴱ"
- },
- "RWF": {
- "name": "ⴰⴼⵔⴰⵏⴽ ⵏ ⵔⵡⴰⵏⴷⴰ"
- },
- "CHF": {
- "name": "ⴰⴼⵔⴰⵏⴽ ⵏ ⵙⵡⵉⵙⵔⴰ"
- },
- "ZMW": {
- "name": "ⴰⴽⵡⴰⵛⴰ ⵏ ⵣⴰⵎⴱⵢⴰ"
- },
- "GBP": {
- "name": "ⴰⵊⵏⵉⵀ ⴰⵙⵜⵔⵍⵉⵏⵉ ⵏ ⵏⵏⴳⵍⵉⵣ",
- "symbol": "£"
- },
- "EGP": {
- "name": "ⴰⵊⵏⵉⵀ ⵏ ⵎⵉⵚⵕ"
- },
- "SHP": {
- "name": "ⴰⵊⵏⵉⵀ ⵏ ⵙⴰⵏⵜⵉⵍⵉⵏ"
- },
- "MZN": {
- "name": "ⴰⵎⵉⵜⵉⴽⵍ ⵏ ⵎⵓⵣⵏⴱⵉⵇ"
- },
- "ZAR": {
- "name": "ⴰⵔⴰⵏⴷ ⵏ ⴰⴼⵔⵉⵇⵢⴰ ⵏ ⵉⴼⴼⵓⵙ"
- },
- "INR": {
- "name": "ⴰⵔⵓⴱⵉ ⵏ ⵍⵀⵉⵏⴷ",
- "symbol": "₹"
- },
- "MUR": {
- "name": "ⴰⵔⵓⴱⵉ ⵏ ⵎⵓⵔⵉⵙ"
- },
- "SCR": {
- "name": "ⴰⵔⵓⴱⵉ ⵏ ⵙⵙⵉⵛⵉⵍ"
- },
- "SAR": {
- "name": "ⴰⵔⵢⴰⵍ ⵏ ⵙⵙⴰⵄⵓⴷⵉⵢⴰ"
- },
- "KES": {
- "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⴽⵉⵏⵢⴰ"
- },
- "UGX": {
- "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵓⵖⴰⵏⴷⴰ"
- },
- "SOS": {
- "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵚⵚⵓⵎⴰⵍ"
- },
- "TZS": {
- "name": "ⴰⵛⵉⵍⵉⵏ ⵏ ⵟⴰⵏⵥⴰⵏⵢⴰ"
- },
- "JPY": {
- "name": "ⴰⵢⴰⵏ ⵏ ⵍⵢⴰⴱⴰⵏ",
- "symbol": "JP¥"
- },
- "CNY": {
- "name": "ⴰⵢⴰⵏ ⵏ ⵛⵛⵉⵏⵡⴰ",
- "symbol": "CN¥"
- },
- "ETB": {
- "name": "ⴱⵉⵔ ⵏ ⵉⵜⵢⵓⴱⵢⴰ"
- },
- "GMD": {
- "name": "ⴷⴰⵍⴰⵙⵉ ⵏ ⴳⴰⵎⴱⵢⴰ"
- },
- "BIF": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⴱⵓⵔⵓⵏⴷⵉ"
- },
- "DJF": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⴷⵊⵉⴱⵓⵜⵉ"
- },
- "CDF": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⴽⵓⵏⴳⵓ"
- },
- "KMF": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⵇⵓⵎⵓⵕ"
- },
- "MGA": {
- "name": "ⴼⵔⴰⵏⴽ ⵏ ⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ"
- },
- "XAF": {
- "name": "ⴼⵔⴰⵏⴽ ⵚⵉⴼⴰ",
- "symbol": "FCFA"
- },
- "XOF": {
- "name": "ⴼⵔⴰⵏⴽ ⵚⵉⴼⴰ ⴱⵉⵙⴰⵡ",
- "symbol": "CFA"
- },
- "AOA": {
- "name": "ⴽⵡⴰⵏⵣⴰ ⵏ ⴰⵏⴳⵓⵍⴰ"
- },
- "MWK": {
- "name": "ⴽⵡⴰⵛⴰ ⵏ ⵎⴰⵍⴰⵡⵉ"
- },
- "CVE": {
- "name": "ⵉⵙⴽⵓⴷⵓ ⵏ ⴽⴰⴱⴱⵉⵔⴷⵉ"
- },
- "SZL": {
- "name": "ⵍⵉⵍⴰⵏⵊⵉⵏⵉ"
- },
- "SLL": {
- "name": "ⵍⵉⵢⵓⵏ"
- },
- "LSL": {
- "name": "ⵍⵓⵜⵉ ⵏ ⵍⵉⵚⵓⵟⵓ"
- },
- "ERN": {
- "name": "ⵏⴰⴼⴽⴰ ⵏ ⵉⵔⵉⵜⵉⵔⵢⴰ"
- },
- "NGN": {
- "name": "ⵏⴰⵢⵔⴰ ⵏ ⵏⵉⵊⵉⵔⵢⴰ"
- },
- "MRU": {
- "name": "ⵓⵇⵉⵢⵢⴰ ⵏ ⵎⵓⵕⵉⵟⴰⵏⵢⴰ"
- },
- "EUR": {
- "name": "ⵓⵔⵓ",
- "symbol": "€"
- },
- "GHS": {
- "name": "ⵙⵉⴷⵉ ⵏ ⵖⴰⵏⴰ"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
index 521c74063..9eb20aec4 100644
--- a/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
@@ -191,6 +191,9 @@
"TZS": {
"name": "坦桑尼亞先令"
},
+ "VES": {
+ "name": "委內瑞拉玻利瓦"
+ },
"BDT": {
"name": "孟加拉塔卡"
},
@@ -489,8 +492,5 @@
},
"UYW": {
"name": "Uruguayan Nominal Wage Index Unit"
- },
- "VES": {
- "name": "Venezuelan Bolívar"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zu.json b/vendor/commerceguys/intl/resources/currency/zu.json
deleted file mode 100644
index bd389f99e..000000000
--- a/vendor/commerceguys/intl/resources/currency/zu.json
+++ /dev/null
@@ -1,498 +0,0 @@
-{
- "AFN": {
- "name": "i-Afghan Afghani"
- },
- "ALL": {
- "name": "i-Albanian Lek"
- },
- "DZD": {
- "name": "i-Algerian Dinar"
- },
- "AOA": {
- "name": "i-Angolan Kwanza"
- },
- "ARS": {
- "name": "i-Argentina Peso"
- },
- "AMD": {
- "name": "i-Armenian Dram"
- },
- "AWG": {
- "name": "i-Aruban Florin"
- },
- "AUD": {
- "name": "i-Austrilian Dollar",
- "symbol": "A$"
- },
- "AZN": {
- "name": "i-Azerbaijani Manat"
- },
- "BSD": {
- "name": "i-Bahamian Dollar"
- },
- "BHD": {
- "name": "i-Bahraini Dinar"
- },
- "BDT": {
- "name": "i-Bangladeshi Taka"
- },
- "BBD": {
- "name": "i-Barbadian Dollar"
- },
- "BYN": {
- "name": "i-Belarusian Ruble"
- },
- "BZD": {
- "name": "i-Belize Dollar"
- },
- "BMD": {
- "name": "i-Bermudan Dollar"
- },
- "BTN": {
- "name": "i-Bhutanese Ngultrum"
- },
- "BOB": {
- "name": "i-Bolivian Boliviano"
- },
- "BAM": {
- "name": "i-Bosnia-Herzegovina Convertible Mark"
- },
- "BWP": {
- "name": "i-Botswana Pula"
- },
- "BRL": {
- "name": "i-Brazilian Real",
- "symbol": "R$"
- },
- "GBP": {
- "name": "i-British Pound",
- "symbol": "£"
- },
- "BND": {
- "name": "i-Brunei Dollar"
- },
- "BGN": {
- "name": "i-Bulgarian Lev"
- },
- "BIF": {
- "name": "i-Burundian Franc"
- },
- "KHR": {
- "name": "i-Cambodian Riel"
- },
- "CAD": {
- "name": "i-Candian Dollar",
- "symbol": "CA$"
- },
- "CVE": {
- "name": "i-Cape Verdean Escudo"
- },
- "KYD": {
- "name": "i-Cayman Islands Dollar"
- },
- "XAF": {
- "name": "i-Central African CFA Franc",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "i-CFP Franc",
- "symbol": "CFPF"
- },
- "CLP": {
- "name": "i-Chilean Peso"
- },
- "CNY": {
- "name": "i-Chinese Yuan",
- "symbol": "CN¥"
- },
- "COP": {
- "name": "i-Colombian Peso"
- },
- "KMF": {
- "name": "i-Comorian Franc"
- },
- "CDF": {
- "name": "i-Congolese Franc"
- },
- "CRC": {
- "name": "i-Costa Rican Colón"
- },
- "HRK": {
- "name": "i-Croatian Kuna"
- },
- "CUC": {
- "name": "i-Cuban Convertable Peso"
- },
- "CUP": {
- "name": "i-Cuban Peso"
- },
- "CZK": {
- "name": "i-Czech Republic Koruna"
- },
- "DKK": {
- "name": "i-Danish Krone"
- },
- "AED": {
- "name": "i-Dirham yase-United Arab Emirates"
- },
- "DJF": {
- "name": "i-Djiboutian Franc"
- },
- "DOP": {
- "name": "i-Dominican Peso"
- },
- "XCD": {
- "name": "i-East Caribbean Dollar",
- "symbol": "EC$"
- },
- "EGP": {
- "name": "i-Egyptian Pound"
- },
- "ERN": {
- "name": "i-Eritrean Nakfa"
- },
- "ETB": {
- "name": "i-Ethopian Birr"
- },
- "EUR": {
- "name": "i-Euro",
- "symbol": "€"
- },
- "FKP": {
- "name": "i-Falkland Islands Pound"
- },
- "FJD": {
- "name": "i-Fijian Dollar"
- },
- "GMD": {
- "name": "i-Gambian Dalasi"
- },
- "GEL": {
- "name": "i-Georgian Lari"
- },
- "GHS": {
- "name": "i-Ghanaian Cedi"
- },
- "GIP": {
- "name": "i-Gibraltar Pound"
- },
- "GTQ": {
- "name": "i-Guatemalan Quetzal"
- },
- "GNF": {
- "name": "i-Gunean Franc"
- },
- "GYD": {
- "name": "i-Guyanaese Dollar"
- },
- "HTG": {
- "name": "i-Haitian Gourde"
- },
- "HNL": {
- "name": "i-Honduran Lempira"
- },
- "HKD": {
- "name": "i-Hong Kong Dollar",
- "symbol": "HK$"
- },
- "HUF": {
- "name": "i-Hungarian Forint"
- },
- "ISK": {
- "name": "i-Icelandic Króna"
- },
- "INR": {
- "name": "i-Indian Rupee",
- "symbol": "₹"
- },
- "IDR": {
- "name": "i-Indonesian Rupiah"
- },
- "IRR": {
- "name": "i-Iranian Rial"
- },
- "IQD": {
- "name": "i-Iraqi Dinar"
- },
- "ILS": {
- "name": "i-Israeli New Sheqel",
- "symbol": "₪"
- },
- "JMD": {
- "name": "i-Jamaican Dollar"
- },
- "JPY": {
- "name": "i-Japanese Yen",
- "symbol": "JP¥"
- },
- "JOD": {
- "name": "i-Jordanian Dinar"
- },
- "KZT": {
- "name": "i-Kazakhstani Tenge"
- },
- "KES": {
- "name": "i-Kenyan Shilling"
- },
- "KWD": {
- "name": "i-Kuwaiti Dinar"
- },
- "KGS": {
- "name": "i-Kyrgystani Som"
- },
- "LAK": {
- "name": "i-Laotian Kip"
- },
- "LBP": {
- "name": "i-Lebanese Pound"
- },
- "LSL": {
- "name": "i-Lesotho Loti"
- },
- "LRD": {
- "name": "i-Liberian Dollar"
- },
- "LYD": {
- "name": "i-Libyan Dinar"
- },
- "MOP": {
- "name": "i-Macanese Pataca"
- },
- "MKD": {
- "name": "i-Macedonian Denar"
- },
- "MGA": {
- "name": "i-Malagasy Ariary"
- },
- "MWK": {
- "name": "i-Malawian Kwacha"
- },
- "MYR": {
- "name": "i-Malaysian Ringgit"
- },
- "MVR": {
- "name": "i-Maldivian Rufiyana"
- },
- "MRU": {
- "name": "i-Mauritanian Ouguiya"
- },
- "MUR": {
- "name": "i-Mauritian Rupee"
- },
- "MXN": {
- "name": "i-Mexican Peso",
- "symbol": "MX$"
- },
- "MDL": {
- "name": "i-Moldovan Leu"
- },
- "MNT": {
- "name": "i-Mongolian Tugrik"
- },
- "MAD": {
- "name": "i-Moroccan Dirham"
- },
- "MZN": {
- "name": "i-Mozambican Metical"
- },
- "MMK": {
- "name": "i-Myanma Kyat"
- },
- "NAD": {
- "name": "i-Namibian Dollar"
- },
- "NPR": {
- "name": "i-Nepalese Rupee"
- },
- "ANG": {
- "name": "i-Netherlands Antillean Guilder"
- },
- "TWD": {
- "name": "i-New Taiwan Dollar",
- "symbol": "NT$"
- },
- "NZD": {
- "name": "i-New Zealand Dollar",
- "symbol": "NZ$"
- },
- "NIO": {
- "name": "i-Nicaraguan Córdoba"
- },
- "NGN": {
- "name": "i-Nigerian Naira"
- },
- "KPW": {
- "name": "i-North Korean Won"
- },
- "NOK": {
- "name": "i-Norwegian Krone"
- },
- "OMR": {
- "name": "i-Omani Rial"
- },
- "PKR": {
- "name": "i-Pakistani Rupee"
- },
- "PAB": {
- "name": "i-Panamanian Balboa"
- },
- "PGK": {
- "name": "i-Papua New Guinean Kina"
- },
- "PYG": {
- "name": "i-Paraguayan Guarani"
- },
- "PEN": {
- "name": "i-Peruvian Nuevo Sol"
- },
- "PHP": {
- "name": "i-Philippine Peso"
- },
- "PLN": {
- "name": "i-Polish Zloty"
- },
- "QAR": {
- "name": "i-Qatari Rial"
- },
- "RON": {
- "name": "i-Romanian Leu"
- },
- "RUB": {
- "name": "i-Russian Ruble"
- },
- "RWF": {
- "name": "i-Rwandan Franc"
- },
- "SHP": {
- "name": "i-Saint Helena Pound"
- },
- "WST": {
- "name": "i-Samoan Tala"
- },
- "STN": {
- "name": "i-São Tomé kanye ne-Príncipe Dobra"
- },
- "SAR": {
- "name": "i-Saudi Riyal"
- },
- "RSD": {
- "name": "i-Serbian Dinar"
- },
- "SCR": {
- "name": "i-Seychellois Rupee"
- },
- "SLL": {
- "name": "i-Sierra Leonean Leone"
- },
- "SGD": {
- "name": "i-Singapore Dollar"
- },
- "SBD": {
- "name": "i-Solomon Islands Dollar"
- },
- "SOS": {
- "name": "i-Somali Shilling"
- },
- "ZAR": {
- "name": "i-South African Rand",
- "symbol": "R"
- },
- "KRW": {
- "name": "i-South Korean Won",
- "symbol": "₩"
- },
- "SSP": {
- "name": "i-South Sudanese Pound"
- },
- "LKR": {
- "name": "i-Sri Lankan Rupee"
- },
- "SDG": {
- "name": "i-Sudanese Pound"
- },
- "SRD": {
- "name": "i-Surinamese Dollar"
- },
- "SZL": {
- "name": "i-Swazi Lilangeni"
- },
- "SEK": {
- "name": "i-Swedish Krona"
- },
- "CHF": {
- "name": "i-Swiss Franc"
- },
- "SYP": {
- "name": "i-Syrian Pound"
- },
- "TJS": {
- "name": "i-Tajikistani Somoni"
- },
- "TZS": {
- "name": "i-Tanzanian Shilling"
- },
- "THB": {
- "name": "i-Thai Baht",
- "symbol": "฿"
- },
- "TOP": {
- "name": "i-Tongan Paʻanga"
- },
- "TTD": {
- "name": "i-Trinidad and Tobago Dollar"
- },
- "TND": {
- "name": "i-Tunisian Dinar"
- },
- "TRY": {
- "name": "i-Turkish Lira"
- },
- "TMT": {
- "name": "i-Turkmenistani Manat"
- },
- "UGX": {
- "name": "i-Ugandan Shilling"
- },
- "UAH": {
- "name": "i-Ukrainian Hryvnia"
- },
- "UYU": {
- "name": "i-Uruguayan Peso"
- },
- "USD": {
- "name": "i-US Dollar",
- "symbol": "$"
- },
- "UZS": {
- "name": "i-Uzbekistan Som"
- },
- "VUV": {
- "name": "i-Vanuatu Vatu"
- },
- "VES": {
- "name": "i-Venezuelan Bolívar"
- },
- "VND": {
- "name": "i-Vietnamese Dong",
- "symbol": "₫"
- },
- "XOF": {
- "name": "i-West African CFA Franc",
- "symbol": "CFA"
- },
- "YER": {
- "name": "i-Yemeni Rial"
- },
- "ZMW": {
- "name": "i-Zambian Kwacha"
- },
- "SVC": {
- "name": "Salvadoran Colón"
- },
- "UYW": {
- "name": "Uruguayan Nominal Wage Index Unit"
- },
- "ZWL": {
- "name": "Zimbabwean Dollar (2009)"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/af.json b/vendor/commerceguys/intl/resources/language/af.json
index 155a9e0e2..4f801a509 100644
--- a/vendor/commerceguys/intl/resources/language/af.json
+++ b/vendor/commerceguys/intl/resources/language/af.json
@@ -41,7 +41,6 @@
"en-AU": "Engels (Australië)",
"en-CA": "Engels (Kanada)",
"en-GB": "Engels (VK)",
- "eo": "Esperanto",
"et": "Estnies",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -85,7 +84,6 @@
"ks": "Kasjmirs",
"ca": "Katalaans",
"kk": "Kazaks",
- "cu": "Kerkslawies",
"ksh": "Keuls",
"km": "Khmer",
"cgg": "Kiga",
@@ -116,7 +114,6 @@
"ms": "Maleis",
"mg": "Malgassies",
"mt": "Maltees",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -153,7 +150,6 @@
"pl": "Pools",
"pt": "Portugees",
"pt-PT": "Portugees (Portugal)",
- "prg": "Pruisies",
"qu": "Quechua",
"rm": "Reto-Romaans",
"ro": "Roemeens",
@@ -209,7 +205,6 @@
"vai": "Vai",
"vi": "Viëtnamees",
"nl-BE": "Vlaams",
- "vo": "Volapük",
"vun": "Vunjo",
"cy": "Wallies",
"wa": "Walloon",
diff --git a/vendor/commerceguys/intl/resources/language/agq.json b/vendor/commerceguys/intl/resources/language/agq.json
deleted file mode 100644
index aef838152..000000000
--- a/vendor/commerceguys/intl/resources/language/agq.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan",
- "ar": "Àlabì",
- "sq": "Albanian",
- "am": "Àmalì",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "be": "Bɛ̀làlusàn",
- "bn": "Bɨ̀ŋgalì",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bùugɨlìa",
- "my": "Bùumɛsɛ̀",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "zh": "Chàenê",
- "zh-Hans": "Chàenê (Hans)",
- "zh-Hant": "Chàenê (Hant)",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cs": "Chɛ̂",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "nl": "Dɔ̂s",
- "nl-BE": "Dɔ̂s (Bɛɛdzwùm)",
- "dua": "Duala",
- "jv": "Dzàbvànê",
- "ja": "Dzàkpànê",
- "de": "Dzamɛ̀",
- "de-CH": "Dzamɛ̀ (Suezàlân)",
- "de-AT": "Dzamɛ̀ (Usɨtɨ̀là)",
- "dz": "Dzongkha",
- "ig": "Egbò",
- "ebu": "Embu",
- "hi": "Endì",
- "id": "Èndònɛshìa",
- "eo": "Esperanto",
- "et": "Estonian",
- "it": "Ètalìa",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Gɨ̀lêʔ",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hu": "Hɔŋgalìa",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "fr": "Kɨ̀fàlàŋsi",
- "fr-CA": "Kɨ̀fàlàŋsi (Kanadà)",
- "fr-CH": "Kɨ̀fàlàŋsi (Suezàlân)",
- "km": "Kɨmɛ̀",
- "en": "Kɨŋgele",
- "en-CA": "Kɨŋgele (Kanadà)",
- "en-AU": "Kɨŋgele (Ùsɨ̀tɛ̀lɛlìa)",
- "en-GB": "Kɨŋgele (Yùnaetɛ Kiŋdɔ̀m)",
- "ha": "Kɨtsɔŋkaŋ",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "fa": "Kpɛɛshìa",
- "pt": "Kpotùwgîi",
- "pt-PT": "Kpotùwgîi (Kputuwgà)",
- "pl": "Kpɔlìs",
- "pa": "Kpuwndzabì",
- "ku": "Kurdish",
- "ko": "kùulîa",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "ro": "Lùmanyìa",
- "ro-MD": "Lùmanyìa (Mòodovà)",
- "luo": "Luo",
- "ru": "Lushìa",
- "rw": "Lùwandà",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "ms": "Màlae",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Nedàlân)",
- "ne": "Nɛ̀kpalì",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "es": "Sɨ̀kpanìs",
- "es-419": "Sɨ̀kpanìs (419)",
- "es-MX": "Sɨ̀kpanìs (Mɛkɨzikù)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Sòmalì",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Suedìs",
- "sw-CD": "sw (Dɛ̀mùkàlatì Lèkpubèlè è Kuŋgù)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "th": "Tàe",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamì",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "tr": "Tʉʉkìs",
- "uk": "Ùkɛlɛnìa",
- "hsb": "Upper Sorbian",
- "ur": "Uudùw",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vìyɛtnàmê",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yulùba",
- "dje": "Zarma",
- "zu": "Zulù"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ak.json b/vendor/commerceguys/intl/resources/language/ak.json
deleted file mode 100644
index 0a499cc0e..000000000
--- a/vendor/commerceguys/intl/resources/language/ak.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albanian",
- "am": "Amarik",
- "ar": "Arabik",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belarus kasa",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali kasa",
- "my": "Bɛɛmis kasa",
- "brx": "Bodo",
- "en": "Borɔfo",
- "en-GB": "Borɔfo (Ahendiman Nkabom)",
- "en-CA": "Borɔfo (Kanada)",
- "en-AU": "Borɔfo (Ɔstrelia)",
- "bs": "Bosnian",
- "bg": "Bɔlgeria kasa",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "nl": "Dɛɛkye",
- "nl-BE": "Dɛɛkye (Bɛlgyium)",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "Frɛnkye",
- "fr-CA": "Frɛnkye (Kanada)",
- "fr-CH": "Frɛnkye (Swetzaland)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Greek kasa",
- "gu": "Gujarati",
- "guz": "Gusii",
- "de": "Gyaaman",
- "de-AT": "Gyaaman (Ɔstria)",
- "de-CH": "Gyaaman (Swetzaland)",
- "jv": "Gyabanis kasa",
- "ja": "Gyapan kasa",
- "hu": "Hangri kasa",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "Hindi",
- "is": "Icelandic",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "id": "Indonihyia kasa",
- "ga": "Irish",
- "it": "Italy kasa",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "km": "Kambodia kasa",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "ko": "Korea kasa",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "zh": "Kyaena kasa",
- "zh-Hans": "Kyaena kasa (Hans)",
- "zh-Hant": "Kyaena kasa (Hant)",
- "cs": "Kyɛk kasa",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ms": "Malay kasa",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Nɛdɛland)",
- "ne": "Nɛpal kasa",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "fa": "Pɛɛhyia kasa",
- "pl": "Pɔland kasa",
- "pt": "Pɔɔtugal kasa",
- "pt-PT": "Pɔɔtugal kasa (Pɔtugal)",
- "prg": "Prussian",
- "pa": "Pungyabi kasa",
- "qu": "Quechua",
- "ru": "Rahyia kasa",
- "rw": "Rewanda kasa",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "Romenia kasa",
- "ro-MD": "Romenia kasa (Mɔldova)",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somalia kasa",
- "es": "Spain kasa",
- "es-419": "Spain kasa (419)",
- "es-MX": "Spain kasa (Mɛksiko)",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Kongo [Zair])",
- "sw": "Swahili",
- "sv": "Sweden kasa",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "th": "Taeland kasa",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil kasa",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "tr": "Tɛɛki kasa",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "uk": "Ukren kasa",
- "hsb": "Upper Sorbian",
- "ur": "Urdu kasa",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Viɛtnam kasa",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/am.json b/vendor/commerceguys/intl/resources/language/am.json
deleted file mode 100644
index 0dfa8c9f4..000000000
--- a/vendor/commerceguys/intl/resources/language/am.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "hu": "ሀንጋሪኛ",
- "haw": "ሃዊያኛ",
- "ha": "ሃውሳኛ",
- "lu": "ሉባ ካታንጋ",
- "lt": "ሉቴንያንኛ",
- "luo": "ሉኦ",
- "lb": "ሉክዘምበርኛ",
- "luy": "ሉዪያ",
- "ln": "ሊንጋላኛ",
- "lv": "ላትቪያን",
- "lag": "ላንጊ",
- "lo": "ላኦኛ",
- "lkt": "ላኮታ",
- "hi": "ሒንዱኛ",
- "tzm": "መካከለኛው አትላስ ታማዚኛ",
- "zgh": "መደበኛ የሞሮኮ ታማዚግት",
- "mua": "ሙንዳንግ",
- "ml": "ማላያላምኛ",
- "ms": "ማላይኛ",
- "mg": "ማላጋስኛ",
- "mt": "ማልቲስኛ",
- "mr": "ማራቲኛ",
- "mas": "ማሳይ",
- "mk": "ማሴዶንኛ",
- "jmc": "ማቻሜኛ",
- "gv": "ማንክስኛ",
- "mi": "ማኦሪኛ",
- "mgh": "ማኩዋ ሜቶ",
- "kde": "ማኮንዴ",
- "mzn": "ማዛንደራኒ",
- "mer": "ሜሩ",
- "mgo": "ሜታ",
- "fy": "ምዕራባዊ ፍሪሲኛ",
- "ro-MD": "ሞልዳቪያንኛ",
- "mfe": "ሞሪሲየኛ",
- "mn": "ሞንጎሊያኛ",
- "rn": "ሩንዲኛ",
- "ru": "ራሽያኛ",
- "rwk": "ርዋ",
- "ro": "ሮማኒያን",
- "rm": "ሮማንሽ",
- "rof": "ሮምቦ",
- "lrc": "ሰሜናዊ ሉሪ",
- "se": "ሰሜናዊ ሳሚ",
- "nd": "ሰሜን ንዴብሌ",
- "sr": "ሰርብያኛ",
- "so": "ሱማልኛ",
- "ii": "ሲቹንዪኛ",
- "si": "ሲንሃልኛ",
- "sd": "ሲንድሂኛ",
- "saq": "ሳምቡሩ",
- "sbp": "ሳንጉ",
- "sg": "ሳንጎኛ",
- "sah": "ሳክሃ",
- "seh": "ሴና",
- "sl": "ስሎቪኛ",
- "sk": "ስሎቫክኛ",
- "sv": "ስዊድንኛ",
- "sw": "ስዋሂሊኛ",
- "es": "ስፓንሽኛ",
- "xog": "ሶጋ",
- "ksb": "ሻምባላ",
- "sn": "ሾናኛ",
- "zh-Hans": "ቀለል ያለ ቻይንኛ",
- "bg": "ቡልጋሪኛ",
- "my": "ቡርማኛ",
- "zh-Hant": "ባህላዊ ቻይንኛ",
- "bm": "ባምባርኛ",
- "bas": "ባሳ",
- "eu": "ባስክኛ",
- "ksf": "ባፊያ",
- "be": "ቤላራሻኛ",
- "bem": "ቤምባ",
- "bez": "ቤና",
- "bn": "ቤንጋሊኛ",
- "br": "ብሬቶንኛ",
- "bs": "ቦስኒያንኛ",
- "brx": "ቦዶ",
- "vun": "ቩንጆ",
- "vi": "ቪየትናምኛ",
- "vai": "ቫይ",
- "vo": "ቮላፑክኛ",
- "te": "ተሉጉኛ",
- "tk": "ቱርክሜንኛ",
- "tr": "ቱርክኛ",
- "bo": "ቲቤታንኛ",
- "ta": "ታሚልኛ",
- "twq": "ታሳዋቅ",
- "tt": "ታታርኛ",
- "shi": "ታቼልሂት",
- "dav": "ታይታኛ",
- "th": "ታይኛ",
- "tg": "ታጂኪኛ",
- "teo": "ቴሶ",
- "ti": "ትግርኛ",
- "to": "ቶንጋኛ",
- "cu": "ቸርች ስላቪክ",
- "cgg": "ቺጋኛ",
- "zh": "ቻይንኛ",
- "chr": "ቼሮኬኛ",
- "cs": "ቼክኛ",
- "ce": "ችችን",
- "nus": "ኑዌር",
- "nyn": "ኒያንኮልኛ",
- "nnh": "ኒጊምቡን",
- "naq": "ናማ",
- "ne": "ኔፓሊኛ",
- "jgo": "ንጎባኛ",
- "sq": "አልባንያንኛ",
- "am": "አማርኛ",
- "hy": "አርመናዊ",
- "asa": "አሱ",
- "as": "አሳሜዛዊ",
- "ast": "አስቱሪያን",
- "ak": "አካንኛ",
- "az": "አዘርባጃንኛ",
- "ga": "አይሪሽ",
- "is": "አይስላንድኛ",
- "agq": "አገም",
- "af": "አፍሪካንኛ",
- "ur": "ኡርዱኛ",
- "ug": "ኡዊግሁርኛ",
- "uz": "ኡዝቤክኛ",
- "et": "ኢስቶኒያንኛ",
- "ebu": "ኢቦኛ",
- "smn": "ኢናሪ ሳሚ",
- "id": "ኢንዶኔዥኛ",
- "ee": "ኢዊ",
- "ig": "ኢግቦኛ",
- "eo": "ኤስፐራንቶ",
- "ewo": "ኤዎንዶ",
- "en": "እንግሊዝኛ",
- "om": "ኦሮሞኛ",
- "os": "ኦሴቲክ",
- "or": "ኦዲያኛ",
- "ku": "ኩርድሽኛ",
- "ky": "ኪርጊዝኛ",
- "rw": "ኪንያርዋንድኛ",
- "ki": "ኪኩዩ",
- "kln": "ካለንጂን",
- "kl": "ካላሊሱትኛ",
- "kam": "ካምባ",
- "ks": "ካሽሚርኛ",
- "kea": "ካቡቨርዲያኑ",
- "ceb": "ካቡዋኖ",
- "kab": "ካብይል",
- "ca": "ካታላንኛ",
- "kn": "ካናዳኛ",
- "yue": "ካንቶኒዝ",
- "kkj": "ካኮ",
- "kk": "ካዛክኛ",
- "km": "ክህመርኛ",
- "hr": "ክሮሽያንኛ",
- "nmg": "ክዋሲዮ",
- "ksh": "ኮሎኝኛ",
- "ko": "ኮሪያኛ",
- "kw": "ኮርኒሽ",
- "kok": "ኮንካኒ",
- "sw-CD": "ኮንጎ ስዋሂሊ",
- "khq": "ኮይራ ቺኒ",
- "ses": "ኮይራቦሮ ሴኒ",
- "qu": "ኵቿኛ",
- "cy": "ወልሽ",
- "wae": "ዋልሰር",
- "wa": "ዋሎን",
- "wo": "ዎሎፍኛ",
- "ar": "ዓረብኛ",
- "he": "ዕብራይስጥ",
- "zu": "ዙሉኛ",
- "dje": "ዛርማኛ",
- "xh": "ዞሳኛ",
- "es-419": "የላቲን አሜሪካ ስፓኒሽ",
- "hsb": "የላይኛው ሶርቢያንኛ",
- "es-MX": "የሜክሲኮ ስፓንሽኛ",
- "gd": "የስኮቲሽ ጌልክኛ",
- "de-CH": "የስዊዝ ከፍተኛ ጀርመንኛ",
- "gsw": "የስዊዝ ጀርመን",
- "fr-CH": "የስዊዝ ፈረንሳይኛ",
- "ckb": "የሶራኒ ኩርድኛ",
- "en-GB": "የብሪቲሽ እንግሊዝኛ",
- "dsb": "የታችኛው ሰርቢያንኛ",
- "nds-NL": "የታችኛው ሳክሰን",
- "nds": "የታችኛው ጀርመን",
- "nb": "የኖርዌይ ቦክማል",
- "nn": "የኖርዌይ ናይኖርስክ",
- "pt-PT": "የአውሮፓ ፖርቹጋልኛ",
- "en-AU": "የአውስትራሊያ እንግሊዝኛ",
- "de-AT": "የኦስትሪያ ጀርመን",
- "en-CA": "የካናዳ እንግሊዝኛ",
- "fr-CA": "የካናዳ ፈረንሳይኛ",
- "uk": "ዩክሬንኛ",
- "yav": "ያንግቤንኛ",
- "yi": "ይዲሽኛ",
- "yo": "ዮሩባዊኛ",
- "nl": "ደች",
- "dua": "ዱዋላኛ",
- "da": "ዴኒሽ",
- "dz": "ድዞንግኻኛ",
- "de": "ጀርመን",
- "jv": "ጃቫንኛ",
- "ja": "ጃፓንኛ",
- "dyo": "ጆላ ፎንያኛ",
- "ka": "ጆርጂያን",
- "guz": "ጉስሊኛ",
- "gu": "ጉጃርቲኛ",
- "gl": "ጋሊሺያ",
- "lg": "ጋንዳኛ",
- "el": "ግሪክኛ",
- "it": "ጣሊያንኛ",
- "fr": "ፈረንሳይኛ",
- "ff": "ፉላህ",
- "fil": "ፊሊፒንኛ",
- "fi": "ፊኒሽ",
- "fo": "ፋሮኛ",
- "nl-BE": "ፍሌሚሽ",
- "fur": "ፍሩሊያን",
- "prg": "ፐሩሳንኛ",
- "fa": "ፐርሺያኛ",
- "pa": "ፑንጃብኛ",
- "ps": "ፓሽቶኛ",
- "pl": "ፖሊሽኛ",
- "pt": "ፖርቹጋልኛ"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ar-EG.json b/vendor/commerceguys/intl/resources/language/ar-EG.json
index 99feaa528..a89347ad5 100644
--- a/vendor/commerceguys/intl/resources/language/ar-EG.json
+++ b/vendor/commerceguys/intl/resources/language/ar-EG.json
@@ -6,7 +6,6 @@
"es": "الإسبانية",
"es-MX": "الإسبانية المكسيكية",
"es-419": "الإسبانية أمريكا اللاتينية",
- "eo": "الإسبرانتو",
"ast": "الأسترية",
"et": "الإستونية",
"agq": "الأغم",
@@ -44,7 +43,6 @@
"bm": "البامبارا",
"pt": "البرتغالية",
"pt-PT": "البرتغالية الأوروبية",
- "prg": "البروسياوية",
"br": "البريتونية",
"ps": "البشتو",
"bg": "البلغارية",
@@ -163,7 +161,6 @@
"mk": "المقدونية",
"mg": "الملغاشي",
"mn": "المنغولية",
- "gv": "المنكية",
"mfe": "المورسيانية",
"ro-MD": "المولدوفية",
"mer": "الميرو",
@@ -196,7 +193,6 @@
"saq": "سامبورو",
"se": "سامي الشمالية",
"sbp": "سانغو",
- "cu": "سلافية كنسية",
"seh": "سينا",
"ksb": "شامبالا",
"dsb": "صوربيا السفلى",
@@ -208,7 +204,6 @@
"lkt": "لاكوتا",
"lag": "لانجي",
"ksf": "لغة البافيا",
- "vo": "لغة الفولابوك",
"kkj": "لغة الكاكو",
"ksh": "لغة الكولونيان",
"luy": "لغة اللويا",
diff --git a/vendor/commerceguys/intl/resources/language/ar-LY.json b/vendor/commerceguys/intl/resources/language/ar-LY.json
index 56a22e65d..6095c088e 100644
--- a/vendor/commerceguys/intl/resources/language/ar-LY.json
+++ b/vendor/commerceguys/intl/resources/language/ar-LY.json
@@ -6,7 +6,6 @@
"es": "الإسبانية",
"es-MX": "الإسبانية المكسيكية",
"es-419": "الإسبانية أمريكا اللاتينية",
- "eo": "الإسبرانتو",
"ast": "الأسترية",
"et": "الإستونية",
"agq": "الأغم",
@@ -44,7 +43,6 @@
"bm": "البامبارا",
"pt": "البرتغالية",
"pt-PT": "البرتغالية الأوروبية",
- "prg": "البروسياوية",
"br": "البريتونية",
"ps": "البشتو",
"bg": "البلغارية",
@@ -162,7 +160,6 @@
"mk": "المقدونية",
"mg": "الملغاشي",
"mn": "المنغولية",
- "gv": "المنكية",
"mfe": "المورسيانية",
"ro-MD": "المولدوفية",
"mer": "الميرو",
@@ -195,7 +192,6 @@
"saq": "سامبورو",
"se": "سامي الشمالية",
"sbp": "سانغو",
- "cu": "سلافية كنسية",
"seh": "سينا",
"ksb": "شامبالا",
"dsb": "صوربيا السفلى",
@@ -208,7 +204,6 @@
"lkt": "لاكوتا",
"lag": "لانجي",
"ksf": "لغة البافيا",
- "vo": "لغة الفولابوك",
"kkj": "لغة الكاكو",
"ksh": "لغة الكولونيان",
"luy": "لغة اللويا",
diff --git a/vendor/commerceguys/intl/resources/language/ar-SA.json b/vendor/commerceguys/intl/resources/language/ar-SA.json
index 34b4ec93f..2781ab3d5 100644
--- a/vendor/commerceguys/intl/resources/language/ar-SA.json
+++ b/vendor/commerceguys/intl/resources/language/ar-SA.json
@@ -6,7 +6,6 @@
"es": "الإسبانية",
"es-MX": "الإسبانية المكسيكية",
"es-419": "الإسبانية أمريكا اللاتينية",
- "eo": "الإسبرانتو",
"ast": "الأسترية",
"et": "الإستونية",
"agq": "الأغم",
@@ -44,7 +43,6 @@
"bm": "البامبارا",
"pt": "البرتغالية",
"pt-PT": "البرتغالية الأوروبية",
- "prg": "البروسياوية",
"br": "البريتونية",
"ps": "البشتو",
"bg": "البلغارية",
@@ -162,7 +160,6 @@
"mk": "المقدونية",
"mg": "الملغاشي",
"mn": "المنغولية",
- "gv": "المنكية",
"mfe": "المورسيانية",
"ro-MD": "المولدوفية",
"mer": "الميرو",
@@ -195,7 +192,6 @@
"saq": "سامبورو",
"se": "سامي الشمالية",
"sbp": "سانغو",
- "cu": "سلافية كنسية",
"seh": "سينا",
"ksb": "شامبالا",
"dsb": "صوربيا السفلى",
@@ -208,7 +204,6 @@
"lkt": "لاكوتا",
"lag": "لانجي",
"ksf": "لغة البافيا",
- "vo": "لغة الفولابوك",
"kkj": "لغة الكاكو",
"ksh": "لغة الكولونيان",
"luy": "لغة اللويا",
diff --git a/vendor/commerceguys/intl/resources/language/ar.json b/vendor/commerceguys/intl/resources/language/ar.json
index 7c2432163..bef20a7fb 100644
--- a/vendor/commerceguys/intl/resources/language/ar.json
+++ b/vendor/commerceguys/intl/resources/language/ar.json
@@ -6,7 +6,6 @@
"es": "الإسبانية",
"es-MX": "الإسبانية المكسيكية",
"es-419": "الإسبانية أمريكا اللاتينية",
- "eo": "الإسبرانتو",
"ast": "الأسترية",
"et": "الإستونية",
"agq": "الأغم",
@@ -44,7 +43,6 @@
"bm": "البامبارا",
"pt": "البرتغالية",
"pt-PT": "البرتغالية الأوروبية",
- "prg": "البروسياوية",
"br": "البريتونية",
"ps": "البشتو",
"bg": "البلغارية",
@@ -163,7 +161,6 @@
"mk": "المقدونية",
"mg": "الملغاشي",
"mn": "المنغولية",
- "gv": "المنكية",
"mfe": "المورسيانية",
"ro-MD": "المولدوفية",
"mer": "الميرو",
@@ -196,7 +193,6 @@
"saq": "سامبورو",
"se": "سامي الشمالية",
"sbp": "سانغو",
- "cu": "سلافية كنسية",
"seh": "سينا",
"ksb": "شامبالا",
"dsb": "صوربيا السفلى",
@@ -208,7 +204,6 @@
"lkt": "لاكوتا",
"lag": "لانجي",
"ksf": "لغة البافيا",
- "vo": "لغة الفولابوك",
"kkj": "لغة الكاكو",
"ksh": "لغة الكولونيان",
"luy": "لغة اللويا",
diff --git a/vendor/commerceguys/intl/resources/language/as.json b/vendor/commerceguys/intl/resources/language/as.json
index 202f9856d..d34922a86 100644
--- a/vendor/commerceguys/intl/resources/language/as.json
+++ b/vendor/commerceguys/intl/resources/language/as.json
@@ -34,7 +34,6 @@
"ebu": "এম্বু",
"ast": "এষ্টুৰীয়",
"et": "এষ্টোনিয়",
- "eo": "এস্পেৰান্তো",
"os": "ওছেটিক",
"or": "ওড়িয়া",
"om": "ওৰোমো",
@@ -72,7 +71,6 @@
"gl": "গেলিচিয়ান",
"el": "গ্ৰীক",
"ksb": "চাম্বালা",
- "cu": "চাৰ্চ শ্লেভিক",
"cgg": "চিগা",
"ceb": "চিবুৱানো",
"zh": "চীনা",
@@ -133,7 +131,6 @@
"pt": "পৰ্তুগীজ",
"pa": "পাঞ্জাবী",
"ps": "পুস্ত",
- "prg": "প্ৰুছিয়ান",
"fo": "ফাৰোইজ",
"fa": "ফাৰ্ছী",
"fi": "ফিনিচ",
@@ -159,7 +156,6 @@
"vai": "ভাই",
"vi": "ভিয়েটনামী",
"vun": "ভুঞ্জু",
- "vo": "ভোলাপুক",
"mn": "মংগোলীয়",
"mfe": "মৰিছিয়ান",
"mi": "মাওৰি",
@@ -173,7 +169,6 @@
"ml": "মালায়ালম",
"mt": "মাল্টিজ",
"mua": "মুণ্ডাং",
- "gv": "মেংক্স",
"jmc": "মেকহেম",
"es-MX": "মেক্সিকান স্পেনিচ",
"mk": "মেচিডোনীয়",
diff --git a/vendor/commerceguys/intl/resources/language/asa.json b/vendor/commerceguys/intl/resources/language/asa.json
deleted file mode 100644
index 1a0e1c0f1..000000000
--- a/vendor/commerceguys/intl/resources/language/asa.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kicheki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "zu": "Kidhulu",
- "fr": "Kifarantha",
- "fr-CA": "Kifarantha (Kanada)",
- "fr-CH": "Kifarantha (Uthwithi)",
- "el": "Kigiriki",
- "ha": "Kihautha",
- "hi": "Kihindi",
- "es": "Kihithpania",
- "es-419": "Kihithpania (419)",
- "es-MX": "Kihithpania (Mekthiko)",
- "nl": "Kiholandhi",
- "nl-BE": "Kiholandhi (Ubelgiji)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonethia",
- "en": "Kiingeredha",
- "en-AU": "Kiingeredha (Authtralia)",
- "en-CA": "Kiingeredha (Kanada)",
- "en-GB": "Kiingeredha (Uingeredha)",
- "it": "Kiitaliaano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Authtria)",
- "de-CH": "Kijerumani (Uthwithi)",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "rw": "Kinyarandwa",
- "asa": "Kipare",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kiruthi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "so": "Kithomali",
- "sv": "Kithwidi",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholandhi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrathia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ast.json b/vendor/commerceguys/intl/resources/language/ast.json
index 7ae9f2acb..2265c5662 100644
--- a/vendor/commerceguys/intl/resources/language/ast.json
+++ b/vendor/commerceguys/intl/resources/language/ast.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embú",
- "cu": "eslávicu eclesiásticu",
"sk": "eslovacu",
"sl": "eslovenu",
"es": "español",
"es-419": "español d’América Llatina",
"es-MX": "español de Méxicu",
- "eo": "esperanto",
"et": "estoniu",
"ee": "ewe",
"ewo": "ewondo",
@@ -130,7 +128,6 @@
"ms": "malayu",
"mg": "malgaxe",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "marathi",
"mas": "masái",
@@ -159,7 +156,6 @@
"pl": "polacu",
"pt": "portugués",
"pt-PT": "portugués européu",
- "prg": "prusianu",
"pa": "punyabí",
"qu": "quechua",
"rm": "romanche",
@@ -207,7 +203,6 @@
"wa": "valón",
"eu": "vascu",
"vi": "vietnamín",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/az-Cyrl.json b/vendor/commerceguys/intl/resources/language/az-Cyrl.json
index 2564a24bd..f2ea178f7 100644
--- a/vendor/commerceguys/intl/resources/language/az-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/az-Cyrl.json
@@ -36,7 +36,6 @@
"wae": "валлес",
"wa": "валун",
"vi": "вјетнам",
- "vo": "волапүк",
"wo": "волоф",
"vun": "вунјо",
"kk": "газах",
@@ -54,7 +53,6 @@
"ewo": "евондо",
"ebu": "ембу",
"hy": "ермәни",
- "eo": "есперанто",
"et": "естон",
"dje": "зарма",
"zu": "зулу",
@@ -122,7 +120,6 @@
"ms": "малај",
"ml": "малајалам",
"mt": "малта",
- "gv": "манкс",
"mi": "маори",
"mr": "маратһи",
"mas": "масај",
@@ -151,7 +148,6 @@
"pl": "полјак",
"pt": "португал",
"pt-PT": "Португалија португалҹасы",
- "prg": "прусс",
"ps": "пушту",
"rm": "романш",
"rof": "ромбо",
@@ -170,7 +166,6 @@
"sr": "серб",
"sd": "синдһи",
"si": "синһала",
- "cu": "славјан",
"sk": "словак",
"sl": "словен",
"xog": "сога",
diff --git a/vendor/commerceguys/intl/resources/language/az.json b/vendor/commerceguys/intl/resources/language/az.json
index fc4793a6b..7d5685848 100644
--- a/vendor/commerceguys/intl/resources/language/az.json
+++ b/vendor/commerceguys/intl/resources/language/az.json
@@ -40,7 +40,6 @@
"dz": "dzonqxa",
"ebu": "embu",
"hy": "erməni",
- "eo": "esperanto",
"et": "eston",
"ee": "eve",
"ewo": "evondo",
@@ -127,7 +126,6 @@
"ms": "malay",
"ml": "malayalam",
"mt": "malta",
- "gv": "manks",
"mi": "maori",
"mr": "marathi",
"mas": "masay",
@@ -156,7 +154,6 @@
"pl": "polyak",
"pt": "portuqal",
"pt-PT": "Portuqaliya portuqalcası",
- "prg": "pruss",
"ps": "puştu",
"rm": "romanş",
"rof": "rombo",
@@ -175,7 +172,6 @@
"ii": "siçuan yi",
"sd": "sindhi",
"si": "sinhala",
- "cu": "slavyan",
"sk": "slovak",
"sl": "sloven",
"xog": "soqa",
@@ -209,7 +205,6 @@
"vai": "Vai",
"wae": "valles",
"wa": "valun",
- "vo": "volapük",
"wo": "volof",
"vun": "vunyo",
"vi": "vyetnam",
diff --git a/vendor/commerceguys/intl/resources/language/bas.json b/vendor/commerceguys/intl/resources/language/bas.json
deleted file mode 100644
index 3cf55cc44..000000000
--- a/vendor/commerceguys/intl/resources/language/bas.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bas": "Ɓàsàa",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "ak": "Hɔp u akan",
- "am": "Hɔp u amhārìk",
- "ar": "Hɔp u arâb",
- "bn": "Hɔp u bɛŋgàli",
- "be": "Hɔp u bièlòrûs",
- "my": "Hɔp u birmàn",
- "bg": "Hɔp u bûlgâr",
- "ha": "Hɔp u ɓausa",
- "cs": "Hɔp u cɛ̂k",
- "el": "Hɔp u gri ᷇kyà",
- "hi": "Hɔp u hindì",
- "hu": "Hɔp u hɔŋgrìi",
- "ig": "Hɔp u iɓò",
- "id": "Hɔp u indònesìà",
- "it": "Hɔp u italìà",
- "de": "Hɔp u jamân",
- "de-AT": "Hɔp u jamân (Òstrǐk)",
- "de-CH": "Hɔp u jamân (Sùwîs)",
- "zh": "Hɔp u kinà",
- "zh-Hans": "Hɔp u kinà (Hans)",
- "zh-Hant": "Hɔp u kinà (Hant)",
- "km": "Hɔp u kmɛ̂r",
- "ko": "Hɔp u kɔrēà",
- "ms": "Hɔp u makɛ᷆",
- "ne": "Hɔp u nepa᷆l",
- "nl": "Hɔp u nlɛ̀ndi",
- "nl-BE": "Hɔp u nlɛ̀ndi (Bɛlgyùm)",
- "en": "Hɔp u ŋgisì",
- "en-GB": "Hɔp u ŋgisì (Àdnà i Lɔ̂ŋ)",
- "en-CA": "Hɔp u ŋgisì (Kànadà)",
- "en-AU": "Hɔp u ŋgisì (Òstralìà)",
- "es": "Hɔp u panyā",
- "es-419": "Hɔp u panyā (419)",
- "es-MX": "Hɔp u panyā (Mɛ̀gsîk)",
- "pa": "Hɔp u pɛnjàbi",
- "fa": "Hɔp u pɛrsìà",
- "pl": "Hɔp u pɔlɔ̄nà",
- "pt": "Hɔp u pɔtɔ̄kì",
- "pt-PT": "Hɔp u pɔtɔ̄kì (Pɔ̀tɔkì)",
- "fr": "Hɔp u pulàsi",
- "fr-CA": "Hɔp u pulàsi (Kànadà)",
- "fr-CH": "Hɔp u pulàsi (Sùwîs)",
- "rw": "Hɔp u ruāndà",
- "ro": "Hɔp u rùmanìà",
- "ro-MD": "Hɔp u rùmanìà (Moldavìà)",
- "ru": "Hɔp u ruslànd",
- "so": "Hɔp u somàlî",
- "sv": "Hɔp u suɛ᷆d",
- "ta": "Hɔp u tamu᷆l",
- "th": "Hɔp u tây",
- "tr": "Hɔp u tûrk",
- "uk": "Hɔp u ukrǎnìà",
- "ur": "Hɔp u urdù",
- "vi": "Hɔp u vyɛ̄dnàm",
- "ja": "Hɔp u yapàn",
- "jv": "Hɔp u yavà",
- "yo": "Hɔp u yorūbà",
- "zu": "Hɔp u zulù",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Ǹlɛndi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Kòŋgo ìkɛŋi)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/be.json b/vendor/commerceguys/intl/resources/language/be.json
index 90b476caa..3a07944c4 100644
--- a/vendor/commerceguys/intl/resources/language/be.json
+++ b/vendor/commerceguys/intl/resources/language/be.json
@@ -31,7 +31,6 @@
"br": "брэтонская",
"vi": "в’етнамская",
"vai": "ваі",
- "vo": "валапюк",
"cy": "валійская",
"wa": "валонская",
"wo": "валоф",
@@ -123,7 +122,6 @@
"mer": "меру",
"mgo": "мета",
"mua": "мунданг",
- "gv": "мэнская",
"naq": "нама",
"nb": "нарвежская (букмол)",
"nn": "нарвежская (нюношк)",
@@ -145,7 +143,6 @@
"lrc": "паўночная луры",
"nd": "паўночная ндэбеле",
"pl": "польская",
- "prg": "пруская",
"ps": "пушту",
"rof": "ромба",
"rwk": "руа",
@@ -199,7 +196,6 @@
"hr": "харвацкая",
"ha": "хауса",
"hi": "хіндзі",
- "cu": "царкоўнаславянская",
"ckb": "цэнтральнакурдская",
"ce": "чачэнская",
"cgg": "чыга",
@@ -215,7 +211,6 @@
"ee": "эве",
"ewo": "эвонда",
"ebu": "эмбу",
- "eo": "эсперанта",
"et": "эстонская",
"jv": "яванская",
"sah": "якуцкая",
diff --git a/vendor/commerceguys/intl/resources/language/bem.json b/vendor/commerceguys/intl/resources/language/bem.json
deleted file mode 100644
index bbb39747a..000000000
--- a/vendor/commerceguys/intl/resources/language/bem.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "ak": "Ichi Akan",
- "am": "Ichi Amhari",
- "ar": "Ichi Arab",
- "be": "Ichi Belarus",
- "bn": "Ichi Bengali",
- "bg": "Ichi Bulgariani",
- "my": "Ichi Burma",
- "zh": "Ichi Chainisi",
- "zh-Hans": "Ichi Chainisi (Hans)",
- "zh-Hant": "Ichi Chainisi (Hant)",
- "cs": "Ichi Cheki",
- "nl": "Ichi Dachi",
- "nl-BE": "Ichi Dachi (BE)",
- "fr": "Ichi Frenchi",
- "fr-CA": "Ichi Frenchi (CA)",
- "fr-CH": "Ichi Frenchi (CH)",
- "el": "Ichi Griki",
- "hu": "Ichi Hangarian",
- "ha": "Ichi Hausa",
- "hi": "Ichi Hindu",
- "ig": "Ichi Ibo",
- "id": "Ichi Indonesiani",
- "it": "Ichi Italiani",
- "ja": "Ichi Japanisi",
- "jv": "Ichi Javanisi",
- "de": "Ichi Jemani",
- "de-AT": "Ichi Jemani (AT)",
- "de-CH": "Ichi Jemani (CH)",
- "km": "Ichi Khmer",
- "ko": "Ichi Koriani",
- "ms": "Ichi Maleshani",
- "ne": "Ichi Nepali",
- "fa": "Ichi Pesia",
- "pl": "Ichi Polishi",
- "pt": "Ichi Potogisi",
- "pt-PT": "Ichi Potogisi (PT)",
- "pa": "Ichi Punjabi",
- "ro": "Ichi Romaniani",
- "ro-MD": "Ichi Romaniani (MD)",
- "ru": "Ichi Rusiani",
- "rw": "Ichi Rwanda",
- "so": "Ichi Somalia",
- "es": "Ichi Spanishi",
- "es-419": "Ichi Spanishi (419)",
- "es-MX": "Ichi Spanishi (MX)",
- "en": "Ichi Sungu",
- "en-AU": "Ichi Sungu (AU)",
- "en-CA": "Ichi Sungu (CA)",
- "en-GB": "Ichi Sungu (GB)",
- "sv": "Ichi Swideni",
- "tr": "Ichi Takishi",
- "ta": "Ichi Tamil",
- "th": "Ichi Thai",
- "uk": "Ichi Ukraniani",
- "ur": "Ichi Urudu",
- "vi": "Ichi Vietinamu",
- "yo": "Ichi Yoruba",
- "zu": "Ichi Zulu",
- "bem": "Ichibemba",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (NL)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (CD)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bez.json b/vendor/commerceguys/intl/resources/language/bez.json
deleted file mode 100644
index 56db11c0d..000000000
--- a/vendor/commerceguys/intl/resources/language/bez.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "fa": "Hiajemi",
- "ak": "Hiakan",
- "am": "Hiamhari",
- "bn": "Hibangla",
- "be": "Hibelarusi",
- "bez": "Hibena",
- "bg": "Hibulgaria",
- "my": "Hiburma",
- "cs": "Hicheki",
- "zh": "Hichina",
- "zh-Hans": "Hichina (Hans)",
- "zh-Hant": "Hichina (Hant)",
- "fr": "Hifaransa",
- "fr-CA": "Hifaransa (Hukanada)",
- "fr-CH": "Hifaransa (Huuswisi)",
- "el": "Higiriki",
- "ar": "Hiharabu",
- "ha": "Hihausa",
- "hi": "Hihindi",
- "es": "Hihispania",
- "es-419": "Hihispania (419)",
- "es-MX": "Hihispania (Humeksiko)",
- "nl": "Hiholanzi",
- "nl-BE": "Hiholanzi (Huubelgiji)",
- "hu": "Hihungari",
- "ig": "Hiibo",
- "id": "Hiindonesia",
- "en": "Hiingereza",
- "en-AU": "Hiingereza (Huaustlalia)",
- "en-CA": "Hiingereza (Hukanada)",
- "en-GB": "Hiingereza (Huuingereza)",
- "it": "Hiitaliano",
- "ja": "Hijapani",
- "jv": "Hijava",
- "de": "Hijerumani",
- "de-AT": "Hijerumani (Huastlia)",
- "de-CH": "Hijerumani (Huuswisi)",
- "km": "Hikambodia",
- "ko": "Hikorea",
- "pt": "Hileno",
- "pt-PT": "Hileno (Huuleno)",
- "ro": "Hilomania",
- "ro-MD": "Hilomania (Humoldova)",
- "ru": "Hilusi",
- "ms": "Himalesia",
- "ne": "Hinepali",
- "rw": "Hinyarwanda",
- "pl": "Hipolandi",
- "pa": "Hipunjabi",
- "so": "Hisomali",
- "sv": "Hiswidi",
- "th": "Hitailand",
- "ta": "Hitamil",
- "tr": "Hituluki",
- "uk": "Hiukrania",
- "ur": "Hiurdu",
- "vi": "Hivietinamu",
- "yo": "Hiyoruba",
- "zu": "Hizulu",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Huuholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Ijamhuri ya Hidemokrasi ya Hukongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bg.json b/vendor/commerceguys/intl/resources/language/bg.json
index fe69efa6c..46b79c821 100644
--- a/vendor/commerceguys/intl/resources/language/bg.json
+++ b/vendor/commerceguys/intl/resources/language/bg.json
@@ -31,7 +31,6 @@
"wae": "валзерски немски",
"wa": "валонски",
"vi": "виетнамски",
- "vo": "волапюк",
"wo": "волоф",
"vun": "вунджо",
"gl": "галисийски",
@@ -52,7 +51,6 @@
"ee": "еве",
"ewo": "евондо",
"ebu": "ембу",
- "eo": "есперанто",
"et": "естонски",
"fy": "западнофризийски",
"dje": "зарма",
@@ -86,7 +84,7 @@
"ky": "киргизки",
"zh": "китайски",
"zh-Hans": "китайски (опростен)",
- "zh-Hant": "китайски (традиционна)",
+ "zh-Hant": "китайски (традиционен)",
"khq": "койра чиини",
"ses": "койраборо сени",
"sw-CD": "конгоански суахили",
@@ -116,7 +114,6 @@
"ml": "малаялам",
"mg": "малгашки",
"mt": "малтийски",
- "gv": "манкски",
"mi": "маорски",
"mr": "марати",
"mas": "масайски",
@@ -147,7 +144,6 @@
"pl": "полски",
"pt": "португалски",
"pt-PT": "португалски (Португалия)",
- "prg": "пруски",
"ps": "пущу",
"rwk": "рва",
"rm": "реторомански",
@@ -208,7 +204,6 @@
"hi": "хинди",
"hr": "хърватски",
"tzm": "централноатласки тамазигт",
- "cu": "църковнославянски",
"chr": "черокски",
"ce": "чеченски",
"cs": "чешки",
diff --git a/vendor/commerceguys/intl/resources/language/bm.json b/vendor/commerceguys/intl/resources/language/bm.json
deleted file mode 100644
index c03e64dec..000000000
--- a/vendor/commerceguys/intl/resources/language/bm.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "akankan",
- "sq": "Albanian",
- "de": "alimaɲikan",
- "de-AT": "alimaɲikan (Otirisi)",
- "de-CH": "alimaɲikan (Suwisi)",
- "am": "amarikikan",
- "en": "angilɛkan",
- "en-GB": "angilɛkan (Angilɛtɛri)",
- "en-CA": "angilɛkan (Kanada)",
- "en-AU": "angilɛkan (Ositirali)",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "ha": "awusakan",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "bamanakan",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bɛngalikan",
- "my": "birimanikan",
- "be": "biyelorisikan",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "buligarikan",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "cs": "cɛkikan",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "es": "esipaɲolkan",
- "es-419": "esipaɲolkan (419)",
- "es-MX": "esipaɲolkan (Meksiki)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "id": "Ɛndonezikan",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "gɛrɛsikan",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "ig": "igibokan",
- "smn": "Inari Sami",
- "hi": "inidikan",
- "ga": "Irish",
- "ru": "irisikan",
- "it": "italikan",
- "jv": "javanekan",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "km": "kambojikan",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "ko": "korekan",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "ar": "larabukan",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "malɛzikan",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Peyiba)",
- "ne": "nepalekan",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "nl": "olandekan",
- "nl-BE": "olandekan (Bɛliziki)",
- "hu": "oŋirikan",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "fa": "perisanikan",
- "pa": "pɛnijabikan",
- "pl": "polonekan",
- "pt": "pɔritigalikan",
- "pt-PT": "pɔritigalikan (Pɔritigali)",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "rumanikan",
- "ro-MD": "rumanikan (Molidavi)",
- "rn": "Rundi",
- "rw": "ruwandakan",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "siniwakan",
- "zh-Hans": "siniwakan (Hans)",
- "zh-Hant": "siniwakan (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "somalikan",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "suwɛdikan",
- "sw-CD": "sw (Kongo ka republiki demɔkratiki)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "tamulikan",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "th": "tayikan",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "fr": "tubabukan",
- "fr-CA": "tubabukan (Kanada)",
- "fr-CH": "tubabukan (Suwisi)",
- "tr": "turikikan",
- "tk": "Turkmen",
- "uk": "ukɛrɛnikan",
- "hsb": "Upper Sorbian",
- "ur": "urudukan",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "vi": "wiyɛtinamukan",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "yorubakan",
- "ja": "zapɔnekan",
- "dje": "Zarma",
- "zu": "zulukan"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/bn-IN.json b/vendor/commerceguys/intl/resources/language/bn-IN.json
index 3649ade90..3149a9292 100644
--- a/vendor/commerceguys/intl/resources/language/bn-IN.json
+++ b/vendor/commerceguys/intl/resources/language/bn-IN.json
@@ -38,7 +38,6 @@
"agq": "এঘেম",
"ebu": "এম্বু",
"et": "এস্তোনীয়",
- "eo": "এস্পেরান্তো",
"zh-Hant": "ঐতিহ্যবাহি চীনা",
"or": "ওড়িয়া",
"wae": "ওয়ালসের",
@@ -80,7 +79,6 @@
"jgo": "গোম্বা",
"gl": "গ্যালিশিয়",
"el": "গ্রিক",
- "cu": "চার্চ স্লাভিক",
"cgg": "চিগা",
"zh": "চীনা",
"cs": "চেক",
@@ -126,7 +124,6 @@
"pa": "পাঞ্জাবী",
"ps": "পুশতু",
"pl": "পোলিশ",
- "prg": "প্রুশিয়ান",
"fr": "ফরাসি",
"fo": "ফারোস",
"fa": "ফার্সি",
@@ -152,7 +149,6 @@
"vai": "ভাই",
"vi": "ভিয়েতনামী",
"vun": "ভুঞ্জো",
- "vo": "ভোলাপুক",
"mn": "মঙ্গোলিয়",
"ckb": "মধ্য কুর্দিশ",
"mfe": "মরিসিয়ান",
@@ -172,7 +168,6 @@
"mgo": "মেটা",
"mer": "মেরু",
"es-MX": "ম্যাক্সিকান স্প্যানিশ",
- "gv": "ম্যাঙ্কস",
"mk": "ম্যাসিডোনীয়",
"rof": "রম্বো",
"rwk": "রাওয়া",
diff --git a/vendor/commerceguys/intl/resources/language/bn.json b/vendor/commerceguys/intl/resources/language/bn.json
index ab4b24549..53c5c3152 100644
--- a/vendor/commerceguys/intl/resources/language/bn.json
+++ b/vendor/commerceguys/intl/resources/language/bn.json
@@ -38,7 +38,6 @@
"agq": "এঘেম",
"ebu": "এম্বু",
"et": "এস্তোনীয়",
- "eo": "এস্পেরান্তো",
"zh-Hant": "ঐতিহ্যবাহি চীনা",
"or": "ওড়িয়া",
"wae": "ওয়ালসের",
@@ -80,7 +79,6 @@
"jgo": "গোম্বা",
"gl": "গ্যালিশিয়",
"el": "গ্রিক",
- "cu": "চার্চ স্লাভিক",
"cgg": "চিগা",
"zh": "চীনা",
"cs": "চেক",
@@ -126,7 +124,6 @@
"pa": "পাঞ্জাবী",
"ps": "পুশতু",
"pl": "পোলিশ",
- "prg": "প্রুশিয়ান",
"fr": "ফরাসি",
"fo": "ফারোস",
"fa": "ফার্সি",
@@ -152,7 +149,6 @@
"vai": "ভাই",
"vi": "ভিয়েতনামী",
"vun": "ভুঞ্জো",
- "vo": "ভোলাপুক",
"mn": "মঙ্গোলিয়",
"ckb": "মধ্য কুর্দিশ",
"mfe": "মরিসিয়ান",
@@ -172,7 +168,6 @@
"mgo": "মেটা",
"mer": "মেরু",
"es-MX": "ম্যাক্সিকান স্প্যানিশ",
- "gv": "ম্যাঙ্কস",
"mk": "ম্যাসিডোনীয়",
"rof": "রম্বো",
"rwk": "রাওয়া",
diff --git a/vendor/commerceguys/intl/resources/language/br.json b/vendor/commerceguys/intl/resources/language/br.json
deleted file mode 100644
index 8e4a6efc1..000000000
--- a/vendor/commerceguys/intl/resources/language/br.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikaans",
- "agq": "aghem",
- "ak": "akan",
- "de": "alamaneg",
- "de-AT": "alamaneg Aostria",
- "nds": "alamaneg izel",
- "gsw": "alamaneg Suis",
- "de-CH": "alamaneg uhel Suis",
- "sq": "albaneg",
- "am": "amhareg",
- "ar": "arabeg",
- "hy": "armenianeg",
- "as": "asameg",
- "ast": "asturianeg",
- "asa": "asu",
- "az": "azerbaidjaneg",
- "ksf": "bafiaeg",
- "bm": "bambara",
- "bas": "basaa",
- "be": "belaruseg",
- "bem": "bemba",
- "bez": "bena",
- "bn": "bengali",
- "my": "birmaneg",
- "brx": "bodo",
- "bs": "bosneg",
- "br": "brezhoneg",
- "bg": "bulgareg",
- "ceb": "cebuano",
- "chr": "cherokee",
- "cgg": "chigaeg",
- "da": "daneg",
- "dyo": "diola",
- "dua": "douala",
- "dz": "dzongkha",
- "ebu": "embu",
- "eo": "esperanteg",
- "et": "estoneg",
- "eu": "euskareg",
- "ee": "ewe",
- "ewo": "ewondo",
- "fo": "faeroeg",
- "fil": "filipineg",
- "fi": "finneg",
- "nl-BE": "flandrezeg",
- "fur": "frioulaneg",
- "fy": "frizeg ar Cʼhornôg",
- "ff": "fula",
- "gl": "galizeg",
- "fr": "galleg",
- "fr-CA": "galleg Kanada",
- "fr-CH": "galleg Suis",
- "lg": "ganda",
- "el": "gresianeg",
- "kl": "greunlandeg",
- "gu": "gujarati",
- "guz": "gusiieg",
- "ha": "haousa",
- "haw": "hawaieg",
- "he": "hebraeg",
- "prg": "henbruseg",
- "hi": "hindi",
- "hu": "hungareg",
- "ig": "igbo",
- "id": "indonezeg",
- "is": "islandeg",
- "it": "italianeg",
- "ga": "iwerzhoneg",
- "dsb": "izelsorabeg",
- "ja": "japaneg",
- "jv": "javaneg",
- "ka": "jorjianeg",
- "kab": "kabileg",
- "kea": "kabuverdianu",
- "kkj": "kakoeg",
- "kln": "kalendjineg",
- "kam": "kamba",
- "kn": "kanareg",
- "yue": "kantoneg",
- "ks": "kashmiri",
- "ca": "katalaneg",
- "kk": "kazak",
- "qu": "kechuaeg",
- "cy": "kembraeg",
- "kw": "kerneveureg",
- "km": "khmer",
- "ki": "kikuyu",
- "rw": "kinyarwanda",
- "ky": "kirgiz",
- "ksh": "koluneg",
- "kok": "konkani",
- "ko": "koreaneg",
- "khq": "koyra chiini",
- "ses": "koyraboro senni",
- "hr": "kroateg",
- "ku": "kurdeg",
- "ckb": "kurdeg sorani",
- "lkt": "lakota",
- "lag": "langi",
- "lo": "laoseg",
- "lv": "latvieg",
- "ln": "lingala",
- "lt": "lituaneg",
- "lrc": "loureg an Norzh",
- "lu": "luba-katanga",
- "lb": "luksembourgeg",
- "luo": "Luo",
- "luy": "luyia",
- "jmc": "machame",
- "mk": "makedoneg",
- "mgh": "makhuwa-meetto",
- "kde": "makonde",
- "ml": "malayalam",
- "ms": "malayseg",
- "mg": "malgacheg",
- "mt": "malteg",
- "gv": "manaveg",
- "mi": "maori",
- "mr": "marathi",
- "mas": "masai",
- "mzn": "mazanderaneg",
- "mer": "meru",
- "mgo": "metaʼ",
- "ro-MD": "moldoveg",
- "mn": "mongoleg",
- "mfe": "moriseg",
- "mua": "moundangeg",
- "naq": "nama",
- "nd": "ndebele an Norzh",
- "nl": "nederlandeg",
- "ne": "nepaleg",
- "nnh": "ngiemboon",
- "jgo": "ngomba",
- "nmg": "ngoumbeg",
- "nb": "norvegeg bokmål",
- "nn": "norvegeg nynorsk",
- "nus": "nouereg",
- "nyn": "nyankole",
- "or": "oriya",
- "om": "oromoeg",
- "os": "oseteg",
- "ug": "ouigoureg",
- "ur": "ourdou",
- "uz": "ouzbekeg",
- "ps": "pachto",
- "fa": "perseg",
- "pl": "poloneg",
- "pt": "portugaleg",
- "pt-PT": "portugaleg Europa",
- "pa": "punjabi",
- "rm": "romañcheg",
- "rof": "rombo",
- "ro": "roumaneg",
- "rn": "rundi",
- "ru": "rusianeg",
- "rwk": "rwa",
- "nds-NL": "saksoneg izel",
- "saq": "samburu",
- "se": "sámi an Norzh",
- "smn": "sámi Inari",
- "sg": "sango",
- "sbp": "sangu",
- "en": "saozneg",
- "en-AU": "saozneg Aostralia",
- "en-GB": "saozneg Breizh-Veur",
- "en-CA": "saozneg Kanada",
- "seh": "sena",
- "sr": "serbeg",
- "ksb": "shambala",
- "sn": "shona",
- "zh": "sinaeg",
- "zh-Hans": "sinaeg eeunaet",
- "zh-Hant": "sinaeg hengounel",
- "sd": "sindhi",
- "si": "singhaleg",
- "gd": "skoseg",
- "cu": "slavoneg iliz",
- "sk": "slovakeg",
- "sl": "sloveneg",
- "xog": "sogaeg",
- "so": "somali",
- "es": "spagnoleg",
- "es-419": "spagnoleg Amerika latin",
- "es-MX": "spagnoleg Mecʼhiko",
- "sv": "svedeg",
- "sw": "swahili",
- "sw-CD": "swahili Kongo",
- "shi": "tacheliteg",
- "tg": "tadjik",
- "dav": "taita",
- "zgh": "tamacheg Maroko standart",
- "tzm": "tamazigteg Kreizatlas",
- "ta": "tamileg",
- "twq": "tasawakeg",
- "tt": "tatar",
- "cs": "tchekeg",
- "ce": "tchetcheneg",
- "te": "telougou",
- "teo": "tesoeg",
- "th": "thai",
- "bo": "tibetaneg",
- "ti": "tigrigna",
- "to": "tonga",
- "tr": "turkeg",
- "tk": "turkmeneg",
- "hsb": "uhelsorabeg",
- "uk": "ukraineg",
- "vai": "Vai",
- "vi": "vietnameg",
- "vo": "volapük",
- "vun": "vunjo",
- "wa": "walloneg",
- "wae": "walser",
- "wo": "wolof",
- "xh": "xhosa",
- "sah": "yakouteg",
- "yav": "yangben",
- "yi": "yiddish",
- "ii": "yieg Sichuan",
- "yo": "yorouba",
- "dje": "zarma",
- "zu": "zouloueg"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/brx.json b/vendor/commerceguys/intl/resources/language/brx.json
index be6a84558..afe43b66c 100644
--- a/vendor/commerceguys/intl/resources/language/brx.json
+++ b/vendor/commerceguys/intl/resources/language/brx.json
@@ -34,7 +34,6 @@
"jgo": "Ngomba",
"lrc": "Northern Luri",
"nus": "Nuer",
- "prg": "Prussian",
"rof": "Rombo",
"rwk": "Rwa",
"saq": "Samburu",
@@ -79,7 +78,6 @@
"ur": "ऊर्दु",
"ee": "एवे",
"ewo": "एवौंडो",
- "eo": "एस्पेरान्तो",
"et": "ऐस्टोनियन्",
"om": "ओरोमो (अफ़ान)",
"os": "ओस्सेटी",
@@ -106,7 +104,6 @@
"gu": "गुजराती",
"gl": "गैलिशियन्",
"el": "ग्रीक",
- "cu": "चर्च स्लाविक्",
"zh": "चीनी",
"zh-Hant": "चीनी (पारम्परिक)",
"zh-Hans": "चीनी (सरलीकृत)",
@@ -174,7 +171,6 @@
"mi": "माओरी",
"mt": "मालटीज़्",
"mg": "मालागासी",
- "gv": "मैंक्स",
"mk": "मैसेडोनियन्",
"mn": "मोंगोलियन",
"ro-MD": "मोल्डेवियन्",
@@ -197,7 +193,6 @@
"wa": "वालुन",
"vi": "वियेतनामी",
"cy": "वैल्श्",
- "vo": "वोलापोक",
"wo": "वोलोफ",
"sn": "शोना",
"sr": "सर्बियन्",
diff --git a/vendor/commerceguys/intl/resources/language/bs-Cyrl.json b/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
index 68ee339a0..412a742d4 100644
--- a/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
@@ -28,7 +28,6 @@
"cy": "велшки",
"vi": "вијетнамски",
"de-CH": "високи њемачки (Швицарска)",
- "vo": "волапук",
"wo": "волоф",
"vun": "вунјо",
"gl": "галски",
@@ -48,7 +47,6 @@
"en-AU": "енглески (Аустралија)",
"en-CA": "енглески (Канада)",
"en-GB": "енглески (Уједињено Краљевство)",
- "eo": "есперанто",
"et": "естонски",
"fy": "западни фризијски",
"dje": "зарма",
@@ -114,7 +112,6 @@
"ml": "малајалам",
"ms": "малајски",
"mt": "малтешки",
- "gv": "манкс",
"mi": "маорски",
"mr": "марати",
"mas": "масаи",
@@ -147,7 +144,6 @@
"pl": "пољски",
"pt": "португалски",
"pt-PT": "португалски (Португал)",
- "prg": "пруски",
"rwk": "рва",
"rm": "рето-романски",
"rof": "ромбо",
@@ -172,7 +168,6 @@
"so": "сомалски",
"sr": "српски",
"zgh": "стандардни марокански тамазихт",
- "cu": "старославенски",
"dav": "таита",
"th": "тајландски",
"ta": "тамилски",
diff --git a/vendor/commerceguys/intl/resources/language/bs.json b/vendor/commerceguys/intl/resources/language/bs.json
index 0b6021f11..f51f33bdb 100644
--- a/vendor/commerceguys/intl/resources/language/bs.json
+++ b/vendor/commerceguys/intl/resources/language/bs.json
@@ -41,7 +41,6 @@
"en-AU": "engleski (Australija)",
"en-CA": "engleski (Kanada)",
"en-GB": "engleski (Ujedinjeno Kraljevstvo)",
- "eo": "esperanto",
"et": "estonski",
"ee": "eve",
"ewo": "evondo",
@@ -126,7 +125,6 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
- "gv": "manks",
"mi": "maorski",
"mr": "marati",
"mas": "masai",
@@ -148,7 +146,6 @@
"de": "njemački",
"de-AT": "njemački (Austrija)",
"gsw": "njemački (Švicarska)",
- "de-CH": "njemački (Švicarska)",
"or": "odija",
"om": "oromo",
"os": "osetski",
@@ -158,7 +155,6 @@
"pl": "poljski",
"pt": "portugalski",
"pt-PT": "portugalski (Portugal)",
- "prg": "pruski",
"rm": "retoromanski",
"rof": "rombo",
"rwk": "rua",
@@ -181,7 +177,6 @@
"so": "somalski",
"sr": "srpski",
"zgh": "standardni marokanski tamazigt",
- "cu": "staroslavenski",
"sw": "svahili",
"sw-CD": "svahili (Demokratska Republika Kongo)",
"ksb": "šambala",
@@ -214,7 +209,7 @@
"wa": "valun",
"cy": "velški",
"vi": "vijetnamski",
- "vo": "volapuk",
+ "de-CH": "visoki njemački (Švicarska)",
"wo": "volof",
"vun": "vunjo",
"fy": "zapadni frizijski",
diff --git a/vendor/commerceguys/intl/resources/language/ca.json b/vendor/commerceguys/intl/resources/language/ca.json
index 5408dd2ac..326128f54 100644
--- a/vendor/commerceguys/intl/resources/language/ca.json
+++ b/vendor/commerceguys/intl/resources/language/ca.json
@@ -54,13 +54,11 @@
"dua": "douala",
"dz": "dzongka",
"ebu": "embu",
- "cu": "eslau eclesiàstic",
"sk": "eslovac",
"sl": "eslovè",
"es": "espanyol",
"es-MX": "espanyol de Mèxic",
"es-419": "espanyol hispanoamericà",
- "eo": "esperanto",
"et": "estonià",
"ee": "ewe",
"ewo": "ewondo",
@@ -129,7 +127,6 @@
"ml": "malaiàlam",
"mg": "malgaix",
"mt": "maltès",
- "gv": "manx",
"mi": "maori",
"mr": "marathi",
"mas": "massai",
@@ -160,7 +157,6 @@
"pl": "polonès",
"pt": "portuguès",
"pt-PT": "portuguès de Portugal",
- "prg": "prussià",
"qu": "quítxua",
"rm": "retoromànic",
"ro": "romanès",
@@ -209,7 +205,6 @@
"vai": "Vai",
"wa": "való",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wòlof",
diff --git a/vendor/commerceguys/intl/resources/language/ccp.json b/vendor/commerceguys/intl/resources/language/ccp.json
deleted file mode 100644
index 76f0c5f95..000000000
--- a/vendor/commerceguys/intl/resources/language/ccp.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "ak": "𑄃𑄇𑄚𑄴",
- "ast": "𑄃𑄌𑄴𑄖𑄪𑄢𑄨𑄠𑄧",
- "az": "𑄃𑄎𑄢𑄴𑄝𑄳𑄆𑄎𑄚𑄩",
- "af": "𑄃𑄜𑄳𑄢𑄨𑄇𑄚𑄴",
- "am": "𑄃𑄟𑄴𑄦𑄢𑄨𑄇𑄴",
- "ar": "𑄃𑄢𑄧𑄝𑄩",
- "hy": "𑄃𑄢𑄴𑄟𑄬𑄚𑄨𑄠𑄧",
- "sq": "𑄃𑄣𑄴𑄝𑄬𑄚𑄩𑄠𑄧",
- "as": "𑄃𑄥𑄟𑄨",
- "asa": "𑄃𑄥𑄪",
- "de-AT": "𑄃𑄧𑄌𑄴𑄑𑄳𑄢𑄨𑄠𑄚𑄴 𑄎𑄢𑄴𑄟𑄚𑄴",
- "en-AU": "𑄃𑄧𑄌𑄴𑄑𑄳𑄢𑄬𑄣𑄨𑄠𑄧 𑄃𑄨𑄁𑄢𑄬𑄎𑄨",
- "om": "𑄃𑄧𑄢𑄮𑄟𑄮",
- "uk": "𑄃𑄨𑄃𑄪𑄇𑄳𑄢𑄬𑄚𑄩𑄠𑄧",
- "pt-PT": "𑄃𑄨𑄃𑄪𑄢𑄮𑄛𑄬𑄢𑄴 𑄛𑄧𑄢𑄴𑄖𑄪𑄉𑄨𑄎𑄴",
- "yo": "𑄃𑄨𑄃𑄮𑄢𑄪𑄝",
- "ee": "𑄃𑄨𑄅𑄠𑄨",
- "ig": "𑄃𑄨𑄉𑄴𑄝𑄮",
- "gd": "𑄃𑄨𑄌𑄴𑄇𑄧𑄖𑄴𑄥𑄧-𑄉𑄳𑄠𑄬𑄣𑄨𑄇𑄴",
- "it": "𑄃𑄨𑄖𑄣𑄩𑄠𑄧",
- "smn": "𑄃𑄨𑄚𑄢𑄨 𑄥𑄟𑄨",
- "id": "𑄃𑄨𑄚𑄴𑄘𑄮𑄚𑄬𑄥𑄨𑄠𑄧",
- "en": "𑄃𑄨𑄁𑄢𑄨𑄎𑄨",
- "ug": "𑄃𑄪𑄃𑄨𑄊𑄪𑄢𑄴",
- "uz": "𑄃𑄪𑄎𑄴𑄝𑄬𑄇𑄩𑄠𑄧",
- "ur": "𑄃𑄪𑄢𑄴𑄘𑄪",
- "agq": "𑄃𑄬𑄊𑄟𑄴",
- "ebu": "𑄃𑄬𑄟𑄳𑄝𑄪𑄪",
- "is": "𑄃𑄭𑄌𑄴𑄣𑄳𑄠𑄚𑄴𑄓𑄨𑄠𑄧",
- "ga": "𑄃𑄭𑄢𑄨𑄌𑄴",
- "cy": "𑄃𑄮𑄠𑄬𑄣𑄧𑄌𑄴",
- "or": "𑄃𑄮𑄢𑄨𑄠",
- "os": "𑄃𑄮𑄥𑄬𑄑𑄨𑄇𑄴",
- "ewo": "𑄄𑄃𑄮𑄚𑄴𑄓𑄮",
- "nd": "𑄅𑄖𑄴𑄖𑄧𑄢𑄴 𑄆𑄚𑄴𑄘𑄬𑄝𑄨𑄣𑄨",
- "se": "𑄅𑄖𑄴𑄖𑄧𑄢𑄴 𑄢𑄬𑄌𑄴𑄎𑄮𑄢𑄴 𑄥𑄟𑄨",
- "hsb": "𑄅𑄪𑄉𑄪𑄢𑄬 𑄥𑄮𑄢𑄴𑄥𑄨𑄠𑄚𑄴",
- "zh-Hans": "𑄅𑄪𑄎𑄪𑄅𑄪𑄏𑄫 𑄌𑄩𑄚",
- "lrc": "𑄅𑄪𑄖𑄴𑄖𑄮𑄢𑄴 𑄣𑄪𑄢𑄨",
- "et": "𑄆𑄌𑄴𑄖𑄨𑄚𑄩𑄠𑄧",
- "eo": "𑄆𑄥𑄴𑄛𑄬𑄢𑄚𑄴𑄖𑄮",
- "kkj": "𑄇𑄇𑄮",
- "ks": "𑄇𑄌𑄴𑄟𑄨𑄢𑄨",
- "kk": "𑄇𑄎𑄇𑄴",
- "ca": "𑄇𑄖𑄣𑄚𑄴",
- "en-CA": "𑄇𑄚𑄓𑄩𑄠𑄧 𑄃𑄨𑄁𑄢𑄬𑄎𑄨",
- "fr-CA": "𑄇𑄚𑄓𑄩𑄠𑄧 𑄜𑄧𑄢𑄥𑄨",
- "kea": "𑄇𑄝𑄪𑄞𑄢𑄴𑄘𑄨𑄠𑄚𑄪",
- "kab": "𑄇𑄝𑄭𑄣𑄬",
- "kam": "𑄇𑄟𑄴𑄝",
- "kln": "𑄇𑄣𑄬𑄚𑄴𑄎𑄨𑄚𑄴",
- "ksh": "𑄇𑄣𑄴𑄥𑄧",
- "sw-CD": "𑄇𑄧𑄋𑄴𑄉𑄮 𑄥𑄱𑄦𑄨𑄣𑄨",
- "kn": "𑄇𑄧𑄚𑄴𑄚𑄧𑄢𑄴",
- "kw": "𑄇𑄧𑄢𑄴𑄚𑄨𑄌𑄴",
- "ki": "𑄇𑄨𑄇𑄪𑄠𑄪",
- "rw": "𑄇𑄨𑄚𑄴𑄠𑄢𑄮𑄠𑄚𑄴𑄓",
- "ky": "𑄇𑄨𑄢𑄴𑄉𑄨𑄌𑄴",
- "ku": "𑄇𑄪𑄢𑄴𑄘𑄨𑄥𑄴",
- "qu": "𑄇𑄬𑄌𑄪𑄠",
- "kok": "𑄇𑄮𑄋𑄴𑄇𑄚𑄨",
- "khq": "𑄇𑄮𑄠𑄧𑄢 𑄌𑄩𑄚𑄨",
- "ko": "𑄇𑄮𑄢𑄨𑄠𑄚𑄴",
- "ses": "𑄇𑄱𑄢𑄝𑄬𑄚𑄮 𑄥𑄬𑄚𑄳𑄚𑄨",
- "nmg": "𑄇𑄱𑄥𑄨𑄃𑄮",
- "yue": "𑄇𑄳𑄠𑄚𑄴𑄑𑄮𑄚𑄩𑄎𑄴",
- "kl": "𑄇𑄳𑄠𑄣𑄣𑄴𑄣𑄨𑄥𑄪𑄖𑄴",
- "hr": "𑄇𑄳𑄢𑄮𑄠𑄬𑄥𑄩𑄠𑄧",
- "km": "𑄈𑄧𑄟𑄬𑄢𑄴",
- "lg": "𑄉𑄚𑄴𑄓",
- "zgh": "𑄉𑄧𑄟𑄴𑄘𑄮𑄣𑄴 𑄟𑄧𑄢𑄧𑄇𑄧𑄧𑄱𑄚𑄴𑄖𑄟𑄎𑄨𑄉𑄖𑄴",
- "gu": "𑄉𑄪𑄎𑄴𑄢𑄖𑄨",
- "guz": "𑄉𑄪𑄥𑄩",
- "jgo": "𑄉𑄮𑄟𑄴𑄝",
- "gl": "𑄉𑄳𑄠𑄣𑄨𑄥𑄨𑄠𑄧",
- "el": "𑄉𑄳𑄢𑄨𑄇𑄴",
- "cu": "𑄌𑄢𑄴𑄌𑄴 𑄥𑄳𑄣𑄞𑄨𑄇𑄴",
- "cgg": "𑄌𑄨𑄉",
- "zh": "𑄌𑄩𑄚",
- "cs": "𑄌𑄬𑄇𑄴",
- "ce": "𑄌𑄬𑄌𑄬𑄚𑄴",
- "ceb": "𑄌𑄬𑄝𑄪𑄠𑄚𑄮",
- "chr": "𑄌𑄬𑄢𑄮𑄇𑄩",
- "ja": "𑄎𑄛𑄚𑄨",
- "jv": "𑄎𑄞𑄚𑄨𑄎𑄴",
- "dje": "𑄎𑄢𑄴𑄟",
- "de": "𑄎𑄢𑄴𑄟𑄚𑄴",
- "ka": "𑄎𑄧𑄢𑄴𑄎𑄨𑄠𑄚𑄴",
- "dyo": "𑄎𑄧𑄣-𑄜𑄧𑄚𑄩",
- "zu": "𑄎𑄪𑄣𑄪",
- "dz": "𑄎𑄮𑄋𑄴𑄉",
- "xh": "𑄎𑄮𑄥",
- "to": "𑄑𑄮𑄋𑄴𑄉𑄚𑄴",
- "nl": "𑄓𑄌𑄴",
- "da": "𑄓𑄬𑄚𑄨𑄌𑄴",
- "shi": "𑄖𑄌𑄬𑄣𑄴𑄦𑄨𑄖𑄴",
- "tg": "𑄖𑄎𑄨𑄇𑄴",
- "tt": "𑄖𑄖𑄢𑄴",
- "ta": "𑄖𑄟𑄨𑄣𑄴",
- "twq": "𑄖𑄥𑄤𑄇𑄴",
- "nds": "𑄖𑄧𑄣𑄬 𑄎𑄢𑄴𑄟𑄚𑄨",
- "ti": "𑄖𑄨𑄉𑄧𑄢𑄨𑄚𑄨𑄠",
- "bo": "𑄖𑄨𑄛𑄴𑄝𑄧𑄖𑄨",
- "tk": "𑄖𑄪𑄢𑄴𑄇𑄧𑄟𑄬𑄚𑄨",
- "tr": "𑄖𑄪𑄢𑄴𑄇𑄩",
- "te": "𑄖𑄬𑄣𑄬𑄉𑄪",
- "teo": "𑄖𑄬𑄥𑄮",
- "dav": "𑄖𑄳𑄆𑄖",
- "th": "𑄗𑄭",
- "dua": "𑄘𑄱𑄣",
- "dsb": "𑄙𑄮𑄣𑄴𑄚𑄬𑄭𑄙𑄳𑄠𑄬 𑄥𑄮𑄢𑄴𑄝𑄨𑄠𑄚𑄴",
- "naq": "𑄚𑄟",
- "nb": "𑄚𑄧𑄢𑄴𑄃𑄮𑄠𑄬𑄎𑄨𑄠𑄚𑄴 𑄝𑄮𑄇𑄴𑄟𑄣𑄴",
- "nn": "𑄚𑄧𑄢𑄴𑄃𑄮𑄠𑄬𑄎𑄩𑄠𑄚𑄴 𑄚𑄨𑄚𑄧𑄢𑄴𑄥𑄳𑄇𑄴",
- "nnh": "𑄚𑄨𑄋𑄴𑄉𑄬𑄟𑄴𑄝𑄪𑄚𑄴",
- "nus": "𑄚𑄪𑄠𑄢𑄴",
- "ne": "𑄚𑄬𑄛𑄣𑄨",
- "nyn": "𑄚𑄳𑄠𑄠𑄋𑄴𑄇𑄮𑄣𑄬",
- "ps": "𑄛𑄌𑄴𑄑𑄪",
- "pa": "𑄛𑄚𑄴𑄎𑄝𑄩",
- "fy": "𑄛𑄧𑄎𑄨𑄟𑄴 𑄜𑄳𑄢𑄨𑄥𑄨𑄠𑄚𑄴",
- "pt": "𑄛𑄧𑄢𑄴𑄖𑄪𑄉𑄨𑄎𑄴",
- "pl": "𑄛𑄮𑄣𑄨𑄌𑄴",
- "prg": "𑄛𑄴𑄢𑄪𑄥𑄨𑄠𑄚𑄴",
- "fo": "𑄜𑄢𑄮𑄌𑄴",
- "fa": "𑄜𑄢𑄴𑄥𑄨",
- "fr": "𑄜𑄧𑄢𑄥𑄨",
- "fi": "𑄜𑄨𑄚𑄨𑄌𑄴",
- "fil": "𑄜𑄨𑄣𑄨𑄛𑄨𑄚𑄮",
- "ff": "𑄜𑄪𑄣𑄳𑄦",
- "fur": "𑄜𑄳𑄢𑄨𑄃𑄪𑄣𑄨𑄠𑄚𑄴",
- "nl-BE": "𑄜𑄳𑄣𑄬𑄟𑄨𑄌𑄴",
- "eu": "𑄝𑄌𑄴𑄇𑄧",
- "ksf": "𑄝𑄜𑄨𑄠",
- "bm": "𑄝𑄟𑄴𑄝𑄢",
- "bn": "𑄝𑄁𑄣",
- "bas": "𑄝𑄥",
- "my": "𑄝𑄧𑄢𑄴𑄟𑄨",
- "bs": "𑄝𑄧𑄥𑄴𑄚𑄩𑄠𑄚𑄴",
- "bg": "𑄝𑄪𑄣𑄴𑄉𑄬𑄢𑄨𑄠𑄧",
- "bez": "𑄝𑄬𑄚",
- "bem": "𑄝𑄬𑄟𑄴𑄝",
- "be": "𑄝𑄬𑄣𑄢𑄪𑄥𑄨𑄠𑄧",
- "brx": "𑄝𑄮𑄢𑄮",
- "en-GB": "𑄝𑄳𑄢𑄨𑄑𑄨𑄌𑄴 𑄃𑄨𑄁𑄢𑄬𑄎𑄨",
- "br": "𑄝𑄳𑄢𑄬𑄑𑄧𑄚𑄴",
- "vi": "𑄞𑄨𑄠𑄬𑄖𑄴𑄚𑄟𑄩",
- "vun": "𑄞𑄪𑄚𑄴𑄏𑄮",
- "vai": "𑄞𑄭",
- "vo": "𑄞𑄮𑄣𑄛𑄪𑄇𑄴",
- "mi": "𑄟𑄃𑄮𑄢𑄨",
- "jmc": "𑄟𑄇𑄟𑄬",
- "kde": "𑄟𑄇𑄮𑄚𑄴𑄘𑄬",
- "mgh": "𑄟𑄈𑄪𑄠-𑄟𑄬𑄖𑄴𑄖𑄮",
- "mzn": "𑄟𑄎𑄚𑄴𑄘𑄬𑄢𑄚𑄨",
- "mr": "𑄟𑄢𑄒𑄨",
- "mfe": "𑄟𑄢𑄨𑄥𑄨𑄠𑄚𑄴",
- "mg": "𑄟𑄣𑄉𑄥𑄨",
- "ml": "𑄟𑄣𑄠𑄣𑄟𑄴",
- "ms": "𑄟𑄣𑄧𑄠𑄴",
- "mas": "𑄟𑄥𑄭",
- "mn": "𑄟𑄧𑄁𑄉𑄮𑄣𑄨𑄠𑄧",
- "ckb": "𑄟𑄧𑄖𑄴𑄙𑄳𑄠𑄧 𑄇𑄪𑄢𑄴𑄘𑄨𑄌𑄴",
- "mt": "𑄟𑄧𑄣𑄴𑄑𑄨𑄠𑄧",
- "ro-MD": "𑄟𑄧𑄣𑄴𑄘𑄞𑄨𑄠𑄧",
- "mua": "𑄟𑄪𑄘𑄋𑄴𑄉𑄧",
- "mgo": "𑄟𑄬𑄑",
- "mer": "𑄟𑄬𑄢𑄪",
- "gv": "𑄟𑄳𑄠𑄇𑄴𑄥𑄧",
- "es-MX": "𑄟𑄳𑄠𑄇𑄴𑄥𑄨𑄇𑄚𑄴 𑄥𑄳𑄛𑄳𑄠𑄚𑄨𑄌𑄴",
- "mk": "𑄟𑄳𑄠𑄥𑄨𑄓𑄮𑄚𑄩𑄠𑄧",
- "yav": "𑄠𑄋𑄴𑄉𑄧𑄝𑄬𑄚𑄴",
- "yi": "𑄠𑄨𑄖𑄴𑄘𑄨𑄥𑄴",
- "rwk": "𑄢𑄤",
- "rof": "𑄢𑄧𑄟𑄴𑄝𑄮",
- "zh-Hant": "𑄢𑄨𑄘𑄨𑄥𑄪𑄘𑄮𑄟𑄴 𑄌𑄩𑄚",
- "ru": "𑄢𑄪𑄌𑄴",
- "rn": "𑄢𑄪𑄚𑄴𑄘𑄨",
- "ro": "𑄢𑄮𑄟𑄚𑄩𑄠𑄧",
- "rm": "𑄢𑄮𑄟𑄚𑄴𑄥𑄴",
- "lo": "𑄣𑄃𑄮",
- "lkt": "𑄣𑄇𑄮𑄑",
- "lag": "𑄣𑄋𑄴𑄉𑄨",
- "lv": "𑄣𑄖𑄴𑄞𑄩𑄠𑄧",
- "ln": "𑄣𑄨𑄋𑄴𑄉𑄣",
- "lt": "𑄣𑄨𑄗𑄪𑄠𑄬𑄚𑄩𑄠𑄧",
- "lb": "𑄣𑄪𑄇𑄴𑄥𑄬𑄟𑄴𑄝𑄢𑄴𑄉𑄩𑄠𑄧",
- "lu": "𑄣𑄪𑄝-𑄇𑄑𑄋𑄴𑄉",
- "luo": "𑄣𑄪𑄠𑄮",
- "luy": "𑄣𑄭𑄪𑄠",
- "nds-NL": "𑄣𑄮𑄥𑄳𑄠𑄇𑄴𑄥𑄧𑄚𑄴",
- "es-419": "𑄣𑄳𑄠𑄑𑄨𑄚𑄴 𑄃𑄟𑄬𑄢𑄨𑄇𑄚𑄴 𑄥𑄳𑄛𑄳𑄠𑄚𑄨𑄌𑄴",
- "wo": "𑄤𑄃𑄮𑄣𑄮𑄜𑄴",
- "wae": "𑄤𑄣𑄧𑄥𑄬𑄢𑄴",
- "wa": "𑄤𑄣𑄪𑄚𑄴",
- "sah": "𑄥𑄈",
- "sg": "𑄥𑄋𑄴𑄉𑄮",
- "sbp": "𑄥𑄁𑄚𑄴𑄉𑄪",
- "ksb": "𑄥𑄟𑄴𑄝𑄣",
- "saq": "𑄥𑄟𑄴𑄝𑄪𑄢𑄪",
- "sr": "𑄥𑄢𑄴𑄝𑄩𑄠𑄧",
- "sd": "𑄥𑄨𑄚𑄴𑄙𑄨",
- "ii": "𑄥𑄨𑄥𑄪𑄠𑄚𑄴𑄠𑄨",
- "si": "𑄥𑄨𑄁𑄦𑄧𑄣𑄩",
- "fr-CH": "𑄥𑄪𑄃𑄨𑄌𑄴 𑄜𑄧𑄢𑄥𑄨",
- "gsw": "𑄥𑄪𑄃𑄨𑄌𑄴 𑄥𑄢𑄴𑄟𑄚𑄴",
- "de-CH": "𑄥𑄪𑄃𑄨𑄌𑄴 𑄦𑄭 𑄎𑄢𑄴𑄟𑄚𑄴",
- "seh": "𑄥𑄬𑄚",
- "tzm": "𑄥𑄬𑄚𑄴𑄑𑄳𑄢𑄣𑄴 𑄃𑄣𑄴𑄖𑄌𑄴 𑄖𑄟𑄎𑄨𑄉𑄖𑄴",
- "sv": "𑄥𑄭𑄪𑄓𑄨𑄥𑄴",
- "xog": "𑄥𑄮𑄉",
- "sn": "𑄥𑄮𑄚",
- "so": "𑄥𑄮𑄟𑄣𑄨",
- "sw": "𑄥𑄱𑄦𑄨𑄣𑄨",
- "es": "𑄥𑄳𑄛𑄳𑄠𑄚𑄨𑄌𑄴",
- "sk": "𑄥𑄳𑄣𑄮𑄞𑄇𑄴",
- "sl": "𑄥𑄳𑄣𑄮𑄞𑄬𑄚𑄩𑄠𑄧",
- "ha": "𑄦𑄃𑄪𑄥",
- "hu": "𑄦𑄁𑄉𑄬𑄢𑄩𑄠𑄧",
- "haw": "𑄦𑄤𑄃𑄨𑄠𑄚𑄴",
- "hi": "𑄦𑄨𑄚𑄴𑄓𑄨",
- "he": "𑄦𑄨𑄛𑄴𑄝𑄳𑄢𑄪"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ce.json b/vendor/commerceguys/intl/resources/language/ce.json
index 2343e3fbf..402e779ba 100644
--- a/vendor/commerceguys/intl/resources/language/ce.json
+++ b/vendor/commerceguys/intl/resources/language/ce.json
@@ -30,7 +30,6 @@
"wae": "валлисийн",
"wa": "валлонойн",
"hu": "венгрийн",
- "vo": "волапюк",
"wo": "волоф",
"vun": "вунджо",
"vi": "вьетнамхойн",
@@ -79,7 +78,6 @@
"nmg": "квасио",
"qu": "кечуа",
"ki": "кикуйю",
- "cu": "килсславянийн",
"rw": "киньяруанда",
"khq": "койра чиини",
"ses": "койраборо сенни",
@@ -130,7 +128,6 @@
"mn": "монголийн",
"zgh": "мороккон стандартан тамазигхтийн",
"mua": "мунданг",
- "gv": "мэнийн",
"naq": "нама",
"nnh": "нгиембунд",
"jgo": "нгомба",
@@ -147,7 +144,6 @@
"pa": "панджаби",
"pl": "полякийн",
"pt": "португалихойн",
- "prg": "пруссийн",
"ps": "пушту",
"rm": "романшийн",
"rof": "ромбо",
@@ -213,7 +209,6 @@
"ewo": "эвондо",
"ebu": "эмбу",
"hy": "эрмалойн",
- "eo": "эсперанто",
"et": "эстонийн",
"ckb": "юккъерчу курдийн",
"jv": "яванийн",
diff --git a/vendor/commerceguys/intl/resources/language/cgg.json b/vendor/commerceguys/intl/resources/language/cgg.json
deleted file mode 100644
index 665e728c3..000000000
--- a/vendor/commerceguys/intl/resources/language/cgg.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Hoorandi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "ur": "Oru-Urudu",
- "bn": "Orubengari",
- "be": "Oruberarusi",
- "bg": "Oruburugariya",
- "my": "Oruburuma",
- "cs": "Oruceeki",
- "zh": "Oruchaina",
- "zh-Hans": "Oruchaina (Hans)",
- "zh-Hant": "Oruchaina (Hant)",
- "nl": "Orudaaki",
- "nl-BE": "Orudaaki (Bubirigi)",
- "fr": "Orufaransa",
- "fr-CA": "Orufaransa (Kanada)",
- "fr-CH": "Orufaransa (Swisi)",
- "de": "Orugirimaani",
- "de-AT": "Orugirimaani (Osituria)",
- "de-CH": "Orugirimaani (Swisi)",
- "el": "Oruguriiki",
- "hu": "Oruhangare",
- "ar": "Oruharabu",
- "ha": "Oruhausa",
- "hi": "Oruhindi",
- "ig": "Oruibo",
- "id": "Oruindonezia",
- "ja": "Orujapaani",
- "jv": "Orujava",
- "km": "Orukambodiya",
- "ak": "Orukani",
- "ko": "Orukoreya",
- "uk": "Orukuraini",
- "tr": "Orukuruki",
- "ms": "Orumalesiya",
- "am": "Orumariki",
- "ne": "Orunepali",
- "en": "Orungyereza",
- "en-GB": "Orungyereza (Bungyereza)",
- "en-CA": "Orungyereza (Kanada)",
- "en-AU": "Orungyereza (Ositureeriya)",
- "rw": "Orunyarwanda",
- "fa": "Orupaasiya",
- "pt": "Orupocugo",
- "pt-PT": "Orupocugo (Pocugo)",
- "pl": "Orupoori",
- "pa": "Orupungyabi",
- "ro": "Oruromania",
- "ro-MD": "Oruromania (Moridova)",
- "ru": "Orurrasha",
- "so": "Orusomaari",
- "es": "Orusupaani",
- "es-419": "Orusupaani (419)",
- "es-MX": "Orusupaani (Mexico)",
- "sv": "Oruswidi",
- "th": "Orutailandi",
- "ta": "Orutamiri",
- "vi": "Oruviyetinaamu",
- "it": "Oruyitare",
- "yo": "Oruyoruba",
- "zu": "Oruzuru",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "cgg": "Rukiga",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Demokoratika Ripaaburika ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/chr.json b/vendor/commerceguys/intl/resources/language/chr.json
deleted file mode 100644
index 27c4b054d..000000000
--- a/vendor/commerceguys/intl/resources/language/chr.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "ak": "ᎠᎧᎾ",
- "agq": "ᎠᎨᎹ",
- "tr": "ᎠᎬᎾ",
- "af": "ᎠᎬᎿᎨᏍᏛ",
- "zh-Hans": "ᎠᎯᏗᎨ ᏓᎶᏂᎨ",
- "hy": "ᎠᎳᎻᎠᏂ",
- "sq": "ᎠᎵᏇᏂ",
- "am": "ᎠᎹᎭᎵᎩ",
- "el": "ᎠᏂᎪᎢ",
- "tk": "ᎠᏂᎬᎾ",
- "rm": "ᎠᏂᎶᎺᏂ",
- "he": "ᎠᏂᏈᎷ",
- "fil": "ᎠᏈᎵᎩ",
- "as": "ᎠᏌᎻᏏ",
- "ast": "ᎠᏍᏚᎵᎠᏂ",
- "az": "ᎠᏎᏆᏣᏂ",
- "asa": "ᎠᏑ",
- "zgh": "ᎠᏟᎶᏍᏗ ᎼᎶᎪ ᏔᎹᏏᏘ",
- "de-AT": "ᎠᏟᏯᏂ ᎠᏂᏓᏥ",
- "tzm": "ᎠᏰᏟ ᎡᎶᎯ ᏓᏟᎶᏍᏗᏓᏅᎢ ᏔᎹᏏᏘ",
- "ckb": "ᎠᏰᏟ ᎫᏗᏏ",
- "ar": "ᎡᎳᏈ",
- "nds": "ᎡᎳᏗ ᎠᏂᏓᏥ",
- "nds-NL": "ᎡᎳᏗ ᏁᏛᎳᏂ",
- "dsb": "ᎡᎳᏗ ᏐᏈᎠᏂ",
- "en-AU": "ᎡᎳᏗᏜ ᎩᎵᏏ",
- "ebu": "ᎡᎻᏊ",
- "eo": "ᎡᏍᏇᎳᏂᏙ",
- "et": "ᎡᏍᏙᏂᎠᏂ",
- "ee": "ᎡᏪ",
- "ewo": "ᎡᏬᏂᏙ",
- "ig": "ᎢᎦᎪ",
- "smn": "ᎢᎾᎵ ᏌᎻ",
- "id": "ᎢᏂᏙᏂᏏᎠ",
- "om": "ᎣᎶᎼ",
- "os": "ᎣᏎᏘᎧ",
- "or": "ᎣᏗᎠ",
- "ur": "ᎤᎵᏚ",
- "uz": "ᎤᏍᏇᎩ",
- "zh-Hant": "ᎤᏦᏍᏗ ᏓᎶᏂᎨ",
- "gl": "ᎦᎵᏏᎠᏂ",
- "hsb": "ᎦᎸᎳᏗᎨ ᏐᏈᎠᏂ",
- "fr": "ᎦᎸᏥ",
- "lg": "ᎦᏂᏓ",
- "kkj": "ᎧᎪ",
- "kl": "ᎧᎳᎵᏑᏘ",
- "kln": "ᎧᎴᏂᏥᏂ",
- "hr": "ᎧᎶᎡᏏᏂ",
- "kam": "ᎧᎻᏆ",
- "kn": "ᎧᎾᏓ",
- "kok": "ᎧᏂᎧᏂ",
- "sw-CD": "ᎧᏂᎪ ᏍᏩᎯᎵ",
- "kab": "ᎧᏈᎴ",
- "kea": "ᎧᏊᏪᏗᎠᏄ",
- "kk": "ᎧᏌᎧ",
- "ks": "ᎧᏏᎻᎵ",
- "ga": "ᎨᎵᎩ",
- "fr-CA": "ᎨᎾᏓ ᎦᎸᏥ",
- "en-CA": "ᎨᎾᏓ ᎩᎵᏏ",
- "yue": "ᎨᎾᏙᏂᏏ",
- "ca": "ᎨᏔᎳᏂ",
- "qu": "ᎨᏧᏩ",
- "ki": "ᎩᎫᏳ",
- "en": "ᎩᎵᏏ",
- "en-GB": "ᎩᎵᏏᏲ ᎩᎵᏏ",
- "ky": "ᎩᎵᏣᎢᏍ",
- "km": "ᎩᎻᎷ",
- "rw": "ᎩᏂᏯᏩᏂᏓ",
- "ko": "ᎪᎵᎠᏂ",
- "ksh": "ᎪᎶᏂᎠᏂ",
- "khq": "ᎪᏱᎳ ᏥᏂ",
- "ses": "ᎪᏱᎳᏈᎶ ᏎᏂ",
- "guz": "ᎫᏏ",
- "ku": "ᎫᏗᏏ",
- "gu": "ᎫᏣᎳᏘ",
- "it": "ᎬᏩᎵᏲᏥᎢ",
- "ha": "ᎭᎤᏌ",
- "haw": "ᎭᏩᎼ",
- "hi": "ᎯᏂᏗ",
- "hu": "ᎲᏂᎦᎵᎠᏂ",
- "lo": "ᎳᎣ",
- "lkt": "ᎳᎪᏓ",
- "lag": "ᎳᏂᎩ",
- "lv": "ᎳᏘᏫᎠᏂ",
- "ln": "ᎵᏂᎦᎳ",
- "lt": "ᎵᏚᏩᏂᎠᏂ",
- "ro": "ᎶᎹᏂᎠᏂ",
- "rof": "ᎶᎹᏉ",
- "luo": "ᎷᎣ",
- "rn": "ᎷᏂᏗ",
- "lu": "ᎷᏆ-ᎧᏔᎦ",
- "luy": "ᎷᏱᎠ",
- "lb": "ᎸᎦᏏᎻᏋᎢᏍ",
- "kde": "ᎹᎪᏕ",
- "mgh": "ᎹᎫᏩ-ᎻᏙ",
- "mg": "ᎹᎳᎦᏏ",
- "mr": "ᎹᎳᏘ",
- "ml": "ᎹᎳᏯᎳᎻ",
- "ms": "ᎹᎴ",
- "mt": "ᎹᎵᏘᏍ",
- "ro-MD": "ᎹᎵᏙᏫᎠ ᏣᎹᏂᎠᏂ",
- "gv": "ᎹᎾᎧᏏ",
- "mn": "ᎹᏂᎪᎵᎠᏂ",
- "mzn": "ᎹᏌᏕᎳᏂ",
- "mas": "ᎹᏌᏱ",
- "mk": "ᎹᏎᏙᏂᎠᏂ",
- "jmc": "ᎹᏣᎺ",
- "mi": "ᎹᏫ",
- "mgo": "ᎺᎳ’",
- "mer": "ᎺᎷ",
- "mfe": "ᎼᎵᏏᎡᏂ",
- "mua": "ᎽᏂᏓᎩ",
- "jgo": "ᎾᎪᏆ",
- "naq": "ᎾᎹ",
- "nnh": "ᎾᏥᏰᎹᏊᏂ",
- "ne": "ᏁᏆᎵ",
- "nyn": "ᏂᏯᎾᎪᎴ",
- "nn": "ᏃᎵᏪᏥᏂ ᎾᎵᏍᎩ",
- "nb": "ᏃᎵᏪᏥᏂ ᏉᎧᎹᎵ",
- "nus": "ᏄᏪᎵ",
- "rwk": "Ꮖ",
- "bm": "ᏆᎻᏆᎳ",
- "jv": "ᏆᏌ ᏣᏩ",
- "bas": "ᏆᏌᎠ",
- "eu": "ᏆᏍᎨ",
- "bs": "ᏆᏍᏂᎠᏂ",
- "ps": "ᏆᏍᏙ",
- "nmg": "ᏆᏏᏲ",
- "ksf": "ᏆᏫᎠ",
- "be": "ᏇᎳᎷᏏ",
- "fo": "ᏇᎶᎡᏍ",
- "bem": "ᏇᎹᏆ",
- "bez": "ᏇᎾ",
- "bn": "ᏇᏂᎦᎳ",
- "fa": "ᏇᏏᎠᏂ",
- "br": "ᏇᏙᏂ",
- "fi": "ᏈᏂᏍ",
- "pl": "ᏉᎵᏍ",
- "brx": "ᏉᏙ",
- "pt": "ᏉᏧᎩᏍ",
- "ff": "ᏊᎳᏂ",
- "bg": "ᏊᎵᎨᎵᎠᏂ",
- "nl-BE": "ᏊᎵᏥᎥᎻ ᏛᏥ",
- "my": "ᏋᎻᏍ",
- "sah": "ᏌᎧᎾ",
- "dje": "ᏌᎹ",
- "saq": "ᏌᎹᏊᎷ",
- "sbp": "ᏌᏁᎫ",
- "sg": "ᏌᏂᎪ",
- "gd": "ᏍᎦᏗ ᎨᎵᎩ",
- "sk": "ᏍᎶᏩᎩ",
- "sl": "ᏍᎶᏫᏂᎠᏂ",
- "es": "ᏍᏆᏂ",
- "es-MX": "ᏍᏆᏂᏱ ᏍᏆᏂ",
- "sw": "ᏍᏩᎯᎵ",
- "gsw": "ᏍᏫᏏ ᎠᏂᏓᏥ",
- "de-CH": "ᏍᏫᏏ ᎦᎸᎳᏗ ᎠᏂᏓᏥ",
- "fr-CH": "ᏍᏫᏏ ᎦᎸᏥ",
- "sv": "ᏍᏫᏗᏏ",
- "kw": "ᏎᎷᎭ",
- "seh": "ᏎᎾ",
- "ceb": "ᏎᏆᏃ",
- "si": "ᏏᎾᎭᎳ",
- "sd": "ᏏᏂᏗ",
- "ii": "ᏏᏧᏩᏂ Ᏹ",
- "xog": "ᏐᎦ",
- "so": "ᏐᎹᎵ",
- "zu": "ᏑᎷ",
- "sr": "ᏒᏈᎠᏂ",
- "zh": "ᏓᎶᏂᎨ",
- "dz": "ᏓᏐᏅᎧ",
- "dav": "ᏔᎢᏔ",
- "ta": "ᏔᎻᎵ",
- "twq": "ᏔᏌᏩᎩ",
- "tt": "ᏔᏔ",
- "es-419": "ᏔᏘᏂ ᎠᎹᏰᏟ ᏍᏆᏂ",
- "shi": "ᏔᏤᎵᎯᏘ",
- "tg": "ᏔᏥᎩ",
- "th": "ᏔᏱ",
- "da": "ᏕᏂᏍ",
- "te": "ᏖᎷᎦ",
- "teo": "ᏖᏐ",
- "ti": "ᏘᎩᎵᏂᎠ",
- "bo": "ᏘᏇᏔᏂ",
- "de": "ᏙᎢᏥ",
- "to": "ᏙᎾᎦᏂ",
- "dua": "ᏚᎠᎳ",
- "nl": "ᏛᏥ",
- "ksb": "ᏝᎻᏆᎸ",
- "fur": "ᏞᎤᎵᎠᏂ",
- "sn": "ᏠᎾ",
- "xh": "ᏠᏌ",
- "pa": "ᏡᏂᏣᏈ",
- "prg": "ᏡᏏᎠᏂ",
- "chr": "ᏣᎳᎩ",
- "ja": "ᏣᏩᏂᏏ",
- "cs": "ᏤᎩ",
- "ce": "ᏤᏤᏂ",
- "cgg": "ᏥᎦ",
- "dyo": "ᏦᎳ-ᏬᏱ",
- "ka": "ᏦᏥᎠᏂ",
- "is": "ᏧᏁᏍᏓᎸᎯᎢᎩ",
- "cu": "ᏧᏂᎳᏫᏍᏗ ᏍᎳᏫᎪ",
- "nd": "ᏧᏴᏢ ᏂᏕᏇᎴ",
- "lrc": "ᏧᏴᏢ ᏗᏜ ᎷᎵ",
- "se": "ᏧᏴᏢ ᏗᏜ ᏌᎻ",
- "wae": "ᏩᎵᏎᎵ",
- "wa": "ᏩᎷᎾ",
- "vai": "ᏩᏱ",
- "cy": "ᏪᎵᏏ",
- "vi": "ᏫᎡᏘᎾᎻᏍ",
- "ug": "ᏫᎦ",
- "vo": "ᏬᎳᏊᎩ",
- "wo": "ᏬᎶᏫ",
- "vun": "ᏭᎾᏦ",
- "fy": "ᏭᏕᎵᎬ ᏗᏜ ᏟᏏᎠᏂ",
- "yav": "ᏰᎾᎦᏇᏂ",
- "yi": "ᏱᏗᏍ",
- "yo": "ᏲᏄᏆ",
- "ru": "ᏲᏅᎯ",
- "uk": "ᏳᎧᎴᏂᎠᏂ",
- "pt-PT": "ᏳᎳᏈ ᏉᏧᎩᏍ"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ckb.json b/vendor/commerceguys/intl/resources/language/ckb.json
deleted file mode 100644
index afb54670f..000000000
--- a/vendor/commerceguys/intl/resources/language/ckb.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "nds": "Low German",
- "nds-NL": "nds (ھۆڵەندا)",
- "az": "ئازەربایجانی",
- "as": "ئاسامی",
- "ast": "ئاستۆری",
- "asa": "ئاسوو",
- "ak": "ئاکان",
- "agq": "ئاگێم",
- "nd": "ئندێبێلێی باکوور",
- "hy": "ئەرمەنی",
- "af": "ئەفریکانس",
- "sq": "ئەڵبانی",
- "de": "ئەڵمانی",
- "de-CH": "ئەڵمانی (سویسڕا)",
- "de-AT": "ئەڵمانی (نەمسا)",
- "gsw": "ئەڵمانیی سویسڕا",
- "tzm": "ئەمازیغی ناوەڕاست",
- "zgh": "ئەمازیغیی مەغریب",
- "am": "ئەمھەری",
- "uz": "ئوزبەکی",
- "or": "ئۆدیا",
- "ur": "ئۆردوو",
- "om": "ئۆرۆمۆ",
- "os": "ئۆسێتی",
- "uk": "ئۆكراینی",
- "ug": "ئۆیخۆری",
- "it": "ئیتالی",
- "ga": "ئیرلەندی",
- "es": "ئیسپانی",
- "es-419": "ئیسپانی (ئەمەریکای لاتین)",
- "es-MX": "ئیسپانی (مەکسیک)",
- "et": "ئیستۆنی",
- "is": "ئیسلەندی",
- "ig": "ئیگبۆ",
- "smn": "ئیناری سامی",
- "id": "ئیندۆنیزی",
- "en": "ئینگلیزی",
- "en-AU": "ئینگلیزیی ئۆسترالیایی",
- "en-GB": "ئینگلیزیی بریتانیایی",
- "en-CA": "ئینگلیزیی کەنەدایی",
- "eo": "ئێسپیرانتۆ",
- "ebu": "ئێمبوو",
- "ewo": "ئێوۆندۆ",
- "ee": "ئێوێیی",
- "bas": "باسا",
- "eu": "باسکی",
- "ksf": "بافیا",
- "bm": "بامبارا",
- "br": "برێتونی",
- "bn": "بەنگلادێشی",
- "brx": "بۆدۆ",
- "bs": "بۆسنی",
- "bg": "بۆلگاری",
- "be": "بیلاڕووسی",
- "bem": "بێمبا",
- "bez": "بێنا",
- "prg": "پڕووسی",
- "ps": "پەشتوو",
- "pa": "پەنجابی",
- "pt": "پورتوگالی",
- "pt-PT": "پورتوگالی (پورتوگال)",
- "pl": "پۆڵەندی",
- "tt": "تاتاری",
- "tg": "تاجیکی",
- "twq": "تاساواک",
- "ta": "تامیلی",
- "dav": "تایتا",
- "th": "تایلەندی",
- "bo": "تەبەتی",
- "tk": "تورکمانی",
- "tr": "تورکی",
- "to": "تۆنگان",
- "ti": "تیگرینیا",
- "teo": "تێسوو",
- "te": "تێلووگوو",
- "jv": "جاڤایی",
- "dyo": "جۆلافۆنی",
- "ce": "چیچانی",
- "zh": "چینی",
- "zh-Hans": "چینی (چینیی ئاسانکراو)",
- "zh-Hant": "چینی (چینیی دێرین)",
- "chr": "چێرۆکی",
- "cs": "چێکی",
- "km": "خمێر",
- "da": "دانماركی",
- "dz": "دزوونگخا",
- "dua": "دووالا",
- "dje": "زارما",
- "zu": "زوولوو",
- "rwk": "ڕوا",
- "ru": "ڕووسی",
- "rn": "ڕووندی",
- "rm": "ڕۆمانش",
- "ro": "ڕۆمانی",
- "rof": "ڕۆمبۆ",
- "ja": "ژاپۆنی",
- "sah": "ساخا",
- "saq": "سامبووروو",
- "se": "سامیی باکوور",
- "sbp": "سانگوو",
- "sg": "سانگۆ",
- "sr": "سربی",
- "dsb": "سربیی خوارین",
- "hsb": "سربیی سەروو",
- "xh": "سسوسا",
- "cu": "سلاویی کلیسەیی",
- "sk": "سلۆڤاكی",
- "sl": "سلۆڤێنی",
- "sw": "سواهیلی",
- "sw-CD": "سواهیلیی کۆنگۆ",
- "sv": "سویدی",
- "xog": "سۆگا",
- "so": "سۆمالی",
- "sd": "سيندی",
- "ii": "سیچوان یی",
- "si": "سینهالی",
- "ceb": "سێبوانۆ",
- "seh": "سێنا",
- "ksb": "شامابالا",
- "sn": "شۆنا",
- "shi": "شیلها",
- "ar": "عەرەبی",
- "he": "عیبری",
- "fa": "فارسی",
- "fur": "فریئوولی",
- "fy": "فریسیی ڕۆژاوا",
- "nl-BE": "فلێمی",
- "fr": "فەرەنسی",
- "fr-CH": "فەرەنسی (سویسڕا)",
- "fr-CA": "فەرەنسی (کەنەدا)",
- "fo": "فەرۆیی",
- "ff": "فوولایی",
- "fil": "فیلیپینی",
- "fi": "فینلەندی",
- "vai": "ڤایی",
- "vun": "ڤوونجوو",
- "vo": "ڤۆلاپووک",
- "vi": "ڤیەتنامی",
- "ca": "كاتالۆنی",
- "ky": "كرگیزی",
- "hr": "كرواتی",
- "ko": "كۆری",
- "kea": "کابووڤێردیانۆ",
- "kk": "کازاخی",
- "kkj": "کاکۆ",
- "kl": "کالالیسووت",
- "kln": "کالێنجین",
- "kam": "کامبا",
- "yue": "کانتۆنی",
- "kn": "کاننادا",
- "kab": "کبائیلی",
- "ks": "کەشمیری",
- "nmg": "کواسیۆ",
- "ku": "کوردی",
- "ckb": "کوردیی ناوەندی",
- "kw": "کۆڕنی",
- "ksh": "کۆلۆنی",
- "kok": "کۆنکانی",
- "khq": "کۆیرا چینی",
- "ses": "کۆیرابۆرۆ سێنی",
- "ki": "کیکوویوو",
- "cgg": "کیگا",
- "rw": "کینیارواندا",
- "qu": "کێچوا",
- "gl": "گالیسی",
- "lg": "گاندا",
- "gd": "گه‌لیكی سكۆتله‌ندی",
- "gu": "گوجاراتی",
- "guz": "گووسی",
- "ka": "گۆرجستانی",
- "lo": "لائۆیی",
- "lkt": "لاکۆتا",
- "lag": "لانگی",
- "lrc": "لوڕیی باکوور",
- "lb": "لوکسەمبورگی",
- "luo": "لووئۆ",
- "lu": "لووبا کاتانگا",
- "luy": "لوویا",
- "ln": "لينگالا",
- "lt": "لیتوانی",
- "lv": "لێتۆنی",
- "mi": "مائۆری",
- "jmc": "ماچامێ",
- "mgh": "ماخوامیتۆ",
- "mr": "ماراتی",
- "mzn": "مازەندەرانی",
- "mas": "ماسایی",
- "mk": "ماكێدۆنی",
- "kde": "ماکۆندە",
- "mg": "مالاگاسی",
- "ml": "مالایالام",
- "ms": "مالیزی",
- "mt": "ماڵتی",
- "gv": "مانکی",
- "mn": "مەنگۆلی",
- "mua": "موندانگ",
- "mfe": "مۆریسی",
- "ro-MD": "مۆڵداڤی",
- "my": "میانماری",
- "mgo": "مێتە",
- "mer": "مێروو",
- "naq": "ناما",
- "jgo": "نگۆمبا",
- "nnh": "نگیمبوون",
- "nb": "نەرویژیی بۆکمال",
- "nn": "نەرویژیی نینۆرسک",
- "nus": "نوێر",
- "nyn": "نیانکۆلێ",
- "ne": "نیپالی",
- "ha": "هائووسا",
- "haw": "هاوایی",
- "hu": "هەنگاری",
- "nl": "هۆڵەندی",
- "hi": "هیندی",
- "wae": "والسێر",
- "wa": "والوون",
- "wo": "وۆلۆف",
- "cy": "وێلزی",
- "yav": "یانگبێن",
- "yo": "یۆرووبا",
- "el": "یۆنانی",
- "yi": "ییدیش"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/cs.json b/vendor/commerceguys/intl/resources/language/cs.json
index 4a1f19044..4efa09e32 100644
--- a/vendor/commerceguys/intl/resources/language/cs.json
+++ b/vendor/commerceguys/intl/resources/language/cs.json
@@ -41,7 +41,6 @@
"dua": "dualština",
"dz": "dzongkä",
"ebu": "embu",
- "eo": "esperanto",
"et": "estonština",
"ee": "eweština",
"ewo": "ewondo",
@@ -124,7 +123,6 @@
"ms": "malajština",
"mg": "malgaština",
"mt": "maltština",
- "gv": "manština",
"mi": "maorština",
"mr": "maráthština",
"mas": "masajština",
@@ -159,7 +157,6 @@
"pl": "polština",
"pt": "portugalština",
"pt-PT": "portugalština (Evropa)",
- "prg": "pruština",
"rm": "rétorománština",
"rof": "rombo",
"ro": "rumunština",
@@ -180,7 +177,6 @@
"xog": "sogština",
"so": "somálština",
"sr": "srbština",
- "cu": "staroslověnština",
"sw": "svahilština",
"sw-CD": "svahilština (Kongo)",
"ksb": "šambala",
@@ -215,7 +211,6 @@
"cy": "velština",
"vi": "vietnamština",
"nl-BE": "vlámština",
- "vo": "volapük",
"vun": "vunjo",
"wo": "wolofština",
"xh": "xhoština",
diff --git a/vendor/commerceguys/intl/resources/language/cy.json b/vendor/commerceguys/intl/resources/language/cy.json
index 85bd46455..490fedbb1 100644
--- a/vendor/commerceguys/intl/resources/language/cy.json
+++ b/vendor/commerceguys/intl/resources/language/cy.json
@@ -51,13 +51,11 @@
"dz": "Dzongkha",
"it": "Eidaleg",
"ebu": "Embw",
- "eo": "Esperanto",
"et": "Estoneg",
"ee": "Ewe",
"ewo": "Ewondo",
"vai": "Faieg",
"vi": "Fietnameg",
- "vo": "Folapük",
"vun": "Funjo",
"fo": "Ffaröeg",
"fil": "Ffilipineg",
@@ -82,7 +80,6 @@
"haw": "Hawäieg",
"ha": "Hawsa",
"he": "Hebraeg",
- "cu": "Hen Slafoneg",
"hi": "Hindi",
"hu": "Hwngareg",
"yav": "Iangben",
@@ -123,7 +120,6 @@
"ml": "Malayalam",
"ms": "Maleieg",
"mt": "Malteg",
- "gv": "Manaweg",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -150,7 +146,6 @@
"fa": "Perseg",
"pt": "Portiwgeeg",
"pt-PT": "Portiwgeeg Ewrop",
- "prg": "Prwseg",
"pa": "Pwnjabeg",
"pl": "Pwyleg",
"qu": "Quechua",
diff --git a/vendor/commerceguys/intl/resources/language/da.json b/vendor/commerceguys/intl/resources/language/da.json
index a9b7af5fd..ed719000a 100644
--- a/vendor/commerceguys/intl/resources/language/da.json
+++ b/vendor/commerceguys/intl/resources/language/da.json
@@ -38,7 +38,6 @@
"dz": "dzongkha",
"smn": "enaresamisk",
"en": "engelsk",
- "eo": "esperanto",
"et": "estisk",
"pt-PT": "europæisk portugisisk",
"ee": "ewe",
@@ -89,7 +88,6 @@
"zh": "kinesisk",
"rw": "kinyarwanda",
"ky": "kirgisisk",
- "cu": "kirkeslavisk",
"kok": "konkani",
"ko": "koreansk",
"khq": "koyra-chiini",
@@ -117,7 +115,6 @@
"ms": "malajisk",
"ml": "malayalam",
"mt": "maltesisk",
- "gv": "manx",
"mi": "maori",
"mr": "marathisk",
"mas": "masai",
@@ -150,7 +147,6 @@
"fa": "persisk",
"pl": "polsk",
"pt": "portugisisk",
- "prg": "preussisk",
"pa": "punjabisk",
"qu": "quechua",
"rof": "rombo",
@@ -209,7 +205,6 @@
"wa": "vallonsk",
"fy": "vestfrisisk",
"vi": "vietnamesisk",
- "vo": "volapyk",
"vun": "vunjo",
"cy": "walisisk",
"wae": "walsertysk",
diff --git a/vendor/commerceguys/intl/resources/language/dav.json b/vendor/commerceguys/intl/resources/language/dav.json
deleted file mode 100644
index e402e569e..000000000
--- a/vendor/commerceguys/intl/resources/language/dav.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "fr": "Kifaransa",
- "fr-CA": "Kifaransa (Kanada)",
- "fr-CH": "Kifaransa (Uswisi)",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "hi": "Kihindi",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Ubelgiji)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Austria)",
- "de-CH": "Kijerumani (Uswisi)",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "en": "Kingereza",
- "en-AU": "Kingereza (Australia)",
- "en-CA": "Kingereza (Kanada)",
- "en-GB": "Kingereza (Uingereza)",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kirusi",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "dav": "Kitaita",
- "ta": "Kitamil",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/de-AT.json b/vendor/commerceguys/intl/resources/language/de-AT.json
index 5ba4e75ec..661028680 100644
--- a/vendor/commerceguys/intl/resources/language/de-AT.json
+++ b/vendor/commerceguys/intl/resources/language/de-AT.json
@@ -3,7 +3,6 @@
"agq": "Aghem",
"ak": "Akan",
"sq": "Albanisch",
- "prg": "Altpreußisch",
"am": "Amharisch",
"ar": "Arabisch",
"hy": "Armenisch",
@@ -38,7 +37,6 @@
"en-AU": "Englisch (Australien)",
"en-CA": "Englisch (Kanada)",
"en-GB": "Englisch (Vereinigtes Königreich)",
- "eo": "Esperanto",
"et": "Estnisch",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -85,7 +83,6 @@
"km": "Khmer",
"ki": "Kikuyu",
"rw": "Kinyarwanda",
- "cu": "Kirchenslawisch",
"ky": "Kirgisisch",
"ksh": "Kölsch",
"sw-CD": "Kongo-Swahili",
@@ -114,7 +111,6 @@
"ms": "Malaiisch",
"ml": "Malayalam",
"mt": "Maltesisch",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mzn": "Masanderanisch",
@@ -205,7 +201,6 @@
"uz": "Usbekisch",
"vai": "Vai",
"vi": "Vietnamesisch",
- "vo": "Volapük",
"vun": "Vunjo",
"cy": "Walisisch",
"wae": "Walliserdeutsch",
diff --git a/vendor/commerceguys/intl/resources/language/de-CH.json b/vendor/commerceguys/intl/resources/language/de-CH.json
index 5bf197d85..40b0e9502 100644
--- a/vendor/commerceguys/intl/resources/language/de-CH.json
+++ b/vendor/commerceguys/intl/resources/language/de-CH.json
@@ -3,7 +3,6 @@
"agq": "Aghem",
"ak": "Akan",
"sq": "Albanisch",
- "prg": "Altpreussisch",
"am": "Amharisch",
"ar": "Arabisch",
"hy": "Armenisch",
@@ -38,7 +37,6 @@
"en-AU": "Englisch (Australien)",
"en-GB": "Englisch (Grossbritannien)",
"en-CA": "Englisch (Kanada)",
- "eo": "Esperanto",
"et": "Estnisch",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -85,7 +83,6 @@
"km": "Khmer",
"ki": "Kikuyu",
"rw": "Kinyarwanda",
- "cu": "Kirchenslawisch",
"ky": "Kirgisisch",
"ksh": "Kölsch",
"sw-CD": "Kongo-Swahili",
@@ -114,7 +111,6 @@
"ms": "Malaiisch",
"ml": "Malayalam",
"mt": "Maltesisch",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mzn": "Masanderanisch",
@@ -205,7 +201,6 @@
"uz": "Usbekisch",
"vai": "Vai",
"vi": "Vietnamesisch",
- "vo": "Volapük",
"vun": "Vunjo",
"cy": "Walisisch",
"wae": "Walliserdeutsch",
diff --git a/vendor/commerceguys/intl/resources/language/de-LU.json b/vendor/commerceguys/intl/resources/language/de-LU.json
index 4800cd11d..fa7f656af 100644
--- a/vendor/commerceguys/intl/resources/language/de-LU.json
+++ b/vendor/commerceguys/intl/resources/language/de-LU.json
@@ -3,7 +3,6 @@
"agq": "Aghem",
"ak": "Akan",
"sq": "Albanisch",
- "prg": "Altpreußisch",
"am": "Amharisch",
"ar": "Arabisch",
"hy": "Armenisch",
@@ -39,7 +38,6 @@
"en-AU": "Englisch (Australien)",
"en-CA": "Englisch (Kanada)",
"en-GB": "Englisch (Vereinigtes Königreich)",
- "eo": "Esperanto",
"et": "Estnisch",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -86,7 +84,6 @@
"km": "Khmer",
"ki": "Kikuyu",
"rw": "Kinyarwanda",
- "cu": "Kirchenslawisch",
"ky": "Kirgisisch",
"ksh": "Kölsch",
"sw-CD": "Kongo-Swahili",
@@ -115,7 +112,6 @@
"ms": "Malaiisch",
"ml": "Malayalam",
"mt": "Maltesisch",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mzn": "Masanderanisch",
@@ -206,7 +202,6 @@
"uz": "Usbekisch",
"vai": "Vai",
"vi": "Vietnamesisch",
- "vo": "Volapük",
"vun": "Vunjo",
"cy": "Walisisch",
"wae": "Walliserdeutsch",
diff --git a/vendor/commerceguys/intl/resources/language/de.json b/vendor/commerceguys/intl/resources/language/de.json
index 8203e24ec..a03589bac 100644
--- a/vendor/commerceguys/intl/resources/language/de.json
+++ b/vendor/commerceguys/intl/resources/language/de.json
@@ -3,7 +3,6 @@
"agq": "Aghem",
"ak": "Akan",
"sq": "Albanisch",
- "prg": "Altpreußisch",
"am": "Amharisch",
"ar": "Arabisch",
"hy": "Armenisch",
@@ -38,7 +37,6 @@
"en-AU": "Englisch (Australien)",
"en-CA": "Englisch (Kanada)",
"en-GB": "Englisch (Vereinigtes Königreich)",
- "eo": "Esperanto",
"et": "Estnisch",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -85,7 +83,6 @@
"km": "Khmer",
"ki": "Kikuyu",
"rw": "Kinyarwanda",
- "cu": "Kirchenslawisch",
"ky": "Kirgisisch",
"ksh": "Kölsch",
"sw-CD": "Kongo-Swahili",
@@ -114,7 +111,6 @@
"ms": "Malaiisch",
"ml": "Malayalam",
"mt": "Maltesisch",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mzn": "Masanderanisch",
@@ -205,7 +201,6 @@
"uz": "Usbekisch",
"vai": "Vai",
"vi": "Vietnamesisch",
- "vo": "Volapük",
"vun": "Vunjo",
"cy": "Walisisch",
"wae": "Walliserdeutsch",
diff --git a/vendor/commerceguys/intl/resources/language/dje.json b/vendor/commerceguys/intl/resources/language/dje.json
deleted file mode 100644
index 29d96ba95..000000000
--- a/vendor/commerceguys/intl/resources/language/dje.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan senni",
- "sq": "Albanian",
- "de": "Almaŋ senni",
- "de-AT": "Almaŋ senni (Otriši)",
- "de-CH": "Almaŋ senni (Swisu)",
- "am": "Amhaarik senni",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belaruus senni",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali senni",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulagaari senni",
- "my": "Burme senni",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "cs": "Cek senni",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "es": "Espaaɲe senni",
- "es-419": "Espaaɲe senni (419)",
- "es-MX": "Espaaɲe senni (Mexiki)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fa": "Farsi senni",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "Fransee senni",
- "fr-CA": "Fransee senni (Kanaada)",
- "fr-CH": "Fransee senni (Swisu)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Grek senni",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "ha": "Hawsance senni",
- "he": "Hebrew",
- "nl": "Holandee senni",
- "nl-BE": "Holandee senni (Belgiiki)",
- "hu": "Hungaari senni",
- "ig": "Iboo senni",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "id": "Indoneesi senni",
- "hi": "Induu senni",
- "en": "Inglisi senni",
- "en-GB": "Inglisi senni (Albaasalaama Marganta)",
- "en-CA": "Inglisi senni (Kanaada)",
- "en-AU": "Inglisi senni (Ostraali)",
- "ga": "Irish",
- "it": "Itaali senni",
- "ja": "Japonee senni",
- "jv": "Javanee senni",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "Kmeer senni",
- "kok": "Konkani",
- "ko": "Koree senni",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "ar": "Laaraw senni",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Maleezi senni",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Hollandu)",
- "ne": "Neepal senni",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "pl": "Polonee senni",
- "pt": "Portugee senni",
- "pt-PT": "Portugee senni (Portugaal)",
- "prg": "Prussian",
- "pa": "Punjaabi sennii",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "Rumaani senni",
- "ro-MD": "Rumaani senni (Moldovi)",
- "rn": "Rundi",
- "ru": "Ruusi senni",
- "rwk": "Rwa",
- "rw": "Rwanda senni",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "Sinuwa senni",
- "zh-Hans": "Sinuwa senni (Hans)",
- "zh-Hant": "Sinuwa senni (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somaali senni",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Suweede senni",
- "sw-CD": "sw (Kongoo demookaratiki laboo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "th": "Taailandu senni",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil senni",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "tr": "Turku senni",
- "uk": "Ukreen senni",
- "hsb": "Upper Sorbian",
- "ur": "Urdu senni",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnaam senni",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yorbance senni",
- "dje": "Zarmaciine",
- "zu": "Zulu senni"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/dsb.json b/vendor/commerceguys/intl/resources/language/dsb.json
deleted file mode 100644
index 9908bbf7c..000000000
--- a/vendor/commerceguys/intl/resources/language/dsb.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikans",
- "agq": "aghem",
- "ak": "akanšćina",
- "sq": "albanšćina",
- "am": "amharšćina",
- "ar": "arabšćina",
- "hy": "armeńšćina",
- "as": "asamšćina",
- "ast": "asturšćina",
- "en-AU": "awstralska engelšćina",
- "de-AT": "awstriska nimšćina",
- "az": "azerbajdžanšćina",
- "ksf": "bafia",
- "bm": "bambara",
- "bas": "Basaa",
- "eu": "baskišćina",
- "bem": "bemba",
- "bez": "bena",
- "bn": "bengalšćina",
- "be": "běłorušćina",
- "brx": "bodo",
- "bs": "bosnišćina",
- "br": "bretonšćina",
- "en-GB": "britiska engelšćina",
- "bg": "bulgaršćina",
- "my": "burmašćina",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "centralnoatlaski tamazight",
- "ksh": "Colognian",
- "cs": "češćina",
- "da": "danšćina",
- "nds": "dolnonimšćina",
- "nds-NL": "dolnonimšćina (Nižozemska)",
- "dsb": "dolnoserbšćina",
- "dua": "duala",
- "dz": "dzongkha",
- "ebu": "embu",
- "en": "engelšćina",
- "eo": "esperanto",
- "et": "estišćina",
- "pt-PT": "europejska portugalšćina",
- "ee": "ewe",
- "ewo": "Ewondo",
- "fo": "ferejšćina",
- "fil": "filipinšćina",
- "fi": "finšćina",
- "nl-BE": "flamšćina",
- "fr": "francojšćina",
- "fur": "Friulian",
- "fy": "frizišćina",
- "ff": "Fulah",
- "gl": "galicišćina",
- "lg": "gandšćina",
- "ka": "georgišćina",
- "hsb": "górnoserbšćina",
- "el": "grichišćina",
- "kl": "grönlandšćina",
- "gu": "gudžaratšćina",
- "guz": "gusii",
- "ha": "hausa",
- "haw": "hawaiišćina",
- "he": "hebrejšćina",
- "hi": "hindišćina",
- "hu": "hungoršćina",
- "ce": "Chechen",
- "chr": "cherokee",
- "cgg": "chiga",
- "zh": "chinšćina",
- "zh-Hant": "chinšćina (tradicionalna)",
- "zh-Hans": "chinšćina (zjadnorjona)",
- "hr": "chorwatšćina",
- "cu": "Church Slavic",
- "ig": "igbo",
- "smn": "inari-samišćina",
- "id": "indonešćina",
- "ga": "iršćina",
- "is": "islandšćina",
- "it": "italšćina",
- "ja": "japańšćina",
- "jv": "javašćina",
- "yi": "jidišćina",
- "dyo": "jola-fonyi",
- "yo": "jorubšćina",
- "kab": "kabylšćina",
- "kkj": "Kako",
- "kln": "kalenjin",
- "kam": "kamba",
- "km": "kambodžanšćina",
- "en-CA": "kanadiska engelšćina",
- "fr-CA": "kanadiska francojšćina",
- "kn": "kannadšćina",
- "kea": "kapverdšćina",
- "ks": "kašmiršćina",
- "ca": "katanlanšćina",
- "kk": "kazachšćina",
- "qu": "kečua",
- "ki": "kikuyu",
- "rw": "kinjarwanda",
- "ky": "kirgišćina",
- "rn": "kirundišćina",
- "sw-CD": "kongojska swahilišćina",
- "kok": "konkani",
- "ko": "korejańšćina",
- "kw": "kornišćina",
- "khq": "koyra chiini",
- "ses": "koyra senni",
- "ku": "kurdišćina",
- "nmg": "kwasio",
- "es-419": "łatyńskoamerikańska špańšćina",
- "lkt": "lakotšćina",
- "lag": "langi",
- "lo": "laošćina",
- "se": "lapšćina",
- "lv": "letišćina",
- "ln": "lingala",
- "lt": "litawšćina",
- "lu": "luba-katanga",
- "luy": "luhya",
- "luo": "Luo",
- "lb": "luxemburgšćina",
- "jmc": "machame",
- "mk": "makedońšćina",
- "mgh": "makhuwa-meetto",
- "kde": "makonde",
- "ml": "malajamšćina",
- "ms": "malajšćina",
- "mg": "malgašćina",
- "mt": "maltašćina",
- "gv": "manšćina",
- "mi": "maorišćina",
- "mr": "maratišćina",
- "mas": "masaišćina",
- "mfe": "mauriciska kreolšćina",
- "mzn": "Mazanderani",
- "mer": "meru",
- "mgo": "meta’",
- "es-MX": "mexikańska špańšćina",
- "ro-MD": "moldawišćina",
- "mn": "mongolšćina",
- "mua": "mundang",
- "naq": "nama",
- "ne": "nepalšćina",
- "nnh": "Ngiemboon",
- "jgo": "ngomba",
- "de": "nimšćina",
- "nl": "nižozemšćina",
- "lrc": "Northern Luri",
- "nb": "norwegske bokmål",
- "nn": "norwegske nynorsk",
- "nus": "nuer",
- "nyn": "nyankole",
- "or": "orojišćina",
- "om": "oromo",
- "os": "Ossetic",
- "pa": "pandžabšćina",
- "asa": "pare",
- "ps": "paštunšćina",
- "fa": "persišćina",
- "nd": "pódpołnocne ndebele",
- "pl": "pólšćina",
- "pt": "portugalšćina",
- "prg": "prusčina",
- "rm": "retoromańšćina",
- "rof": "rombo",
- "ro": "rumunšćina",
- "ru": "rušćina",
- "rwk": "rwa",
- "sah": "Sakha",
- "saq": "samburu",
- "sg": "sango",
- "sbp": "sangu",
- "seh": "sena",
- "sr": "serbišćina",
- "ii": "sichuan yi",
- "sd": "sindšćina",
- "si": "singalšćina",
- "sk": "słowakšćina",
- "sl": "słowjeńšćina",
- "xog": "soga",
- "so": "somališćina",
- "ckb": "sorani",
- "zgh": "standardny marokkański tamazight",
- "sw": "swahilišćina",
- "ksb": "šambala",
- "sn": "šonšćina",
- "gd": "šotišćina",
- "es": "špańšćina",
- "sv": "šwedšćina",
- "fr-CH": "šwicarska francojšćina",
- "gsw": "šwicarska nimšćina",
- "de-CH": "šwicarska wusokonimšćina",
- "tg": "tadžikišćina",
- "dav": "taita",
- "ta": "tamilšćina",
- "twq": "tasawaq",
- "shi": "tašelhit",
- "tt": "tataršćina",
- "te": "telugšćina",
- "teo": "teso",
- "th": "thailandšćina",
- "bo": "tibetšćina",
- "ti": "tigrinja",
- "to": "tonganšćina",
- "tk": "turkmeńšćina",
- "tr": "turkojšćina",
- "ug": "ujguršćina",
- "uk": "ukrainšćina",
- "ur": "urdušćina",
- "uz": "usbekšćina",
- "vai": "Vai",
- "vi": "vietnamšćina",
- "vo": "volapük",
- "vun": "vunjo",
- "cy": "walizišćina",
- "wa": "walonšćina",
- "wae": "Walser",
- "wo": "wolof",
- "xh": "xhosa",
- "yav": "Yangben",
- "dje": "zarma",
- "zu": "zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/dyo.json b/vendor/commerceguys/intl/resources/language/dyo.json
deleted file mode 100644
index eebdbbe9e..000000000
--- a/vendor/commerceguys/intl/resources/language/dyo.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "akan",
- "sq": "Albanian",
- "de": "alman",
- "de-CH": "alman (CH)",
- "de-AT": "alman (Otris)",
- "am": "amharik",
- "en": "angle",
- "en-GB": "angle (GB)",
- "en-CA": "angle (Kanada)",
- "en-AU": "angle (Ostraalia)",
- "ar": "arab",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "belarus",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bengali",
- "my": "birmani",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "bulgaari",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "hi": "endu",
- "es": "español",
- "es-419": "español (419)",
- "es-MX": "español (MX)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "franse",
- "fr-CH": "franse (CH)",
- "fr-CA": "franse (Kanada)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "greek",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "hausa",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "ig": "igbo",
- "smn": "Inari Sami",
- "id": "indoneesi",
- "ga": "Irish",
- "it": "italien",
- "dyo": "joola",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "kmeer",
- "kok": "Konkani",
- "ko": "koree",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "maleesi",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (NL)",
- "nl": "neerlande",
- "nl-BE": "neerlande (Belsik)",
- "ne": "nepalees",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "hu": "ongrua",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "pa": "penjabi",
- "fa": "persan",
- "pl": "polonees",
- "pt": "portugees",
- "pt-PT": "portugees (PT)",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rw": "ruanda",
- "ro": "rumeen",
- "ro-MD": "rumeen (MD)",
- "rn": "Rundi",
- "ru": "rus",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "ja": "saponee",
- "jv": "savanee",
- "gd": "Scottish Gaelic",
- "cs": "sek",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "sinua",
- "zh-Hans": "sinua (Hans)",
- "zh-Hant": "sinua (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "somali",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "suedi",
- "zu": "sulu",
- "sw-CD": "sw (Mofam demokratik mati Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "th": "tay",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "turki",
- "tk": "Turkmen",
- "uk": "ukrain",
- "hsb": "Upper Sorbian",
- "ur": "urdu",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "vietnam",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "yoruba",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/dz.json b/vendor/commerceguys/intl/resources/language/dz.json
index 47bf67833..c0367cd20 100644
--- a/vendor/commerceguys/intl/resources/language/dz.json
+++ b/vendor/commerceguys/intl/resources/language/dz.json
@@ -17,7 +17,6 @@
"ce": "Chechen",
"chr": "Cherokee",
"cgg": "Chiga",
- "cu": "Church Slavic",
"ksh": "Colognian",
"kw": "Cornish",
"dua": "Duala",
@@ -53,7 +52,6 @@
"jmc": "Machame",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
- "gv": "Manx",
"mas": "Masai",
"mzn": "Mazanderani",
"mer": "Meru",
@@ -72,7 +70,6 @@
"nyn": "Nyankole",
"om": "Oromo",
"os": "Ossetic",
- "prg": "Prussian",
"rof": "Rombo",
"rn": "Rundi",
"rwk": "Rwa",
@@ -93,7 +90,6 @@
"teo": "Teso",
"hsb": "Upper Sorbian",
"vai": "Vai",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
@@ -219,6 +215,5 @@
"uz": "ཨུས་བེཀ་ཁ",
"ar": "ཨེ་ར་བིཀ་ཁ",
"et": "ཨེས་ཊོ་ནི་ཡཱན་ཁ",
- "eo": "ཨེས་པ་རཱན་ཏོ་ཁ",
"or": "ཨོ་རི་ཡ་ཁ"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ebu.json b/vendor/commerceguys/intl/resources/language/ebu.json
deleted file mode 100644
index 17706064e..000000000
--- a/vendor/commerceguys/intl/resources/language/ebu.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ak": "Kĩakan",
- "am": "Kĩamhari",
- "fa": "Kĩanjemi",
- "ar": "Kĩarabu",
- "bn": "Kĩbangla",
- "bg": "Kĩbulgaria",
- "my": "Kĩburma",
- "cs": "Kĩcheki",
- "zh": "Kĩchina",
- "zh-Hans": "Kĩchina (Hans)",
- "zh-Hant": "Kĩchina (Hant)",
- "ebu": "Kĩembu",
- "fr": "Kĩfaransa",
- "fr-CA": "Kĩfaransa (Kanada)",
- "fr-CH": "Kĩfaransa (Uswisi)",
- "ha": "Kĩhausa",
- "hi": "Kĩhindĩ",
- "es": "Kĩhispania",
- "es-419": "Kĩhispania (419)",
- "es-MX": "Kĩhispania (Meksiko)",
- "nl": "Kĩholanzi",
- "nl-BE": "Kĩholanzi (Ubelgiji)",
- "hu": "Kĩhungari",
- "ig": "Kĩigbo",
- "id": "Kĩindonesia",
- "it": "Kĩitaliano",
- "jv": "Kĩjava",
- "km": "Kĩkambodia",
- "ko": "Kĩkorea",
- "ki": "Kikuyu",
- "ms": "Kĩmalesia",
- "be": "Kĩmbelarusi",
- "ne": "Kĩnepali",
- "el": "Kĩngriki",
- "ja": "Kĩnjapani",
- "de": "Kĩnjeremani",
- "de-AT": "Kĩnjeremani (Austria)",
- "de-CH": "Kĩnjeremani (Uswisi)",
- "rw": "Kĩnyarwanda",
- "pl": "Kĩpolandi",
- "pa": "Kĩpunjabi",
- "pt": "Kĩreno",
- "pt-PT": "Kĩreno (Ureno)",
- "ro": "Kĩromania",
- "ro-MD": "Kĩromania (Moldova)",
- "ru": "Kĩrusi",
- "so": "Kĩsomali",
- "sv": "Kĩswidi",
- "th": "Kĩtailandi",
- "ta": "Kĩtamil",
- "en": "Kĩthungu",
- "en-AU": "Kĩthungu (Australia)",
- "en-CA": "Kĩthungu (Kanada)",
- "en-GB": "Kĩthungu (Uingereza)",
- "tr": "Kĩturuki",
- "uk": "Kĩukrania",
- "ur": "Kĩurdu",
- "vi": "Kĩvietinamu",
- "yo": "Kĩyoruba",
- "zu": "Kĩzulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ee.json b/vendor/commerceguys/intl/resources/language/ee.json
deleted file mode 100644
index 7fee73fb4..000000000
--- a/vendor/commerceguys/intl/resources/language/ee.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikaangbe",
- "agq": "aghemgbe",
- "sq": "albaniagbe",
- "am": "amhariagbe",
- "ar": "Arabiagbe",
- "hy": "armeniagbe",
- "asa": "asagbe",
- "as": "assamegbe",
- "ast": "Asturian",
- "az": "azerbaijangbe",
- "ksf": "Bafia",
- "bm": "bambaragbe",
- "bas": "Basaa",
- "eu": "basqugbe",
- "be": "belarusiagbe",
- "bem": "bembagbe",
- "bez": "benagbe",
- "bn": "Bengaligbe",
- "zh-Hant": "blema tsainagbe",
- "ak": "blugbe",
- "brx": "bodogbe",
- "bs": "bosniagbe",
- "br": "bretongbe",
- "bg": "bulgariagbe",
- "my": "burmagbe",
- "yue": "cantongbe",
- "kea": "cape verdegbe",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "zh": "Chinagbe",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "da": "denmarkgbe",
- "dua": "Duala",
- "jv": "dzavangbe",
- "nd": "dziehe ndebelegbe",
- "se": "dziehe samigbe",
- "dz": "dzongkhagbe",
- "ebu": "embugbe",
- "eo": "esperantogbe",
- "et": "estoniagbe",
- "ee": "Eʋegbe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "filipingbe",
- "fi": "finlanɖgbe",
- "nl-BE": "Flemishgbe",
- "fr": "Fransegbe",
- "fr-CA": "Fransegbe (Canada)",
- "fr-CH": "Fransegbe (Switzerland)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "galatagbe",
- "lg": "Ganda",
- "de": "Germaniagbe",
- "de-AT": "Germaniagbe (Austria)",
- "de-CH": "Germaniagbe (Switzerland)",
- "ka": "gɔgiagbe",
- "el": "grisigbe",
- "gu": "gujarati",
- "guz": "Gusii",
- "ha": "hausagbe",
- "haw": "hawaigbe",
- "he": "hebrigbe",
- "hi": "Hindigbe",
- "nl": "Hollandgbe",
- "hu": "hungarigbe",
- "xh": "xhosagbe",
- "is": "icelanɖgbe",
- "ig": "igbogbe",
- "smn": "Inari Sami",
- "id": "Indonesiagbe",
- "ga": "irelanɖgbe",
- "it": "Italiagbe",
- "ja": "Japangbe",
- "dyo": "Jola-Fonyi",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "kannadagbe",
- "ks": "kashmirgbe",
- "ca": "katalagbe",
- "kk": "kazakhstangbe",
- "km": "khmergbe",
- "ki": "Kikuyu",
- "ky": "kirghistangbe",
- "kok": "Konkani",
- "ko": "Koreagbe",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "hr": "kroatiagbe",
- "ku": "kurdiagbe",
- "nmg": "Kwasio",
- "qu": "kwetsuagbe",
- "lkt": "Lakota",
- "lb": "laksembɔggbe",
- "lag": "Langi",
- "lo": "laogbe",
- "lv": "latviagbe",
- "ln": "lingala",
- "lt": "lithuaniagbe",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "luy": "luyiagbe",
- "jmc": "Machame",
- "mk": "makedoniagbe",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "malagasegbe",
- "ml": "malayagbe",
- "ms": "malaygbe",
- "mt": "maltagbe",
- "gv": "Manx",
- "mi": "maorgbe",
- "mr": "marathiagbe",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "mongoliagbe",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Netherlands nutome)",
- "ne": "nepalgbe",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "lrc": "Northern Luri",
- "nb": "nɔweigbe bokmål",
- "nn": "nɔweigbe ninɔsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "oriyagbe",
- "om": "Oromo",
- "os": "ossetiagbe",
- "ps": "pashtogbe",
- "fa": "persiagbe",
- "pl": "Polishgbe",
- "pt": "Portuguesegbe",
- "pt-PT": "Portuguesegbe (Europe)",
- "prg": "Prussian",
- "pa": "pundzabgbe",
- "ro": "romaniagbe",
- "ro-MD": "romaniagbe (Moldova nutome)",
- "rm": "romanshgbe",
- "rof": "rombogbe",
- "rn": "rundigbe",
- "ru": "Russiagbe",
- "rw": "ruwandagbe",
- "rwk": "rwagbe",
- "sah": "sakagbe",
- "saq": "Samburu",
- "sg": "sangogbe",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "serbiagbe",
- "ksb": "Shambala",
- "sn": "shonagbe",
- "ii": "Sichuan Yi",
- "sd": "sindhgbe",
- "si": "sinhalgbe",
- "sk": "slovakiagbe",
- "sl": "sloveniagbe",
- "xog": "Soga",
- "so": "somaliagbe",
- "es": "Spanishgbe",
- "es-419": "Spanishgbe (Latin America)",
- "es-MX": "Spanishgbe (Mexico)",
- "zgh": "Standard Moroccan Tamazight",
- "sw": "swahili",
- "sw-CD": "swahili (Kongo Kinshasa nutome)",
- "sv": "swedengbe",
- "gsw": "swizerlanɖtɔwo ƒe germaniagbe",
- "shi": "Tachelhit",
- "tg": "tadzikistangbe",
- "dav": "Taita",
- "ta": "tamilgbe",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "telegugbe",
- "teo": "Teso",
- "tk": "tɛkmengbe",
- "th": "Thailandgbe",
- "bo": "tibetagbe",
- "ti": "tigrinyagbe",
- "to": "tongagbe",
- "tr": "Turkishgbe",
- "zh-Hans": "tsainagbe",
- "cs": "tsɛkgbe",
- "ug": "uighurgbe",
- "uk": "ukraingbe",
- "hsb": "Upper Sorbian",
- "ur": "urdugbe",
- "uz": "uzbekistangbe",
- "vai": "Vai",
- "vi": "vietnamgbe",
- "vo": "Volapük",
- "vun": "Vunjo",
- "cy": "walesgbe",
- "wa": "Walloon",
- "wae": "walsegbe",
- "fy": "Western Frisian",
- "wo": "wolofgbe",
- "yav": "Yangben",
- "en": "Yevugbe",
- "en-AU": "Yevugbe (Australia)",
- "en-GB": "Yevugbe (Britain)",
- "en-CA": "Yevugbe (Canada)",
- "yi": "Yiddish",
- "yo": "yorubagbe",
- "dje": "Zarma",
- "zu": "zulugbe"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/el.json b/vendor/commerceguys/intl/resources/language/el.json
index 422b74e2f..0dbb8c5db 100644
--- a/vendor/commerceguys/intl/resources/language/el.json
+++ b/vendor/commerceguys/intl/resources/language/el.json
@@ -23,7 +23,6 @@
"bn": "Βεγγαλικά",
"vi": "Βιετναμικά",
"my": "Βιρμανικά",
- "vo": "Βολαπιούκ",
"lrc": "Βόρεια Λούρι",
"nd": "Βόρεια Ντεμπέλε",
"se": "Βόρεια Σάμι",
@@ -51,12 +50,10 @@
"fy": "Δυτικά Φριζικά",
"he": "Εβραϊκά",
"ewo": "Εγουόντο",
- "cu": "Εκκλησιαστικά Σλαβικά",
"el": "Ελληνικά",
"ebu": "Έμπου",
"ee": "Έουε",
"et": "Εσθονικά",
- "eo": "Εσπεράντο",
"dje": "Ζάρμα",
"zu": "Ζουλού",
"bo": "Θιβετιανά",
@@ -120,7 +117,6 @@
"ms": "Μαλαισιανά",
"mg": "Μαλγασικά",
"mt": "Μαλτεζικά",
- "gv": "Μανξ",
"mi": "Μαορί",
"mr": "Μαραθικά",
"mas": "Μασάι",
@@ -164,7 +160,6 @@
"pl": "Πολωνικά",
"pt": "Πορτογαλικά",
"pt-PT": "Πορτογαλικά Ευρώπης",
- "prg": "Πρωσικά",
"rm": "Ρομανικά",
"rof": "Ρόμπο",
"rwk": "Ρουά",
diff --git a/vendor/commerceguys/intl/resources/language/en-001.json b/vendor/commerceguys/intl/resources/language/en-001.json
index e416f2fab..408e0bd7d 100644
--- a/vendor/commerceguys/intl/resources/language/en-001.json
+++ b/vendor/commerceguys/intl/resources/language/en-001.json
@@ -37,7 +37,6 @@
"chr": "Cherokee",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"ksh": "Colognian",
"sw-CD": "Congo Swahili",
"kw": "Cornish",
@@ -49,7 +48,6 @@
"dz": "Dzongkha",
"ebu": "Embu",
"en": "English",
- "eo": "Esperanto",
"et": "Estonian",
"pt-PT": "European Portuguese",
"ee": "Ewe",
@@ -122,7 +120,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -152,7 +149,6 @@
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
- "prg": "Prussian",
"pa": "Punjabi",
"qu": "Quechua",
"ro": "Romanian",
@@ -207,7 +203,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnamese",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/en-AU.json b/vendor/commerceguys/intl/resources/language/en-AU.json
index a788750d8..03732caaf 100644
--- a/vendor/commerceguys/intl/resources/language/en-AU.json
+++ b/vendor/commerceguys/intl/resources/language/en-AU.json
@@ -37,7 +37,6 @@
"chr": "Cherokee",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"ksh": "Colognian",
"sw-CD": "Congo Swahili",
"kw": "Cornish",
@@ -49,7 +48,6 @@
"dz": "Dzongkha",
"ebu": "Embu",
"en": "English",
- "eo": "Esperanto",
"et": "Estonian",
"pt-PT": "European Portuguese",
"ee": "Ewe",
@@ -122,7 +120,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -152,7 +149,6 @@
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
- "prg": "Prussian",
"pa": "Punjabi",
"qu": "Quechua",
"ro": "Romanian",
@@ -207,7 +203,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnamese",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/en-CA.json b/vendor/commerceguys/intl/resources/language/en-CA.json
index 046eef878..e4caacc6d 100644
--- a/vendor/commerceguys/intl/resources/language/en-CA.json
+++ b/vendor/commerceguys/intl/resources/language/en-CA.json
@@ -37,7 +37,6 @@
"chr": "Cherokee",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"ksh": "Colognian",
"sw-CD": "Congo Swahili",
"kw": "Cornish",
@@ -49,7 +48,6 @@
"dz": "Dzongkha",
"ebu": "Embu",
"en": "English",
- "eo": "Esperanto",
"et": "Estonian",
"pt-PT": "European Portuguese",
"ee": "Ewe",
@@ -122,7 +120,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -152,7 +149,6 @@
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
- "prg": "Prussian",
"pa": "Punjabi",
"qu": "Quechua",
"ro": "Romanian",
@@ -207,7 +203,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnamese",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/en-IN.json b/vendor/commerceguys/intl/resources/language/en-IN.json
index b9114bb6e..e5cea9323 100644
--- a/vendor/commerceguys/intl/resources/language/en-IN.json
+++ b/vendor/commerceguys/intl/resources/language/en-IN.json
@@ -37,7 +37,6 @@
"chr": "Cherokee",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"ksh": "Colognian",
"sw-CD": "Congo Swahili",
"kw": "Cornish",
@@ -49,7 +48,6 @@
"dz": "Dzongkha",
"ebu": "Embu",
"en": "English",
- "eo": "Esperanto",
"et": "Estonian",
"pt-PT": "European Portuguese",
"ee": "Ewe",
@@ -122,7 +120,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -152,7 +149,6 @@
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
- "prg": "Prussian",
"pa": "Punjabi",
"qu": "Quechua",
"ro": "Romanian",
@@ -207,7 +203,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnamese",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/en-NZ.json b/vendor/commerceguys/intl/resources/language/en-NZ.json
index 39dae1f1d..d7dc9e64b 100644
--- a/vendor/commerceguys/intl/resources/language/en-NZ.json
+++ b/vendor/commerceguys/intl/resources/language/en-NZ.json
@@ -37,7 +37,6 @@
"chr": "Cherokee",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"ksh": "Colognian",
"sw-CD": "Congo Swahili",
"kw": "Cornish",
@@ -49,7 +48,6 @@
"dz": "Dzongkha",
"ebu": "Embu",
"en": "English",
- "eo": "Esperanto",
"et": "Estonian",
"pt-PT": "European Portuguese",
"ee": "Ewe",
@@ -122,7 +120,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Māori",
"mr": "Marathi",
"mas": "Masai",
@@ -152,7 +149,6 @@
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
- "prg": "Prussian",
"pa": "Punjabi",
"qu": "Quechua",
"ro": "Romanian",
@@ -207,7 +203,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnamese",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/en.json b/vendor/commerceguys/intl/resources/language/en.json
index e3f433901..50f754ed1 100644
--- a/vendor/commerceguys/intl/resources/language/en.json
+++ b/vendor/commerceguys/intl/resources/language/en.json
@@ -37,7 +37,6 @@
"chr": "Cherokee",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"ksh": "Colognian",
"sw-CD": "Congo Swahili",
"kw": "Cornish",
@@ -49,7 +48,6 @@
"dz": "Dzongkha",
"ebu": "Embu",
"en": "English",
- "eo": "Esperanto",
"et": "Estonian",
"pt-PT": "European Portuguese",
"ee": "Ewe",
@@ -123,7 +121,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -153,7 +150,6 @@
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
- "prg": "Prussian",
"pa": "Punjabi",
"qu": "Quechua",
"ro": "Romanian",
@@ -208,7 +204,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnamese",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/eo.json b/vendor/commerceguys/intl/resources/language/eo.json
deleted file mode 100644
index a1df445c8..000000000
--- a/vendor/commerceguys/intl/resources/language/eo.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikansa",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "albana",
- "am": "amhara",
- "en": "angla",
- "en-AU": "angla (Aŭstralio)",
- "en-CA": "angla (Kanado)",
- "en-GB": "angla (Unuiĝinta Reĝlando)",
- "ar": "araba",
- "hy": "armena",
- "as": "asama",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "azerbajĝana",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "be": "belorusa",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bengala",
- "my": "birma",
- "brx": "Bodo",
- "bs": "bosnia",
- "br": "bretona",
- "bg": "bulgara",
- "rn": "burunda",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "cs": "ĉeĥa",
- "zh": "ĉina",
- "zh-Hans": "ĉina simpligita",
- "zh-Hant": "ĉina tradicia",
- "da": "dana",
- "nb": "dannorvega",
- "dua": "Duala",
- "dz": "dzonko",
- "ebu": "Embu",
- "eo": "esperanto",
- "et": "estona",
- "pt-PT": "eŭropportugala",
- "eu": "eŭska",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "feroa",
- "fil": "filipina",
- "fi": "finna",
- "fr": "franca",
- "fr-CA": "franca (Kanado)",
- "fr-CH": "franca (Svisujo)",
- "fy": "frisa",
- "fur": "Friulian",
- "ff": "Fulah",
- "gd": "gaela",
- "gl": "galega",
- "lg": "Ganda",
- "de": "germana",
- "de-AT": "germana (Aŭstrujo)",
- "de-CH": "germana (Svisujo)",
- "el": "greka",
- "kl": "gronlanda",
- "gu": "guĝarata",
- "guz": "Gusii",
- "ha": "haŭsa",
- "haw": "havaja",
- "he": "hebrea",
- "hi": "hinda",
- "es": "hispana",
- "es-419": "hispana (419)",
- "es-MX": "hispana (Meksiko)",
- "hu": "hungara",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "id": "indonezia",
- "ga": "irlanda",
- "is": "islanda",
- "it": "itala",
- "ja": "japana",
- "jv": "java",
- "yi": "jida",
- "dyo": "Jola-Fonyi",
- "yo": "joruba",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "kanara",
- "ka": "kartvela",
- "ks": "kaŝmira",
- "ca": "kataluna",
- "kk": "kazaĥa",
- "qu": "keĉua",
- "ki": "Kikuyu",
- "cy": "kimra",
- "ky": "kirgiza",
- "km": "kmera",
- "kok": "Konkani",
- "ko": "korea",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "hr": "kroata",
- "xh": "ksosa",
- "ku": "kurda",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "lv": "latva",
- "lo": "laŭa",
- "ln": "lingala",
- "lt": "litova",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "lb": "luksemburga",
- "luo": "Luo",
- "luy": "Luyia",
- "jmc": "Machame",
- "mk": "makedona",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "malagasa",
- "ms": "malaja",
- "ml": "malajalama",
- "mt": "malta",
- "gv": "Manx",
- "mi": "maoria",
- "mr": "marata",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "mongola",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Nederlando)",
- "nl": "nederlanda",
- "nl-BE": "nederlanda (Belgujo)",
- "ne": "nepala",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nn": "novnorvega",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "orijo",
- "om": "oroma",
- "os": "Ossetic",
- "pa": "panĝaba",
- "ps": "paŝtoa",
- "fa": "persa",
- "pl": "pola",
- "pt": "portugala",
- "prg": "Prussian",
- "rm": "romanĉa",
- "rof": "Rombo",
- "rw": "ruanda",
- "ro": "rumana",
- "ro-MD": "rumana (Moldavujo)",
- "ru": "rusa",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "sangoa",
- "sbp": "Sangu",
- "seh": "Sena",
- "sr": "serba",
- "ksb": "Shambala",
- "ii": "Sichuan Yi",
- "sd": "sinda",
- "si": "sinhala",
- "sk": "slovaka",
- "sl": "slovena",
- "xog": "Soga",
- "so": "somala",
- "zgh": "Standard Moroccan Tamazight",
- "sw": "svahila",
- "sw-CD": "svahila (CD)",
- "sv": "sveda",
- "gsw": "Swiss German",
- "sn": "ŝona",
- "shi": "Tachelhit",
- "tg": "taĝika",
- "dav": "Taita",
- "th": "taja",
- "ta": "tamila",
- "twq": "Tasawaq",
- "tt": "tatara",
- "te": "telugua",
- "teo": "Teso",
- "bo": "tibeta",
- "ti": "tigraja",
- "to": "tongaa",
- "tr": "turka",
- "tk": "turkmena",
- "ug": "ujgura",
- "uk": "ukraina",
- "hsb": "Upper Sorbian",
- "ur": "urduo",
- "uz": "uzbeka",
- "vai": "Vai",
- "vi": "vjetnama",
- "vo": "volapuko",
- "wo": "volofa",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "yav": "Yangben",
- "dje": "Zarma",
- "zu": "zulua"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-419.json b/vendor/commerceguys/intl/resources/language/es-419.json
index d669cab4e..1e1fa5dd4 100644
--- a/vendor/commerceguys/intl/resources/language/es-419.json
+++ b/vendor/commerceguys/intl/resources/language/es-419.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"ee": "ewé",
"ewo": "ewondo",
@@ -134,7 +132,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"qu": "quechua",
"rm": "retorrománico",
"rof": "rombo",
@@ -210,7 +206,6 @@
"wa": "valón",
"eu": "vasco",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wólof",
diff --git a/vendor/commerceguys/intl/resources/language/es-AR.json b/vendor/commerceguys/intl/resources/language/es-AR.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-AR.json
+++ b/vendor/commerceguys/intl/resources/language/es-AR.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-BO.json b/vendor/commerceguys/intl/resources/language/es-BO.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-BO.json
+++ b/vendor/commerceguys/intl/resources/language/es-BO.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-CL.json b/vendor/commerceguys/intl/resources/language/es-CL.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-CL.json
+++ b/vendor/commerceguys/intl/resources/language/es-CL.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-CO.json b/vendor/commerceguys/intl/resources/language/es-CO.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-CO.json
+++ b/vendor/commerceguys/intl/resources/language/es-CO.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-CR.json b/vendor/commerceguys/intl/resources/language/es-CR.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-CR.json
+++ b/vendor/commerceguys/intl/resources/language/es-CR.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-DO.json b/vendor/commerceguys/intl/resources/language/es-DO.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-DO.json
+++ b/vendor/commerceguys/intl/resources/language/es-DO.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-EC.json b/vendor/commerceguys/intl/resources/language/es-EC.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-EC.json
+++ b/vendor/commerceguys/intl/resources/language/es-EC.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-GT.json b/vendor/commerceguys/intl/resources/language/es-GT.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-GT.json
+++ b/vendor/commerceguys/intl/resources/language/es-GT.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-HN.json b/vendor/commerceguys/intl/resources/language/es-HN.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-HN.json
+++ b/vendor/commerceguys/intl/resources/language/es-HN.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-MX.json b/vendor/commerceguys/intl/resources/language/es-MX.json
index 0960b2cb9..0d600c2fa 100644
--- a/vendor/commerceguys/intl/resources/language/es-MX.json
+++ b/vendor/commerceguys/intl/resources/language/es-MX.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wólof",
diff --git a/vendor/commerceguys/intl/resources/language/es-NI.json b/vendor/commerceguys/intl/resources/language/es-NI.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-NI.json
+++ b/vendor/commerceguys/intl/resources/language/es-NI.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-PA.json b/vendor/commerceguys/intl/resources/language/es-PA.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-PA.json
+++ b/vendor/commerceguys/intl/resources/language/es-PA.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-PE.json b/vendor/commerceguys/intl/resources/language/es-PE.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-PE.json
+++ b/vendor/commerceguys/intl/resources/language/es-PE.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-PR.json b/vendor/commerceguys/intl/resources/language/es-PR.json
index cf5699432..4c63b9691 100644
--- a/vendor/commerceguys/intl/resources/language/es-PR.json
+++ b/vendor/commerceguys/intl/resources/language/es-PR.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"ee": "ewé",
"ewo": "ewondo",
@@ -134,7 +132,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"qu": "quechua",
"rm": "retorrománico",
"rof": "rombo",
@@ -210,7 +206,6 @@
"wa": "valón",
"eu": "vasco",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-PY.json b/vendor/commerceguys/intl/resources/language/es-PY.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-PY.json
+++ b/vendor/commerceguys/intl/resources/language/es-PY.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-SV.json b/vendor/commerceguys/intl/resources/language/es-SV.json
index cf5699432..4c63b9691 100644
--- a/vendor/commerceguys/intl/resources/language/es-SV.json
+++ b/vendor/commerceguys/intl/resources/language/es-SV.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"ee": "ewé",
"ewo": "ewondo",
@@ -134,7 +132,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"qu": "quechua",
"rm": "retorrománico",
"rof": "rombo",
@@ -210,7 +206,6 @@
"wa": "valón",
"eu": "vasco",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-US.json b/vendor/commerceguys/intl/resources/language/es-US.json
index 8c444cc4f..5abe4fb0a 100644
--- a/vendor/commerceguys/intl/resources/language/es-US.json
+++ b/vendor/commerceguys/intl/resources/language/es-US.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -164,7 +161,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"qu": "quechua",
"rm": "romanche",
"rof": "rombo",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es-VE.json b/vendor/commerceguys/intl/resources/language/es-VE.json
index a233ed769..e5e7bb0fc 100644
--- a/vendor/commerceguys/intl/resources/language/es-VE.json
+++ b/vendor/commerceguys/intl/resources/language/es-VE.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano antiguo",
"pa": "punyabí",
"qu": "quechua",
"rm": "retorrománico",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/es.json b/vendor/commerceguys/intl/resources/language/es.json
index 2a2c6b863..fb6adb420 100644
--- a/vendor/commerceguys/intl/resources/language/es.json
+++ b/vendor/commerceguys/intl/resources/language/es.json
@@ -53,13 +53,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-MX": "español de México",
"es-419": "español latinoamericano",
- "eo": "esperanto",
"et": "estonio",
"eu": "euskera",
"ee": "ewé",
@@ -135,7 +133,6 @@
"ms": "malayo",
"mg": "malgache",
"mt": "maltés",
- "gv": "manés",
"mi": "maorí",
"mr": "maratí",
"mas": "masái",
@@ -163,7 +160,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano",
"pa": "punyabí",
"qu": "quechua",
"rm": "romanche",
@@ -210,7 +206,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wólof",
diff --git a/vendor/commerceguys/intl/resources/language/et.json b/vendor/commerceguys/intl/resources/language/et.json
index 47ca42402..d7cce82ef 100644
--- a/vendor/commerceguys/intl/resources/language/et.json
+++ b/vendor/commerceguys/intl/resources/language/et.json
@@ -32,7 +32,6 @@
"dua": "duala",
"et": "eesti",
"ebu": "embu",
- "eo": "esperanto",
"pt-PT": "Euroopa portugali",
"ee": "eve",
"ewo": "evondo",
@@ -87,7 +86,6 @@
"km": "khmeeri",
"ki": "kikuju",
"ky": "kirgiisi",
- "cu": "kirikuslaavi",
"sw-CD": "Kongo suahiili",
"kok": "konkani",
"xh": "koosa",
@@ -131,7 +129,6 @@
"ro-MD": "moldova",
"mn": "mongoli",
"mua": "mundangi",
- "gv": "mänksi",
"naq": "nama",
"ne": "nepali",
"nnh": "ngiembooni",
@@ -147,7 +144,6 @@
"pl": "poola",
"pt": "portugali",
"fr": "prantsuse",
- "prg": "preisi",
"ps": "puštu",
"lrc": "põhjaluri",
"nd": "põhjandebele",
@@ -216,7 +212,6 @@
"wae": "valsi",
"ru": "vene",
"vi": "vietnami",
- "vo": "volapüki",
"wo": "volofi",
"vun": "vundžo",
"hsb": "ülemsorbi",
diff --git a/vendor/commerceguys/intl/resources/language/eu.json b/vendor/commerceguys/intl/resources/language/eu.json
index 9d5202d3b..e2fd1b215 100644
--- a/vendor/commerceguys/intl/resources/language/eu.json
+++ b/vendor/commerceguys/intl/resources/language/eu.json
@@ -38,7 +38,6 @@
"da": "daniera",
"dua": "dualera",
"dz": "dzongkha",
- "cu": "elizako eslaviera",
"ebu": "embua",
"tzm": "Erdialdeko Atlaseko amazigera",
"ckb": "erdialdeko kurduera",
@@ -49,7 +48,6 @@
"sk": "eslovakiera",
"sl": "esloveniera",
"es": "espainiera",
- "eo": "esperanto",
"et": "estoniera",
"pt-PT": "Europako portuges",
"eu": "euskara",
@@ -135,7 +133,6 @@
"ms": "malaysiera",
"mg": "malgaxe",
"mt": "maltera",
- "gv": "manxera",
"mi": "maoriera",
"mr": "marathera",
"mas": "masaiera",
@@ -162,7 +159,6 @@
"fa": "persiera",
"pl": "poloniera",
"pt": "portuges",
- "prg": "prusiera",
"pa": "punjabera",
"rof": "rombo",
"rn": "rundiera",
@@ -211,7 +207,6 @@
"uz": "uzbekera",
"vai": "vaiera",
"vi": "vietnamera",
- "vo": "volapük",
"vun": "vunjo",
"wa": "waloiera",
"wae": "walserera",
diff --git a/vendor/commerceguys/intl/resources/language/ewo.json b/vendor/commerceguys/intl/resources/language/ewo.json
deleted file mode 100644
index b5a19c349..000000000
--- a/vendor/commerceguys/intl/resources/language/ewo.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Pɛíbá)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "ak": "Ǹkɔ́bɔ akán",
- "am": "Ǹkɔ́bɔ amária",
- "ar": "Ǹkɔ́bɔ arábia",
- "ha": "Ǹkɔ́bɔ aúsá",
- "be": "Ǹkɔ́bɔ belarúsian",
- "bn": "Ǹkɔ́bɔ bɛngalí",
- "my": "Ǹkɔ́bɔ birəmán",
- "bg": "Ǹkɔ́bɔ buləgárian",
- "en": "Ǹkɔ́bɔ éngəlís",
- "en-CA": "Ǹkɔ́bɔ éngəlís (kanadá)",
- "en-GB": "Ǹkɔ́bɔ éngəlís (Ǹnam Engəlis)",
- "en-AU": "Ǹkɔ́bɔ éngəlís (Osətəlalí)",
- "it": "Ǹkɔ́bɔ etáliɛn",
- "id": "Ǹkɔ́bɔ ɛndonésian",
- "fa": "ǹkɔ́bɔ fɛ́rəsian",
- "pl": "ǹkɔ́bɔ fólis",
- "pt": "ǹkɔ́bɔ fɔtugɛ́s",
- "pt-PT": "ǹkɔ́bɔ fɔtugɛ́s (fɔrətugɛ́s)",
- "fr": "Ǹkɔ́bɔ fulɛnsí",
- "fr-CA": "Ǹkɔ́bɔ fulɛnsí (kanadá)",
- "fr-CH": "Ǹkɔ́bɔ fulɛnsí (Suís)",
- "pa": "ǹkɔ́bɔ funəhábia",
- "el": "Ǹkɔ́bɔ gəlɛ́g",
- "ja": "Ǹkɔ́bɔ hapɔ́n",
- "jv": "Ǹkɔ́bɔ havanís",
- "vi": "ǹkɔ́bɔ hiɛdənám",
- "hi": "Ǹkɔ́bɔ hindí",
- "ig": "Ǹkɔ́bɔ ibó",
- "km": "Ǹkɔ́bɔ kəmɛ́r",
- "ko": "Ǹkɔ́bɔ koréan",
- "es": "ǹkɔ́bɔ kpənyá",
- "es-419": "ǹkɔ́bɔ kpənyá (419)",
- "es-MX": "ǹkɔ́bɔ kpənyá (Mɛkəsíg)",
- "ms": "Ǹkɔ́bɔ malɛ́sian",
- "de": "Ǹkɔ́bɔ ndzáman",
- "de-AT": "Ǹkɔ́bɔ ndzáman (Osətəlía)",
- "de-CH": "Ǹkɔ́bɔ ndzáman (Suís)",
- "ne": "ǹkɔ́bɔ nefálian",
- "nl": "Ǹkɔ́bɔ nɛrəlándía",
- "nl-BE": "Ǹkɔ́bɔ nɛrəlándía (Bɛləhíg)",
- "ro": "ńkɔ́bɔ románía",
- "ro-MD": "ńkɔ́bɔ románía (Molədaví)",
- "ru": "ǹkɔ́bɔ rúsian",
- "rw": "ǹkɔ́bɔ ruwandá",
- "so": "ǹkɔ́bɔ somália",
- "sv": "ǹkɔ́bɔ suwɛ́d",
- "th": "ǹkɔ́bɔ táilan",
- "ta": "ǹkɔ́bɔ tamíl",
- "zh": "Ǹkɔ́bɔ tsainís",
- "zh-Hans": "Ǹkɔ́bɔ tsainís (Hans)",
- "zh-Hant": "Ǹkɔ́bɔ tsainís (Hant)",
- "cs": "Ǹkɔ́bɔ tsɛ́g",
- "tr": "ǹkɔ́bɔ túrəki",
- "uk": "ǹkɔ́bɔ ukelénia",
- "hu": "Ǹkɔ́bɔ ungárían",
- "ur": "ǹkɔ́bɔ urudú",
- "yo": "ǹkɔ́bɔ yorúba",
- "zu": "ǹkɔ́bɔ zulú",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (ǹnam Kongó Demokəlatíg)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fa-AF.json b/vendor/commerceguys/intl/resources/language/fa-AF.json
index f9fd52e4b..50d87410b 100644
--- a/vendor/commerceguys/intl/resources/language/fa-AF.json
+++ b/vendor/commerceguys/intl/resources/language/fa-AF.json
@@ -21,9 +21,7 @@
"as": "اسامی",
"es-419": "اسپانیایی امریکای لاتین",
"es-MX": "اسپانیایی مکزیک",
- "eo": "اسپرانتو",
"et": "استونیایی",
- "cu": "اسلاوی کلیسایی",
"sk": "اسلواکی",
"sl": "اسلوونیایی",
"sq": "البانیایی",
@@ -59,7 +57,6 @@
"bs": "بوسنیایی",
"pt-PT": "پرتغالی اروپا",
"pt": "پرتگالی",
- "prg": "پروسی",
"ps": "پشتو",
"pa": "پنجابی",
"pl": "پولندی",
@@ -184,7 +181,6 @@
"ms": "مالایی",
"mt": "مالتی",
"mua": "ماندانگی",
- "gv": "مانی",
"mi": "مائوریایی",
"mgo": "متایی",
"hu": "مجاری",
@@ -209,7 +205,6 @@
"ha": "هوسیایی",
"wae": "والسر",
"wa": "والونی",
- "vo": "ولاپوک",
"cy": "ولزی",
"wo": "ولوفی",
"vun": "ونجو",
diff --git a/vendor/commerceguys/intl/resources/language/fa.json b/vendor/commerceguys/intl/resources/language/fa.json
index 77ceff2b8..31f5effcf 100644
--- a/vendor/commerceguys/intl/resources/language/fa.json
+++ b/vendor/commerceguys/intl/resources/language/fa.json
@@ -20,9 +20,7 @@
"es": "اسپانیایی",
"es-419": "اسپانیایی امریکای لاتین",
"es-MX": "اسپانیایی مکزیک",
- "eo": "اسپرانتو",
"et": "استونیایی",
- "cu": "اسلاوی کلیسایی",
"sk": "اسلواکی",
"sl": "اسلوونیایی",
"ebu": "امبو",
@@ -59,7 +57,6 @@
"bs": "بوسنیایی",
"pt": "پرتغالی",
"pt-PT": "پرتغالی اروپا",
- "prg": "پروسی",
"ps": "پشتو",
"pa": "پنجابی",
"tt": "تاتاری",
@@ -186,7 +183,6 @@
"ms": "مالایی",
"mt": "مالتی",
"mua": "ماندانگی",
- "gv": "مانی",
"mgo": "متایی",
"hu": "مجاری",
"mr": "مراتی",
@@ -205,7 +201,6 @@
"nyn": "نیانکوله‌ای",
"wae": "والسر",
"wa": "والونی",
- "vo": "ولاپوک",
"cy": "ولزی",
"wo": "ولوفی",
"vun": "ونجو",
diff --git a/vendor/commerceguys/intl/resources/language/ff.json b/vendor/commerceguys/intl/resources/language/ff.json
deleted file mode 100644
index 4be62afda..000000000
--- a/vendor/commerceguys/intl/resources/language/ff.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "ar": "Aarabeere",
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akaan",
- "sq": "Albanian",
- "am": "Amarik",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belaruuse",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulgariire",
- "my": "Burmeese",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "cs": "Cekkere",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "nl": "Dacceere",
- "nl-BE": "Dacceere (Beljik)",
- "da": "Danish",
- "de": "Docceere",
- "de-AT": "Docceere (Otiriis)",
- "de-CH": "Docceere (Suwiis)",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "id": "Endonesiire",
- "en": "Engeleere",
- "en-CA": "Engeleere (Kanadaa)",
- "en-GB": "Engeleere (Laamateeri Rentundi)",
- "en-AU": "Engeleere (Ostaraalii)",
- "es": "Español",
- "es-419": "Español (419)",
- "es-MX": "Español (Meksik)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fr": "Farayseere",
- "fr-CA": "Farayseere (Kanadaa)",
- "fr-CH": "Farayseere (Suwiis)",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Gerke",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "ha": "Hawsaŋkoore",
- "he": "Hebrew",
- "hi": "Hinndi",
- "hu": "Hongariire",
- "is": "Icelandic",
- "ig": "Igiboore",
- "smn": "Inari Sami",
- "ga": "Irish",
- "it": "Italiyeere",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "km": "Kemeere",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "ko": "Koreere",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Malayeere",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Nederlannda)",
- "ne": "Nepaaleere",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "fa": "Perseere",
- "pl": "Poloneere",
- "prg": "Prussian",
- "ff": "Pulaar",
- "pa": "Punjabeere",
- "pt": "Purtugeere",
- "pt-PT": "Purtugeere (Purtugaal)",
- "qu": "Quechua",
- "ru": "Riis",
- "ro": "Romaneere",
- "ro-MD": "Romaneere (Moldawii)",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rw": "Ruwaanndeere",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "ja": "Saponeere",
- "jv": "Sawaneere",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "Sinuwaare",
- "zh-Hans": "Sinuwaare (Hans)",
- "zh-Hant": "Sinuwaare (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somalii",
- "zgh": "Standard Moroccan Tamazight",
- "zu": "Suluŋkoore",
- "sw-CD": "sw (Ndenndaandi Demokaraasiire Konngo)",
- "sw": "Swahili",
- "sv": "Sweedeere",
- "gsw": "Swiss German",
- "th": "Taay",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "Turkeere",
- "tk": "Turkmen",
- "uk": "Ukereneere",
- "hsb": "Upper Sorbian",
- "ur": "Urdu",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "vi": "Wiyetnameere",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yorrubaa",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fi.json b/vendor/commerceguys/intl/resources/language/fi.json
index 4b544821b..039cd3de2 100644
--- a/vendor/commerceguys/intl/resources/language/fi.json
+++ b/vendor/commerceguys/intl/resources/language/fi.json
@@ -36,7 +36,6 @@
"ebu": "embu",
"en": "englanti",
"es": "espanja",
- "eo": "esperanto",
"pt-PT": "euroopanportugali",
"ee": "ewe",
"ewo": "ewondo",
@@ -91,7 +90,6 @@
"ki": "kikuju",
"sw-CD": "kingwana",
"ky": "kirgiisi",
- "cu": "kirkkoslaavi",
"kok": "konkani",
"ko": "korea",
"kw": "korni",
@@ -122,7 +120,6 @@
"ms": "malaiji",
"ml": "malajalam",
"mt": "malta",
- "gv": "manksi",
"mi": "maori",
"mr": "marathi",
"mzn": "mazandarani",
@@ -132,7 +129,6 @@
"ro-MD": "moldova",
"mn": "mongoli",
"mfe": "morisyen",
- "prg": "muinaispreussi",
"mua": "mundang",
"naq": "nama",
"ne": "nepali",
@@ -212,7 +208,6 @@
"ru": "venäjä",
"vi": "vietnam",
"et": "viro",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/fil.json b/vendor/commerceguys/intl/resources/language/fil.json
index 02b3f72b6..5d58eca77 100644
--- a/vendor/commerceguys/intl/resources/language/fil.json
+++ b/vendor/commerceguys/intl/resources/language/fil.json
@@ -33,7 +33,6 @@
"chr": "Cherokee",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"ksh": "Colognian",
"sw-CD": "Congo Swahili",
"kw": "Cornish",
@@ -44,7 +43,6 @@
"nl": "Dutch",
"dz": "Dzongkha",
"ebu": "Embu",
- "eo": "Esperanto",
"et": "Estonian",
"pt-PT": "European Portuguese",
"ee": "Ewe",
@@ -127,7 +125,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -155,7 +152,6 @@
"zh-Hans": "Pinasimpleng Chinese",
"pl": "Polish",
"pt": "Portuguese",
- "prg": "Prussian",
"pa": "Punjabi",
"qu": "Quechua",
"ro": "Romanian",
@@ -209,7 +205,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnamese",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/fo.json b/vendor/commerceguys/intl/resources/language/fo.json
deleted file mode 100644
index 541e69ccc..000000000
--- a/vendor/commerceguys/intl/resources/language/fo.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikaans",
- "agq": "aghem",
- "ak": "akan",
- "sq": "albanskt",
- "am": "amhariskt",
- "ar": "arabiskt",
- "hy": "armenskt",
- "az": "aserbajdsjanskt",
- "as": "assamesiskt",
- "ast": "asturianskt",
- "asa": "asu",
- "ksf": "bafia",
- "bm": "bambara",
- "bn": "bangla",
- "eu": "baskiskt",
- "bas": "basaa",
- "bem": "bemba",
- "bez": "bena",
- "brx": "bodo",
- "bs": "bosniskt",
- "br": "bretonskt",
- "bg": "bulgarskt",
- "my": "burmesiskt",
- "ceb": "cebuano",
- "chr": "cherokee",
- "cgg": "chiga",
- "kw": "corniskt",
- "da": "danskt",
- "dua": "duala",
- "dz": "dzongkha",
- "zh-Hans": "einkult kinesiskt",
- "ebu": "embu",
- "en": "enskt",
- "en-AU": "enskt (Avstralia)",
- "en-CA": "enskt (Kanada)",
- "en-GB": "enskt (Stórabretland)",
- "eo": "esperanto",
- "et": "estiskt",
- "ee": "ewe",
- "ewo": "ewondo",
- "fil": "filipiniskt",
- "fi": "finskt",
- "nl-BE": "flamskt",
- "fr": "franskt",
- "fr-CA": "franskt (Kanada)",
- "fr-CH": "franskt (Sveis)",
- "fur": "friuliskt",
- "ff": "fulah",
- "fo": "føroyskt",
- "gl": "galisiskt",
- "lg": "ganda",
- "ka": "georgiskt",
- "el": "grikskt",
- "kea": "grønhøvdaoyggjarskt",
- "gu": "gujarati",
- "guz": "gusii",
- "nl": "hálendskt",
- "ha": "hausa",
- "haw": "hawaiianskt",
- "he": "hebraiskt",
- "hi": "hindi",
- "be": "hvitarussiskt",
- "de-CH": "høgt týskt (Sveis)",
- "ig": "igbo",
- "smn": "inari sami",
- "id": "indonesiskt",
- "ga": "írskt",
- "is": "íslendskt",
- "it": "italskt",
- "ja": "japanskt",
- "jv": "javanskt",
- "yi": "jiddiskt",
- "dyo": "jola-fonyi",
- "kab": "kabyle",
- "kkj": "kako",
- "kln": "kalenjin",
- "kl": "kalaallisut",
- "kam": "kamba",
- "kn": "kannada",
- "yue": "kantonesiskt",
- "ks": "kashmiri",
- "ca": "katalani",
- "kk": "kazakh",
- "cs": "kekkiskt",
- "km": "khmer",
- "ki": "kikuyu",
- "zh": "kinesiskt",
- "rw": "kinyarwanda",
- "cu": "kirkju sláviskt",
- "sw-CD": "kongo svahili",
- "kok": "konkani",
- "ko": "koreanskt",
- "khq": "koyra chiini",
- "ses": "koyraboro senni",
- "hr": "kroatiskt",
- "ku": "kurdiskt",
- "nmg": "kwasio",
- "ky": "kyrgyz",
- "ksh": "kølnskt",
- "nds-NL": "lágt saksiskt",
- "dsb": "lágt sorbian",
- "nds": "lágt týskt",
- "lkt": "lakota",
- "lag": "langi",
- "lo": "laoskt",
- "lv": "lettiskt",
- "ln": "lingala",
- "lt": "litaviskt",
- "lu": "luba-katanga",
- "lb": "luksemborgskt",
- "luo": "Luo",
- "luy": "luyia",
- "jmc": "machame",
- "mk": "makedónskt",
- "mgh": "makhuwa-meetto",
- "kde": "makonde",
- "mg": "malagassiskt",
- "ms": "malaiiskt",
- "ml": "malayalam",
- "mt": "maltiskt",
- "gv": "manx",
- "mi": "maori",
- "mr": "marathi",
- "mas": "masai",
- "mzn": "mazanderani",
- "mer": "meru",
- "mgo": "metaʼ",
- "tzm": "miðatlasfjøll tamazight",
- "ckb": "miðkurdiskt",
- "ro-MD": "moldaviskt",
- "mn": "mongolskt",
- "mfe": "morisyen",
- "mua": "mundang",
- "naq": "nama",
- "ne": "nepalskt",
- "nnh": "ngiemboon",
- "jgo": "ngomba",
- "lrc": "norður luri",
- "nd": "norður ndebele",
- "se": "norður sámiskt",
- "nb": "norskt bókmál",
- "nus": "nuer",
- "nyn": "nyankole",
- "nn": "nýnorskt",
- "or": "odia",
- "om": "oromo",
- "os": "ossetiskt",
- "hsb": "ovara sorbian",
- "ps": "pashto",
- "fa": "persiskt",
- "pl": "pólskt",
- "pt": "portugiskiskt",
- "pt-PT": "portugiskiskt (Evropa)",
- "prg": "prusslanskt",
- "pa": "punjabi",
- "qu": "quechua",
- "rm": "retoromanskt",
- "rof": "rombo",
- "ro": "rumenskt",
- "rn": "rundi",
- "ru": "russiskt",
- "rwk": "rwa",
- "sah": "sakha",
- "saq": "samburu",
- "sg": "sango",
- "sbp": "sangu",
- "dje": "sarma",
- "seh": "sena",
- "sr": "serbiskt",
- "ksb": "shambala",
- "sn": "shona",
- "ii": "sichuan yi",
- "sd": "sindhi",
- "si": "singalesiskt",
- "gd": "skotskt gæliskt",
- "sk": "slovakiskt",
- "sl": "slovenskt",
- "xog": "soga",
- "so": "somaliskt",
- "es": "spanskt",
- "es-419": "spanskt (Latínamerika)",
- "es-MX": "spanskt (Meksiko)",
- "zu": "sulu",
- "sv": "svenskt",
- "sw": "swahili",
- "shi": "tachelhit",
- "th": "tailendskt",
- "dav": "taita",
- "tg": "tajik",
- "ta": "tamilskt",
- "twq": "tasawaq",
- "tt": "tatar",
- "te": "telugu",
- "teo": "teso",
- "bo": "tibetskt",
- "ti": "tigrinya",
- "ce": "tjetjenskt",
- "to": "tonganskt",
- "tr": "turkiskt",
- "tk": "turkmenskt",
- "de": "týskt",
- "de-AT": "týskt (Eysturríki)",
- "gsw": "týskt (Sveis)",
- "uk": "ukrainskt",
- "hu": "ungarskt",
- "ur": "urdu",
- "uz": "usbekiskt",
- "ug": "uyghur",
- "vai": "Vai",
- "zh-Hant": "vanligt kinesiskt",
- "zgh": "vanligt marokanskt tamazight",
- "fy": "vestur frísiskt",
- "vi": "vjetnamesiskt",
- "vo": "volapykk",
- "vun": "vunjo",
- "cy": "walisiskt",
- "wa": "walloon",
- "wae": "walser",
- "wo": "wolof",
- "xh": "xhosa",
- "yav": "yangben",
- "yo": "yoruba"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fr-BE.json b/vendor/commerceguys/intl/resources/language/fr-BE.json
index e72b81213..b3359b5d6 100644
--- a/vendor/commerceguys/intl/resources/language/fr-BE.json
+++ b/vendor/commerceguys/intl/resources/language/fr-BE.json
@@ -59,7 +59,6 @@
"es": "espagnol",
"es-419": "espagnol d’Amérique latine",
"es-MX": "espagnol du Mexique",
- "eo": "espéranto",
"et": "estonien",
"ee": "éwé",
"ewo": "éwondo",
@@ -131,7 +130,6 @@
"ml": "malayalam",
"mg": "malgache",
"mt": "maltais",
- "gv": "mannois",
"mi": "maori",
"mr": "marathi",
"jmc": "matchamé",
@@ -165,7 +163,6 @@
"pl": "polonais",
"pt": "portugais",
"pt-PT": "portugais européen",
- "prg": "prussien",
"qu": "quechua",
"rm": "romanche",
"rof": "rombo",
@@ -181,7 +178,6 @@
"ksb": "shambala",
"sn": "shona",
"sd": "sindhi",
- "cu": "slavon d’église",
"sk": "slovaque",
"sl": "slovène",
"xog": "soga",
@@ -209,7 +205,6 @@
"uk": "ukrainien",
"vai": "vaï",
"vi": "vietnamien",
- "vo": "volapük",
"vun": "vunjo",
"wa": "wallon",
"wae": "walser",
diff --git a/vendor/commerceguys/intl/resources/language/fr-CA.json b/vendor/commerceguys/intl/resources/language/fr-CA.json
index 05a240e0c..a7e239d73 100644
--- a/vendor/commerceguys/intl/resources/language/fr-CA.json
+++ b/vendor/commerceguys/intl/resources/language/fr-CA.json
@@ -58,7 +58,6 @@
"es": "espagnol",
"es-419": "espagnol d’Amérique latine",
"es-MX": "espagnol du Mexique",
- "eo": "espéranto",
"et": "estonien",
"ee": "éwé",
"ewo": "ewondo",
@@ -132,7 +131,6 @@
"ml": "malayalam",
"mg": "malgache",
"mt": "maltais",
- "gv": "mannois",
"mi": "maori",
"mr": "marathe",
"jmc": "matchamé",
@@ -165,7 +163,6 @@
"pl": "polonais",
"pt": "portugais",
"pt-PT": "portugais européen",
- "prg": "prussien",
"qu": "quechua",
"rm": "romanche",
"rof": "rombo",
@@ -181,7 +178,6 @@
"sr": "serbe",
"sn": "shona",
"sd": "sindhi",
- "cu": "slavon d’église",
"sk": "slovaque",
"sl": "slovène",
"xog": "soga",
@@ -209,7 +205,6 @@
"uk": "ukrainien",
"vai": "vaï",
"vi": "vietnamien",
- "vo": "volapük",
"vun": "vunjo",
"wa": "wallon",
"wae": "walser",
diff --git a/vendor/commerceguys/intl/resources/language/fr-CH.json b/vendor/commerceguys/intl/resources/language/fr-CH.json
index f66e8743b..31670eb93 100644
--- a/vendor/commerceguys/intl/resources/language/fr-CH.json
+++ b/vendor/commerceguys/intl/resources/language/fr-CH.json
@@ -59,7 +59,6 @@
"es": "espagnol",
"es-419": "espagnol d’Amérique latine",
"es-MX": "espagnol du Mexique",
- "eo": "espéranto",
"et": "estonien",
"ee": "éwé",
"ewo": "éwondo",
@@ -131,7 +130,6 @@
"ml": "malayalam",
"mg": "malgache",
"mt": "maltais",
- "gv": "mannois",
"mi": "maori",
"mr": "marathi",
"jmc": "matchamé",
@@ -165,7 +163,6 @@
"pl": "polonais",
"pt": "portugais",
"pt-PT": "portugais européen",
- "prg": "prussien",
"qu": "quechua",
"rm": "romanche",
"rof": "rombo",
@@ -181,7 +178,6 @@
"ksb": "shambala",
"sn": "shona",
"sd": "sindhi",
- "cu": "slavon d’église",
"sk": "slovaque",
"sl": "slovène",
"xog": "soga",
@@ -209,7 +205,6 @@
"uk": "ukrainien",
"vai": "vaï",
"vi": "vietnamien",
- "vo": "volapük",
"vun": "vunjo",
"wa": "wallon",
"wae": "walser",
diff --git a/vendor/commerceguys/intl/resources/language/fr.json b/vendor/commerceguys/intl/resources/language/fr.json
index 3224f7815..7661af19b 100644
--- a/vendor/commerceguys/intl/resources/language/fr.json
+++ b/vendor/commerceguys/intl/resources/language/fr.json
@@ -59,7 +59,6 @@
"es": "espagnol",
"es-419": "espagnol d’Amérique latine",
"es-MX": "espagnol du Mexique",
- "eo": "espéranto",
"et": "estonien",
"ee": "éwé",
"ewo": "éwondo",
@@ -131,7 +130,6 @@
"ml": "malayalam",
"mg": "malgache",
"mt": "maltais",
- "gv": "mannois",
"mi": "maori",
"mr": "marathi",
"jmc": "matchamé",
@@ -165,7 +163,6 @@
"pl": "polonais",
"pt": "portugais",
"pt-PT": "portugais européen",
- "prg": "prussien",
"qu": "quechua",
"rm": "romanche",
"rof": "rombo",
@@ -181,7 +178,6 @@
"ksb": "shambala",
"sn": "shona",
"sd": "sindhi",
- "cu": "slavon d’église",
"sk": "slovaque",
"sl": "slovène",
"xog": "soga",
@@ -209,7 +205,6 @@
"uk": "ukrainien",
"vai": "vaï",
"vi": "vietnamien",
- "vo": "volapük",
"vun": "vunjo",
"wa": "wallon",
"wae": "walser",
diff --git a/vendor/commerceguys/intl/resources/language/fur.json b/vendor/commerceguys/intl/resources/language/fur.json
deleted file mode 100644
index b7cdd219f..000000000
--- a/vendor/commerceguys/intl/resources/language/fur.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikaans",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "albanês",
- "de-CH": "alt todesc de Svuizare",
- "am": "amaric",
- "ar": "arap",
- "hy": "armen",
- "as": "assamês",
- "ast": "asturian",
- "asa": "Asu",
- "az": "azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "nds": "bas todesc",
- "nds-NL": "bas todesc (Paîs bas)",
- "bas": "Basaa",
- "eu": "basc",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bengalês",
- "be": "bielorùs",
- "brx": "Bodo",
- "bs": "bosniac",
- "br": "breton",
- "bg": "bulgar",
- "my": "Burmese",
- "yue": "Cantonese",
- "ca": "catalan",
- "ceb": "Cebuano",
- "cs": "cec",
- "ce": "cecen",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "zh": "cinês",
- "zh-Hans": "cinês semplificât",
- "zh-Hant": "cinês tradizionâl",
- "ksh": "Colognian",
- "ko": "corean",
- "kw": "cornualiês",
- "hr": "cravuat",
- "ku": "curd",
- "da": "danês",
- "dua": "Duala",
- "dz": "Dzongkha",
- "he": "ebraic",
- "ebu": "Embu",
- "eo": "esperanto",
- "et": "eston",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "faroês",
- "fil": "filipin",
- "fi": "finlandês",
- "nl-BE": "flamant",
- "fr": "francês",
- "fr-CA": "francês dal Canade",
- "fr-CH": "francês de Svuizare",
- "fy": "frisian",
- "ff": "fulah",
- "fur": "furlan",
- "ga": "gaelic irlandês",
- "gd": "gaelic scozês",
- "cy": "galês",
- "gl": "galizian",
- "lg": "Ganda",
- "ja": "gjaponês",
- "ka": "gjeorgjian",
- "el": "grêc",
- "gu": "gujarati",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "hi": "hindi",
- "ig": "igbo",
- "smn": "Inari Sami",
- "id": "indonesian",
- "en": "inglês",
- "en-AU": "inglês australian",
- "en-GB": "inglês britanic",
- "en-CA": "inglês canadês",
- "is": "islandês",
- "jv": "Javanese",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "kannada",
- "ks": "Kashmiri",
- "kk": "kazac",
- "km": "khmer",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "lao",
- "lv": "leton",
- "ln": "lingala",
- "lt": "lituan",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "lussemburghês",
- "luy": "Luyia",
- "mk": "macedon",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "malagasy",
- "ml": "malayalam",
- "ms": "malês",
- "mt": "maltês",
- "gv": "manx",
- "mi": "maori",
- "mr": "marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "ro-MD": "moldâf",
- "mn": "mongul",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nd": "ndebele setentrionâl",
- "ne": "nepalês",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "lrc": "Northern Luri",
- "nb": "norvegjês bokmål",
- "nn": "norvegjês nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "nl": "olandês",
- "hu": "ongjarês",
- "or": "oriya",
- "om": "Oromo",
- "os": "osetic",
- "ps": "pashto",
- "fa": "persian",
- "pl": "polac",
- "pt": "portughês",
- "pt-PT": "portughês iberic",
- "prg": "Prussian",
- "pa": "punjabi",
- "qu": "quechua",
- "rof": "Rombo",
- "ro": "romen",
- "rm": "rumanç",
- "rn": "Rundi",
- "ru": "rus",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "se": "sami setentrionâl",
- "sg": "sango",
- "sbp": "Sangu",
- "cu": "sclâf de glesie",
- "seh": "Sena",
- "sr": "serp",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "si": "sinalês",
- "sd": "sindhi",
- "sk": "slovac",
- "sl": "sloven",
- "xog": "Soga",
- "so": "somal",
- "es": "spagnûl",
- "es-MX": "spagnûl (Messic)",
- "es-419": "spagnûl de Americhe Latine",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "svedês",
- "sw": "swahili",
- "sw-CD": "swahili (Republiche Democratiche dal Congo)",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "tg": "tagic",
- "dav": "Taita",
- "it": "talian",
- "ta": "tamil",
- "tt": "tartar",
- "twq": "Tasawaq",
- "te": "telegu",
- "teo": "Teso",
- "th": "thai",
- "bo": "tibetan",
- "ti": "Tigrinya",
- "de": "todesc",
- "de-AT": "todesc de Austrie",
- "to": "Tongan",
- "tr": "turc",
- "tk": "turcmen",
- "uk": "ucrain",
- "ug": "uigur",
- "hsb": "Upper Sorbian",
- "ur": "urdu",
- "uz": "uzbec",
- "vai": "Vai",
- "wa": "valon",
- "vi": "vietnamite",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wae": "Walser",
- "wo": "wolof",
- "xh": "xhosa",
- "yav": "Yangben",
- "yi": "yiddish",
- "yo": "yoruba",
- "dje": "Zarma",
- "zu": "zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/fy.json b/vendor/commerceguys/intl/resources/language/fy.json
deleted file mode 100644
index 2b3e5b6e9..000000000
--- a/vendor/commerceguys/intl/resources/language/fy.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaansk",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albaneesk",
- "am": "Amhaarsk",
- "ar": "Arabysk",
- "hy": "Armeensk",
- "as": "Assameesk",
- "ast": "Asturysk",
- "asa": "Asu",
- "en-AU": "Australysk Ingelsk",
- "az": "Azerbeidzjaansk",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basa",
- "eu": "Baskysk",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengaalsk",
- "my": "Birmees",
- "brx": "Bodo",
- "bs": "Bosnysk",
- "br": "Bretonsk",
- "en-GB": "Britsk Ingelsk",
- "bg": "Bulgaarsk",
- "ceb": "Cebuano",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "sw-CD": "Congo Swahili",
- "kw": "Cornish",
- "da": "Deensk",
- "dua": "Duala",
- "de": "Dútsk",
- "dz": "Dzongkha",
- "de-AT": "Eastenryks Dútsk",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estlânsk",
- "pt-PT": "Europees Portugees",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faeröersk",
- "zh-Hans": "Ferienfâldich Sineesk",
- "fil": "Filipynsk",
- "fi": "Finsk",
- "fr": "Frânsk",
- "fur": "Friulysk",
- "fy": "Frysk",
- "ff": "Fulah",
- "gl": "Galisysk",
- "lg": "Ganda",
- "ka": "Georgysk",
- "kl": "Grienlâns",
- "el": "Gryks",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaïaansk",
- "he": "Hebreeuwsk",
- "hi": "Hindi",
- "hu": "Hongaarsk",
- "ga": "Iersk",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "en": "Ingelsk",
- "it": "Italiaansk",
- "sah": "Jakoets",
- "ja": "Japans",
- "jv": "Javaansk",
- "yi": "Jiddysk",
- "dyo": "Jola-Fonyi",
- "kea": "Kaapverdysk Creools",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "fr-CA": "Kanadeesk Frânsk",
- "en-CA": "Kanadeesk Ingelsk",
- "kn": "Kannada",
- "yue": "Kantoneesk",
- "ks": "Kasjmiri",
- "ca": "Katalaansk",
- "kk": "Kazachs",
- "cu": "Kerkslavysk",
- "km": "Khmer",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "ky": "Kirgizysk",
- "rn": "Kirundi",
- "ku": "Koerdysk",
- "ksh": "Kölsch",
- "kok": "Konkani",
- "ko": "Koreaansk",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "hr": "Kroatysk",
- "nds": "Laagduits",
- "nds-NL": "Laagduits (Nederlân)",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Laotiaansk",
- "es-419": "Latynsk-Amerikaansk Spaansk",
- "lv": "Letlâns",
- "ln": "Lingala",
- "lt": "Litouws",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxemburgs",
- "luy": "Luyia",
- "mk": "Macedonysk",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasysk",
- "ml": "Malayalam",
- "ms": "Maleis",
- "mt": "Maltees",
- "gv": "Manks",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "es-MX": "Meksikaansk Spaansk",
- "mer": "Meru",
- "mgo": "Meta’",
- "ro-MD": "Moldavysk",
- "mn": "Mongools",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nl": "Nederlânsk",
- "dsb": "Nedersorbysk",
- "ne": "Nepalees",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nmg": "Ngumba",
- "nd": "Noard-Ndbele",
- "se": "Noard-Samysk",
- "nb": "Noors - Bokmål",
- "nn": "Noors - Nynorsk",
- "lrc": "Northern Luri",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "ug": "Oeigoers",
- "uk": "Oekraïens",
- "uz": "Oezbeeks",
- "hsb": "Oppersorbysk",
- "om": "Oromo",
- "os": "Ossetysk",
- "ps": "Pasjtoe",
- "fa": "Perzysk",
- "pl": "Poalsk",
- "pt": "Portugeesk",
- "prg": "Prussian",
- "pa": "Punjabi",
- "qu": "Quechua",
- "rm": "Reto-Romaansk",
- "ro": "Roemeensk",
- "rof": "Rombo",
- "ru": "Russysk",
- "rwk": "Rwa",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Schotsk Gaelic",
- "seh": "Sena",
- "sr": "Servysk",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "zh": "Sineesk",
- "si": "Singalees",
- "sl": "Sloveensk",
- "sk": "Slowaaks",
- "xog": "Soga",
- "so": "Somalysk",
- "ckb": "Soranî",
- "es": "Spaansk",
- "zgh": "Standert Marokkaanske Tamazight",
- "sw": "Swahili",
- "gsw": "Switsers Dútsk",
- "fr-CH": "Switserse Frânsk",
- "de-CH": "Switsersk Heechdútsk",
- "tg": "Tadzjieks",
- "dav": "Taita",
- "tzm": "Tamazight (Sintraal-Marokko)",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "shi": "Tashelhiyt",
- "tt": "Tataars",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thais",
- "bo": "Tibetaansk",
- "ti": "Tigrinya",
- "to": "Tongaansk",
- "zh-Hant": "Tradisjoneel Sineesk",
- "cs": "Tsjechysk",
- "ce": "Tsjetsjeensk",
- "tk": "Turkmeens",
- "tr": "Turks",
- "ur": "Urdu",
- "vai": "Vai",
- "vi": "Vietnamees",
- "nl-BE": "Vlaams",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Waals",
- "wae": "Walser",
- "cy": "Welsk",
- "wo": "Wolof",
- "be": "Wyt-Russysk",
- "xh": "Xhosa",
- "yav": "Yangben",
- "id": "Yndonezysk",
- "yo": "Yoruba",
- "is": "Yslâns",
- "dje": "Zarma",
- "zu": "Zulu",
- "sv": "Zweeds"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ga.json b/vendor/commerceguys/intl/resources/language/ga.json
index 4db52abe0..4ef08e88d 100644
--- a/vendor/commerceguys/intl/resources/language/ga.json
+++ b/vendor/commerceguys/intl/resources/language/ga.json
@@ -12,7 +12,7 @@
"ast": "Astúiris",
"asa": "Asu",
"ksf": "Bafia",
- "bm": "Bambara",
+ "bm": "Bambairis",
"bas": "Basaa",
"eu": "Bascais",
"be": "Bealarúisis",
@@ -51,13 +51,12 @@
"kok": "Concáinis",
"hr": "Cróitis",
"da": "Danmhairgis",
- "dua": "Duala",
+ "dua": "Duailis",
+ "ee": "Éabhais",
+ "ewo": "Éabhandóis",
"he": "Eabhrais",
"et": "Eastóinis",
"ebu": "Embu",
- "eo": "Esperanto",
- "ee": "Ewe",
- "ewo": "Ewondo",
"fo": "Faróis",
"fil": "Filipínis",
"fi": "Fionlainnis",
@@ -116,7 +115,6 @@
"ms": "Malaeis",
"mg": "Malagáisis",
"mt": "Máltais",
- "gv": "Manainnis",
"mi": "Maorais",
"mr": "Maraitis",
"mas": "Másais",
@@ -145,7 +143,6 @@
"pl": "Polainnis",
"pt": "Portaingéilis",
"pt-PT": "Portaingéilis Ibéarach",
- "prg": "Prúisis",
"pa": "Puinseáibis",
"rm": "Rómainis",
"ro": "Rómáinis",
@@ -177,7 +174,6 @@
"zh-Hans": "Sínis Shimplithe",
"zh-Hant": "Sínis Thraidisiúnta",
"si": "Siolóinis",
- "cu": "Slavais na hEaglaise",
"sl": "Slóivéinis",
"sk": "Slóvaicis",
"xog": "Soga",
@@ -216,7 +212,6 @@
"wa": "Vallúnais",
"vi": "Vítneaimis",
"wo": "Volaifis",
- "vo": "Volapük",
"vun": "Vunjo",
"wae": "Walser",
"yav": "Yangben",
diff --git a/vendor/commerceguys/intl/resources/language/gd.json b/vendor/commerceguys/intl/resources/language/gd.json
index 30be2ee4a..2c23de45b 100644
--- a/vendor/commerceguys/intl/resources/language/gd.json
+++ b/vendor/commerceguys/intl/resources/language/gd.json
@@ -58,7 +58,6 @@
"it": "Eadailtis",
"et": "Eastoinis",
"ebu": "Embu",
- "eo": "Esperanto",
"ee": "Ewe",
"ewo": "Ewondo",
"fo": "Fàrothais",
@@ -72,7 +71,6 @@
"fur": "Friùilis",
"ff": "Fulah",
"ga": "Gaeilge",
- "gv": "Gaelg",
"gd": "Gàidhlig",
"gl": "Gailìsis",
"lg": "Ganda",
@@ -154,7 +152,6 @@
"pl": "Pòlainnis",
"pt": "Portagailis",
"pt-PT": "Portagailis Eòrpach",
- "prg": "Pruisis",
"qu": "Quechua",
"ro": "Romàinis",
"rof": "Rombo",
@@ -179,7 +176,6 @@
"zh": "Sìnis",
"zh-Hans": "Sìnis Shimplichte",
"zh-Hant": "Sìnis Thradaiseanta",
- "cu": "Slàbhais na h-Eaglaise",
"sk": "Slòbhacais",
"sl": "Slòbhainis",
"xog": "Soga",
@@ -211,7 +207,6 @@
"ur": "Ùrdu",
"uz": "Usbagais",
"vai": "Vai",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wo": "Wolof",
diff --git a/vendor/commerceguys/intl/resources/language/gl.json b/vendor/commerceguys/intl/resources/language/gl.json
index 79b30512f..1a41367f1 100644
--- a/vendor/commerceguys/intl/resources/language/gl.json
+++ b/vendor/commerceguys/intl/resources/language/gl.json
@@ -51,13 +51,11 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "español",
"es-419": "español de América",
"es-MX": "español de México",
- "eo": "esperanto",
"et": "estoniano",
"eu": "éuscaro",
"ee": "ewe",
@@ -133,7 +131,6 @@
"ms": "malaio",
"mg": "malgaxe",
"mt": "maltés",
- "gv": "manx",
"mi": "maorí",
"mr": "marathi",
"mas": "masai",
@@ -162,7 +159,6 @@
"pl": "polaco",
"pt": "portugués",
"pt-PT": "portugués de Portugal",
- "prg": "prusiano",
"qu": "quechua",
"rm": "romanche",
"ro": "romanés",
@@ -208,7 +204,6 @@
"vai": "Vai",
"wa": "valón",
"vi": "vietnamita",
- "vo": "volapuk",
"vun": "vunjo",
"wae": "walser",
"wo": "wólof",
diff --git a/vendor/commerceguys/intl/resources/language/gsw.json b/vendor/commerceguys/intl/resources/language/gsw.json
index 514945619..b87533db7 100644
--- a/vendor/commerceguys/intl/resources/language/gsw.json
+++ b/vendor/commerceguys/intl/resources/language/gsw.json
@@ -31,13 +31,11 @@
"ckb": "Central Kurdish",
"chr": "Cherokee",
"cgg": "Chiga",
- "cu": "Chileslawisch",
"zh": "Chineesisch",
"ksh": "Colognian",
"dz": "Dschongkha",
"et": "Eestnisch",
"ebu": "Embu",
- "eo": "Eschperanto",
"ee": "Ewe",
"ewo": "Ewondo",
"fo": "Färöisch",
@@ -111,7 +109,6 @@
"ms": "Malaiisch",
"ml": "Malayalam",
"mt": "Maltesisch",
- "gv": "Manx-Gäälisch",
"mi": "Maori",
"mr": "Marathi",
"mas": "Massai-Schpraach",
@@ -148,7 +145,6 @@
"fa": "Persisch",
"pl": "Polnisch",
"pt": "Portugiisisch",
- "prg": "Prussian",
"qu": "Quechua",
"rm": "Rätoromanisch",
"rof": "Rombo",
@@ -209,7 +205,6 @@
"vai": "Vai-Schpraach",
"zh-Hans": "Veräifachts Chineesisch",
"vi": "Vietnamesisch",
- "vo": "Volapük",
"vun": "Vunjo",
"cy": "Walisisch",
"wa": "Wallonisch",
diff --git a/vendor/commerceguys/intl/resources/language/gu.json b/vendor/commerceguys/intl/resources/language/gu.json
index fbffb0c3f..efcb14752 100644
--- a/vendor/commerceguys/intl/resources/language/gu.json
+++ b/vendor/commerceguys/intl/resources/language/gu.json
@@ -29,7 +29,6 @@
"ebu": "ઍમ્બુ",
"am": "એમ્હારિક",
"et": "એસ્ટોનિયન",
- "eo": "એસ્પેરાન્ટો",
"om": "ઓરોમો",
"de-AT": "ઓસ્ટ્રિઅન જર્મન",
"en-AU": "ઓસ્ટ્રેલિયન અંગ્રેજી",
@@ -68,7 +67,6 @@
"guz": "ગુસી",
"gl": "ગેલિશિયન",
"el": "ગ્રીક",
- "cu": "ચર્ચ સ્લાવિક",
"zh": "ચાઇનીઝ",
"cgg": "ચિગા",
"cs": "ચેક",
@@ -112,7 +110,6 @@
"zh-Hant": "પારંપરિક ચાઇનીઝ",
"pt": "પોર્ટુગીઝ",
"pl": "પોલીશ",
- "prg": "પ્રુસ્સીયન",
"fa": "ફારસી",
"fi": "ફિનિશ",
"fil": "ફિલિપિનો",
@@ -143,7 +140,6 @@
"ml": "મલયાલમ",
"mg": "મલાગસી",
"mas": "મસાઇ",
- "gv": "માંક્સ",
"mi": "માઓરી",
"mgh": "માખુવા-મીટ્ટુ",
"zgh": "માનક મોરોક્કન તામાઝિટ",
@@ -187,7 +183,6 @@
"vun": "વુન્જો",
"cy": "વેલ્શ",
"wae": "વેલ્સેર",
- "vo": "વોલાપુક",
"wo": "વોલોફ",
"ksb": "શમ્બાલા",
"chr": "શેરોકી",
diff --git a/vendor/commerceguys/intl/resources/language/guz.json b/vendor/commerceguys/intl/resources/language/guz.json
deleted file mode 100644
index 48eb3d4d3..000000000
--- a/vendor/commerceguys/intl/resources/language/guz.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "guz": "Ekegusii",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "fr": "Kifaransa",
- "fr-CA": "Kifaransa (Kanada)",
- "fr-CH": "Kifaransa (Uswisi)",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "hi": "Kihindi",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Ubelgiji)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Austria)",
- "de-CH": "Kijerumani (Uswisi)",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "en": "Kingereza",
- "en-AU": "Kingereza (Australia)",
- "en-CA": "Kingereza (Kanada)",
- "en-GB": "Kingereza (Uingereza)",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kirusi",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ha-NE.json b/vendor/commerceguys/intl/resources/language/ha-NE.json
deleted file mode 100644
index 50920168f..000000000
--- a/vendor/commerceguys/intl/resources/language/ha-NE.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afirkanci",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albanian",
- "am": "Amharik",
- "hy": "Armeniyanci",
- "as": "Asamisanci",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijanci",
- "ksf": "Bafia",
- "gl": "Bagalike",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "sl": "Basulabe",
- "sk": "Basulke",
- "xh": "Bazosa",
- "be": "Belarusanci",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali",
- "brx": "Bodo",
- "bs": "Bosniyanci",
- "bg": "Bulgaranci",
- "br": "Buretananci",
- "my": "Burmanci",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "ga": "Dan Ailan",
- "fil": "Dan Filifin",
- "mk": "Dan Masedoniya",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "eo": "Dʼan\/Ƴar Kabilar Andalus",
- "te": "Dʼan\/Ƴar Kabilar Telug",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fr": "Faransanci",
- "fr-CA": "Farasanci Kanada",
- "fr-CH": "Farasanci Suwizalan",
- "fo": "Faroese",
- "prg": "Ferusawa",
- "pt-PT": "Fotugis kasashen Turai",
- "fur": "Friulian",
- "ff": "Fulah",
- "lg": "Ganda",
- "el": "Girkanci",
- "gu": "Gujarati",
- "guz": "Gusii",
- "vi": "Harshen Biyetinam",
- "cs": "Harshen Cak",
- "pt": "Harshen Fotugis",
- "hi": "Harshen Hindi",
- "hu": "Harshen Hungari",
- "id": "Harshen Indunusiya",
- "km": "Harshen Kimar",
- "ko": "Harshen Koreya",
- "ms": "Harshen Malai",
- "mt": "Harshen Maltis",
- "mas": "Harshen Masai",
- "pl": "Harshen Polan",
- "zh": "Harshen Sinanci",
- "sw": "Harshen Suwahili",
- "sw-CD": "Harshen Suwahili (Jamhuriyar Dimokuraɗiyyar Kongo)",
- "sv": "Harshen Suwedan",
- "tr": "Harshen Turkiyya",
- "uk": "Harshen Yukuren",
- "zu": "Harshen Zulu",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "nl": "Holanci",
- "nl-BE": "Holanci (Belgiyom)",
- "he": "Ibrananci",
- "smn": "Inari Sami",
- "ig": "Inyamuranci",
- "et": "Istoniyanci",
- "it": "Italiyanci",
- "jv": "Jabananci",
- "de": "Jamusanci",
- "de-AT": "Jamusanci Ostiriya",
- "de-CH": "Jamusanci Suwizalan",
- "gsw": "Jamusanci Swiss",
- "ja": "Japananci",
- "ka": "Jojiyanci",
- "dyo": "Jola-Fonyi",
- "ml": "Kabilar Maleyalam",
- "cy": "Kabilar Welsh",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "ca": "Kataloniyanci",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "rw": "Kiniyaruwanda",
- "ky": "Kirgizanci",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdanci",
- "ckb": "Kurdish na Tsaka",
- "hr": "Kuroshiyan",
- "nmg": "Kwasio",
- "fy": "Kʼabilan Firsi",
- "mr": "Kʼabilan Marathi",
- "gd": "Kʼabilan Scots Gaelic",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Laothian",
- "ar": "Larabci",
- "lv": "Latbiyanci",
- "ln": "Lingala",
- "lt": "Lituweniyanci",
- "nds": "Low German",
- "nds-NL": "Low German (Holan)",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "gv": "Manx",
- "mi": "Maori",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "ne": "Nepali",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Oriyanci",
- "om": "Oromo",
- "os": "Ossetic",
- "fa": "Parisanci",
- "ps": "Pashtanci",
- "pa": "Punjabi",
- "qu": "Quechua",
- "ru": "Rashanci",
- "ro": "Romaniyanci",
- "ro-MD": "Romaniyanci (Maldoba)",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sr": "Sabiyan",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "zh-Hans": "Sauƙaƙaƙƙen Sinanci",
- "seh": "Sena",
- "ii": "Sichuan Yi",
- "es": "Sifaniyanci",
- "es-MX": "Sifaniyanci Mesiko",
- "es-419": "Sifaniyancin Latin Amirka",
- "zh-Hant": "Sinanci na gargajiya",
- "sd": "Sindiyanci",
- "si": "Sinhalanci",
- "xog": "Soga",
- "so": "Somalianci",
- "hsb": "Sorbianci ta Sama",
- "zgh": "Standard Moroccan Tamazight",
- "ksb": "Shambala",
- "sn": "Shona",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "tzm": "Tamazight na Atlas Tsaka",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "teo": "Teso",
- "th": "Thai",
- "bo": "Tibetan",
- "ti": "Tigriyanci",
- "to": "Tongan",
- "tk": "Tukmenistanci",
- "en": "Turanci",
- "en-GB": "Turanci Biritaniya",
- "en-CA": "Turanci Kanada",
- "en-AU": "Turanci Ostareliya",
- "ug": "Ugiranci",
- "ur": "Urdawa",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "wo": "Wolof",
- "yav": "Yangben",
- "yo": "Yarbanci",
- "fi": "Yaren mutanen Finland",
- "is": "Yaren mutanen Iceland",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ha.json b/vendor/commerceguys/intl/resources/language/ha.json
deleted file mode 100644
index d946019ec..000000000
--- a/vendor/commerceguys/intl/resources/language/ha.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afirkanci",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albanian",
- "am": "Amharik",
- "hy": "Armeniyanci",
- "as": "Asamisanci",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijanci",
- "ksf": "Bafia",
- "gl": "Bagalike",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "sl": "Basulabe",
- "sk": "Basulke",
- "xh": "Bazosa",
- "be": "Belarusanci",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali",
- "brx": "Bodo",
- "bs": "Bosniyanci",
- "bg": "Bulgaranci",
- "br": "Buretananci",
- "my": "Burmanci",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "ga": "Dan Ailan",
- "fil": "Dan Filifin",
- "mk": "Dan Masedoniya",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "eo": "Dʼan\/ʼYar Kabilar Andalus",
- "te": "Dʼan\/ʼYar Kabilar Telug",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fr": "Faransanci",
- "fr-CA": "Farasanci Kanada",
- "fr-CH": "Farasanci Suwizalan",
- "fo": "Faroese",
- "prg": "Ferusawa",
- "pt-PT": "Fotugis kasashen Turai",
- "fur": "Friulian",
- "ff": "Fulah",
- "lg": "Ganda",
- "el": "Girkanci",
- "gu": "Gujarati",
- "guz": "Gusii",
- "vi": "Harshen Biyetinam",
- "cs": "Harshen Cak",
- "pt": "Harshen Fotugis",
- "hi": "Harshen Hindi",
- "hu": "Harshen Hungari",
- "id": "Harshen Indunusiya",
- "km": "Harshen Kimar",
- "ko": "Harshen Koreya",
- "ms": "Harshen Malai",
- "mt": "Harshen Maltis",
- "mas": "Harshen Masai",
- "pl": "Harshen Polan",
- "zh": "Harshen Sinanci",
- "sw": "Harshen Suwahili",
- "sw-CD": "Harshen Suwahili (Jamhuriyar Dimokuraɗiyyar Kongo)",
- "sv": "Harshen Suwedan",
- "tr": "Harshen Turkiyya",
- "uk": "Harshen Yukuren",
- "zu": "Harshen Zulu",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "nl": "Holanci",
- "nl-BE": "Holanci (Belgiyom)",
- "he": "Ibrananci",
- "smn": "Inari Sami",
- "ig": "Inyamuranci",
- "et": "Istoniyanci",
- "it": "Italiyanci",
- "jv": "Jabananci",
- "de": "Jamusanci",
- "de-AT": "Jamusanci Ostiriya",
- "de-CH": "Jamusanci Suwizalan",
- "gsw": "Jamusanci Swiss",
- "ja": "Japananci",
- "ka": "Jojiyanci",
- "dyo": "Jola-Fonyi",
- "ml": "Kabilar Maleyalam",
- "cy": "Kabilar Welsh",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "ca": "Kataloniyanci",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "rw": "Kiniyaruwanda",
- "ky": "Kirgizanci",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdanci",
- "ckb": "Kurdish na Tsaka",
- "hr": "Kuroshiyan",
- "nmg": "Kwasio",
- "fy": "Kʼabilan Firsi",
- "mr": "Kʼabilan Marathi",
- "gd": "Kʼabilan Scots Gaelic",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Laothian",
- "ar": "Larabci",
- "lv": "Latbiyanci",
- "ln": "Lingala",
- "lt": "Lituweniyanci",
- "nds": "Low German",
- "nds-NL": "Low German (Holan)",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "gv": "Manx",
- "mi": "Maori",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "ne": "Nepali",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Oriyanci",
- "om": "Oromo",
- "os": "Ossetic",
- "fa": "Parisanci",
- "ps": "Pashtanci",
- "pa": "Punjabi",
- "qu": "Quechua",
- "ru": "Rashanci",
- "ro": "Romaniyanci",
- "ro-MD": "Romaniyanci (Maldoba)",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sr": "Sabiyan",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "zh-Hans": "Sauƙaƙaƙƙen Sinanci",
- "seh": "Sena",
- "ii": "Sichuan Yi",
- "es": "Sifaniyanci",
- "es-MX": "Sifaniyanci Mesiko",
- "es-419": "Sifaniyancin Latin Amirka",
- "zh-Hant": "Sinanci na gargajiya",
- "sd": "Sindiyanci",
- "si": "Sinhalanci",
- "xog": "Soga",
- "so": "Somalianci",
- "hsb": "Sorbianci ta Sama",
- "zgh": "Standard Moroccan Tamazight",
- "ksb": "Shambala",
- "sn": "Shona",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "tzm": "Tamazight na Atlas Tsaka",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "teo": "Teso",
- "th": "Thai",
- "bo": "Tibetan",
- "ti": "Tigriyanci",
- "to": "Tongan",
- "tk": "Tukmenistanci",
- "en": "Turanci",
- "en-GB": "Turanci Biritaniya",
- "en-CA": "Turanci Kanada",
- "en-AU": "Turanci Ostareliya",
- "ug": "Ugiranci",
- "ur": "Urdawa",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "wo": "Wolof",
- "yav": "Yangben",
- "yo": "Yarbanci",
- "fi": "Yaren mutanen Finland",
- "is": "Yaren mutanen Iceland",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/he.json b/vendor/commerceguys/intl/resources/language/he.json
index 3f8340bd7..9d5be34dd 100644
--- a/vendor/commerceguys/intl/resources/language/he.json
+++ b/vendor/commerceguys/intl/resources/language/he.json
@@ -26,7 +26,6 @@
"asa": "אסו",
"et": "אסטונית",
"ast": "אסטורית",
- "eo": "אספרנטו",
"agq": "אע׳ם",
"af": "אפריקאנס",
"ak": "אקאן",
@@ -67,7 +66,6 @@
"hi": "הינדי",
"vai": "וואי",
"wae": "וואלסר",
- "vo": "‏וולאפיק",
"wo": "וולוף",
"cy": "וולשית",
"vun": "וונג׳ו",
@@ -108,7 +106,6 @@
"lkt": "לקוטה",
"mi": "מאורית",
"mzn": "מאזאנדראני",
- "gv": "מאנית",
"jmc": "מאקאמה",
"mgh": "מאקוואה מטו",
"ro-MD": "מולדבית",
@@ -147,7 +144,6 @@
"zh": "סינית",
"zh-Hant": "סינית מסורתית",
"zh-Hans": "סינית פשוטה",
- "cu": "סלאבית כנסייתית עתיקה",
"sl": "סלובנית",
"sk": "סלובקית",
"saq": "סמבורו",
@@ -172,7 +168,6 @@
"fi": "פינית",
"nl-BE": "פלמית",
"pa": "פנג׳אבי",
- "prg": "פרוסית",
"fur": "פריולית",
"fy": "פריזית מערבית",
"fa": "פרסית",
diff --git a/vendor/commerceguys/intl/resources/language/hi.json b/vendor/commerceguys/intl/resources/language/hi.json
index b0d47f748..8bab949ce 100644
--- a/vendor/commerceguys/intl/resources/language/hi.json
+++ b/vendor/commerceguys/intl/resources/language/hi.json
@@ -28,7 +28,6 @@
"hsb": "ऊपरी सॉर्बियन",
"ebu": "एम्बु",
"et": "एस्टोनियाई",
- "eo": "एस्पेरेंतो",
"de-AT": "ऑस्ट्रियाई जर्मन",
"en-AU": "ऑस्ट्रेलियाई अंग्रेज़ी",
"om": "ओरोमो",
@@ -67,7 +66,6 @@
"guz": "गुसी",
"nnh": "गैम्बू",
"gl": "गैलिशियन",
- "cu": "चर्च साल्विक",
"zh": "चीनी",
"cs": "चेक",
"ce": "चेचन",
@@ -114,7 +112,6 @@
"zh-Hant": "पारंपरिक चीनी",
"pt": "पुर्तगाली",
"pl": "पोलिश",
- "prg": "प्रुशियाई",
"fa": "फ़ारसी",
"fi": "फ़िनिश",
"fil": "फ़िलिपीनो",
@@ -152,7 +149,6 @@
"mua": "मुंडैंग",
"mgo": "मेटा",
"mer": "मेरु",
- "gv": "मैंक्स",
"jmc": "मैकहैमे",
"kde": "मैकोंड",
"es-MX": "मैक्सिकन स्पेनिश",
@@ -189,7 +185,6 @@
"vi": "वियतनामी",
"vun": "वुंजो",
"cy": "वेल्श",
- "vo": "वोलापुक",
"wo": "वोलोफ़",
"ksb": "शम्बाला",
"cgg": "शिगा",
diff --git a/vendor/commerceguys/intl/resources/language/hr.json b/vendor/commerceguys/intl/resources/language/hr.json
index 6e445eee8..3042cff8d 100644
--- a/vendor/commerceguys/intl/resources/language/hr.json
+++ b/vendor/commerceguys/intl/resources/language/hr.json
@@ -28,7 +28,6 @@
"my": "burmanski",
"ceb": "cebuano",
"cgg": "chiga",
- "cu": "crkvenoslavenski",
"ce": "čečenski",
"chr": "čerokijski",
"cs": "češki",
@@ -40,7 +39,6 @@
"dz": "dzongkha",
"ebu": "embu",
"en": "engleski",
- "eo": "esperanto",
"et": "estonski",
"pt-PT": "europski portugalski",
"ee": "ewe",
@@ -125,7 +123,6 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
- "gv": "manski",
"mi": "maorski",
"mr": "marathski",
"mas": "masajski",
@@ -155,7 +152,6 @@
"fa": "perzijski",
"pl": "poljski",
"pt": "portugalski",
- "prg": "pruski",
"rm": "retoromanski",
"rof": "rombo",
"ro": "rumunjski",
@@ -211,7 +207,6 @@
"wa": "valonski",
"cy": "velški",
"vi": "vijetnamski",
- "vo": "volapük",
"wo": "volof",
"vun": "vunjo",
"wae": "walserski",
diff --git a/vendor/commerceguys/intl/resources/language/hsb.json b/vendor/commerceguys/intl/resources/language/hsb.json
deleted file mode 100644
index a8fd4b273..000000000
--- a/vendor/commerceguys/intl/resources/language/hsb.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikaanšćina",
- "agq": "aghemšćina",
- "ak": "akanšćina",
- "sq": "albanšćina",
- "am": "amharšćina",
- "ar": "arabšćina",
- "hy": "armenšćina",
- "as": "asamšćina",
- "ast": "asturšćina",
- "en-AU": "awstralska jendźelšćina",
- "de-AT": "awstriska němčina",
- "az": "azerbajdźanšćina",
- "ksf": "bafia",
- "bm": "bambara",
- "bas": "Basaa",
- "eu": "baskišćina",
- "bem": "bemba",
- "bez": "bena",
- "bn": "bengalšćina",
- "be": "běłorušćina",
- "brx": "bodo",
- "bg": "bołharšćina",
- "bs": "bosnišćina",
- "br": "bretonšćina",
- "en-GB": "britiska jendźelšćina",
- "my": "burmašćina",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "ksh": "Colognian",
- "cs": "čěšćina",
- "da": "danšćina",
- "nds": "delnjoněmčina",
- "nds-NL": "delnjoněmčina (Nižozemska)",
- "dsb": "delnjoserbšćina",
- "dua": "duala",
- "dz": "dzongkha",
- "ebu": "embu",
- "eo": "esperanto",
- "et": "estišćina",
- "pt-PT": "europska portugalšćina",
- "ee": "ewe",
- "ewo": "Ewondo",
- "fo": "färöšćina",
- "fil": "filipinšćina",
- "fi": "finšćina",
- "nl-BE": "flamšćina",
- "fr": "francošćina",
- "fur": "Friulian",
- "fy": "frizišćina",
- "ff": "Fulah",
- "gl": "galicišćina",
- "lg": "gandšćina",
- "ka": "georgišćina",
- "el": "grjekšćina",
- "kl": "gröndlandšćina",
- "gu": "gujarati",
- "guz": "gusii",
- "ha": "hausa",
- "haw": "hawaiišćina",
- "he": "hebrejšćina",
- "hi": "hindišćina",
- "hsb": "hornjoserbšćina",
- "ce": "Chechen",
- "chr": "cherokee",
- "cgg": "chiga",
- "zh": "chinšćina",
- "zh-Hant": "chinšćina (tradicionalna)",
- "zh-Hans": "chinšćina (zjednorjena)",
- "hr": "chorwatšćina",
- "cu": "Church Slavic",
- "ig": "igbo",
- "smn": "inari-samišćina",
- "id": "indonešćina",
- "ga": "iršćina",
- "is": "islandšćina",
- "it": "italšćina",
- "ja": "japanšćina",
- "jv": "javašćina",
- "en": "jendźelšćina",
- "yi": "jidišćina",
- "dyo": "jola-fonyi",
- "yo": "jorubašćina",
- "kab": "kabylšćina",
- "kkj": "Kako",
- "kln": "kalenjin",
- "kam": "kamba",
- "fr-CA": "kanadiska francošćina",
- "en-CA": "kanadiska jendźelšćina",
- "kn": "kannadšćina",
- "kea": "kapverdšćina",
- "ks": "kašmiršćina",
- "ca": "katalanšćina",
- "kk": "kazachšćina",
- "qu": "kečua",
- "km": "khmeršćina",
- "ki": "kikuyu",
- "rw": "kinjarwanda",
- "ky": "kirgišćina",
- "rn": "kirundišćina",
- "sw-CD": "kongoska suahelšćina",
- "kok": "konkani",
- "ko": "korejšćina",
- "kw": "kornišćina",
- "khq": "koyra chiini",
- "ses": "koyra senni",
- "ku": "kurdišćina",
- "nmg": "kwasio",
- "es-419": "łaćonskoameriska španišćina",
- "lkt": "lakota",
- "lag": "langi",
- "lo": "laošćina",
- "lv": "letišćina",
- "ln": "lingala",
- "lt": "litawšćina",
- "lu": "luba-katanga",
- "luy": "luhya",
- "luo": "Luo",
- "lb": "luxemburgšćina",
- "hu": "madźaršćina",
- "jmc": "machame",
- "mk": "makedonšćina",
- "mgh": "makhuwa-meetto",
- "kde": "makonde",
- "mg": "malagassišćina",
- "ml": "malajamšćina",
- "ms": "malajšćina",
- "mt": "maltašćina",
- "gv": "manšćina",
- "mi": "maoršćina",
- "mr": "maratišćina",
- "mas": "masaišćina",
- "mfe": "mauriciska kreolšćina",
- "mzn": "Mazanderani",
- "mer": "meru",
- "mgo": "meta’",
- "es-MX": "mexiska španišćina",
- "ro-MD": "moldawšćina",
- "mn": "mongolšćina",
- "mua": "mundang",
- "naq": "nama",
- "ne": "nepalšćina",
- "de": "němčina",
- "nnh": "Ngiemboon",
- "jgo": "ngomba",
- "nl": "nižozemšćina",
- "lrc": "Northern Luri",
- "nb": "norwegšćina (bokmål)",
- "nn": "norwegšćina (nynorsk)",
- "nus": "nuer",
- "nyn": "nyankole",
- "or": "orijšćina",
- "om": "oromo",
- "os": "Ossetic",
- "pa": "pandźabšćina",
- "asa": "pare",
- "ps": "paštunšćina",
- "fa": "persišćina",
- "pl": "pólšćina",
- "pt": "portugalšćina",
- "prg": "prušćina",
- "rm": "retoromanšćina",
- "rof": "rombo",
- "ro": "rumunšćina",
- "ru": "rušćina",
- "rwk": "rwa",
- "sah": "Sakha",
- "saq": "samburu",
- "sg": "sango",
- "sbp": "sangu",
- "seh": "sena",
- "sr": "serbišćina",
- "nd": "sewjero-ndebele",
- "se": "sewjerosamišćina",
- "ii": "sichuan yi",
- "sd": "sindhišćina",
- "si": "singhalšćina",
- "sk": "słowakšćina",
- "sl": "słowjenšćina",
- "xog": "soga",
- "so": "somališćina",
- "ckb": "sorani",
- "sw": "suahelšćina",
- "ksb": "šambala",
- "sn": "šonašćina",
- "gd": "šotiska gelšćina",
- "es": "španišćina",
- "sv": "šwedšćina",
- "fr-CH": "šwicarska francošćina",
- "gsw": "šwicarska němčina",
- "de-CH": "šwicarska wysokoněmčina",
- "tg": "tadźikšćina",
- "dav": "taita",
- "zgh": "tamazight",
- "tzm": "tamazight (srjedźny Marokko)",
- "ta": "tamilšćina",
- "twq": "tasawaq",
- "shi": "tašelhit",
- "tt": "tataršćina",
- "te": "telugu",
- "teo": "teso",
- "th": "thailandšćina",
- "bo": "tibetšćina",
- "ti": "tigrinšćina",
- "to": "tongašćina",
- "tk": "turkmenšćina",
- "tr": "turkowšćina",
- "ug": "ujguršćina",
- "uk": "ukrainšćina",
- "ur": "urdušćina",
- "uz": "uzbekšćina",
- "vai": "Vai",
- "vi": "vietnamšćina",
- "vo": "volapük",
- "vun": "vunjo",
- "cy": "walizišćina",
- "wa": "walonšćina",
- "wae": "Walser",
- "wo": "wolof",
- "xh": "xhosa",
- "yav": "Yangben",
- "dje": "zarma",
- "zu": "zulušćina"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/hu.json b/vendor/commerceguys/intl/resources/language/hu.json
index 17a341f48..a83d34ef4 100644
--- a/vendor/commerceguys/intl/resources/language/hu.json
+++ b/vendor/commerceguys/intl/resources/language/hu.json
@@ -34,13 +34,11 @@
"da": "dán",
"dua": "duala",
"dz": "dzsonga",
- "cu": "egyházi szláv",
"zh-Hans": "egyszerűsített kínai",
"ebu": "embu",
"lrc": "északi luri",
"nd": "északi ndebele",
"se": "északi számi",
- "eo": "eszperantó",
"et": "észt",
"pt-PT": "európai portugál",
"ee": "eve",
@@ -129,7 +127,6 @@
"ml": "malajálam",
"mg": "malgas",
"mt": "máltai",
- "gv": "man-szigeti",
"mi": "maori",
"mr": "maráthi",
"zgh": "marokkói tamazight",
@@ -162,7 +159,6 @@
"pa": "pandzsábi",
"ps": "pastu",
"fa": "perzsa",
- "prg": "porosz",
"pt": "portugál",
"rm": "rétoromán",
"ro": "román",
@@ -213,7 +209,6 @@
"vai": "Vai",
"wa": "vallon",
"vi": "vietnámi",
- "vo": "volapük",
"wo": "volof",
"vun": "vunjo",
"cy": "walesi",
diff --git a/vendor/commerceguys/intl/resources/language/hy.json b/vendor/commerceguys/intl/resources/language/hy.json
index a22fef455..ddc341577 100644
--- a/vendor/commerceguys/intl/resources/language/hy.json
+++ b/vendor/commerceguys/intl/resources/language/hy.json
@@ -40,7 +40,6 @@
"dje": "զարմա",
"zu": "զուլուերեն",
"ebu": "էմբու",
- "eo": "էսպերանտո",
"et": "էստոներեն",
"ee": "էվե",
"ewo": "էվոնդո",
@@ -121,7 +120,6 @@
"mas": "մասաի",
"mr": "մարաթի",
"mgh": "մաքուա-մետտո",
- "gv": "մեներեն",
"mgo": "մետա",
"mer": "մերու",
"es-MX": "մեքսիկական իսպաներեն",
@@ -160,7 +158,6 @@
"zh-Hans": "պարզեցված չինարեն",
"fa": "պարսկերեն",
"pt": "պորտուգալերեն",
- "prg": "պրուսերեն",
"dyo": "ջոլա-ֆոնյի",
"dz": "ջոնգքհա",
"rm": "ռոմանշերեն",
@@ -178,7 +175,6 @@
"sd": "սինդհի",
"si": "սինհալերեն",
"ii": "սիչուան",
- "cu": "սլավոներեն, եկեղեցական",
"sk": "սլովակերեն",
"sl": "սլովեներեն",
"xog": "սոգա",
@@ -193,7 +189,6 @@
"wae": "վալսերեն",
"hsb": "վերին սորբերեն",
"vi": "վիետնամերեն",
- "vo": "վոլապյուկ",
"wo": "վոլոֆ",
"vun": "վունջո",
"ka": "վրացերեն",
diff --git a/vendor/commerceguys/intl/resources/language/id.json b/vendor/commerceguys/intl/resources/language/id.json
index 33db13fc3..e1a65bf3c 100644
--- a/vendor/commerceguys/intl/resources/language/id.json
+++ b/vendor/commerceguys/intl/resources/language/id.json
@@ -11,7 +11,6 @@
"asa": "Asu",
"az": "Azerbaijani",
"ksf": "Bafia",
- "cu": "Bahasa Gereja Slavonia",
"bm": "Bambara",
"bas": "Basa",
"eu": "Basque",
@@ -36,7 +35,6 @@
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
- "eo": "Esperanto",
"et": "Esti",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -118,7 +116,6 @@
"mg": "Malagasi",
"ml": "Malayalam",
"mt": "Malta",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -149,7 +146,6 @@
"pt": "Portugis",
"pt-PT": "Portugis (Eropa)",
"fr": "Prancis",
- "prg": "Prusia",
"pa": "Punjabi",
"qu": "Quechua",
"rm": "Reto-Roman",
@@ -208,7 +204,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnam",
- "vo": "Volapuk",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/ig.json b/vendor/commerceguys/intl/resources/language/ig.json
deleted file mode 100644
index a7fe3fa78..000000000
--- a/vendor/commerceguys/intl/resources/language/ig.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albanian",
- "am": "Amariikị",
- "ar": "Arabiikị",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "en": "Asụsụ Bekee",
- "en-GB": "Asụsụ Bekee (Mba United Kingdom)",
- "zh-Hans": "Asụsụ Chinese dị mfe",
- "zh-Hant": "Asụsụ Chinese Izugbe",
- "fr": "Asụsụ Fụrench",
- "ig": "Asụsụ Igbo",
- "it": "Asụsụ Italian",
- "de": "Asụsụ Jaman",
- "ja": "Asụsụ Japanese",
- "pt": "Asụsụ Portuguese",
- "pt-PT": "Asụsụ Portuguese ndị Europe",
- "ru": "Asụsụ Russian",
- "es": "Asụsụ Spanish",
- "es-419": "Asụsụ Spanish ndị Latin America",
- "es-MX": "Asụsụ Spanish ndị Mexico",
- "ha": "Awụsa",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "en-AU": "Bekee ndị Australia",
- "en-CA": "Bekee ndị Canada",
- "be": "Belaruusu",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali",
- "brx": "Bodo",
- "bs": "Bosnian",
- "bg": "Bọlụgarịa",
- "br": "Breton",
- "ce": "Chechen",
- "cs": "Cheekị",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "nl": "Dọọch",
- "nl-BE": "Dọọch (Belgium)",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "fr-CA": "Fụrench ndị Canada",
- "fr-CH": "Fụrench ndị Switzerland",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Giriikị",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "Hindi",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "id": "Indonisia",
- "ga": "Irish",
- "de-CH": "Jaman Izugbe ndị Switzerland",
- "de-AT": "Jaman ndị Austria",
- "jv": "Java",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "km": "Keme, Etiti",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "ko": "Koria",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "ky": "Kyrgyz",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "jmc": "Machame",
- "mk": "Macedonian",
- "hu": "Magịya",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Maleyi",
- "mt": "Maltese",
- "zh": "Mandarịịnị",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "my": "Mịanma",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Netherlands)",
- "ne": "Nepali",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "fa": "Peshan",
- "pl": "Poliishi",
- "prg": "Prussian",
- "pa": "Punjabi",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "Rumenia",
- "ro-MD": "Rumenia (Moldova)",
- "rn": "Rundi",
- "rw": "Rụwanda",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somali",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Sụwidiishi",
- "sw-CD": "sw (Congo - Kinshasa)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "ksb": "Shambala",
- "sn": "Shona",
- "shi": "Tachelhit",
- "dav": "Taita",
- "th": "Taị",
- "tg": "Tajik",
- "ta": "Tamụlụ",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "Tọkiishi",
- "tk": "Turkmen",
- "uk": "Ukureenị",
- "hsb": "Upper Sorbian",
- "ur": "Urudu",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Viyetịnaamụ",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/is.json b/vendor/commerceguys/intl/resources/language/is.json
index 50a8113d1..1d5c6c20a 100644
--- a/vendor/commerceguys/intl/resources/language/is.json
+++ b/vendor/commerceguys/intl/resources/language/is.json
@@ -33,7 +33,6 @@
"ebu": "embu",
"smn": "enaresamíska",
"en": "enska",
- "eo": "esperantó",
"ewo": "evondó",
"pt-PT": "evrópsk portúgalska",
"ee": "ewe",
@@ -83,7 +82,6 @@
"ca": "katalónska",
"ceb": "kebúanó",
"ky": "kirgiska",
- "cu": "kirkjuslavneska",
"cgg": "kíga",
"ki": "kíkújú",
"rw": "kínjarvanda",
@@ -122,7 +120,6 @@
"ms": "malaíska",
"ml": "malajalam",
"mt": "maltneska",
- "gv": "manska",
"mi": "maorí",
"mr": "maratí",
"mas": "masaí",
@@ -153,7 +150,6 @@
"fa": "persneska",
"pt": "portúgalska",
"pl": "pólska",
- "prg": "prússneska",
"pa": "púnjabí",
"rof": "rombó",
"rm": "rómanska",
@@ -215,7 +211,6 @@
"cy": "velska",
"fy": "vesturfrísneska",
"vi": "víetnamska",
- "vo": "volapyk",
"wo": "volof",
"vun": "vunjó",
"yav": "yangben",
diff --git a/vendor/commerceguys/intl/resources/language/it.json b/vendor/commerceguys/intl/resources/language/it.json
index 386b2e469..75fba9d8a 100644
--- a/vendor/commerceguys/intl/resources/language/it.json
+++ b/vendor/commerceguys/intl/resources/language/it.json
@@ -51,7 +51,6 @@
"dz": "dzongkha",
"he": "ebraico",
"ebu": "embu",
- "eo": "esperanto",
"et": "estone",
"ee": "ewe",
"ewo": "ewondo",
@@ -122,7 +121,6 @@
"ms": "malese",
"mg": "malgascio",
"mt": "maltese",
- "gv": "mannese",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -150,7 +148,6 @@
"pl": "polacco",
"pt": "portoghese",
"pt-PT": "portoghese europeo",
- "prg": "prussiano",
"pa": "punjabi",
"qu": "quechua",
"rm": "romancio",
@@ -171,7 +168,6 @@
"ii": "sichuan yi",
"sd": "sindhi",
"si": "singalese",
- "cu": "slavo della Chiesa",
"sk": "slovacco",
"sl": "sloveno",
"xog": "soga",
@@ -209,7 +205,6 @@
"vai": "Vai",
"wa": "vallone",
"vi": "vietnamita",
- "vo": "volapük",
"vun": "vunjo",
"wae": "walser",
"bem": "wemba",
diff --git a/vendor/commerceguys/intl/resources/language/ja.json b/vendor/commerceguys/intl/resources/language/ja.json
index df21c6fee..16b6a0125 100644
--- a/vendor/commerceguys/intl/resources/language/ja.json
+++ b/vendor/commerceguys/intl/resources/language/ja.json
@@ -22,7 +22,6 @@
"wae": "ヴァリス語",
"ug": "ウイグル語",
"cy": "ウェールズ語",
- "vo": "ヴォラピュク語",
"wo": "ウォロフ語",
"uk": "ウクライナ語",
"uz": "ウズベク語",
@@ -31,7 +30,6 @@
"ee": "エウェ語",
"ewo": "エウォンド語",
"et": "エストニア語",
- "eo": "エスペラント語",
"ebu": "エンブ語",
"en-AU": "オーストラリア英語",
"os": "オセット語",
@@ -146,7 +144,6 @@
"bg": "ブルガリア語",
"br": "ブルトン語",
"nl-BE": "フレミッシュ語",
- "prg": "プロシア語",
"vi": "ベトナム語",
"bez": "ベナ語",
"he": "ヘブライ語",
@@ -171,7 +168,6 @@
"ml": "マラヤーラム語",
"mt": "マルタ語",
"ms": "マレー語",
- "gv": "マン島語",
"my": "ミャンマー語",
"mua": "ムンダン語",
"mgo": "メタ語",
@@ -203,7 +199,6 @@
"en": "英語",
"zh-Hans": "簡体中国語",
"ko": "韓国語",
- "cu": "教会スラブ語",
"yue": "広東語",
"hsb": "高地ソルブ語",
"ii": "四川イ語",
diff --git a/vendor/commerceguys/intl/resources/language/jmc.json b/vendor/commerceguys/intl/resources/language/jmc.json
deleted file mode 100644
index 0eca7be15..000000000
--- a/vendor/commerceguys/intl/resources/language/jmc.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ak": "Kiakanyi",
- "am": "Kiamharyi",
- "ki": "Kikuyu",
- "jmc": "Kimachame",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "fa": "Kyiajemi",
- "ar": "Kyiarabu",
- "bn": "Kyibangla",
- "be": "Kyibelarusi",
- "bg": "Kyibulgaryia",
- "my": "Kyiburma",
- "cs": "Kyichecki",
- "zh": "Kyichina",
- "zh-Hans": "Kyichina (Hans)",
- "zh-Hant": "Kyichina (Hant)",
- "fr": "Kyifaransa",
- "fr-CA": "Kyifaransa (Kanada)",
- "fr-CH": "Kyifaransa (Uswisi)",
- "el": "Kyigiriki",
- "ha": "Kyihausa",
- "hi": "Kyihindi",
- "es": "Kyihispania",
- "es-419": "Kyihispania (419)",
- "es-MX": "Kyihispania (Meksiko)",
- "nl": "Kyiholanzi",
- "nl-BE": "Kyiholanzi (Ubelgiji)",
- "hu": "Kyihungari",
- "ig": "Kyiigbo",
- "id": "Kyiindonesia",
- "it": "Kyiitaliano",
- "ja": "Kyijapani",
- "jv": "Kyijava",
- "de": "Kyijerumani",
- "de-AT": "Kyijerumani (Austria)",
- "de-CH": "Kyijerumani (Uswisi)",
- "km": "Kyikambodia",
- "ko": "Kyikorea",
- "ms": "Kyimalesia",
- "ne": "Kyinepali",
- "en": "Kyingereza",
- "en-AU": "Kyingereza (Australia)",
- "en-CA": "Kyingereza (Kanada)",
- "en-GB": "Kyingereza (Uingereza)",
- "rw": "Kyinyarwanda",
- "pl": "Kyipolandi",
- "pa": "Kyipunjabi",
- "pt": "Kyireno",
- "pt-PT": "Kyireno (Ureno)",
- "ro": "Kyiromania",
- "ro-MD": "Kyiromania (Moldova)",
- "ru": "Kyirusi",
- "so": "Kyisomalyi",
- "sv": "Kyiswidi",
- "th": "Kyitailandi",
- "ta": "Kyitamil",
- "tr": "Kyiturukyi",
- "uk": "Kyiukrania",
- "ur": "Kyiurdu",
- "vi": "Kyivietinamu",
- "yo": "Kyiyoruba",
- "zu": "Kyizulu",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/jv.json b/vendor/commerceguys/intl/resources/language/jv.json
deleted file mode 100644
index 4ea58c6a6..000000000
--- a/vendor/commerceguys/intl/resources/language/jv.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albania",
- "am": "Amharik",
- "ar": "Arab",
- "hy": "Armenia",
- "as": "Assam",
- "ast": "Asturia",
- "asa": "Asu",
- "az": "Azerbaijan",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belarusian",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali",
- "brx": "Bodo",
- "nb": "Bokmål Norwegia",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulgaria",
- "ceb": "Cebuano",
- "cs": "Ceska",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "ksh": "Colonia",
- "da": "Dansk",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonia",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroe",
- "nl-BE": "Flemis",
- "fy": "Frisia Sisih Kulon",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galisia",
- "lg": "Ganda",
- "gd": "Gaulia",
- "ka": "Georgia",
- "gu": "Gujarat",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaii",
- "hu": "Hungaria",
- "he": "Ibrani",
- "smn": "Inari Sami",
- "hi": "India",
- "id": "Indonesia",
- "en": "Inggris",
- "en-CA": "Inggris (Kanada)",
- "en-GB": "Inggris (Karajan Manunggal)",
- "en-AU": "Inggris (Ostrali)",
- "ig": "Iqbo",
- "ga": "Irlandia",
- "is": "Islandia",
- "it": "Italia",
- "jv": "Jawa",
- "ja": "Jepang",
- "de": "Jérman",
- "de-AT": "Jérman (Ostenrik)",
- "de-CH": "Jérman (Switserlan)",
- "nds": "Jerman Non Standar",
- "nds-NL": "Jerman Non Standar (Walanda)",
- "gsw": "Jerman Swiss",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "yue": "Kanton",
- "ks": "Kashmiri",
- "ca": "Katala",
- "kk": "Kazakh",
- "kw": "Kernowek",
- "km": "Khmer",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "ky": "Kirgis",
- "kok": "Konkani",
- "ko": "Korea",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "hr": "Kroasia",
- "ckb": "Kurdi Tengah",
- "ku": "Kurdis",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Laos",
- "lv": "Latvia",
- "ln": "Lingala",
- "lt": "Lithuania",
- "lu": "Luba-Katanga",
- "lb": "Luksemburg",
- "luo": "Luo",
- "lrc": "Luri Sisih Lor",
- "luy": "Luyia",
- "jmc": "Machame",
- "mk": "Makedonia",
- "mgh": "Makhuwa-Meeto",
- "kde": "Makonde",
- "mg": "Malagasi",
- "ml": "Malayalam",
- "mt": "Malta",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "ms": "Melayu",
- "mer": "Meru",
- "mgo": "Meta’",
- "mn": "Mongolia",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "my": "Myanmar",
- "naq": "Nama",
- "nd": "Ndebele Lor",
- "ne": "Nepal",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "nn": "Nynorsk Norwegia",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetia",
- "ps": "Pashto",
- "fa": "Persia",
- "pl": "Polandia",
- "pt": "Portugis",
- "pt-PT": "Portugis (Portugal)",
- "fr": "Prancis",
- "fr-CA": "Prancis (Kanada)",
- "fr-CH": "Prancis (Switserlan)",
- "prg": "Prusia",
- "pa": "Punjab",
- "qu": "Quechua",
- "rm": "Roman",
- "rof": "Rombo",
- "ro": "Rumania",
- "ro-MD": "Rumania (Moldova)",
- "rn": "Rundi",
- "ru": "Rusia",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "se": "Sami Sisih Lor",
- "sg": "Sango",
- "sbp": "Sangu",
- "seh": "Sena",
- "sr": "Serbia",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "cu": "Slavia Gerejani",
- "sl": "Slovenia",
- "sk": "Slowakia",
- "xog": "Soga",
- "so": "Somalia",
- "dsb": "Sorbia Non Standar",
- "hsb": "Sorbia Standar",
- "es": "Spanyol",
- "es-419": "Spanyol (Amerika Latin)",
- "es-MX": "Spanyol (Meksiko)",
- "fi": "Suomi",
- "sw": "Swahili",
- "sw-CD": "Swahili (Kongo - Kinshasa)",
- "sv": "Swedia",
- "shi": "Tachelhit",
- "fil": "Tagalog",
- "dav": "Taita",
- "tg": "Tajik",
- "tzm": "Tamazight Atlas Tengah",
- "zgh": "Tamazight Moroko Standar",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thailand",
- "bo": "Tibet",
- "ti": "Tigrinya",
- "to": "Tonga",
- "tr": "Turki",
- "tk": "Turkmen",
- "zh": "Tyonghwa",
- "zh-Hans": "Tyonghwa (Prasaja)",
- "zh-Hant": "Tyonghwa (Tradisional)",
- "ug": "Uighur",
- "uk": "Ukraina",
- "ur": "Urdu",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnam",
- "vo": "Volapuk",
- "vun": "Vunjo",
- "nl": "Walanda",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "el": "Yunani",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ka.json b/vendor/commerceguys/intl/resources/language/ka.json
index ffa468656..467b4c54b 100644
--- a/vendor/commerceguys/intl/resources/language/ka.json
+++ b/vendor/commerceguys/intl/resources/language/ka.json
@@ -43,13 +43,11 @@
"pt-PT": "ევროპული პორტუგალიური",
"ebu": "ემბუ",
"es": "ესპანური",
- "eo": "ესპერანტო",
"et": "ესტონური",
"vai": "ვაი",
"wa": "ვალონური",
"wae": "ვალსერი",
"vi": "ვიეტნამური",
- "vo": "ვოლაპუკი",
"wo": "ვოლოფური",
"vun": "ვუნჯო",
"dje": "ზარმა",
@@ -115,7 +113,6 @@
"mr": "მარათჰი",
"mas": "მასაი",
"mgh": "მაქუვა-მეეტო",
- "gv": "მენური",
"mer": "მერუ",
"mgo": "მეტა-ენა",
"es-MX": "მექსიკური ესპანური",
@@ -138,7 +135,6 @@
"pa": "პენჯაბური",
"pl": "პოლონური",
"pt": "პორტუგალიური",
- "prg": "პრუსიული",
"ps": "პუშტუ",
"rm": "რეტორომანული",
"rof": "რომბო",
@@ -146,7 +142,6 @@
"ro": "რუმინული",
"rn": "რუნდი",
"ru": "რუსული",
- "cu": "საეკლესიო სლავური",
"saq": "სამბურუ",
"sg": "სანგო",
"sbp": "სანგუ",
diff --git a/vendor/commerceguys/intl/resources/language/kab.json b/vendor/commerceguys/intl/resources/language/kab.json
deleted file mode 100644
index 6975be295..000000000
--- a/vendor/commerceguys/intl/resources/language/kab.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Timura-Yessakesren)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Tigduda Tagdudant n Kungu)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "bn": "Tabengalit",
- "be": "Tabilarusit",
- "bg": "Tabulgarit",
- "my": "Taburmisit",
- "vi": "Tabyiṭnamit",
- "shi": "Tachelhit",
- "cs": "Tačikit",
- "zh": "Tacinwat, Tamundarint",
- "zh-Hans": "Tacinwat, Tamundarint (Hans)",
- "zh-Hant": "Tacinwat, Tamundarint (Hant)",
- "nl": "Tadučit",
- "nl-BE": "Tadučit (Belǧik)",
- "ar": "Taɛrabt",
- "fa": "Tafarisit",
- "fr": "Tafransist",
- "fr-CA": "Tafransist (Kanada)",
- "fr-CH": "Tafransist (Swis)",
- "en": "Taglizit",
- "en-CA": "Taglizit (Kanada)",
- "en-GB": "Taglizit (Tagelda Yedduklen)",
- "en-AU": "Taglizit (Ustrali)",
- "el": "Tagrikit",
- "hi": "Tahendit",
- "hu": "Tahungarit",
- "ha": "Tahwasit",
- "dav": "Taita",
- "ja": "Tajapunit",
- "jv": "Tajavanit",
- "tg": "Tajik",
- "ak": "Takanit",
- "km": "Takemrit",
- "ko": "Takurit",
- "de": "Talmant",
- "de-CH": "Talmant (Swis)",
- "de-AT": "Talmant (Ustriya)",
- "am": "Tamahrict",
- "ms": "Tamalawit",
- "id": "Tandunisit",
- "ne": "Tanipalit",
- "pl": "Tapulunit",
- "pa": "Tapunjabit",
- "pt": "Tapurtugalit",
- "pt-PT": "Tapurtugalit (Purtugal)",
- "kab": "Taqbaylit",
- "ro": "Tarumanit",
- "ro-MD": "Tarumanit (Muldabi)",
- "ru": "Tarusit",
- "rw": "Taruwandit",
- "twq": "Tasawaq",
- "es": "Taspenyulit",
- "es-419": "Taspenyulit (419)",
- "es-MX": "Taspenyulit (Meksik)",
- "so": "Taṣumalit",
- "sv": "Taswidit",
- "it": "Taṭalyanit",
- "ta": "Taṭamulit",
- "tt": "Tatar",
- "th": "Taṭaylundit",
- "tr": "Taṭurkit",
- "yo": "Tayurubit",
- "zu": "Tazulut",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ig": "Tigbut",
- "ti": "Tigrinya",
- "to": "Tongan",
- "uk": "Tukranit",
- "ur": "Turdut",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kam.json b/vendor/commerceguys/intl/resources/language/kam.json
deleted file mode 100644
index f45363276..000000000
--- a/vendor/commerceguys/intl/resources/language/kam.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "fr": "Kifaransa",
- "fr-CA": "Kifaransa (Kananda)",
- "fr-CH": "Kifaransa (Uswisi)",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "hi": "Kihindi",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Ubelgiji)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Austria)",
- "de-CH": "Kijerumani (Uswisi)",
- "kam": "Kikamba",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "en": "Kingereza",
- "en-AU": "Kingereza (Australia)",
- "en-CA": "Kingereza (Kananda)",
- "en-GB": "Kingereza (Uingereza)",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kirusi",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kde.json b/vendor/commerceguys/intl/resources/language/kde.json
deleted file mode 100644
index 08b2940a8..000000000
--- a/vendor/commerceguys/intl/resources/language/kde.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ak": "Chakan",
- "ar": "Chalabu",
- "am": "Chamhali",
- "ce": "Chechen",
- "chr": "Cherokee",
- "fa": "Chiajemi",
- "bn": "Chibangla",
- "be": "Chibelalusi",
- "bg": "Chibulgalia",
- "my": "Chibulma",
- "cs": "Chichechi",
- "zh": "Chichina",
- "zh-Hans": "Chichina (Hans)",
- "zh-Hant": "Chichina (Hant)",
- "ja": "Chidyapani",
- "jv": "Chidyava",
- "de": "Chidyelumani",
- "de-AT": "Chidyelumani (Austlia)",
- "de-CH": "Chidyelumani (Uswisi)",
- "fr": "Chifalansa",
- "fr-CA": "Chifalansa (Kanada)",
- "fr-CH": "Chifalansa (Uswisi)",
- "cgg": "Chiga",
- "el": "Chigilichi",
- "ha": "Chihausa",
- "hi": "Chihindi",
- "es": "Chihispania",
- "es-419": "Chihispania (419)",
- "es-MX": "Chihispania (Meksiko)",
- "nl": "Chiholanzi",
- "nl-BE": "Chiholanzi (Ubelgidi)",
- "hu": "Chihungali",
- "ig": "Chiigbo",
- "en": "Chiingeleza",
- "en-AU": "Chiingeleza (Austlalia)",
- "en-CA": "Chiingeleza (Kanada)",
- "en-GB": "Chiingeleza (Nngalesa)",
- "id": "Chiiongonesia",
- "it": "Chiitaliano",
- "km": "Chikambodia",
- "ko": "Chikolea",
- "pt": "Chileno",
- "pt-PT": "Chileno (Uleno)",
- "ro": "Chilomania",
- "ro-MD": "Chilomania (Moldova)",
- "ru": "Chilusi",
- "kde": "Chimakonde",
- "ms": "Chimalesia",
- "ne": "Chinepali",
- "rw": "Chinyalwanda",
- "pl": "Chipolandi",
- "pa": "Chipunjabi",
- "so": "Chisomali",
- "sv": "Chiswidi",
- "th": "Chitailandi",
- "ta": "Chitamil",
- "tr": "Chituluchi",
- "uk": "Chiuklania",
- "ur": "Chiuldu",
- "vi": "Chivietinamu",
- "yo": "Chiyoluba",
- "zu": "Chizulu",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamuhuli ya Chidemoklasia ya kuKongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kea.json b/vendor/commerceguys/intl/resources/language/kea.json
deleted file mode 100644
index 86f1899cd..000000000
--- a/vendor/commerceguys/intl/resources/language/kea.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikaner",
- "agq": "aghem",
- "ak": "akan",
- "sq": "albanes",
- "de": "alemon",
- "de-CH": "alemon altu suisu",
- "de-AT": "alemon austríaku",
- "nds": "alemon baxu",
- "nds-NL": "alemon baxu (Olanda)",
- "gsw": "alemon suísu",
- "am": "amáriku",
- "ar": "árabi",
- "hy": "arméniu",
- "as": "asames",
- "ast": "asturianu",
- "asa": "asu",
- "ha": "auza",
- "haw": "avaianu",
- "az": "azerbaijanu",
- "ksf": "bafia",
- "bm": "bambara",
- "bas": "basa",
- "eu": "basku",
- "bem": "bemba",
- "bez": "bena",
- "bn": "bengali",
- "be": "bielorusu",
- "my": "birmanes",
- "brx": "bodo",
- "bs": "bosniu",
- "br": "bretãu",
- "bg": "búlgaru",
- "da": "dinamarkes",
- "dua": "duala",
- "dz": "dzonka",
- "he": "ebraiku",
- "ebu": "embu",
- "ee": "eve",
- "ewo": "ewondo",
- "fo": "faroes",
- "fil": "filipinu",
- "fi": "finlandes",
- "nl-BE": "flamengu",
- "fr": "franses",
- "fr-CA": "franses kanadianu",
- "fr-CH": "franses suisu",
- "fur": "friulanu",
- "fy": "fríziu osidental",
- "ff": "fula",
- "gl": "galegu",
- "cy": "gales",
- "el": "gregu",
- "kl": "groenlandes",
- "gu": "gujarati",
- "guz": "gusii",
- "ig": "ibo",
- "smn": "inari sami",
- "hi": "indi",
- "id": "indonéziu",
- "en": "ingles",
- "en-AU": "ingles australianu",
- "en-GB": "ingles britániku",
- "en-CA": "ingles kanadianu",
- "yo": "ioruba",
- "ga": "irlandes",
- "is": "islandes",
- "it": "italianu",
- "ja": "japones",
- "jv": "javanes",
- "dyo": "jola-fonyi",
- "ka": "jorjianu",
- "kab": "kabila",
- "kea": "kabuverdianu",
- "kkj": "kako",
- "kln": "kalenjin",
- "kam": "kamba",
- "kn": "kanares",
- "yue": "kantunes",
- "ca": "katalãu",
- "ks": "kaxmira",
- "kk": "kazak",
- "qu": "kexua",
- "ki": "kikuiu",
- "rw": "kiniaruanda",
- "ky": "kirgiz",
- "km": "kmer",
- "khq": "koira txiini",
- "ses": "koiraboro seni",
- "ksh": "kolonhanu",
- "kok": "konkani",
- "ko": "korianu",
- "kw": "kórniku",
- "xh": "koza",
- "hr": "kroata",
- "nmg": "kuazio",
- "ku": "kurdu",
- "ckb": "kurdu sentral",
- "lkt": "lakota",
- "lag": "langi",
- "lo": "lausianu",
- "lv": "letãu",
- "ln": "lingala",
- "lt": "lituanu",
- "lu": "luba-katanga",
- "lg": "luganda",
- "luo": "Luo",
- "lb": "luxemburges",
- "luy": "luyia",
- "kde": "makonde",
- "mgh": "makua",
- "ml": "malaialam",
- "ms": "maláiu",
- "mg": "malgaxi",
- "mt": "maltes",
- "gv": "manks",
- "mi": "maori",
- "mr": "marati",
- "mas": "Masai",
- "mk": "masedóniu",
- "jmc": "matxame",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "ne": "nepales",
- "nnh": "Ngiemboon",
- "jgo": "ñomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "norueges bokmål",
- "nn": "norueges nynorsk",
- "nus": "Nuer",
- "ii": "nuosu",
- "nyn": "Nyankole",
- "or": "odía",
- "nl": "olandes",
- "om": "oromo",
- "os": "osétiku",
- "pa": "pandjabi",
- "ps": "paxto",
- "fa": "persa",
- "prg": "prusianu",
- "pl": "pulaku",
- "pt": "purtuges",
- "pt-PT": "purtuges europeu",
- "rm": "romanxi",
- "rof": "rombu",
- "ro": "rumenu",
- "ro-MD": "rumenu moldáviku",
- "rn": "rundi",
- "ru": "rusu",
- "rwk": "rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "ceb": "sebuanu",
- "seh": "Sena",
- "sr": "sérviu",
- "ksb": "Shambala",
- "sn": "Shona",
- "sd": "sindi",
- "si": "singales",
- "cu": "slavu klériku",
- "sk": "slovaku",
- "sl": "slovéniu",
- "xog": "Soga",
- "so": "somali",
- "hsb": "sórbiu altu",
- "dsb": "sórbiu baxu",
- "es": "spanhol",
- "es-419": "spanhol latinu-merkanu",
- "es-MX": "spanhol mexikanu",
- "eo": "sperantu",
- "et": "stonianu",
- "sw": "suaíli",
- "sw-CD": "suaíli kongoles",
- "sv": "sueku",
- "shi": "Tachelhit",
- "tg": "tadjiki",
- "th": "tailandes",
- "dav": "taita",
- "tzm": "tamazait di Atlas Sentral",
- "zgh": "tamazait marokinu padron",
- "ta": "tamil",
- "twq": "Tasawaq",
- "tt": "tatar",
- "te": "telugu",
- "teo": "Teso",
- "bo": "tibetanu",
- "ti": "tigrinia",
- "to": "tonganes",
- "tk": "turkmenu",
- "tr": "turku",
- "cs": "txeku",
- "ce": "txetxenu",
- "ug": "uigur",
- "uk": "ukranianu",
- "hu": "úngaru",
- "wo": "uolof",
- "ur": "urdu",
- "uz": "uzbeki",
- "vai": "Vai",
- "vi": "vietnamita",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "chr": "xeroki",
- "cgg": "xiga",
- "zh": "xines",
- "zh-Hans": "xines simplifikadu",
- "zh-Hant": "xines tradisional",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "zarma",
- "zu": "zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/khq.json b/vendor/commerceguys/intl/resources/language/khq.json
deleted file mode 100644
index d2beb6e1c..000000000
--- a/vendor/commerceguys/intl/resources/language/khq.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan senni",
- "sq": "Albanian",
- "de": "Almaŋ senni",
- "de-AT": "Almaŋ senni (Otriši)",
- "de-CH": "Almaŋ senni (Swisu)",
- "am": "Amhaarik senni",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belaruus senni",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali senni",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulagaari senni",
- "my": "Burme senni",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "cs": "Cek senni",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "es": "Espaaɲe senni",
- "es-419": "Espaaɲe senni (419)",
- "es-MX": "Espaaɲe senni (Mexiki)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fa": "Farsi senni",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "Fransee senni",
- "fr-CA": "Fransee senni (Kanaada)",
- "fr-CH": "Fransee senni (Swisu)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Grek senni",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "ha": "Hawsance senni",
- "he": "Hebrew",
- "nl": "Holandee senni",
- "nl-BE": "Holandee senni (Belgiiki)",
- "hu": "Hungaari senni",
- "ig": "Iboo senni",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "id": "Indoneesi senni",
- "hi": "Induu senni",
- "en": "Inglisi senni",
- "en-GB": "Inglisi senni (Albaasalaama Marganta)",
- "en-CA": "Inglisi senni (Kanaada)",
- "en-AU": "Inglisi senni (Ostraali)",
- "ga": "Irish",
- "it": "Itaali senni",
- "ja": "Japonee senni",
- "jv": "Javanee senni",
- "dyo": "Jola-Fonyi",
- "zu": "Julu senni",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "Kmeer senni, Game here",
- "kok": "Konkani",
- "ko": "Koree senni",
- "khq": "Koyra ciini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "ar": "Laaraw senni",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Maleezi senni",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Hollandu)",
- "ne": "Neepal senni",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "pl": "Polonee senni",
- "pt": "Portugee senni",
- "pt-PT": "Portugee senni (Portugaal)",
- "prg": "Prussian",
- "pa": "Punjaabi sennii",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "Rumaani senni",
- "ro-MD": "Rumaani senni (Moldovi)",
- "rn": "Rundi",
- "ru": "Ruusi senni",
- "rwk": "Rwa",
- "rw": "Rwanda senni",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "Sinuwa senni, Mandareŋ",
- "zh-Hans": "Sinuwa senni, Mandareŋ (Hans)",
- "zh-Hant": "Sinuwa senni, Mandareŋ (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somaali senni",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Suweede senni",
- "sw-CD": "sw (Kongoo demookaratiki laboo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "th": "Taailandu senni",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil senni",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "tr": "Turku senni",
- "uk": "Ukreen senni",
- "hsb": "Upper Sorbian",
- "ur": "Urdu senni",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnaam senni",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yorbance senni",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ki.json b/vendor/commerceguys/intl/resources/language/ki.json
deleted file mode 100644
index db3576ccf..000000000
--- a/vendor/commerceguys/intl/resources/language/ki.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "ki": "Gikuyu",
- "en": "Gĩthungũ",
- "en-AU": "Gĩthungũ (Australia)",
- "en-CA": "Gĩthungũ (Kanada)",
- "en-GB": "Gĩthungũ (Ngeretha)",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kĩarabu",
- "bn": "Kibangla",
- "fr": "Kĩbaranja",
- "fr-CA": "Kĩbaranja (Kanada)",
- "fr-CH": "Kĩbaranja (Uswisi)",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "zh": "Kĩcaina",
- "zh-Hans": "Kĩcaina (Hans)",
- "zh-Hant": "Kĩcaina (Hant)",
- "cs": "Kichecki",
- "so": "Kĩcumarĩ",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "hi": "Kĩhĩndĩ",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Ubelgiji)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "jv": "Kijava",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "ja": "Kĩnjabani",
- "de": "Kĩnjeremani",
- "de-AT": "Kĩnjeremani (Austria)",
- "de-CH": "Kĩnjeremani (Uswisi)",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "ru": "Kĩracia",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "it": "Kĩtaliano",
- "ta": "Kitamil",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kk.json b/vendor/commerceguys/intl/resources/language/kk.json
index f3f508690..865d1b843 100644
--- a/vendor/commerceguys/intl/resources/language/kk.json
+++ b/vendor/commerceguys/intl/resources/language/kk.json
@@ -33,7 +33,6 @@
"wa": "валлон тілі",
"wae": "вальзер тілі",
"hu": "венгр тілі",
- "vo": "волапюк тілі",
"wo": "волоф тілі",
"vun": "вунджо тілі",
"vi": "вьетнам тілі",
@@ -126,7 +125,6 @@
"mn": "моңғол тілі",
"mfe": "морисиен тілі",
"mua": "мунданг тілі",
- "gv": "мэн тілі",
"naq": "нама тілі",
"nnh": "нгиембун тілі",
"jgo": "нгомба тілі",
@@ -147,7 +145,6 @@
"pa": "пенджаб тілі",
"pl": "поляк тілі",
"pt": "португал тілі",
- "prg": "пруссия тілі",
"ps": "пушту тілі",
"rm": "романш тілі",
"rof": "ромбо тілі",
@@ -213,11 +210,9 @@
"ce": "шешен тілі",
"sn": "шона тілі",
"gd": "шотландиялық гэль тілі",
- "cu": "шіркеулік славян тілі",
"ee": "эве тілі",
"ewo": "эвондо тілі",
"ebu": "эмбу тілі",
- "eo": "эсперанто тілі",
"et": "эстон тілі",
"jv": "ява тілі",
"yav": "янгбен тілі"
diff --git a/vendor/commerceguys/intl/resources/language/kln.json b/vendor/commerceguys/intl/resources/language/kln.json
deleted file mode 100644
index 60c00d821..000000000
--- a/vendor/commerceguys/intl/resources/language/kln.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "ak": "kutitab Aka",
- "am": "kutitab Amariek",
- "ar": "kutitab Arabuk",
- "be": "kutitab Belarusa",
- "bn": "kutitab Bengali",
- "nl": "kutitab Boa",
- "nl-BE": "kutitab Boa (Emetab Belgium)",
- "bg": "kutitab Bulgaria",
- "my": "kutitab Burma",
- "cs": "kutitab Chek",
- "de": "kutitab Chermani",
- "de-AT": "kutitab Chermani (Emetab Austria)",
- "de-CH": "kutitab Chermani (Emetab Switzerland)",
- "zh": "kutitab China",
- "zh-Hans": "kutitab China (Hans)",
- "zh-Hant": "kutitab China (Hant)",
- "es": "kutitab Espianik",
- "es-419": "kutitab Espianik (419)",
- "es-MX": "kutitab Espianik (Emetab Mexico)",
- "el": "kutitab Greece",
- "hu": "kutitab Hangari",
- "ha": "kutitab Hausa",
- "ig": "kutitab Igbo",
- "id": "kutitab Indonesia",
- "km": "kutitab Kher nebo Kwen",
- "fr": "kutitab Kifaransa",
- "fr-CA": "kutitab Kifaransa (Emetab Canada)",
- "fr-CH": "kutitab Kifaransa (Emetab Switzerland)",
- "rw": "kutitab Kinyarwanda",
- "ko": "kutitab Korea",
- "hi": "kutitab Maindiik",
- "ms": "kutitab Malay",
- "ne": "kutitab Nepali",
- "fa": "kutitab Persia",
- "pt": "kutitab Portugal",
- "pt-PT": "kutitab Portugal (Emetab Portugal)",
- "pa": "kutitab Punjab",
- "ro": "kutitab Romaniek",
- "ro-MD": "kutitab Romaniek (Emetab Moldova)",
- "ru": "kutitab Russia",
- "so": "kutitab Somaliek",
- "sv": "kutitab Sweden",
- "it": "kutitab Talianek",
- "ta": "kutitab Tamil",
- "th": "kutitab Thailand",
- "tr": "kutitab Turkey",
- "en": "kutitab Uingeresa",
- "en-AU": "kutitab Uingeresa (Emetab Australia)",
- "en-CA": "kutitab Uingeresa (Emetab Canada)",
- "en-GB": "kutitab Uingeresa (Emetab Kibagenge nebo Uingereza)",
- "uk": "kutitab Ukraine",
- "ur": "kutitab Urdu",
- "vi": "kutitab Vietnam",
- "yo": "kutitab Yoruba",
- "zu": "kutitab Zulu",
- "ja": "kutitap Japan",
- "jv": "kutitap Javanese",
- "pl": "kutitap Poland",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Emetab Holand)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Emetab Congo - Kinshasa)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/km.json b/vendor/commerceguys/intl/resources/language/km.json
index 4b2399d4b..de9a466db 100644
--- a/vendor/commerceguys/intl/resources/language/km.json
+++ b/vendor/commerceguys/intl/resources/language/km.json
@@ -39,7 +39,6 @@
"jv": "ជ្វា",
"ce": "ឈីឆេន",
"cgg": "ឈីហ្គា",
- "cu": "ឈឺជស្លាវិក",
"da": "ដាណឺម៉ាក",
"dz": "ដុងខា",
"dua": "ឌួលឡា",
@@ -87,7 +86,6 @@
"nl-BE": "ផ្លាមីស",
"pt": "ព័រទុយហ្គាល់",
"pt-PT": "ព័រទុយហ្គាល់ (អឺរ៉ុប)",
- "prg": "ព្រូស៊ាន",
"fa": "ភឺសៀន",
"my": "ភូមា",
"mgh": "ម៉ាកគូវ៉ាមីតូ",
@@ -106,7 +104,6 @@
"ro-MD": "ម៉ុលដាវី",
"mfe": "ម៉ូរីស៊ីន",
"mgo": "មេតា",
- "gv": "មេន",
"mer": "មេរូ",
"mi": "ម៉ោរី",
"yo": "យរូបា",
@@ -127,7 +124,6 @@
"luo": "លូអូ",
"wa": "វ៉ាលូន",
"vun": "វុនចូ",
- "vo": "វូឡាពូក",
"wo": "វូឡុហ្វ",
"vi": "វៀតណាម",
"cy": "វេល",
@@ -219,6 +215,5 @@
"es": "អេស្ប៉ាញ",
"es-MX": "អេស្ប៉ាញ (ម៉ិកស៊ិក)",
"es-419": "អេស្ប៉ាញ (អាមេរិក​ឡាទីន)",
- "eo": "អេស្ពេរ៉ាន់តូ",
"am": "អាំហារិក"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kn.json b/vendor/commerceguys/intl/resources/language/kn.json
deleted file mode 100644
index 0134811ad..000000000
--- a/vendor/commerceguys/intl/resources/language/kn.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "am": "ಅಂಹರಿಕ್",
- "ak": "ಅಕಾನ್",
- "agq": "ಅಘೆಮ್",
- "az": "ಅಜೆರ್ಬೈಜಾನಿ",
- "hsb": "ಅಪ್ಪರ್ ಸರ್ಬಿಯನ್",
- "ar": "ಅರೇಬಿಕ್",
- "hy": "ಅರ್ಮೇನಿಯನ್",
- "sq": "ಅಲ್ಬೇನಿಯನ್",
- "asa": "ಅಸು",
- "as": "ಅಸ್ಸಾಮೀಸ್",
- "af": "ಆಫ್ರಿಕಾನ್ಸ್",
- "ast": "ಆಸ್ಟುರಿಯನ್",
- "de-AT": "ಆಸ್ಟ್ರಿಯನ್ ಜರ್ಮನ್",
- "en-AU": "ಆಸ್ಟ್ರೇಲಿಯನ್ ಇಂಗ್ಲಿಷ್",
- "en": "ಇಂಗ್ಲಿಷ್",
- "id": "ಇಂಡೋನೇಶಿಯನ್",
- "ig": "ಇಗ್ಬೊ",
- "it": "ಇಟಾಲಿಯನ್",
- "smn": "ಇನಾರಿ ಸಮೀ",
- "ewo": "ಇವಾಂಡೋ",
- "ee": "ಈವ್",
- "uk": "ಉಕ್ರೇನಿಯನ್",
- "uz": "ಉಜ್ಬೇಕ್",
- "nd": "ಉತ್ತರ ದೆಬೆಲೆ",
- "lrc": "ಉತ್ತರ ಲೂರಿ",
- "se": "ಉತ್ತರ ಸಾಮಿ",
- "ug": "ಉಯಿಘರ್",
- "ur": "ಉರ್ದು",
- "ebu": "ಎಂಬು",
- "et": "ಎಸ್ಟೊನಿಯನ್",
- "eo": "ಎಸ್ಪೆರಾಂಟೊ",
- "ga": "ಐರಿಷ್",
- "is": "ಐಸ್‌ಲ್ಯಾಂಡಿಕ್",
- "or": "ಒಡಿಯ",
- "om": "ಒರೊಮೊ",
- "os": "ಒಸ್ಸೆಟಿಕ್",
- "kam": "ಕಂಬಾ",
- "kk": "ಕಝಕ್",
- "kn": "ಕನ್ನಡ",
- "kea": "ಕಬುವೆರ್ಡಿಯನು",
- "kab": "ಕಬೈಲ್",
- "kl": "ಕಲಾಲ್ಲಿಸುಟ್",
- "kln": "ಕಲೆಂಜಿನ್",
- "ksh": "ಕಲೊಗ್ನಿಯನ್",
- "sw-CD": "ಕಾಂಗೊ ಸ್ವಹಿಲಿ",
- "kkj": "ಕಾಕೊ",
- "kw": "ಕಾರ್ನಿಷ್",
- "ks": "ಕಾಶ್ಮೀರಿ",
- "ki": "ಕಿಕುಯು",
- "rw": "ಕಿನ್ಯಾರ್‌ವಾಂಡಾ",
- "ky": "ಕಿರ್ಗಿಜ್",
- "ku": "ಕುರ್ದಿಷ್",
- "ca": "ಕೆಟಲಾನ್",
- "en-CA": "ಕೆನೆಡಿಯನ್ ಇಂಗ್ಲಿಷ್",
- "fr-CA": "ಕೆನೆಡಿಯನ್ ಫ್ರೆಂಚ್",
- "kok": "ಕೊಂಕಣಿ",
- "khq": "ಕೊಯ್ರ ಚೀನಿ",
- "ses": "ಕೊಯ್ರಬೊರೊ ಸೆನ್ನಿ",
- "ko": "ಕೊರಿಯನ್",
- "yue": "ಕ್ಯಾಂಟನೀಸ್",
- "hr": "ಕ್ರೊಯೇಶಿಯನ್",
- "qu": "ಕ್ವೆಚುವಾ",
- "xh": "ಕ್ಸೋಸ",
- "km": "ಖಮೇರ್",
- "nmg": "ಖ್ವಾಸಿಯೊ",
- "lg": "ಗಾಂಡಾ",
- "gu": "ಗುಜರಾತಿ",
- "guz": "ಗುಸಿ",
- "gl": "ಗ್ಯಾಲಿಶಿಯನ್",
- "el": "ಗ್ರೀಕ್",
- "cu": "ಚರ್ಚ್ ಸ್ಲಾವಿಕ್",
- "cgg": "ಚಿಗಾ",
- "ce": "ಚೆಚನ್",
- "chr": "ಚೆರೋಕಿ",
- "zh": "ಚೈನೀಸ್",
- "de": "ಜರ್ಮನ್",
- "dje": "ಜರ್ಮಾ",
- "ja": "ಜಾಪನೀಸ್",
- "ka": "ಜಾರ್ಜಿಯನ್",
- "jv": "ಜಾವಾನೀಸ್",
- "zu": "ಜುಲು",
- "cs": "ಜೆಕ್",
- "dyo": "ಜೊಲ-ಫೊನ್ಯಿ",
- "dz": "ಜೋಂಗ್‌ಖಾ",
- "tr": "ಟರ್ಕಿಶ್",
- "tk": "ಟರ್ಕ್‌ಮೆನ್",
- "shi": "ಟಷೆಲ್‍ಹಿಟ್",
- "twq": "ಟಸವಕ್",
- "tt": "ಟಾಟರ್",
- "ti": "ಟಿಗ್ರಿನ್ಯಾ",
- "bo": "ಟಿಬೇಟಿಯನ್",
- "teo": "ಟೆಸೊ",
- "dav": "ಟೈಟ",
- "to": "ಟೋಂಗನ್",
- "nl": "ಡಚ್",
- "dua": "ಡುವಾಲಾ",
- "da": "ಡ್ಯಾನಿಶ್",
- "ta": "ತಮಿಳು",
- "tg": "ತಾಜಿಕ್",
- "te": "ತೆಲುಗು",
- "th": "ಥಾಯ್",
- "naq": "ನಮ",
- "nb": "ನಾರ್ವೆಜಿಯನ್ ಬೊಕ್ಮಲ್",
- "nn": "ನಾರ್ವೇಜಿಯನ್ ನೈನಾರ್ಸ್ಕ್",
- "nnh": "ನಿಂಬೂನ್",
- "nus": "ನೂಯರ್",
- "ne": "ನೇಪಾಳಿ",
- "jgo": "ನೊಂಬಾ",
- "nyn": "ನ್ಯಾನ್‌ಕೋಲೆ",
- "pa": "ಪಂಜಾಬಿ",
- "fa": "ಪರ್ಶಿಯನ್",
- "fy": "ಪಶ್ಚಿಮ ಫ್ರಿಸಿಯನ್",
- "ps": "ಪಾಷ್ಟೋ",
- "pl": "ಪೊಲಿಶ್",
- "pt": "ಪೋರ್ಚುಗೀಸ್",
- "prg": "ಪ್ರಶಿಯನ್",
- "fo": "ಫರೋಸಿ",
- "fi": "ಫಿನ್ನಿಶ್",
- "fil": "ಫಿಲಿಪಿನೊ",
- "ff": "ಫುಲಾ",
- "fur": "ಫ್ರಿಯುಲಿಯನ್",
- "fr": "ಫ್ರೆಂಚ್",
- "nl-BE": "ಫ್ಲೆಮಿಷ್",
- "bm": "ಬಂಬಾರಾ",
- "ksf": "ಬಫಿಯ",
- "my": "ಬರ್ಮೀಸ್",
- "bg": "ಬಲ್ಗೇರಿಯನ್",
- "bas": "ಬಸಾ",
- "bn": "ಬಾಂಗ್ಲಾ",
- "eu": "ಬಾಸ್ಕ್",
- "bem": "ಬೆಂಬಾ",
- "bez": "ಬೆನ",
- "be": "ಬೆಲರೂಸಿಯನ್",
- "brx": "ಬೋಡೊ",
- "bs": "ಬೋಸ್ನಿಯನ್",
- "en-GB": "ಬ್ರಿಟಿಷ್ ಇಂಗ್ಲಿಷ್",
- "br": "ಬ್ರೆಟನ್",
- "mn": "ಮಂಗೋಲಿಯನ್",
- "mzn": "ಮಜಂದೆರಾನಿ",
- "tzm": "ಮಧ್ಯ ಅಟ್ಲಾಸ್ ಟಮಜೈಟ್",
- "ckb": "ಮಧ್ಯ ಕುರ್ದಿಶ್",
- "mr": "ಮರಾಠಿ",
- "mg": "ಮಲಗಾಸಿ",
- "ml": "ಮಲಯಾಳಂ",
- "ms": "ಮಲಯ್",
- "mas": "ಮಸಾಯ್",
- "mt": "ಮಾಲ್ಟೀಸ್",
- "ro-MD": "ಮಾಲ್ಡೇವಿಯನ್",
- "mi": "ಮಾವೋರಿ",
- "mua": "ಮುಂಡಂಗ್",
- "es-MX": "ಮೆಕ್ಸಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್",
- "mgo": "ಮೆಟಾ",
- "mer": "ಮೆರು",
- "mk": "ಮೆಸಿಡೋನಿಯನ್",
- "mfe": "ಮೊರಿಸನ್",
- "jmc": "ಮ್ಯಕಮೆ",
- "mgh": "ಮ್ಯಖುವಾ- ಮೀಟ್ಟೊ",
- "gv": "ಮ್ಯಾಂಕ್ಸ್",
- "kde": "ಮ್ಯಾಕೊಂಡ್",
- "yav": "ಯಾಂಗ್ಬೆನ್",
- "yi": "ಯಿಡ್ಡಿಶ್",
- "pt-PT": "ಯೂರೋಪಿಯನ್ ಪೋರ್ಚುಗೀಸ್",
- "yo": "ಯೊರುಬಾ",
- "ru": "ರಷ್ಯನ್",
- "rn": "ರುಂಡಿ",
- "rwk": "ರುವ",
- "rof": "ರೊಂಬೊ",
- "rm": "ರೊಮಾನ್ಶ್",
- "ro": "ರೊಮೇನಿಯನ್",
- "lkt": "ಲಕೊಟ",
- "lb": "ಲಕ್ಸಂಬರ್ಗಿಷ್",
- "lag": "ಲಾಂಗಿ",
- "lv": "ಲಾಟ್ವಿಯನ್",
- "lo": "ಲಾವೋ",
- "ln": "ಲಿಂಗಾಲ",
- "lt": "ಲಿಥುವೇನಿಯನ್",
- "luy": "ಲುಯಿಯ",
- "luo": "ಲುವೋ",
- "lu": "ಲೂಬಾ-ಕಟಾಂಗಾ",
- "nds": "ಲೋ ಜರ್ಮನ್",
- "nds-NL": "ಲೋ ಸ್ಯಾಕ್ಸನ್",
- "dsb": "ಲೋವರ್ ಸರ್ಬಿಯನ್",
- "es-419": "ಲ್ಯಾಟಿನ್ ಅಮೇರಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್",
- "vai": "ವಾಯಿ",
- "wa": "ವಾಲೂನ್",
- "wae": "ವಾಲ್ಸರ್",
- "vi": "ವಿಯೆಟ್ನಾಮೀಸ್",
- "vun": "ವುಂಜೊ",
- "cy": "ವೆಲ್ಶ್",
- "vo": "ವೋಲಾಪುಕ್",
- "wo": "ವೋಲೋಫ್",
- "ksb": "ಶಂಬಲ",
- "sn": "ಶೋನಾ",
- "sbp": "ಸಂಗು",
- "saq": "ಸಂಬುರು",
- "sah": "ಸಖಾ",
- "zh-Hans": "ಸರಳೀಕೃತ ಚೈನೀಸ್",
- "sg": "ಸಾಂಗೋ",
- "zh-Hant": "ಸಾಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್",
- "sd": "ಸಿಂಧಿ",
- "si": "ಸಿಂಹಳ",
- "ii": "ಸಿಚುಅನ್ ಯಿ",
- "seh": "ಸೆನ",
- "ceb": "ಸೆಬುವಾನೊ",
- "sr": "ಸೆರ್ಬಿಯನ್",
- "xog": "ಸೊಗ",
- "so": "ಸೊಮಾಲಿ",
- "gd": "ಸ್ಕಾಟಿಶ್ ಗೆಲಿಕ್",
- "zgh": "ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೊರೊಕ್ಕನ್ ಟಮಜೈಟ್",
- "es": "ಸ್ಪ್ಯಾನಿಷ್",
- "sk": "ಸ್ಲೋವಾಕ್",
- "sl": "ಸ್ಲೋವೇನಿಯನ್",
- "sw": "ಸ್ವಹಿಲಿ",
- "gsw": "ಸ್ವಿಸ್ ಜರ್ಮನ್",
- "fr-CH": "ಸ್ವಿಸ್ ಫ್ರೆಂಚ್",
- "de-CH": "ಸ್ವಿಸ್ ಹೈ ಜರ್ಮನ್",
- "sv": "ಸ್ವೀಡಿಷ್",
- "hu": "ಹಂಗೇರಿಯನ್",
- "haw": "ಹವಾಯಿಯನ್",
- "hi": "ಹಿಂದಿ",
- "he": "ಹೀಬ್ರೂ",
- "ha": "ಹೌಸಾ"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ko.json b/vendor/commerceguys/intl/resources/language/ko.json
index efd5cc47e..dc6cec792 100644
--- a/vendor/commerceguys/intl/resources/language/ko.json
+++ b/vendor/commerceguys/intl/resources/language/ko.json
@@ -4,7 +4,6 @@
"de-CH": "고지 독일어(스위스)",
"hsb": "고지 소르비아어",
"yue": "광둥어",
- "cu": "교회 슬라브어",
"guz": "구시어",
"gu": "구자라트어",
"el": "그리스어",
@@ -50,7 +49,6 @@
"mg": "말라가시어",
"ml": "말라얄람어",
"ms": "말레이어",
- "gv": "맹크스어",
"mer": "메루어",
"mgo": "메타어",
"mfe": "모리스얀어",
@@ -71,7 +69,6 @@
"bn": "벵골어",
"brx": "보도어",
"bs": "보스니아어",
- "vo": "볼라퓌크어",
"lrc": "북부 루리어",
"se": "북부 사미어",
"nd": "북부 은데벨레어",
@@ -117,7 +114,6 @@
"sah": "야쿠트어",
"yav": "양본어",
"et": "에스토니아어",
- "eo": "에스페란토어",
"ee": "에웨어",
"ebu": "엠부어",
"en": "영어",
@@ -210,7 +206,6 @@
"fr": "프랑스어",
"fr-CH": "프랑스어(스위스)",
"fr-CA": "프랑스어(캐나다)",
- "prg": "프러시아어",
"fur": "프리울리어",
"nl-BE": "플라망어",
"fi": "핀란드어",
diff --git a/vendor/commerceguys/intl/resources/language/kok.json b/vendor/commerceguys/intl/resources/language/kok.json
index 7c4a9044d..ad678bfb7 100644
--- a/vendor/commerceguys/intl/resources/language/kok.json
+++ b/vendor/commerceguys/intl/resources/language/kok.json
@@ -18,7 +18,6 @@
"it": "इटालियन",
"yi": "इद्दिष्",
"et": "इस्टोनियन्",
- "eo": "इस्परान्टो",
"smn": "ईनारी सामी",
"uz": "उझबेक",
"nd": "उत्तर न्डेबेले",
@@ -33,9 +32,8 @@
"ga": "ऐरिष",
"de-AT": "ऑस्ट्रियन जर्मन",
"en-AU": "ऑस्ट्रेलियन इंग्लीश",
- "or": "ओरिया",
+ "or": "ओडिया",
"om": "ओरोमो",
- "vo": "ओलापुक",
"os": "ओसेटिक",
"kam": "कंबा",
"km": "कंबोडियन",
@@ -54,8 +52,8 @@
"rw": "किन्यार्वान्डा",
"ky": "किर्गिज़",
"ku": "कुर्दिष",
- "en-CA": "कॅनाडीयन इंग्लीश",
- "fr-CA": "कॅनाडीयन फ्रेन्च",
+ "en-CA": "कॅनडियन इंग्लीश",
+ "fr-CA": "कॅनडियन फ्रेंच",
"tzm": "केंद्रीय अटलास तामाझायट",
"kok": "कोंकणी",
"khq": "कोयरा छिनी",
@@ -71,7 +69,6 @@
"guz": "गुसी",
"gl": "गेलीशियन",
"el": "ग्रीक्",
- "cu": "चर्च स्लेव्हीक",
"cgg": "चिगा",
"ce": "चिचेन",
"zh": "चिनी",
@@ -114,20 +111,19 @@
"jgo": "न्गोंबा",
"nus": "न्युयर",
"pa": "पंजाबी",
- "fa": "पर्सियन",
+ "fa": "पर्शियन",
"fy": "पश्चिमी फ्रिशियन",
"zh-Hant": "पारंपारीक चिनी",
"ps": "पाष्टो",
- "pt": "पोर्तुगिज",
- "pl": "पोलिष",
- "zgh": "प्रमाणित मोरोक्कन तामाझायट",
- "prg": "प्रुसियन",
+ "pl": "पॉलीश",
+ "pt": "पोर्तुगीज",
+ "zgh": "प्रमाणीत मॉरोक्कन तमाझीट",
"fi": "फिन्निष्",
"fil": "फिलिपिनो",
"ff": "फुला",
"fo": "फेरोस्",
"fur": "फ्रिलियन",
- "fr": "फ्रेन्च",
+ "fr": "फ्रेंच",
"nl-BE": "फ्लेमिश",
"bm": "बंबारा",
"my": "बर्मीज़्",
@@ -158,33 +154,32 @@
"mt": "मालतीस्",
"mua": "मुडांग",
"mi": "मुरी",
- "gv": "मॅन्स",
- "es-MX": "मेक्सिकन स्पॅनिश",
+ "es-MX": "मॅक्सिकन स्पॅनीश",
"mgo": "मेटा",
"mer": "मेरू",
"mfe": "मोरिसेन",
"ro-MD": "मोल्डावियन्",
"yav": "यांगबेन",
"uk": "युक्रेनियन्",
- "pt-PT": "युरोपियन पोर्तुगिज",
+ "pt-PT": "युरोपियन पोर्तुगीज",
"yo": "यूरुबा",
"rwk": "रवा",
"ru": "रशियन",
"rn": "रुंदी",
- "rm": "रोमांन्श",
- "ro": "रोमानियन्",
+ "ro": "रोमानियन",
+ "rm": "रोमान्श",
"rof": "रोम्बो",
"lb": "लक्सेमबर्गीश",
"lag": "लांगी",
"lo": "लाओ",
"lkt": "लाकोटा",
"lv": "लाट्वियन् (लेट्टिष्)",
+ "es-419": "लातीं अमेरिकन स्पॅनीश",
"ln": "लिंगाला",
"lt": "लिथुआनियन्",
"luo": "लुओ",
"lu": "लुबा-काटांगा",
"luy": "लुय",
- "es-419": "लॅटिन अमेरिकन स्पॅनिश",
"dsb": "लोवर सोर्बियन",
"vai": "वाई",
"wa": "वालून",
@@ -192,30 +187,30 @@
"vi": "वियत्नामीज़",
"vun": "वुंजो",
"cy": "वेळ्ष्",
- "ksb": "शंबाला",
+ "ksb": "शांबाला",
"sn": "शोना",
"sah": "सखा",
"sr": "सर्बियन",
"sbp": "सांगू",
- "sg": "सांग्रो",
- "saq": "सांबारु",
+ "sg": "सांगो",
+ "saq": "साम्बरू",
"sd": "सिंधी",
"ii": "सिच्युआन यी",
- "si": "सिन्हलीस्",
+ "si": "सिनहालीस",
"ceb": "सिबौना",
"seh": "सेना",
"zh-Hans": "सोंपी चिनी",
"xog": "सोगा",
"so": "सोमाली",
- "gd": "स्काटस् गेलिक्",
- "es": "स्पॅनिश",
+ "gd": "स्कॉटीश गॅलीक",
+ "es": "स्पॅनीश",
"sk": "स्लोवाक",
- "sl": "स्लोवेनियन्",
+ "sl": "स्लोवानियन",
"sw": "स्वाहिली",
"gsw": "स्विज जर्मन",
- "fr-CH": "स्वीझ फ्रेन्च",
- "de-CH": "स्वीझ म्हान जर्मन",
- "sv": "स्वीदीष",
+ "fr-CH": "स्विझ फ्रेंच",
+ "de-CH": "स्विझ हाय जर्मन",
+ "sv": "स्विडीश",
"hu": "हंगेरियन्",
"haw": "हवायियान",
"hi": "हिन्दी",
diff --git a/vendor/commerceguys/intl/resources/language/ks.json b/vendor/commerceguys/intl/resources/language/ks.json
index 55c61fa2d..bde1c2933 100644
--- a/vendor/commerceguys/intl/resources/language/ks.json
+++ b/vendor/commerceguys/intl/resources/language/ks.json
@@ -34,7 +34,6 @@
"jgo": "Ngomba",
"lrc": "Northern Luri",
"nus": "Nuer",
- "prg": "Prussian",
"rof": "Rombo",
"rwk": "Rwa",
"saq": "Samburu",
@@ -73,7 +72,6 @@
"or": "اۆرِیا",
"os": "اۆسیٹِک",
"ga": "اَیرِش",
- "eo": "ایسپَرینٹو",
"ast": "ایسٹوٗریَن",
"et": "ایسٹونیَن",
"ee": "ایٖو",
@@ -110,7 +108,6 @@
"ka": "جارجِیَن",
"de": "جٔرمَن",
"jv": "جَوَنیٖز",
- "cu": "چٔرچ سلاوِک",
"ce": "چیچَن",
"chr": "چیروکی",
"cs": "چیک",
@@ -200,7 +197,6 @@
"mn": "مَنگولی",
"ro-MD": "مولداوِیَن",
"mk": "میکَڈونیَن",
- "gv": "مینکس",
"nb": "ناروییَن بوکمال",
"nn": "ناروییَن نَے نورسک",
"ne": "نیپٲلۍ",
@@ -212,7 +208,6 @@
"hsb": "ہیرِم ساربِیَن",
"vai": "واے",
"wa": "وَلوٗن",
- "vo": "وولَپُک",
"wo": "وولوف",
"vi": "وِیَتنَمیٖز",
"cy": "ویلش",
diff --git a/vendor/commerceguys/intl/resources/language/ksb.json b/vendor/commerceguys/intl/resources/language/ksb.json
deleted file mode 100644
index 05093af6e..000000000
--- a/vendor/commerceguys/intl/resources/language/ksb.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "ar": "Kialabu",
- "am": "Kiamhali",
- "bn": "Kibangla",
- "be": "Kibelaausi",
- "bg": "Kibulgalia",
- "my": "Kibulma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "fr": "Kifalansa",
- "fr-CA": "Kifalansa (Kanada)",
- "fr-CH": "Kifalansa (Uswisi)",
- "el": "Kigiiki",
- "ha": "Kihausa",
- "hi": "Kihindi",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (BE)",
- "hu": "Kihungai",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "en": "Kiingeeza",
- "en-AU": "Kiingeeza (Austlalia)",
- "en-CA": "Kiingeeza (Kanada)",
- "en-GB": "Kiingeeza (Uingeeza)",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijeumani",
- "de-AT": "Kijeumani (Austlia)",
- "de-CH": "Kijeumani (Uswisi)",
- "km": "Kikambodia",
- "ko": "Kikolea",
- "ki": "Kikuyu",
- "pt": "Kileno",
- "pt-PT": "Kileno (Uleno)",
- "ru": "Kilusi",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "rw": "Kinyalwanda",
- "ro": "Kiomania",
- "ro-MD": "Kiomania (Moldova)",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "ksb": "Kishambaa",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "tr": "Kituuki",
- "uk": "Kiuklania",
- "ur": "Kiuldu",
- "vi": "Kivietinamu",
- "yo": "Kiyoluba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuli ya Kidemoklasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ksf.json b/vendor/commerceguys/intl/resources/language/ksf.json
deleted file mode 100644
index e03a226dc..000000000
--- a/vendor/commerceguys/intl/resources/language/ksf.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (kǝlɔŋ kǝ ázǝ)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "ak": "riakan",
- "am": "riamarik",
- "ar": "riarab",
- "be": "ribɛlɔrís",
- "bn": "ribɛngáli",
- "my": "ribirmán",
- "bg": "ribulgarí",
- "cs": "ricɛ́k",
- "zh": "ricinɔá",
- "zh-Hans": "ricinɔá (Hans)",
- "zh-Hant": "ricinɔá (Hant)",
- "de": "ridjɛrman",
- "de-AT": "ridjɛrman (otric)",
- "de-CH": "ridjɛrman (swís)",
- "el": "rigrɛ́k",
- "ig": "riigbo",
- "hi": "riíndí",
- "id": "riindonɛsí",
- "en": "riingɛrís",
- "en-CA": "riingɛrís (kanada)",
- "en-GB": "riingɛrís (kǝlɔŋ kǝ kǝtáatáaŋzǝn)",
- "en-AU": "riingɛrís (ɔstralí)",
- "it": "riitalyɛ́n",
- "ja": "rijapɔ́ŋ",
- "jv": "rijawanɛ́",
- "ha": "rikaksa",
- "km": "rikmɛr",
- "ko": "rikɔrɛɛ́",
- "ksf": "rikpa",
- "es": "rikpanyá",
- "es-419": "rikpanyá (419)",
- "es-MX": "rikpanyá (mɛksík)",
- "ms": "rimalaí",
- "ne": "rinepalɛ́",
- "nl": "riɔlándɛ́",
- "nl-BE": "riɔlándɛ́ (bɛljík)",
- "hu": "riɔngrɔá",
- "pa": "ripɛnjabí",
- "fr": "ripɛrɛsǝ́",
- "fr-CA": "ripɛrɛsǝ́ (kanada)",
- "fr-CH": "ripɛrɛsǝ́ (swís)",
- "fa": "ripɛrsán",
- "pl": "ripɔlɔ́n",
- "pt": "ripɔrtugɛ́",
- "pt-PT": "ripɔrtugɛ́ (portugál)",
- "ru": "rirís",
- "ro": "rirɔmán",
- "ro-MD": "rirɔmán (mɔldaví)",
- "rw": "rirwanda",
- "so": "risomalí",
- "sv": "riswɛ́dǝ",
- "th": "ritaí",
- "ta": "ritamúl",
- "tr": "riturk",
- "uk": "riukrɛ́n",
- "ur": "riurdú",
- "vi": "riwyɛtnám",
- "yo": "riyúuba",
- "zu": "rizúlu",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (kɔngó anyɔ́n)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ksh.json b/vendor/commerceguys/intl/resources/language/ksh.json
deleted file mode 100644
index 417a53b63..000000000
--- a/vendor/commerceguys/intl/resources/language/ksh.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghehmesch",
- "ak": "Akahnesch",
- "sq": "Albahnesch",
- "am": "Amhahresch",
- "en": "Änglesch",
- "en-AU": "Änglesch uß Außtrahlije",
- "en-GB": "Änglesch uß Jruhßbrettannije",
- "en-CA": "Änglesch uß Kanada",
- "ar": "Arahbesch",
- "hy": "Armehnesch",
- "as": "Aßamehsesch",
- "az": "Asserbaidschahnesch",
- "et": "Äßnesch",
- "ast": "Astuhrejahnesch",
- "ksf": "Bafijahnesch",
- "bm": "Bambara",
- "bn": "Bängjahlesch",
- "bas": "Basaa-Schprohche",
- "eu": "Baskesch",
- "bem": "Bemba",
- "bez": "Bena",
- "br": "Bettohnesch",
- "brx": "Boddo",
- "bs": "Boßnesch",
- "hsb": "Bovversorrbesch",
- "bg": "Bulljahresch",
- "my": "Burmehsesch",
- "dz": "Butahnesch",
- "kde": "Chimakonde",
- "da": "Dähnesch",
- "dav": "Dawedahnesch",
- "de": "Deutsch",
- "de-CH": "Deutsch uß de Schweijz",
- "de-AT": "Deutsch uß Öhßterich",
- "dje": "Djerma",
- "dua": "Du’ala",
- "eo": "Esperanto",
- "it": "Etalljähnesch",
- "ee": "Ewe",
- "ewo": "Ewonndo",
- "fo": "Färröhresch",
- "fil": "Fillipihnesch",
- "fi": "Finnesch",
- "nl-BE": "Flähmesch",
- "fr": "Franzühsesch",
- "fr-CH": "Franzühsesch uß de Schweijz",
- "fr-CA": "Franzühsesch uß Kanada",
- "fur": "Frijauhlesch",
- "ff": "Fulfulde",
- "guz": "Gusii",
- "gu": "Gutscharatesch",
- "nmg": "Gyele",
- "haw": "Hauajahnesch",
- "ha": "Haußa",
- "he": "Hebrähjesch",
- "hi": "Hinndi",
- "nl": "Holländesch",
- "ig": "Igbo",
- "ga": "Ihresch",
- "smn": "Inahri Lappländesch",
- "id": "Indonehsesch",
- "xh": "Isi-Khohsa",
- "is": "Ißlänndesch",
- "sah": "Jackutesch",
- "gl": "Jallihzesch",
- "ja": "Japahnesch",
- "jv": "Javahnesch",
- "ka": "Je’orjesch",
- "yi": "Jiddesch",
- "dyo": "Jola-Fonyisch",
- "yo": "Joruhba",
- "el": "Jrihschesch",
- "kl": "Jröhnländesch",
- "rn": "K-Rundesch",
- "kab": "Kabyhlesch",
- "kkj": "Kako",
- "kln": "Kaländjihnesch",
- "kam": "Kamba vun Kehnija",
- "kn": "Kannada",
- "yue": "Kanton-Schinehsesch",
- "kea": "Kapvärdesch",
- "ks": "Kaschmihresch",
- "kk": "Kassakkesch",
- "ca": "Kattalahnesch",
- "qu": "Kättschowa",
- "cu": "Kerscheßlahwesch",
- "km": "Khmer",
- "ebu": "Kîembu",
- "cgg": "Kihja-Schprohch",
- "lu": "Kiluba",
- "rw": "Kinja-Ruandesch",
- "ky": "Kirjihsesch",
- "rof": "Kirombo",
- "khq": "Kojra Tschihni",
- "ses": "Kojraboro Senni",
- "ksh": "Kölsch",
- "kok": "Kon’kahnesch",
- "kw": "Kornesch",
- "ko": "Korrejaanesch",
- "hr": "Krowatesch",
- "ku": "Kurrdesch",
- "lo": "Lahootesch",
- "lkt": "Lakota",
- "lag": "Lango",
- "lv": "Lättesch",
- "ln": "Lingjalla",
- "lt": "Littouesch",
- "nds": "Low German",
- "lg": "Lugannda",
- "luy": "Luhjesch",
- "luo": "Luo",
- "lb": "Luxemborjesch",
- "mi": "Ma’ohresch",
- "jmc": "Machame",
- "mg": "Madajaßkesch",
- "mgh": "Makhuwa-Meetto",
- "ms": "Mallaijesch",
- "ml": "Mallajalam",
- "mt": "Maltehsesch",
- "gv": "Mangx",
- "mr": "Marrahtesch",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mk": "Mazedohnesch",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongjohlesch",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "Nehdersaksesch en de Nederläng",
- "ne": "Nepallehsesch",
- "nn": "Neu Norrwehjesch",
- "dsb": "Niddersorbesch",
- "nnh": "Njijembohn",
- "jgo": "Njomba",
- "se": "Nood-Lappländesch",
- "lrc": "Nood-Luhresch",
- "nd": "Nood-Ndebele",
- "nb": "Norrwehjesch Bokmål",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Oriija",
- "om": "Oromo",
- "os": "Oßeetesch",
- "pa": "Panschaabesch",
- "asa": "Pare",
- "fa": "Pärsesch",
- "ps": "Paschtuunesch",
- "pt": "Pochtojesesch",
- "pt-PT": "Pochtojesesch uß Pochtojall",
- "pl": "Pollnesch",
- "prg": "Prussian",
- "rm": "Rätoromaanesch",
- "ki": "Rekohjo",
- "ro": "Rumänesch",
- "ro-MD": "Rumänesch en Moldaavije",
- "ru": "Rußßesch",
- "rwk": "Rwa",
- "saq": "Samburu",
- "sg": "Sangjo",
- "sbp": "Sangu",
- "sr": "Särbesch",
- "sn": "Schi-Schona",
- "zh-Hans": "Schinehsesch (eijfache Schreff)",
- "zh": "Schinehsesch (Mandarin)",
- "zh-Hant": "Schinehsesch (tradizjonälle Schreff)",
- "es": "Schpahnesch",
- "es-MX": "Schpahnesch en Mäxikoh",
- "es-419": "Schpahnesch uß Latting-Ammärrika",
- "sv": "Schwehdesch",
- "gsw": "Schwitzerdütsch",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "ksb": "Shambala",
- "ii": "Sichuan Yi",
- "si": "Singjaleesesch",
- "sd": "Sinndi",
- "xog": "Soga",
- "so": "Somahlesch",
- "sk": "ẞlovakesch",
- "sl": "ẞloveenesch",
- "zgh": "Standard Moroccan Tamazight",
- "sw": "Suahehlesch",
- "sw-CD": "Suahehlesch en dä Konggo [Kinschasa]",
- "zu": "Suhlu",
- "tg": "Tadschihkesch",
- "th": "Tailändesch",
- "tzm": "Tamasicht ussem meddlere Atlas",
- "ta": "Tamihlesch",
- "twq": "Tasawaq",
- "shi": "Taschelhittesch",
- "tt": "Tattahresch",
- "te": "Telluhju",
- "teo": "Teso",
- "bo": "Tibehtesch",
- "ti": "Tijrenejahnesch",
- "to": "Tongjahnesch",
- "tr": "Törkesch",
- "tk": "Törkmehnesch",
- "chr": "Tschärrokeh",
- "cs": "Tschäschesch",
- "ce": "Tschätschehnesch",
- "ug": "Uj’juhresch",
- "uk": "Ukrainesch",
- "hu": "Unnjarresch",
- "ur": "Urdu\/Hindi",
- "uz": "Ußbehkesch",
- "vai": "Vai",
- "vi": "Vijätnammehsesch",
- "vo": "Volapük",
- "vun": "Vunjo",
- "cy": "Wallihsesch",
- "wa": "Walohnesch",
- "wae": "Walserdütsch",
- "fy": "Wäßfrihsesch",
- "be": "Wiißrußesch",
- "wo": "Woloff",
- "yav": "Yangben",
- "ckb": "Zäntrahl-Kurrdesch",
- "ceb": "Zebuwahnesch"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ku.json b/vendor/commerceguys/intl/resources/language/ku.json
index 1d066d5a0..0e31c3e07 100644
--- a/vendor/commerceguys/intl/resources/language/ku.json
+++ b/vendor/commerceguys/intl/resources/language/ku.json
@@ -22,7 +22,6 @@
"my": "burmayî",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"dz": "conxayî",
"ce": "çeçenî",
"cs": "çekî",
@@ -37,7 +36,6 @@
"ebu": "Embu",
"ar": "erebî",
"hy": "ermenî",
- "eo": "esperantoyî",
"et": "estonî",
"ee": "eweyî",
"ewo": "Ewondo",
@@ -117,7 +115,6 @@
"ml": "malayalamî",
"ms": "malezî",
"mt": "maltayî",
- "gv": "manksî",
"mi": "maorî",
"mr": "maratî",
"mas": "masayî",
@@ -147,7 +144,6 @@
"pl": "polonî",
"pt": "portugalî",
"pt-PT": "portugalî (Portûgal)",
- "prg": "prûsyayî",
"pa": "puncabî",
"kk": "qazaxî",
"ksh": "rîpwarî",
@@ -204,7 +200,6 @@
"ur": "urdûyî",
"vai": "Vai",
"vi": "viyetnamî",
- "vo": "volapûkî",
"vun": "Vunjo",
"wa": "walonî",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/ky.json b/vendor/commerceguys/intl/resources/language/ky.json
index eac7a728a..930e00cea 100644
--- a/vendor/commerceguys/intl/resources/language/ky.json
+++ b/vendor/commerceguys/intl/resources/language/ky.json
@@ -35,7 +35,6 @@
"wa": "валлончо",
"wae": "валцерче",
"hu": "венгерче",
- "vo": "волапюкча",
"vun": "вунжочо",
"vi": "вьетнамча",
"haw": "гавайча",
@@ -124,7 +123,6 @@
"mn": "монголчо",
"mfe": "морисианча",
"mua": "мундангча",
- "gv": "мэнксыча",
"naq": "намача",
"nnh": "нгимбунча",
"jgo": "нгомбача",
@@ -144,7 +142,6 @@
"pl": "полякча",
"pt": "португалча",
"pt-PT": "португалча (Европа)",
- "prg": "пруссча",
"pa": "пунжабиче",
"ps": "пуштуча",
"rm": "романшча",
@@ -210,7 +207,6 @@
"cs": "чехче",
"ce": "чеченче",
"cgg": "чигача",
- "cu": "чиркөө славянча",
"ksb": "шамабалача",
"sv": "шведче",
"sn": "шонача",
@@ -218,7 +214,6 @@
"ee": "эбече",
"ewo": "эвондочо",
"ebu": "эмбуча",
- "eo": "эсперанто",
"et": "эстончо",
"yav": "янгбенче"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lag.json b/vendor/commerceguys/intl/resources/language/lag.json
deleted file mode 100644
index aa690994a..000000000
--- a/vendor/commerceguys/intl/resources/language/lag.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ig": "Kiígibo",
- "ki": "Kikuyu",
- "fa": "Kɨajéemi",
- "ak": "Kɨakáani",
- "ar": "Kɨaráabu",
- "my": "Kɨbáama",
- "bn": "Kɨbangála",
- "be": "Kɨberalúusi",
- "bg": "Kɨbulugária",
- "cs": "Kɨchéeki",
- "zh": "Kɨchíina",
- "zh-Hans": "Kɨchíina (Hans)",
- "zh-Hant": "Kɨchíina (Hant)",
- "fr": "Kɨfaráansa",
- "fr-CA": "Kɨfaráansa (Kánada)",
- "fr-CH": "Kɨfaráansa (Uswíisi)",
- "el": "Kɨgiríki",
- "ha": "Kɨhaúusa",
- "hi": "Kɨhíindi",
- "es": "Kɨhispánia",
- "es-419": "Kɨhispánia (419)",
- "es-MX": "Kɨhispánia (Mekisiko)",
- "nl": "Kɨholáanzi",
- "nl-BE": "Kɨholáanzi (Ʉbeligíiji)",
- "hu": "Kɨhungári",
- "id": "Kɨɨndonésia",
- "en": "Kɨɨngeréesa",
- "en-AU": "Kɨɨngeréesa (Ausiteréelia)",
- "en-CA": "Kɨɨngeréesa (Kánada)",
- "en-GB": "Kɨɨngeréesa (Ʉɨngeréesa)",
- "jv": "Kɨjáava",
- "ja": "Kɨjapáani",
- "de": "Kɨjerʉmáani",
- "de-AT": "Kɨjerʉmáani (Áusitiria)",
- "de-CH": "Kɨjerʉmáani (Uswíisi)",
- "km": "Kɨkambódia",
- "ko": "Kɨkoréa",
- "lag": "Kɨlaangi",
- "ms": "Kɨmelésia",
- "am": "Kɨmʉháari",
- "ne": "Kɨnepáali",
- "rw": "Kɨnyarwáanda",
- "pl": "Kɨpólandi",
- "pa": "Kɨpúnjabi",
- "pt": "Kɨréeno",
- "pt-PT": "Kɨréeno (Ʉréeno)",
- "ro": "Kɨromanía",
- "ro-MD": "Kɨromanía (Molidóova)",
- "ru": "Kɨrúusi",
- "so": "Kɨsómáali",
- "sv": "Kɨswíidi",
- "th": "Kɨtáilandi",
- "it": "Kɨtaliáano",
- "ta": "Kɨtamíili",
- "tr": "Kɨturúuki",
- "uk": "Kɨukɨranía",
- "ur": "Kɨúrdu",
- "vi": "Kɨvietináamu",
- "yo": "Kɨyorúuba",
- "zu": "Kɨzúulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Ʉholáanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamuhúuri ya Kɨdemokurasía ya Kóongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lb.json b/vendor/commerceguys/intl/resources/language/lb.json
index 377e9043c..709e0db88 100644
--- a/vendor/commerceguys/intl/resources/language/lb.json
+++ b/vendor/commerceguys/intl/resources/language/lb.json
@@ -35,7 +35,6 @@
"dua": "Duala",
"de-AT": "Éisträichescht Däitsch",
"en": "Englesch",
- "eo": "Esperanto",
"et": "Estnesch",
"pt-PT": "Europäescht Portugisesch",
"ee": "Ewe-Sprooch",
@@ -84,7 +83,6 @@
"ks": "Kaschmiresch",
"ca": "Katalanesch",
"ebu": "Kiembu",
- "cu": "Kiercheslawesch",
"cgg": "Kiga",
"ki": "Kikuyu-Sprooch",
"ky": "Kirgisesch",
@@ -106,7 +104,6 @@
"lb": "Lëtzebuergesch",
"ln": "Lingala",
"lt": "Litauesch",
- "nds-NL": "Low Saxon",
"lu": "Luba-Katanga",
"luo": "Luo-Sprooch",
"jmc": "Machame",
@@ -116,7 +113,6 @@
"ms": "Malaiesch",
"ml": "Malayalam",
"mt": "Maltesesch",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"zgh": "Marokkanescht Standard-Tamazight",
@@ -136,6 +132,7 @@
"nnh": "Ngiemboon",
"jgo": "Ngomba",
"nds": "Nidderdäitsch",
+ "nds-NL": "Nidderdäitsch (Holland)",
"dsb": "Niddersorbesch",
"nd": "Nord-Ndebele-Sprooch",
"se": "Nordsamesch",
@@ -153,7 +150,6 @@
"fa": "Persesch",
"pl": "Polnesch",
"pt": "Portugisesch",
- "prg": "Preisesch",
"qu": "Quechua",
"rm": "Rätoromanesch",
"rof": "Rombo",
@@ -208,7 +204,6 @@
"uz": "Usbekesch",
"vai": "Vai-Sprooch",
"vi": "Vietnamesesch",
- "vo": "Volapük",
"vun": "Vunjo",
"be": "Wäissrussesch",
"cy": "Walisesch",
diff --git a/vendor/commerceguys/intl/resources/language/lg.json b/vendor/commerceguys/intl/resources/language/lg.json
deleted file mode 100644
index 05bf305ba..000000000
--- a/vendor/commerceguys/intl/resources/language/lg.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "ak": "Lu-akaani",
- "am": "Lu-amhariki",
- "ur": "Lu-urudu",
- "lu": "Luba-Katanga",
- "my": "Lubbama",
- "be": "Lubelarusi",
- "bn": "Lubengali",
- "bg": "Lubulugariya",
- "zh": "Lucayina",
- "zh-Hans": "Lucayina (Hans)",
- "zh-Hant": "Lucayina (Hant)",
- "cs": "Luceeke",
- "de": "Ludaaki",
- "de-AT": "Ludaaki (Awusituriya)",
- "de-CH": "Ludaaki (Switizirandi)",
- "fr": "Lufalansa",
- "fr-CA": "Lufalansa (Kanada)",
- "fr-CH": "Lufalansa (Switizirandi)",
- "lg": "Luganda",
- "el": "Lugereeki\/Luyonaani",
- "hu": "Luhangare",
- "ha": "Luhawuza",
- "hi": "Luhindu",
- "nl": "Luholandi",
- "nl-BE": "Luholandi (Bubirigi)",
- "ja": "Lujapani",
- "km": "Lukme",
- "ko": "Lukoreya",
- "ru": "Lulasa",
- "ro": "Lulomaniya",
- "ro-MD": "Lulomaniya (Molodova)",
- "ms": "Lumalayi",
- "rw": "Lunarwanda",
- "ne": "Lunepali",
- "en": "Lungereza",
- "en-AU": "Lungereza (Awusitureliya)",
- "en-GB": "Lungereza (Bungereza)",
- "en-CA": "Lungereza (Kanada)",
- "jv": "Lunnajjava",
- "luo": "Luo",
- "fa": "Luperusi",
- "pl": "Lupolandi",
- "pt": "Lupotugiizi",
- "pt-PT": "Lupotugiizi (Potugaali)",
- "pa": "Lupunjabi",
- "es": "Lusipanya",
- "es-419": "Lusipanya (419)",
- "es-MX": "Lusipanya (Mekisiko)",
- "so": "Lusomaliya",
- "sv": "Luswideni",
- "tr": "Lutake",
- "ta": "Lutamiiru",
- "th": "Luttaayi",
- "vi": "Luvyetinaamu",
- "ar": "Luwarabu",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "ig": "Luyibo",
- "id": "Luyindonezya",
- "it": "Luyitale",
- "yo": "Luyoruba",
- "uk": "Luyukurayine",
- "zu": "Luzzulu",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Holandi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Kongo - Zayire)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lkt.json b/vendor/commerceguys/intl/resources/language/lkt.json
deleted file mode 100644
index a44bc3862..000000000
--- a/vendor/commerceguys/intl/resources/language/lkt.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans Iyápi",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albanian Iyápi",
- "am": "Amharic Iyápi",
- "ar": "Arab Iyápi",
- "hy": "Armenia Iyápi",
- "as": "Assamese Iyápi",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani Iyápi",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque Iyápi",
- "be": "Belarus Iyápi",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali Iyápi",
- "brx": "Bodo",
- "bs": "Bosnia Iyápi",
- "br": "Breton",
- "bg": "Bulgar Iyápi",
- "my": "Burmese Iyápi",
- "yue": "Cantonese",
- "ca": "Catalan Iyápi",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen Iyápi",
- "chr": "Cherokee Iyápi",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian Iyápi",
- "cs": "Czech Iyápi",
- "da": "Dane Iyápi",
- "dua": "Duala",
- "nl": "Dutch Iyápi",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto Iyápi",
- "et": "Estonia Iyápi",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese Iyápi",
- "fil": "Filipino Iyápi",
- "fi": "Finnish Iyápi",
- "nl-BE": "Flemish Iyápi",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician Iyápi",
- "lg": "Ganda",
- "ka": "Georia Iyápi",
- "el": "Greece Iyápi",
- "gu": "Gujarati Iyápi",
- "guz": "Gusii",
- "ha": "Hausa Iyápi",
- "haw": "Hawaiian Iyápi",
- "he": "Hebrew Iyápi",
- "hi": "Hindi Iyápi",
- "hu": "Hungary Iyápi",
- "is": "Iceland Iyápi",
- "ig": "Igbo Iyápi",
- "smn": "Inari Sami",
- "id": "Indonesia Iyápi",
- "ga": "Irish Iyápi",
- "it": "Italia Iyápi",
- "de": "Iyášiča Iyápi",
- "de-AT": "Iyášiča Iyápi (AT)",
- "de-CH": "Iyášiča Iyápi (CH)",
- "jv": "Java Iyápi",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada Iyápi",
- "ks": "Kashmir Iyápi",
- "kk": "Kazakh Iyápi",
- "km": "Khmer Iyápi",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "ky": "Kirghiz Iyápi",
- "ja": "Kisúŋla Iyápi",
- "kok": "Konkani",
- "ko": "Korea Iyápi",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurd Iyápi",
- "nmg": "Kwasio",
- "lkt": "Lakȟólʼiyapi",
- "lag": "Langi",
- "lo": "Lao Iyápi",
- "lv": "Latvia Iyápi",
- "ln": "Lingala",
- "lt": "Lithuania Iyápilt",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourg Iyápi",
- "luy": "Luyia",
- "mk": "Macedonia Iyápi",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy Iyápi",
- "ms": "Malay Iyápi",
- "ml": "Malayalam Iyápi",
- "mt": "Maltese Iyápi",
- "gv": "Manx",
- "mi": "Maori Iyápi",
- "mr": "Marathi Iyápi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (NL)",
- "ne": "Nepal Iyápi",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Oriya Iyápi",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto Iyápi",
- "fa": "Persian Iyápi",
- "zh": "Pȟečhókaŋ Háŋska Iyápi",
- "zh-Hant": "Pȟečhókaŋ Háŋska Iyápi Ȟče",
- "zh-Hans": "Pȟečhókaŋ Háŋska Iyápi Ikčéka",
- "pl": "Polish Iyápi",
- "pt": "Portuguese Iyápi",
- "pt-PT": "Portuguese Iyápi (PT)",
- "prg": "Prussian",
- "pa": "Punjabi Iyápi",
- "qu": "Quechua Iyápi",
- "ro": "Romanian Iyápi",
- "ro-MD": "Romanian Iyápi (MD)",
- "rm": "Romansh Iyápi",
- "rof": "Rombo",
- "rn": "Rundi",
- "ru": "Russia Iyápi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbia Iyápi",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi Iyápi",
- "si": "Sinhala Iyápi",
- "sk": "Slovak Iyápi",
- "sl": "Slovenian Iyápi",
- "xog": "Soga",
- "so": "Somali Iyápi",
- "es": "Spayóla Iyápi",
- "es-MX": "Spayóla Iyápi (Spayóla Makȟóčhe)",
- "zgh": "Standard Moroccan Tamazight",
- "sw": "Swahili Iyápi",
- "sw-CD": "Swahili Iyápi (CD)",
- "sv": "Swedish Iyápi",
- "gsw": "Swiss German",
- "en-GB": "Šagláša Wašíčuiyapi",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik Iyápi",
- "ta": "Tamil Iyápi",
- "twq": "Tasawaq",
- "tt": "Tatar Iyápi",
- "te": "Telugu Iyápi",
- "teo": "Teso",
- "th": "Thai Iyápi",
- "bo": "Tibetan Iyápi",
- "ti": "Tigrinya Iyápi",
- "to": "Tongan Iyápi",
- "tr": "Turkish Iyápi",
- "tk": "Turkmen Iyápi",
- "uk": "Ukrain Iyápi",
- "hsb": "Upper Sorbian",
- "ur": "Urdu Iyápi",
- "ug": "Uyghur Iyápi",
- "uz": "Uzbek Iyápi",
- "vai": "Vai",
- "vi": "Vietnamese Iyápi",
- "vo": "Volapük",
- "vun": "Vunjo",
- "cy": "Wales Iyápi",
- "wa": "Walloon",
- "wae": "Walser",
- "fr": "Wašíču Ikčéka Iyápi",
- "fr-CH": "Wašíču Ikčéka Iyápi (CH)",
- "fr-CA": "Wašíču Ikčéka Iyápi (Uŋčíyapi Makȟóčhe)",
- "en": "Wašíčuiyapi",
- "en-AU": "Wašíčuiyapi (AU)",
- "en-CA": "Wašíčuiyapi (Uŋčíyapi Makȟóčhe)",
- "fy": "Western Frisian",
- "es-419": "Wiyóȟpeyata Spayóla Iyápi",
- "wo": "Wolof Iyápi",
- "xh": "Xhosa Iyápi",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba Iyápi",
- "dje": "Zarma",
- "zu": "Zulu Iyápi"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ln.json b/vendor/commerceguys/intl/resources/language/ln.json
deleted file mode 100644
index d04aa7c10..000000000
--- a/vendor/commerceguys/intl/resources/language/ln.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "akan",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "hausa",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "ig": "igbo",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "rw": "kinyarwanda",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ar": "lialabo",
- "de": "lialemá",
- "de-AT": "lialemá (Otilisi)",
- "de-CH": "lialemá (Swisɛ)",
- "am": "liamariki",
- "bn": "libengali",
- "bg": "libiligali",
- "my": "libilimá",
- "be": "libyelorisí",
- "nl": "lifalamá",
- "nl-BE": "lifalamá (Beleziki)",
- "fr": "lifalansɛ́",
- "fr-CA": "lifalansɛ́ (Kanada)",
- "fr-CH": "lifalansɛ́ (Swisɛ)",
- "el": "ligeleki",
- "hi": "lihindi",
- "km": "likambodza",
- "ko": "likoreya",
- "uk": "likrɛni",
- "ms": "limalezi",
- "id": "lindonezi",
- "ne": "linepalɛ",
- "ln": "lingála",
- "en": "lingɛlɛ́sa",
- "en-GB": "lingɛlɛ́sa (Angɛlɛtɛ́lɛ)",
- "en-CA": "lingɛlɛ́sa (Kanada)",
- "en-AU": "lingɛlɛ́sa (Ositáli)",
- "hu": "liongili",
- "fa": "lipelésanɛ",
- "pa": "lipendzabi",
- "pl": "lipolonɛ",
- "pt": "lipulutugɛ́si",
- "pt-PT": "lipulutugɛ́si (Putúlugɛsi)",
- "ru": "lirisí",
- "ro": "liromani",
- "ro-MD": "liromani (Molidavi)",
- "zh": "lisinwa",
- "zh-Hans": "lisinwa (Hans)",
- "zh-Hant": "lisinwa (Hant)",
- "es": "lisipanye",
- "es-419": "lisipanye (419)",
- "es-MX": "lisipanye (Meksike)",
- "so": "lisomali",
- "sv": "lisuwedɛ",
- "it": "litaliano",
- "ta": "litamuli",
- "th": "litaye",
- "lt": "Lithuanian",
- "tr": "litiliki",
- "cs": "litshekɛ",
- "ur": "liurdu",
- "vi": "liviyetinámi",
- "ja": "lizapɔ",
- "jv": "lizava",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Olandɛ)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Republíki ya Kongó Demokratíki)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "yoruba",
- "dje": "Zarma",
- "zu": "zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lo.json b/vendor/commerceguys/intl/resources/language/lo.json
index 680cdc006..356956e4d 100644
--- a/vendor/commerceguys/intl/resources/language/lo.json
+++ b/vendor/commerceguys/intl/resources/language/lo.json
@@ -108,9 +108,7 @@
"be": "ເບລາຣັສຊຽນ",
"bn": "ເບັງກາລີ",
"bem": "ເບັມບາ",
- "cu": "ໂບດສລາວິກ",
"brx": "ໂບດູ",
- "prg": "ປຣັສຊຽນ",
"pt": "ປອກຕຸຍກິສ",
"pt-PT": "ປອກຕຸຍກິສ ຢຸໂຣບ",
"pa": "ປັນຈາບີ",
@@ -145,7 +143,6 @@
"mgo": "ເມທາ",
"mer": "ເມຣູ",
"es-MX": "ເມັກຊິກັນ ສະແປນນິຊ",
- "gv": "ແມງຊ໌",
"mk": "ແມຊິໂດນຽນ",
"ro-MD": "ໂມດາວຽນ",
"zgh": "ໂມຣັອກແຄນ ທາມາຊີກ ມາດຕະຖານ",
@@ -177,7 +174,6 @@
"vun": "ວັນໂຈ",
"wae": "ວາເຊີ",
"cy": "ເວວ",
- "vo": "ໂວລາພັກ",
"vai": "ໄວ",
"vi": "ຫວຽດນາມ",
"os": "ອອດເຊຕິກ",
@@ -208,7 +204,6 @@
"ug": "ອຸຍເຄີ",
"ur": "ອູຣດູ",
"et": "ເອສໂຕນຽນ",
- "eo": "ເອສປາຍ",
"nd": "ເອັນເດເບເລເໜືອ",
"ebu": "ເອັມບູ",
"or": "ໂອຣິຢາ",
diff --git a/vendor/commerceguys/intl/resources/language/lrc.json b/vendor/commerceguys/intl/resources/language/lrc.json
deleted file mode 100644
index 8ae0c985b..000000000
--- a/vendor/commerceguys/intl/resources/language/lrc.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "ast": "Asturian",
- "bas": "Basaa",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "cs": "Czech",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "ff": "Fulah",
- "kkj": "Kako",
- "nnh": "Ngiemboon",
- "os": "Ossetic",
- "prg": "Prussian",
- "sah": "Sakha",
- "gd": "Scottish Gaelic",
- "vo": "Volapük",
- "wa": "Walloon",
- "wae": "Walser",
- "yav": "Yangben",
- "yi": "Yiddish",
- "az": "آذأربایئجانی ھارگە",
- "as": "آسامی",
- "asa": "آسوٙ",
- "af": "آفریکانس",
- "agq": "آقئم",
- "ak": "آکان",
- "sq": "آلبانی",
- "de": "آلمانی",
- "de-AT": "آلمانی ئوتریشی",
- "gsw": "آلمانی سوٙئیسی",
- "de-CH": "آلمانی سوٙییسی",
- "nds-NL": "آلمانی ھارگە جا",
- "nds": "آلمانی ھاری",
- "ar": "أرأڤی",
- "hy": "أرمأنی",
- "am": "أمھأری",
- "id": "أندونئزیایی",
- "eo": "ئسپئرانتو",
- "es": "ئسپانیایی",
- "es-419": "ئسپانیایی ئمریکا لاتین",
- "es-MX": "ئسپانیایی مئکزیک",
- "et": "ئستونیایی",
- "sl": "ئسلوڤئنیایی",
- "sk": "ئسلوڤاکی",
- "ee": "ئڤئ",
- "ebu": "ئمبو",
- "ur": "ئوردوٙ",
- "om": "ئوروموٙ",
- "or": "ئوریا",
- "uz": "ئوزبأکی",
- "uk": "ئوکراینی",
- "ug": "ئویغوٙر",
- "it": "ئیتالیایی",
- "ga": "ئیرلأندی",
- "is": "ئیسلأندی",
- "ig": "ئیگبو",
- "smn": "ئیناری سامی",
- "en": "ئینگیلیسی",
- "en-AU": "ئینگیلیسی ئوستارالیایی",
- "en-GB": "ئینگیلیسی بئریتانیایی",
- "en-CA": "ئینگیلیسی کانادایی",
- "bn": "بأنگالی",
- "br": "بئرئتون",
- "my": "بئرمئ یی",
- "be": "بئلاروٙسی",
- "bez": "بئنا",
- "eu": "باسکی",
- "ksf": "بافیا",
- "bm": "بامبارا",
- "brx": "بودو",
- "bs": "بوسنیایی",
- "bg": "بولغاری",
- "bem": "بیما",
- "ps": "پأشتوٙ",
- "pa": "پأنجابی",
- "pt": "پورتئغالی",
- "pt-PT": "پورتئغالی ئوروٙپایی",
- "bo": "تأبأتی",
- "teo": "تئسو",
- "te": "تئلئگو",
- "tt": "تاتار",
- "tg": "تاجیکی",
- "shi": "تاچئلھیت",
- "twq": "تاساڤاق",
- "zgh": "تامازیغ مأراکئشی",
- "tzm": "تامازیغ مینجایی",
- "ta": "تامیل",
- "dav": "تایتا",
- "th": "تایلأندی",
- "tk": "تورکأمأنی",
- "tr": "تورکی",
- "to": "توٙنگان",
- "ti": "تیگرینیا",
- "ja": "جاپوٙنی",
- "jv": "جاڤئ یی",
- "dyo": "جولا فوٙنیی",
- "ce": "چئچئنی",
- "chr": "چوروٙکی",
- "cgg": "چیگا",
- "zh": "چینی",
- "zh-Hans": "چینی سادە بیە",
- "zh-Hant": "چینی سونأتی",
- "km": "خئمئر",
- "xh": "خوٙسا",
- "da": "دانمارکی",
- "dua": "دوٙالا",
- "rwk": "رئڤا",
- "rn": "راندی",
- "ru": "روٙسی",
- "rm": "رومانش",
- "ro": "رومانیایی",
- "ro-MD": "رومانیایی مولداڤی",
- "rof": "رومبو",
- "dje": "زارما",
- "zu": "زولو",
- "dz": "زوٙنگخا",
- "sw": "سأڤاحیلی",
- "sw-CD": "سأڤاحیلی کونگو",
- "sr": "سئربی",
- "seh": "سئنا",
- "sd": "سئندی",
- "saq": "سامبوٙروٙ",
- "se": "سامی شومالی",
- "sg": "سانگو",
- "sbp": "سانگوٙ",
- "sv": "سوٙئدی",
- "hsb": "سوربی ڤارو",
- "dsb": "سوربی ھاری",
- "xog": "سوٙگا",
- "so": "سوٙمالی",
- "ii": "سی چوان یی",
- "si": "سینھالا",
- "ksb": "شامبالا",
- "sn": "شونا",
- "he": "عئبری",
- "fr": "فآرانسئ ئی",
- "fr-CH": "فآرانسئ ئی سوٙییس",
- "fr-CA": "فآرانسئ ئی کانادا",
- "fi": "فأنلاندی",
- "fy": "فئریسی أفتونئشین",
- "nl-BE": "فئلاماندی",
- "fa": "فارسی",
- "fo": "فاروٙسی",
- "fil": "فیلیپینی",
- "cy": "ڤئلزی",
- "vai": "ڤای",
- "wo": "ڤولوف",
- "vun": "ڤوٙنجوٙ",
- "vi": "ڤییئتنامی",
- "kk": "قأزاق",
- "ky": "قئرقیزی",
- "ks": "کأشمیری",
- "nmg": "کئڤاسیوٙ",
- "kea": "کاباردینو",
- "kab": "کابیلئ",
- "ca": "کاتالان",
- "kln": "کالئجین",
- "kl": "کالالیسوٙت",
- "kam": "کامبا",
- "kn": "کاناد",
- "qu": "کوچوٙا",
- "ko": "کورئ یی",
- "ckb": "کوردی سوٙرانی",
- "ku": "کوردی کورمانجی",
- "kw": "کورنیش",
- "hr": "کوروڤاتی",
- "kok": "کوٙنکانی",
- "khq": "کی یورا چینی",
- "ses": "کیارابورو سئنی",
- "ki": "کیکیوٙ",
- "rw": "کینیاروآندا",
- "gl": "گالیسی",
- "lg": "گاندا",
- "gu": "گوجأراتی",
- "ka": "گورجی",
- "guz": "گوٙسی",
- "pl": "لأھئستانی",
- "lv": "لاتوڤیایی",
- "lkt": "لاکوٙتا",
- "lag": "لانگی",
- "lo": "لاو",
- "luo": "لوٙ",
- "luy": "لوٙئیا",
- "lu": "لوٙبا کاتانگا",
- "lb": "لوٙکزامبوٙرگی",
- "lrc": "لۊری شومالی",
- "lt": "لیتوڤانیایی",
- "ln": "لینگالا",
- "hu": "مأجاری",
- "mr": "مأراتی",
- "mk": "مأقدوٙنی",
- "mgo": "مئتاٛ",
- "mer": "مئرو",
- "mi": "مائوری",
- "jmc": "ماچامئ",
- "mgh": "ماخوڤا میتو",
- "mzn": "مازأندأرانی",
- "mas": "ماسایی",
- "kde": "ماکوٙندئ",
- "mg": "مالاگاشی",
- "ml": "مالایام",
- "ms": "مالایی",
- "mt": "مالتی",
- "gv": "مانکس",
- "mfe": "موٙریسی",
- "mn": "موغولی",
- "mua": "موٙندانگ",
- "ne": "نئپالی",
- "nd": "نئدئبئلئ شومالی",
- "jgo": "نئگوٙمبا",
- "naq": "ناما",
- "nb": "نورڤئجی بوٙکمال",
- "nn": "نورڤئجی نینورسک",
- "nyn": "نیان کوٙلئ",
- "nus": "نیوٙئر",
- "hi": "ھئنی",
- "ha": "ھائوسا",
- "haw": "ھاڤایی",
- "nl": "ھولأندی",
- "yo": "یوروبا",
- "el": "یوٙنانی"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lt.json b/vendor/commerceguys/intl/resources/language/lt.json
index c75f3e6e8..d92860fe6 100644
--- a/vendor/commerceguys/intl/resources/language/lt.json
+++ b/vendor/commerceguys/intl/resources/language/lt.json
@@ -20,7 +20,6 @@
"bm": "bambarų",
"eu": "baskų",
"bas": "basų",
- "cu": "bažnytinė slavų",
"bem": "bembų",
"bn": "bengalų",
"bez": "benų",
@@ -40,7 +39,6 @@
"dua": "dualų",
"dyo": "džiola-foni",
"ebu": "embu",
- "eo": "esperanto",
"et": "estų",
"pt-PT": "Europos portugalų",
"ee": "evių",
@@ -125,7 +123,6 @@
"mas": "masajų",
"mzn": "mazenderanių",
"es-MX": "Meksikos ispanų",
- "gv": "meniečių",
"mer": "merų",
"mgo": "meta",
"ro-MD": "moldavų",
@@ -149,7 +146,6 @@
"fa": "persų",
"pt": "portugalų",
"fr": "prancūzų",
- "prg": "prūsų",
"ps": "puštūnų",
"rm": "retoromanų",
"rof": "rombo",
@@ -212,7 +208,6 @@
"hu": "vengrų",
"vi": "vietnamiečių",
"de": "vokiečių",
- "vo": "volapiuko",
"wo": "volofų",
"vun": "vunjo",
"dje": "zarmų",
diff --git a/vendor/commerceguys/intl/resources/language/lu.json b/vendor/commerceguys/intl/resources/language/lu.json
deleted file mode 100644
index d0441d3df..000000000
--- a/vendor/commerceguys/intl/resources/language/lu.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "ar": "Arabi",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belarusi",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulegari",
- "my": "Burmese",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Giliki",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "Hindi",
- "hu": "Hongili",
- "is": "Icelandic",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "ga": "Irish",
- "jv": "Java",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "km": "Khmer",
- "ki": "Kikuyu",
- "rw": "kinyarwanda",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ak": "Liakan",
- "am": "Liamhariki",
- "es": "Lihispania",
- "es-419": "Lihispania (419)",
- "es-MX": "Lihispania (Meksike)",
- "ko": "Likoreya",
- "ms": "Limalezia",
- "id": "Lindonezia",
- "ln": "Lingala",
- "en": "Lingelesa",
- "en-GB": "Lingelesa (Angeletele)",
- "en-CA": "Lingelesa (Kanada)",
- "en-AU": "Lingelesa (Ositali)",
- "pa": "Lipunjabi",
- "ru": "Lirisi",
- "ro": "Liromani",
- "ro-MD": "Liromani (Molidavi)",
- "so": "Lisomali",
- "sv": "Lisuwidi",
- "it": "Litali",
- "lt": "Lithuanian",
- "vi": "Liviyetinamu",
- "ja": "Liyapani",
- "de": "Lizelumani",
- "de-AT": "Lizelumani (Otilisi)",
- "de-CH": "Lizelumani (Swise)",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "fr": "Mfwàlànsa",
- "fr-CA": "Mfwàlànsa (Kanada)",
- "fr-CH": "Mfwàlànsa (Swise)",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "fa": "Mpepajemi",
- "pl": "Mpoloni",
- "pt": "Mputulugɛsi",
- "pt-PT": "Mputulugɛsi (Mputulugeshi)",
- "ta": "Mtamuili",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Olandɛ)",
- "ne": "nepali",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "uk": "Nkrani",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "th": "Ntailandi",
- "tr": "Ntuluki",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "yo": "Nyoruba",
- "zu": "Nzulu",
- "or": "Odia",
- "nl": "olandi",
- "nl-BE": "olandi (Belejiki)",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "zh": "shinɛ",
- "zh-Hans": "shinɛ (Hans)",
- "zh-Hant": "shinɛ (Hant)",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Ditunga wa Kongu)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "cs": "Tsheki",
- "lu": "Tshiluba",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ur": "Urdu",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/luo.json b/vendor/commerceguys/intl/resources/language/luo.json
deleted file mode 100644
index cf7ce08d0..000000000
--- a/vendor/commerceguys/intl/resources/language/luo.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "luo": "Dholuo",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "fr": "Kifaransa",
- "fr-CA": "Kifaransa (Canada)",
- "fr-CH": "Kifaransa (Switzerland)",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "hi": "Kihindi",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Mexico)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Belgium)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Austria)",
- "de-CH": "Kijerumani (Switzerland)",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "en": "Kingereza",
- "en-AU": "Kingereza (Australia)",
- "en-CA": "Kingereza (Canada)",
- "en-GB": "Kingereza (United Kingdom)",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Portugal)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kirusi",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Netherlands)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Democratic Republic of the Congo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/luy.json b/vendor/commerceguys/intl/resources/language/luy.json
deleted file mode 100644
index 041615f52..000000000
--- a/vendor/commerceguys/intl/resources/language/luy.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "fr": "Kifaransa",
- "fr-CA": "Kifaransa (Kanada)",
- "fr-CH": "Kifaransa (Uswisi)",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Ubelgiji)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Austria)",
- "de-CH": "Kijerumani (Uswisi)",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kirusi",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "hi": "Luhindi",
- "luy": "Luluhia",
- "luo": "Luo",
- "en": "Lusungu",
- "en-AU": "Lusungu (Australia)",
- "en-CA": "Lusungu (Kanada)",
- "en-GB": "Lusungu (Uingereza)",
- "lb": "Luxembourgish",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/lv.json b/vendor/commerceguys/intl/resources/language/lv.json
index 346f6576b..954957b04 100644
--- a/vendor/commerceguys/intl/resources/language/lv.json
+++ b/vendor/commerceguys/intl/resources/language/lv.json
@@ -21,7 +21,6 @@
"bm": "bambaru",
"eu": "basku",
"bas": "basu",
- "cu": "baznīcslāvu",
"bem": "bembu",
"bez": "bena",
"bn": "bengāļu",
@@ -39,7 +38,6 @@
"dyo": "diola-fonjī",
"dua": "dualu",
"dz": "dzongke",
- "eo": "esperanto",
"ewo": "evondu",
"ee": "evu",
"fo": "fēru",
@@ -133,7 +131,6 @@
"mas": "masaju",
"mfe": "Maurīcijas kreolu",
"mzn": "mazanderāņu",
- "gv": "meniešu",
"mer": "meru",
"mgo": "metu",
"ro-MD": "moldāvu",
@@ -142,7 +139,7 @@
"naq": "nama",
"ne": "nepāliešu",
"nnh": "ngjembūnu",
- "jgo": "Ngomba",
+ "jgo": "ngomba",
"nb": "norvēģu bukmols",
"nus": "nueru",
"nyn": "ņankolu",
@@ -154,7 +151,6 @@
"pl": "poļu",
"pt": "portugāļu",
"pt-PT": "portugāļu (Portugāle)",
- "prg": "prūšu",
"ps": "puštu",
"rm": "retoromāņu",
"fy": "rietumfrīzu",
@@ -212,7 +208,6 @@
"wa": "valoņu",
"cy": "velsiešu",
"vi": "vjetnamiešu",
- "vo": "volapiks",
"wo": "volofu",
"vun": "vundžo",
"dje": "zarmu",
diff --git a/vendor/commerceguys/intl/resources/language/mas.json b/vendor/commerceguys/intl/resources/language/mas.json
deleted file mode 100644
index e01c1c9ea..000000000
--- a/vendor/commerceguys/intl/resources/language/mas.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "bn": "lnkʉtʉ́k ɔ́ɔ̄ lBengali",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mas": "Maa",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "fr": "nkʉtʉ́k ɔ́ɔ̄ faransa",
- "fr-CA": "nkʉtʉ́k ɔ́ɔ̄ faransa (Kanada)",
- "fr-CH": "nkʉtʉ́k ɔ́ɔ̄ faransa (Uswisi)",
- "ha": "nkʉtʉ́k ɔ́ɔ̄ hausa",
- "ig": "nkʉtʉ́k ɔ́ɔ̄ Igbo",
- "id": "nkʉtʉ́k ɔ́ɔ̄ Indonesia",
- "ja": "nkʉtʉ́k ɔ́ɔ̄ japani",
- "ak": "nkʉtʉ́k ɔ́ɔ̄ lAkan",
- "am": "nkʉtʉ́k ɔ́ɔ̄ lAmhari",
- "be": "nkʉtʉ́k ɔ́ɔ̄ lBelarusi",
- "bg": "nkʉtʉ́k ɔ́ɔ̄ lBulgaria",
- "my": "nkʉtʉ́k ɔ́ɔ̄ lBurma",
- "cs": "nkʉtʉ́k ɔ́ɔ̄ lcheki",
- "zh": "nkʉtʉ́k ɔ́ɔ̄ lchina",
- "zh-Hans": "nkʉtʉ́k ɔ́ɔ̄ lchina (Hans)",
- "zh-Hant": "nkʉtʉ́k ɔ́ɔ̄ lchina (Hant)",
- "so": "nkʉtʉ́k ɔ́ɔ̄ lchumari",
- "nl": "nkʉtʉ́k ɔ́ɔ̄ lduchi",
- "nl-BE": "nkʉtʉ́k ɔ́ɔ̄ lduchi (Ubelgiji)",
- "el": "nkʉtʉ́k ɔ́ɔ̄ lgiriki",
- "hu": "nkʉtʉ́k ɔ́ɔ̄ lhungari",
- "jv": "nkʉtʉ́k ɔ́ɔ̄ ljana",
- "de": "nkʉtʉ́k ɔ́ɔ̄ ljerumani",
- "de-AT": "nkʉtʉ́k ɔ́ɔ̄ ljerumani (Austria)",
- "de-CH": "nkʉtʉ́k ɔ́ɔ̄ ljerumani (Uswisi)",
- "km": "nkʉtʉ́k ɔ́ɔ̄ lkambodia",
- "ko": "nkʉtʉ́k ɔ́ɔ̄ lkorea",
- "uk": "nkʉtʉ́k ɔ́ɔ̄ lkrania",
- "ar": "nkʉtʉ́k ɔ́ɔ̄ lmarabu",
- "hi": "nkʉtʉ́k ɔ́ɔ̄ lmoindi",
- "ne": "nkʉtʉ́k ɔ́ɔ̄ lnepali",
- "fa": "nkʉtʉ́k ɔ́ɔ̄ lpersia",
- "pl": "nkʉtʉ́k ɔ́ɔ̄ lpoland",
- "pt": "nkʉtʉ́k ɔ́ɔ̄ lportuguese",
- "pt-PT": "nkʉtʉ́k ɔ́ɔ̄ lportuguese (Ureno)",
- "pa": "nkʉtʉ́k ɔ́ɔ̄ lpunjabi",
- "ro": "nkʉtʉ́k ɔ́ɔ̄ lromania",
- "ro-MD": "nkʉtʉ́k ɔ́ɔ̄ lromania (Moldova)",
- "ru": "nkʉtʉ́k ɔ́ɔ̄ lrusi",
- "rw": "nkʉtʉ́k ɔ́ɔ̄ lruwanda",
- "es": "nkʉtʉ́k ɔ́ɔ̄ lspania",
- "es-419": "nkʉtʉ́k ɔ́ɔ̄ lspania (419)",
- "es-MX": "nkʉtʉ́k ɔ́ɔ̄ lspania (Meksiko)",
- "sv": "nkʉtʉ́k ɔ́ɔ̄ lswidi",
- "th": "nkʉtʉ́k ɔ́ɔ̄ ltai",
- "it": "nkʉtʉ́k ɔ́ɔ̄ ltalian",
- "ta": "nkʉtʉ́k ɔ́ɔ̄ ltamil",
- "tr": "nkʉtʉ́k ɔ́ɔ̄ lturuki",
- "ur": "nkʉtʉ́k ɔ́ɔ̄ lurdu",
- "vi": "nkʉtʉ́k ɔ́ɔ̄ lvietinamu",
- "yo": "nkʉtʉ́k ɔ́ɔ̄ lyoruba",
- "zu": "nkʉtʉ́k ɔ́ɔ̄ lzulu",
- "ms": "nkʉtʉ́k ɔ́ɔ̄ malay",
- "en": "nkʉtʉ́k ɔ́ɔ̄ nkɨ́resa",
- "en-AU": "nkʉtʉ́k ɔ́ɔ̄ nkɨ́resa (Australia)",
- "en-CA": "nkʉtʉ́k ɔ́ɔ̄ nkɨ́resa (Kanada)",
- "en-GB": "nkʉtʉ́k ɔ́ɔ̄ nkɨ́resa (Uingereza)",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mer.json b/vendor/commerceguys/intl/resources/language/mer.json
deleted file mode 100644
index 109b05936..000000000
--- a/vendor/commerceguys/intl/resources/language/mer.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ak": "Kĩakani",
- "am": "Kĩamarĩki",
- "ar": "Kĩarabu",
- "bn": "Kĩbangira",
- "be": "Kĩbelarusi",
- "bg": "Kĩbulugĩria",
- "my": "Kĩburma",
- "cs": "Kĩcheki",
- "zh": "Kĩchina",
- "zh-Hans": "Kĩchina (Hans)",
- "zh-Hant": "Kĩchina (Hant)",
- "fr": "Kĩfuransi",
- "fr-CA": "Kĩfuransi (Kanada)",
- "fr-CH": "Kĩfuransi (Swizilandi)",
- "hu": "Kĩhangarĩ",
- "ha": "Kĩhausa",
- "hi": "Kĩhĩndi",
- "nl": "Kĩholandi",
- "nl-BE": "Kĩholandi (Beronjiamu)",
- "ig": "Kĩigbo",
- "id": "Kĩindonesia",
- "it": "Kĩitalĩ",
- "ja": "Kĩjapani",
- "jv": "Kĩjava",
- "km": "Kĩkambodia",
- "ko": "Kĩkorea",
- "ki": "Kikuyu",
- "ms": "Kĩmalesia",
- "mer": "Kĩmĩrũ",
- "ne": "Kĩnepali",
- "en": "Kĩngeretha",
- "en-AU": "Kĩngeretha (Austrĩlia)",
- "en-CA": "Kĩngeretha (Kanada)",
- "en-GB": "Kĩngeretha (Ngeretha)",
- "el": "Kĩngiriki",
- "de": "Kĩnjamanĩ",
- "de-AT": "Kĩnjamanĩ (Austiria)",
- "de-CH": "Kĩnjamanĩ (Swizilandi)",
- "fa": "Kĩpasia",
- "pt": "Kĩpochogo",
- "pt-PT": "Kĩpochogo (Potogo)",
- "pl": "Kĩpolandi",
- "pa": "Kĩpunjabu",
- "ru": "Kĩrashia",
- "ro": "Kĩromania",
- "ro-MD": "Kĩromania (Moldova)",
- "rw": "Kĩrwanda",
- "so": "Kĩsomali",
- "es": "Kĩspĩni",
- "es-419": "Kĩspĩni (419)",
- "es-MX": "Kĩspĩni (Mexiko)",
- "sv": "Kĩswideni",
- "tr": "Kĩtakĩ",
- "ta": "Kĩtamilu",
- "th": "Kĩthailandi",
- "uk": "Kĩukirĩni",
- "ur": "Kĩurdu",
- "vi": "Kĩvietinamu",
- "yo": "Kĩyoruba",
- "zu": "Kĩzulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Holandi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Nthĩ ya Kidemokrasĩ ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mfe.json b/vendor/commerceguys/intl/resources/language/mfe.json
deleted file mode 100644
index 37f6c10fe..000000000
--- a/vendor/commerceguys/intl/resources/language/mfe.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "akan",
- "sq": "Albanian",
- "de": "alman",
- "de-CH": "alman (Laswis)",
- "de-AT": "alman (Lostris)",
- "am": "amarik",
- "en": "angle",
- "en-CA": "angle (Kanada)",
- "en-AU": "angle (Lostrali)",
- "en-GB": "angle (United Kingdom)",
- "ar": "arab",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bengali",
- "be": "bieloris",
- "bg": "bilgar",
- "my": "birman",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "es": "espagnol",
- "es-419": "espagnol (419)",
- "es-MX": "espagnol (Mexik)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "franse",
- "fr-CA": "franse (Kanada)",
- "fr-CH": "franse (Laswis)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "grek",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "haoussa",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "hindi",
- "hu": "hongrwa",
- "is": "Icelandic",
- "ig": "igbo",
- "uk": "ikrenien",
- "smn": "Inari Sami",
- "id": "indonezien",
- "ga": "Irish",
- "it": "italien",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "km": "khmer, santral",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "ko": "koreen",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "mfe": "kreol morisien",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "male",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Oland)",
- "ne": "nepale",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "nl": "olande",
- "nl-BE": "olande (Belzik)",
- "om": "Oromo",
- "os": "Ossetic",
- "ur": "ourdou",
- "ps": "Pashto",
- "pa": "penjabi",
- "fa": "persan",
- "pl": "polone",
- "pt": "portige",
- "pt-PT": "portige (Portigal)",
- "prg": "Prussian",
- "qu": "Quechua",
- "ru": "ris",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "roumin",
- "ro-MD": "roumin (Moldavi)",
- "rn": "Rundi",
- "rwk": "Rwa",
- "rw": "rwanda",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "sinwa, mandarin",
- "zh-Hans": "sinwa, mandarin (Hans)",
- "zh-Hant": "sinwa, mandarin (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "somali",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Repiblik demokratik Kongo)",
- "sw": "Swahili",
- "sv": "swedwa",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "tamoul",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "cs": "tchek",
- "te": "Telugu",
- "teo": "Teso",
- "th": "thaï",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "tr": "tirk",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "vietnamien",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "yoruba",
- "ja": "zapone",
- "dje": "Zarma",
- "jv": "zavane",
- "zu": "zoulou"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mg.json b/vendor/commerceguys/intl/resources/language/mg.json
index f0398a22e..43f51c56c 100644
--- a/vendor/commerceguys/intl/resources/language/mg.json
+++ b/vendor/commerceguys/intl/resources/language/mg.json
@@ -38,7 +38,6 @@
"ce": "Chechen",
"chr": "Cherokee",
"cgg": "Chiga",
- "cu": "Church Slavic",
"ksh": "Colognian",
"kw": "Cornish",
"hr": "Croatian",
@@ -49,7 +48,6 @@
"es": "Espaniola",
"es-419": "Espaniola (419)",
"es-MX": "Espaniola (Meksika)",
- "eo": "Esperanto",
"et": "Estonian",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -121,7 +119,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -154,7 +151,6 @@
"pl": "Poloney",
"pt": "Portiogey",
"pt-PT": "Portiogey (Pôrtiogala)",
- "prg": "Prussian",
"qu": "Quechua",
"rw": "Roande",
"ro": "Romanianina",
@@ -208,7 +204,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vietnamianina",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/mgh.json b/vendor/commerceguys/intl/resources/language/mgh.json
deleted file mode 100644
index 28c7208f5..000000000
--- a/vendor/commerceguys/intl/resources/language/mgh.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "fa": "Iajemi",
- "ar": "Iarabu",
- "bn": "Ibangla",
- "be": "Ibelausi",
- "bg": "Ibulgaria",
- "my": "Iburma",
- "is": "Icelandic",
- "cs": "Icheki",
- "zh": "Ichina",
- "zh-Hans": "Ichina (Hans)",
- "zh-Hant": "Ichina (Hant)",
- "fr": "Ifaransa",
- "fr-CA": "Ifaransa (Ukanada)",
- "fr-CH": "Ifaransa (Uswisi)",
- "ig": "Igbo",
- "el": "Igiriki",
- "ha": "Ihausa",
- "hi": "Ihindi",
- "es": "Ihispaniola",
- "es-419": "Ihispaniola (419)",
- "es-MX": "Ihispaniola (MX)",
- "nl": "Iholanzi",
- "nl-BE": "Iholanzi (BE)",
- "hu": "Ihungari",
- "ur": "Ihurdu",
- "ja": "Ijapani",
- "jv": "Ijava",
- "de": "Ijerimani",
- "de-AT": "Ijerimani (AT)",
- "de-CH": "Ijerimani (Uswisi)",
- "km": "Ikambodia",
- "ak": "Ikan",
- "ko": "Ikorea",
- "ms": "Imalesia",
- "am": "Imhari",
- "smn": "Inari Sami",
- "id": "Indonesian",
- "ne": "Inepali",
- "en": "Ingilishi",
- "en-AU": "Ingilishi (AU)",
- "en-GB": "Ingilishi (GB)",
- "en-CA": "Ingilishi (Ukanada)",
- "rw": "Inyaranda",
- "pl": "Ipolandi",
- "pa": "Ipunjabi",
- "ga": "Irish",
- "ru": "Irisi",
- "ro": "Iromania",
- "ro-MD": "Iromania (MD)",
- "so": "Isomali",
- "sv": "Iswidi",
- "th": "Itailandi",
- "it": "Italiano",
- "ta": "Itamil",
- "tr": "Ituruki",
- "uk": "Iukran",
- "vi": "Ivyetinamu",
- "yo": "Iyoruba",
- "zu": "Izulu",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "kde": "Makonde",
- "mgh": "Makua",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (NL)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "pt": "Nreno",
- "pt-PT": "Nreno (PT)",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (CD)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/mk.json b/vendor/commerceguys/intl/resources/language/mk.json
index 83439f360..1ccb82853 100644
--- a/vendor/commerceguys/intl/resources/language/mk.json
+++ b/vendor/commerceguys/intl/resources/language/mk.json
@@ -31,7 +31,6 @@
"wae": "валсер",
"cy": "велшки",
"vi": "виетнамски",
- "vo": "волапик",
"wo": "волофски",
"vun": "вунџо",
"gl": "галициски",
@@ -51,7 +50,6 @@
"ewo": "евондо",
"ebu": "ембу",
"hy": "ерменски",
- "eo": "есперанто",
"et": "естонски",
"fy": "западнофризиски",
"dje": "зарма",
@@ -117,7 +115,6 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
- "gv": "манкс",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -147,7 +144,6 @@
"pl": "полски",
"pt": "португалски",
"pt-PT": "португалски (во Европа)",
- "prg": "пруски",
"rm": "реторомански",
"ro": "романски",
"rof": "ромбо",
@@ -208,7 +204,6 @@
"hr": "хрватски",
"tzm": "централноатлански тамазитски",
"ckb": "централнокурдски",
- "cu": "црковнословенски",
"chr": "черокиски",
"ce": "чеченски",
"cs": "чешки",
diff --git a/vendor/commerceguys/intl/resources/language/ml.json b/vendor/commerceguys/intl/resources/language/ml.json
index c49f88b0b..ddb80ebf9 100644
--- a/vendor/commerceguys/intl/resources/language/ml.json
+++ b/vendor/commerceguys/intl/resources/language/ml.json
@@ -21,7 +21,6 @@
"ur": "ഉറുദു",
"ebu": "എംബു",
"ewo": "എവോൻഡോ",
- "eo": "എസ്‌പരാന്റോ",
"et": "എസ്റ്റോണിയൻ",
"is": "ഐസ്‌ലാൻഡിക്",
"ga": "ഐറിഷ്",
@@ -67,7 +66,6 @@
"guz": "ഗുസീ",
"jgo": "ഗോമ്പ",
"el": "ഗ്രീക്ക്",
- "cu": "ചർച്ച് സ്ലാവിക്",
"cgg": "ചിഗ",
"cs": "ചെക്ക്",
"ce": "ചെചൻ",
@@ -108,7 +106,6 @@
"fa": "പേർഷ്യൻ",
"pt": "പോർച്ചുഗീസ്",
"pl": "പോളിഷ്",
- "prg": "പ്രഷ്യൻ",
"fo": "ഫാറോസ്",
"fi": "ഫിന്നിഷ്",
"fil": "ഫിലിപ്പിനോ",
@@ -142,7 +139,6 @@
"mas": "മസായ്",
"mr": "മറാത്തി",
"mgh": "മാഖുവാ-മീത്തോ",
- "gv": "മാൻസ്",
"mk": "മാസിഡോണിയൻ",
"mt": "മാൾട്ടീസ്",
"mua": "മുന്ദാംഗ്",
@@ -181,7 +177,6 @@
"cy": "വെൽഷ്",
"vai": "വൈ",
"wo": "വൊളോഫ്",
- "vo": "വോളാപുക്",
"ksb": "ഷംഭാള",
"ii": "ഷുവാൻയി",
"chr": "ഷെരോക്കി",
diff --git a/vendor/commerceguys/intl/resources/language/mn.json b/vendor/commerceguys/intl/resources/language/mn.json
index a7d68f671..cd6c9da22 100644
--- a/vendor/commerceguys/intl/resources/language/mn.json
+++ b/vendor/commerceguys/intl/resources/language/mn.json
@@ -31,7 +31,6 @@
"br": "бретон",
"en-GB": "британи-англи",
"vai": "вай",
- "vo": "волапюк",
"wo": "волоф",
"vun": "вунжо",
"vi": "вьетнам",
@@ -108,7 +107,6 @@
"ms": "малай",
"ml": "малаялам",
"mt": "малта",
- "gv": "манкс",
"mi": "маори",
"mr": "марати",
"mas": "масай",
@@ -136,7 +134,6 @@
"pl": "польш",
"pt": "португал",
"pt-PT": "португал хэл (Европ)",
- "prg": "прусс",
"ps": "пушту",
"rwk": "рва",
"rm": "романш",
@@ -159,7 +156,6 @@
"ko": "солонгос",
"so": "сомали",
"zgh": "стандарт тамазайт (Морокко)",
- "cu": "сүмийн славян",
"ii": "сычуань и",
"tg": "тажик",
"th": "тай",
@@ -216,7 +212,6 @@
"ewo": "эвондо",
"ee": "эвэ",
"ebu": "эмбу",
- "eo": "эсперанто",
"et": "эстони",
"jv": "ява",
"yav": "янгбен",
diff --git a/vendor/commerceguys/intl/resources/language/mr.json b/vendor/commerceguys/intl/resources/language/mr.json
index ddb28a1cd..369473d33 100644
--- a/vendor/commerceguys/intl/resources/language/mr.json
+++ b/vendor/commerceguys/intl/resources/language/mr.json
@@ -29,11 +29,9 @@
"ur": "उर्दू",
"ebu": "एम्बू",
"ee": "एवे",
- "eo": "एस्परान्टो",
"de-AT": "ऑस्ट्रियन जर्मन",
"en-AU": "ऑस्ट्रेलियन इंग्रजी",
"om": "ओरोमो",
- "vo": "ओलापुक",
"os": "ओस्सेटिक",
"yue": "कँटोनीज",
"kk": "कझाक",
@@ -71,7 +69,6 @@
"gl": "गॅलिशियन",
"jgo": "गोम्बा",
"el": "ग्रीक",
- "cu": "चर्च स्लाव्हिक",
"zh": "चीनी",
"ce": "चेचेन",
"chr": "चेरोकी",
@@ -115,7 +112,6 @@
"pt": "पोर्तुगीज",
"pl": "पोलिश",
"zgh": "प्रमाण मोरोक्कन तॅमॅझायट",
- "prg": "प्रुशियन",
"fo": "फरोइज",
"fa": "फारसी",
"fi": "फिन्निश",
@@ -147,7 +143,6 @@
"ml": "मल्याळम",
"jmc": "मशामे",
"mas": "मसाई",
- "gv": "मांक्स",
"mi": "माओरी",
"kde": "माकोन्दे",
"mgh": "माखुव्हा-मीट्टो",
diff --git a/vendor/commerceguys/intl/resources/language/ms.json b/vendor/commerceguys/intl/resources/language/ms.json
index a2aa117be..790eaaf85 100644
--- a/vendor/commerceguys/intl/resources/language/ms.json
+++ b/vendor/commerceguys/intl/resources/language/ms.json
@@ -42,7 +42,6 @@
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
- "eo": "Esperanto",
"et": "Estonia",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -121,7 +120,6 @@
"mg": "Malagasy",
"ml": "Malayalam",
"mt": "Malta",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -152,7 +150,6 @@
"pl": "Poland",
"pt": "Portugis",
"pt-PT": "Portugis Eropah",
- "prg": "Prusia",
"pa": "Punjabi",
"qu": "Quechua",
"ro": "Romania",
@@ -178,7 +175,6 @@
"ii": "Sichuan Yi",
"sd": "Sindhi",
"si": "Sinhala",
- "cu": "Slavik Gereja",
"sk": "Slovak",
"sl": "Slovenia",
"xog": "Soga",
@@ -209,7 +205,6 @@
"uz": "Uzbekistan",
"vai": "Vai",
"vi": "Vietnam",
- "vo": "Volapük",
"vun": "Vunjo",
"cy": "Wales",
"wa": "Walloon",
diff --git a/vendor/commerceguys/intl/resources/language/mt.json b/vendor/commerceguys/intl/resources/language/mt.json
index 079e9caa3..9293cf0b7 100644
--- a/vendor/commerceguys/intl/resources/language/mt.json
+++ b/vendor/commerceguys/intl/resources/language/mt.json
@@ -37,7 +37,6 @@
"dz": "Dzongkha",
"he": "Ebrajk",
"ebu": "Embu",
- "eo": "Esperanto",
"et": "Estonjan",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -122,7 +121,6 @@
"ms": "Malay",
"ml": "Malayalam",
"mt": "Malti",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -150,7 +148,6 @@
"pl": "Pollakk",
"pt": "Portugiż",
"pt-PT": "Portugiż Ewropew",
- "prg": "Prussu",
"pa": "Punjabi",
"qu": "Quechua",
"rm": "Romanz",
@@ -172,7 +169,6 @@
"ii": "Sichuan Yi",
"sd": "Sindhi",
"si": "Sinhala",
- "cu": "Slaviku tal-Knisja",
"sk": "Slovakk",
"sl": "Sloven",
"xog": "Soga",
@@ -208,7 +204,6 @@
"uz": "Uzbek",
"vai": "Vai",
"vi": "Vjetnamiż",
- "vo": "Volapuk",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/mua.json b/vendor/commerceguys/intl/resources/language/mua.json
deleted file mode 100644
index 153c3d7b3..000000000
--- a/vendor/commerceguys/intl/resources/language/mua.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "akaŋ",
- "sq": "Albanian",
- "am": "amharik",
- "ar": "arabiya",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "belarussiya",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bengalia",
- "my": "birmania",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "bulgaria",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "es": "Espaniya",
- "es-419": "Espaniya (419)",
- "es-MX": "Espaniya (Mexiko)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "de": "germaŋ",
- "de-AT": "germaŋ (austriya)",
- "de-CH": "germaŋ (Sǝr Swiss)",
- "el": "grek",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "haussa",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "hindi",
- "hu": "hungariya",
- "is": "Icelandic",
- "ig": "igbo",
- "smn": "Inari Sami",
- "id": "indonesiya",
- "ga": "Irish",
- "it": "italiya",
- "jv": "javaniya",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "kmer",
- "kok": "Konkani",
- "ko": "korea",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ms": "malasiya",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "MUNDAŊ",
- "naq": "Nama",
- "nds-NL": "nds (Sǝr ma kasǝŋ)",
- "ne": "Nepaliya",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "fa": "Persia",
- "pa": "Pǝnjabi",
- "pl": "Poloniya",
- "prg": "Prussian",
- "qu": "Quechua",
- "ro": "Romaniya",
- "ro-MD": "Romaniya (Moldoviya)",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "ru": "Russiya",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somaliya",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Sǝr Kongo ma dii ne zair)",
- "sw": "Swahili",
- "sv": "Swedia",
- "gsw": "Swiss German",
- "cs": "syekya",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamul",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thai",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "Turk",
- "tk": "Turkmen",
- "uk": "Ukrainia",
- "hsb": "Upper Sorbian",
- "ur": "Urdu",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnamiya",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "en": "zah Anglofoŋ",
- "en-AU": "zah Anglofoŋ (australiya)",
- "en-CA": "zah Anglofoŋ (kanada)",
- "en-GB": "zah Anglofoŋ (Sǝr Anglofoŋ)",
- "fr": "zah sǝr Franssǝ",
- "fr-CA": "zah sǝr Franssǝ (kanada)",
- "fr-CH": "zah sǝr Franssǝ (Sǝr Swiss)",
- "ja": "zah sǝr Japoŋ",
- "nl": "zah sǝr ma kasǝŋ",
- "nl-BE": "zah sǝr ma kasǝŋ (belgika)",
- "pt": "Zah sǝr Portugal",
- "pt-PT": "Zah sǝr Portugal (Sǝr Portugal)",
- "rw": "Zah sǝr Rwanda",
- "zh": "zah Syiŋ",
- "zh-Hans": "zah Syiŋ (Hans)",
- "zh-Hant": "zah Syiŋ (Hant)",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/my.json b/vendor/commerceguys/intl/resources/language/my.json
index 2cb173090..b0eb35ac3 100644
--- a/vendor/commerceguys/intl/resources/language/my.json
+++ b/vendor/commerceguys/intl/resources/language/my.json
@@ -31,7 +31,6 @@
"cgg": "ချီဂါ",
"cs": "ချက်",
"ce": "ချက်ချန်း",
- "cu": "ချပ်ချ် စလာဗစ်",
"el": "ဂရိ",
"gl": "ဂါလီစီယာ",
"gu": "ဂူဂျာရသီ",
@@ -100,7 +99,6 @@
"nus": "နူအာ",
"nn": "နော်ဝေ နီးနောစ်",
"nb": "နော်ဝေ ဘွတ်ခ်မော်လ်",
- "prg": "ပရူရှန်",
"fa": "ပါရှန်",
"pt": "ပေါ်တူဂီ",
"pl": "ပိုလန်",
@@ -115,7 +113,6 @@
"fi": "ဖင်လန်",
"vi": "ဗီယက်နမ်",
"brx": "ဗိုဒို",
- "vo": "ဗိုလာပိုက်",
"vai": "ဗိုင်",
"en-GB": "ဗြိတိသျှ အင်္ဂလိပ်",
"vun": "ဗွန်ဂျို",
@@ -147,7 +144,6 @@
"mt": "မော်လ်တာ",
"zgh": "မိုရိုကို တမဇိုက်",
"mk": "မက်ဆီဒိုးနီးယား",
- "gv": "မန်းဇ်",
"se": "မြောက် ဆာမိ",
"nd": "မြောက် အွန်န်ဒီဘီလီ",
"lrc": "မြောက်လူရီ",
@@ -210,7 +206,6 @@
"om": "အိုရိုမို",
"ast": "အက်စတူရီယန်း",
"et": "အက်စ်တိုးနီးယား",
- "eo": "အက်စ်ပရန်တို",
"is": "အိုက်စ်လန်",
"agq": "အာဂ်ဟိန်း",
"en": "အင်္ဂလိပ်",
diff --git a/vendor/commerceguys/intl/resources/language/mzn.json b/vendor/commerceguys/intl/resources/language/mzn.json
deleted file mode 100644
index 4e6e8d728..000000000
--- a/vendor/commerceguys/intl/resources/language/mzn.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "ast": "Asturian",
- "bas": "Basaa",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "ff": "Fulah",
- "kkj": "Kako",
- "nnh": "Ngiemboon",
- "os": "Ossetic",
- "prg": "Prussian",
- "sah": "Sakha",
- "gd": "Scottish Gaelic",
- "vo": "Volapük",
- "wa": "Walloon",
- "wae": "Walser",
- "yav": "Yangben",
- "yi": "Yiddish",
- "az": "آذری ِترکی",
- "as": "آسامی",
- "asa": "آسو",
- "af": "آفریکانس",
- "agq": "آقم",
- "ak": "آکان",
- "sq": "آلبانیایی",
- "de": "آلمانی",
- "ug": "ئوغوری",
- "de-AT": "اتریش ِآلمانی",
- "ur": "اردو",
- "hy": "ارمنی",
- "pt-PT": "اروپای ِپرتغالی",
- "uz": "ازبکی",
- "eo": "اسپرانتو",
- "en-AU": "استرالیای ِانگلیسی",
- "et": "استونیایی",
- "sk": "اسلواکی",
- "sl": "اسلوونیایی",
- "ebu": "امبو",
- "am": "امهری",
- "id": "اندونزیایی",
- "en": "انگلیسی",
- "om": "اورومو",
- "or": "اوریا",
- "uk": "اوکراینی",
- "ee": "اوه‌یی",
- "it": "ایتالیایی",
- "ga": "ایریش",
- "es": "ایسپانیولی",
- "is": "ایسلندی",
- "ig": "ایگبو",
- "smn": "ایناری سامی",
- "eu": "باسکی",
- "ksf": "بافیایی",
- "hsb": "بالایی صربی",
- "bm": "بامبارایی",
- "brx": "بدویی",
- "br": "برِتونی",
- "my": "برمه‌یی",
- "en-GB": "بریتیش انگلیسی",
- "be": "بلاروسی",
- "bg": "بلغاری",
- "bem": "بمبایی",
- "bez": "بنایی",
- "bn": "بنگالی",
- "bs": "بوسنیایی",
- "nds": "پایین آلمانی",
- "nds-NL": "پایین ساکسونی",
- "dsb": "پایین صربی",
- "pt": "پرتغالی",
- "ps": "پشتو",
- "pa": "پنجابی",
- "tt": "تاتاری",
- "tg": "تاجیکی",
- "shi": "تاچلهیت",
- "twq": "تاساواقی",
- "ta": "تامیلی",
- "dav": "تایتا",
- "th": "تایی",
- "bo": "تبتی",
- "tk": "ترکمونی",
- "tr": "ترکی",
- "teo": "تسویی",
- "te": "تلوگویی",
- "to": "تونگانی",
- "ti": "تیگرینیایی",
- "ja": "جاپونی",
- "jv": "جاوایی",
- "es-419": "جنوبی آمریکای ِایسپانیولی",
- "dyo": "جولا-فونی",
- "ce": "چچنی",
- "chr": "چروکیایی",
- "cs": "چکی",
- "cgg": "چیگا",
- "zh": "چینی",
- "km": "خمری",
- "xh": "خوسا",
- "da": "دانمارکی",
- "dz": "دزونگخا",
- "dua": "دوئالایی",
- "rwk": "روآیی",
- "ru": "روسی",
- "rm": "رومانش",
- "ro": "رومانیایی",
- "rof": "رومبو",
- "rn": "روندی",
- "dje": "زارمایی",
- "zu": "زولو",
- "zh-Hans": "ساده چینی",
- "saq": "سامبورو",
- "sg": "سانگو",
- "sbp": "سانگوو",
- "seh": "سِنایی",
- "zh-Hant": "سنتی چینی",
- "sd": "سندی",
- "sv": "سوئدی",
- "sw": "سواحیلی",
- "xog": "سوگا",
- "so": "سومالیایی",
- "gsw": "سوییس آلمانی",
- "de-CH": "سوییس ِآلمانی",
- "fr-CH": "سوییس ِفرانسوی",
- "ii": "سیچوئان یی",
- "si": "سینهالا",
- "ksb": "شامبالا",
- "se": "شمالی سامی",
- "lrc": "شمالی لُری",
- "nd": "شمالی ندبله",
- "sn": "شونا",
- "sr": "صربی",
- "he": "عبری",
- "ar": "عربی",
- "fy": "غربی فیریزی",
- "fa": "فارسی",
- "fo": "فارویی",
- "fr": "فرانسوی",
- "nl-BE": "فلمیش",
- "fil": "فیلیپینو",
- "fi": "فینیش",
- "kab": "قبایلی",
- "ky": "قرقیزی",
- "kk": "قزاقی",
- "qu": "قوئچوئا",
- "ca": "کاتالونی",
- "kl": "کالائلیسوت",
- "kln": "کالنجین",
- "kam": "کامبایی",
- "kn": "کانّادا",
- "en-CA": "کانادای ِانگلیسی",
- "fr-CA": "کانادای ِفرانسوی",
- "ko": "کُره‌یی",
- "hr": "کرواتی",
- "ks": "کشمیری",
- "sw-CD": "کنگو سواحیلی",
- "rw": "کنیاروآندایی",
- "nmg": "کوئاسیو",
- "ku": "کوردی",
- "kw": "کورنیش",
- "kok": "کونکانی",
- "khq": "کویرا چیینی",
- "ses": "کویرابورا سنی",
- "kea": "کیپ وُردی",
- "ki": "کیکویو",
- "gl": "گالیک",
- "lg": "گاندا",
- "gu": "گجراتی",
- "ka": "گرجی",
- "guz": "گوسی",
- "lo": "لائویی",
- "lv": "لاتویایی",
- "lkt": "لاکوتا",
- "lag": "لانگی",
- "lt": "لتونیایی",
- "pl": "لهستونی",
- "luo": "لوئو",
- "lu": "لوبا-کاتانگا",
- "lb": "لوکزامبورگی",
- "luy": "لوییا",
- "ln": "لینگالا",
- "mi": "مائوری",
- "jmc": "ماچامه",
- "mgh": "ماخوئا-میتو",
- "mr": "ماراتی",
- "mzn": "مازرونی",
- "mas": "ماسایی",
- "kde": "ماکونده",
- "mg": "مالاگاسی",
- "ml": "مالایالام",
- "ms": "مالایی",
- "mt": "مالتی",
- "gv": "مانکس",
- "mgo": "مِتاء",
- "hu": "مجاری",
- "zgh": "مراکش ِاستاندارد ِتامازیقتی",
- "mer": "مِرویی",
- "mn": "مغولی",
- "mk": "مقدونی",
- "es-MX": "مکزیک ِایسپانیولی",
- "mfe": "موریسین",
- "ro-MD": "مولداوی",
- "mua": "موندانگ",
- "tzm": "میونی اطلس تامزیقی",
- "ckb": "میونی کوردی",
- "naq": "ناما",
- "ne": "نپالی",
- "nb": "نروژی بوکمال",
- "nn": "نروژی نینورسک",
- "jgo": "نگومبا",
- "nus": "نوئر",
- "nyn": "نیانکوله",
- "haw": "هاواییایی",
- "nl": "هلندی",
- "hi": "هندی",
- "ha": "هوسا",
- "vai": "وایی",
- "cy": "ولزی",
- "wo": "وولفی",
- "vun": "وونجویی",
- "vi": "ویتنامی",
- "yo": "یوروبا",
- "el": "یونانی"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/naq.json b/vendor/commerceguys/intl/resources/language/naq.json
deleted file mode 100644
index 4751fed82..000000000
--- a/vendor/commerceguys/intl/resources/language/naq.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akangowab",
- "sq": "Albanian",
- "am": "Amharicgowab",
- "ar": "Arabiǁî gowab",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belarusanǁî gowab",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengaliǁî gowab",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulgariaǁî gowab",
- "my": "Burmesǁî gowab",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "zh": "Chineesǁî gowab, Mandarinni",
- "zh-Hans": "Chineesǁî gowab, Mandarinni (Hans)",
- "zh-Hant": "Chineesǁî gowab, Mandarinni (Hant)",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "cs": "Czechǁî gowab",
- "da": "Danish",
- "dua": "Duala",
- "de": "Duits",
- "de-AT": "Duits (Austriab)",
- "de-CH": "Duits (Switzerlandi)",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "en": "Engels",
- "en-AU": "Engels (Australieb)",
- "en-CA": "Engels (Kanadab)",
- "en-GB": "Engels (United Kingdom)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "Frans",
- "fr-CA": "Frans (Kanadab)",
- "fr-CH": "Frans (Switzerlandi)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "Hausagowab",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "Hindigowab",
- "nl": "Hollands",
- "nl-BE": "Hollands (Belgiummi)",
- "hu": "Hungariaǁî gowab",
- "is": "Icelandic",
- "ig": "Igbogowab",
- "smn": "Inari Sami",
- "id": "Indonesiaǁî gowab",
- "ga": "Irish",
- "it": "Italians",
- "ja": "Japanees",
- "jv": "Javanese",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "km": "Khmerǁî gowab, Central",
- "naq": "Khoekhoegowab",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "ko": "Koreaǁî gowab",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Malayǁî gowab",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "nds-NL": "nds (Netherlands)",
- "ne": "Nepalǁî gowab",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "fa": "Persiaǁî gowab",
- "pl": "Poleǁî gowab",
- "pt": "Portugees",
- "pt-PT": "Portugees (Portugali)",
- "prg": "Prussian",
- "pa": "Punjabigowab",
- "qu": "Quechua",
- "ro": "Romaniaǁî gowab",
- "ro-MD": "Romaniaǁî gowab (Moldova)",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "ru": "Russiaǁî gowab",
- "rwk": "Rwa",
- "rw": "Rwandaǁî gowab",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somaliǁî gowab",
- "es": "Spaans",
- "es-419": "Spaans (419)",
- "es-MX": "Spaans (Mexicob)",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Democratic Republic of the Congo)",
- "sw": "Swahili",
- "sv": "Swedeǁî gowab",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamilǁî gowab",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thaiǁî gowab",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "Turkeǁî gowab",
- "tk": "Turkmen",
- "uk": "Ukrainiaǁî gowab",
- "hsb": "Upper Sorbian",
- "ur": "Urduǁî gowab",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnamǁî gowab",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "el": "Xriks",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yorubab",
- "dje": "Zarma",
- "zu": "Zulub"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nb.json b/vendor/commerceguys/intl/resources/language/nb.json
index 15c19e48d..82a5c877e 100644
--- a/vendor/commerceguys/intl/resources/language/nb.json
+++ b/vendor/commerceguys/intl/resources/language/nb.json
@@ -32,7 +32,6 @@
"en-AU": "engelsk (Australia)",
"en-CA": "engelsk (Canada)",
"en-GB": "engelsk (Storbritannia)",
- "eo": "esperanto",
"et": "estisk",
"ee": "ewe",
"ewo": "ewondo",
@@ -87,7 +86,6 @@
"zh": "kinesisk",
"rw": "kinyarwanda",
"ky": "kirgisisk",
- "cu": "kirkeslavisk",
"sw-CD": "kongolesisk swahili",
"kok": "konkani",
"ko": "koreansk",
@@ -117,7 +115,6 @@
"ml": "malayalam",
"ms": "malayisk",
"mt": "maltesisk",
- "gv": "mansk",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -151,7 +148,6 @@
"pl": "polsk",
"pt": "portugisisk",
"pt-PT": "portugisisk (Portugal)",
- "prg": "prøyssisk",
"qu": "quechua",
"rm": "retoromansk",
"rof": "rombo",
@@ -212,7 +208,6 @@
"wa": "vallonsk",
"fy": "vestfrisisk",
"vi": "vietnamesisk",
- "vo": "volapyk",
"vun": "vunjo",
"cy": "walisisk",
"wae": "walsertysk",
diff --git a/vendor/commerceguys/intl/resources/language/nd.json b/vendor/commerceguys/intl/resources/language/nd.json
deleted file mode 100644
index b499227f2..000000000
--- a/vendor/commerceguys/intl/resources/language/nd.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "ak": "isi-Akhani",
- "ar": "isi-Alabhu",
- "am": "isi-Amaharikhi",
- "be": "isi-Bhelarashiyani",
- "bn": "isi-Bhengali",
- "bg": "isi-Bulgaria",
- "my": "isi-Burma",
- "zh": "isi-China",
- "zh-Hans": "isi-China (Hans)",
- "zh-Hant": "isi-China (Hant)",
- "cs": "isi-Czech",
- "nl": "isi-Dutch",
- "nl-BE": "isi-Dutch (Bhelgium)",
- "fr": "isi-Fulentshi",
- "fr-CA": "isi-Fulentshi (Khanada)",
- "fr-CH": "isi-Fulentshi (Switzerland)",
- "el": "isi-Giliki",
- "hu": "isi-Hangari",
- "ha": "isi-Hausa",
- "hi": "isi-Hindi",
- "ig": "isi-Igbo",
- "id": "isi-Indonesia",
- "it": "isi-Italiano",
- "de": "isi-Jalimani",
- "de-AT": "isi-Jalimani (Austria)",
- "de-CH": "isi-Jalimani (Switzerland)",
- "ja": "isi-Japhani",
- "jv": "isi-Java",
- "km": "isi-Khambodiya",
- "ko": "isi-Koriya",
- "ms": "isi-Malayi",
- "ne": "isi-Nepali",
- "en": "isi-Ngisi",
- "en-AU": "isi-Ngisi (Australia)",
- "en-CA": "isi-Ngisi (Khanada)",
- "en-GB": "isi-Ngisi (United Kingdom)",
- "fa": "isi-Pheshiyani",
- "pl": "isi-Pholoshi",
- "pa": "isi-Phunjabi",
- "pt": "isi-Potukezi",
- "pt-PT": "isi-Potukezi (Portugal)",
- "ru": "isi-Rashiya",
- "ro": "isi-Romani",
- "ro-MD": "isi-Romani (Moldova)",
- "rw": "isi-Ruwanda",
- "es": "isi-Sipeyini",
- "es-419": "isi-Sipeyini (419)",
- "es-MX": "isi-Sipeyini (Meksikho)",
- "so": "isi-Somali",
- "sv": "isi-Swidishi",
- "ta": "isi-Thamil",
- "th": "isi-Thayi",
- "tr": "isi-Thekishi",
- "ur": "isi-Udu",
- "uk": "isi-Ukrain",
- "vi": "isi-Vietnamese",
- "yo": "isi-Yorubha",
- "zu": "isi-Zulu",
- "nd": "isiNdebele",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Netherlands)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Democratic Republic of the Congo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ne.json b/vendor/commerceguys/intl/resources/language/ne.json
index 581a3461e..d9a4fd21d 100644
--- a/vendor/commerceguys/intl/resources/language/ne.json
+++ b/vendor/commerceguys/intl/resources/language/ne.json
@@ -31,7 +31,6 @@
"se": "उत्तरी सामी",
"ur": "उर्दु",
"ebu": "एम्बु",
- "eo": "एस्पेरान्तो",
"om": "ओरोमो",
"sw-CD": "कङ्गो स्वाहिली",
"kn": "कन्नाडा",
@@ -68,7 +67,6 @@
"gu": "गुजराती",
"guz": "गुसी",
"el": "ग्रीक",
- "cu": "चर्च स्लाभिक",
"cgg": "चिगा",
"zh": "चिनियाँ",
"cs": "चेक",
@@ -116,7 +114,6 @@
"ps": "पास्तो",
"pt": "पोर्तुगी",
"pl": "पोलिस",
- "prg": "प्रसियाली",
"fa": "फारसी",
"fo": "फारोज",
"fi": "फिनिस",
@@ -142,7 +139,6 @@
"vai": "भाइ",
"vi": "भियतनामी",
"vun": "भुन्जो",
- "vo": "भोलापिक",
"mn": "मङ्गोलियाली",
"mzn": "मजानडेरानी",
"ckb": "मध्यवर्ती कुर्दिस",
@@ -157,7 +153,6 @@
"jmc": "माचामे",
"hsb": "माथिल्लो सोर्बियन",
"zgh": "मानक मोरोक्कोन तामाजिघट",
- "gv": "मान्क्स",
"mt": "माल्टिज",
"mua": "मुन्डाङ",
"es-MX": "मेक्सिकन स्पेनी",
diff --git a/vendor/commerceguys/intl/resources/language/nl.json b/vendor/commerceguys/intl/resources/language/nl.json
index ef890320e..5ad7f8349 100644
--- a/vendor/commerceguys/intl/resources/language/nl.json
+++ b/vendor/commerceguys/intl/resources/language/nl.json
@@ -42,7 +42,6 @@
"en-AU": "Engels (Australië)",
"en-CA": "Engels (Canada)",
"en-GB": "Engels (Verenigd Koninkrijk)",
- "eo": "Esperanto",
"et": "Estisch",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -87,7 +86,6 @@
"yue": "Kantonees",
"ks": "Kasjmiri",
"kk": "Kazachs",
- "cu": "Kerkslavisch",
"km": "Khmer",
"rw": "Kinyarwanda",
"ky": "Kirgizisch",
@@ -119,7 +117,6 @@
"ml": "Malayalam",
"ms": "Maleis",
"mt": "Maltees",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mzn": "Mazanderani",
@@ -151,7 +148,6 @@
"uz": "Oezbeeks",
"hsb": "Oppersorbisch",
"os": "Ossetisch",
- "prg": "Oudpruisisch",
"ps": "Pasjtoe",
"fa": "Perzisch",
"pl": "Pools",
@@ -206,7 +202,6 @@
"ur": "Urdu",
"vai": "Vai",
"vi": "Vietnamees",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Waals",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/nmg.json b/vendor/commerceguys/intl/resources/language/nmg.json
deleted file mode 100644
index a02bd05b5..000000000
--- a/vendor/commerceguys/intl/resources/language/nmg.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fr": "Fala",
- "fr-CA": "Fala (Kanada)",
- "fr-CH": "Fala (Switzɛrland)",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "de": "Jáman",
- "de-AT": "Jáman (Ötrish)",
- "de-CH": "Jáman (Switzɛrland)",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ak": "Kiɛl akan",
- "am": "Kiɛl amaria",
- "ar": "Kiɛl b’árabe",
- "hi": "Kiɛl b’indien",
- "hu": "Kiɛl b’ɔ́ngrois",
- "uk": "Kiɛl b’ukrɛ̄nien",
- "be": "Kiɛl belarussie",
- "bn": "Kiɛl bengalia",
- "my": "Kiɛl birmania",
- "zh": "Kiɛl bó chinois",
- "zh-Hans": "Kiɛl bó chinois (Hans)",
- "zh-Hant": "Kiɛl bó chinois (Hant)",
- "el": "Kiɛl bó grɛk",
- "ja": "Kiɛl bó japonɛ̌",
- "jv": "Kiɛl bó javanɛ̌",
- "km": "Kiɛl bó mɛr",
- "pt": "Kiɛl bó pɔ̄rtugɛ̂",
- "pt-PT": "Kiɛl bó pɔ̄rtugɛ̂ (Pɔrtugal)",
- "ro": "Kiɛl bó rumɛ̂n",
- "ro-MD": "Kiɛl bó rumɛ̂n (Mɔldavia)",
- "sv": "Kiɛl bó suedois",
- "cs": "Kiɛl bó tchɛk",
- "tr": "Kiɛl bó turk",
- "nl": "Kiɛl bóllandais",
- "nl-BE": "Kiɛl bóllandais (Bɛlgik)",
- "bg": "Kiɛl bulgaria",
- "ig": "Kiɛl ikbo",
- "id": "Kiɛl indonesie",
- "it": "Kiɛl italia",
- "ko": "Kiɛl koré",
- "ms": "Kiɛl Malɛ̌siā",
- "ha": "Kiɛl máwúsá",
- "ne": "Kiɛl nepal",
- "pa": "Kiɛl pɛndjabi",
- "fa": "Kiɛl pɛrsia",
- "pl": "Kiɛl pɔlɔŋe",
- "ru": "Kiɛl russia",
- "rw": "Kiɛl rwandā",
- "so": "Kiɛl somaliā",
- "ta": "Kiɛl tamul",
- "th": "Kiɛl thaï",
- "ur": "Kiɛl úrdu",
- "vi": "Kiɛl viɛtnam",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Nedɛrland)",
- "en": "Ngɛ̄lɛ̄n",
- "en-CA": "Ngɛ̄lɛ̄n (Kanada)",
- "en-GB": "Ngɛ̄lɛ̄n (Nlambɔ́ Ngɛlɛn)",
- "en-AU": "Ngɛ̄lɛ̄n (Östraliá)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "es": "Paŋá",
- "es-419": "Paŋá (419)",
- "es-MX": "Paŋá (Mɛxik)",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Kongó Zaïre)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yorúbâ",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nn.json b/vendor/commerceguys/intl/resources/language/nn.json
index 37b17e090..b8bd4ce21 100644
--- a/vendor/commerceguys/intl/resources/language/nn.json
+++ b/vendor/commerceguys/intl/resources/language/nn.json
@@ -34,7 +34,6 @@
"en": "engelsk",
"en-AU": "engelsk (Australia)",
"en-CA": "engelsk (Canada)",
- "eo": "esperanto",
"et": "estisk",
"ee": "ewe",
"ewo": "ewondo",
@@ -95,7 +94,6 @@
"ku": "kurdisk",
"be": "kviterussisk",
"nmg": "kwasio",
- "cu": "kyrkjeslavisk",
"ksh": "kølnsk",
"lkt": "lakota",
"lag": "langi",
@@ -117,7 +115,6 @@
"ml": "malayalam",
"ms": "malayisk",
"mt": "maltesisk",
- "gv": "manx",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -149,7 +146,6 @@
"pl": "polsk",
"pt": "portugisisk",
"pt-PT": "portugisisk (Portugal)",
- "prg": "prøyssisk",
"qu": "quechua",
"rm": "retoromansk",
"rof": "rombo",
@@ -212,7 +208,6 @@
"wa": "vallonsk",
"fy": "vestfrisisk",
"vi": "vietnamesisk",
- "vo": "volapyk",
"vun": "vunjo",
"cy": "walisisk",
"wae": "walsertysk",
diff --git a/vendor/commerceguys/intl/resources/language/nus.json b/vendor/commerceguys/intl/resources/language/nus.json
deleted file mode 100644
index a55dc7adf..000000000
--- a/vendor/commerceguys/intl/resources/language/nus.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (NL)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (CD)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "ak": "Thok aka̱ni",
- "be": "Thok bälärutha",
- "bg": "Thok bälga̱a̱riani",
- "bn": "Thok bängali",
- "vi": "Thok betnaamni",
- "my": "Thok bormi̱thni",
- "am": "Thok bunyni",
- "zh": "Thok cayna",
- "zh-Hans": "Thok cayna (Hans)",
- "zh-Hant": "Thok cayna (Hant)",
- "cs": "Thok cik",
- "nl": "Thok da̱c",
- "nl-BE": "Thok da̱c (Be̱lgim)",
- "zu": "Thok dhuluni",
- "el": "Thok girikni",
- "hi": "Thok ɣändini",
- "hu": "Thok ɣänga̱a̱riɛni",
- "ha": "Thok ɣowthani",
- "ig": "Thok i̱gboni",
- "id": "Thok indunithiani",
- "it": "Thok i̱taliani",
- "es": "Thok i̱thpaaniani",
- "es-419": "Thok i̱thpaaniani (419)",
- "es-MX": "Thok i̱thpaaniani (MX)",
- "sv": "Thok i̱thwidicni",
- "jv": "Thok jabanithni",
- "ar": "Thok Jalabni",
- "ja": "Thok japanni",
- "de": "Thok jarmani",
- "de-AT": "Thok jarmani (Athtɛria)",
- "de-CH": "Thok jarmani (CH)",
- "ro": "Thok ji̱ röm",
- "ro-MD": "Thok ji̱ röm (MD)",
- "km": "Thok kameeri",
- "ko": "Thok kuriani",
- "en": "Thok liŋli̱thni",
- "en-AU": "Thok liŋli̱thni (Athɔra̱lia)",
- "en-GB": "Thok liŋli̱thni (GB)",
- "en-CA": "Thok liŋli̱thni (Känɛda)",
- "ms": "Thok mayɛyni",
- "ne": "Thok napalni",
- "nus": "Thok Nath",
- "fa": "Thok perthiani",
- "pl": "Thok pölicni",
- "fr": "Thok pɔrɔthani",
- "fr-CH": "Thok pɔrɔthani (CH)",
- "fr-CA": "Thok pɔrɔthani (Känɛda)",
- "pa": "Thok puɔnjabani",
- "pt": "Thok puɔtigali",
- "pt-PT": "Thok puɔtigali (PT)",
- "ru": "Thok ra̱ciaani",
- "rw": "Thok ruaandani",
- "ta": "Thok tamilni",
- "th": "Thok tayni",
- "so": "Thok thomaaliani",
- "tr": "Thok turkicni",
- "ur": "Thok udoni",
- "uk": "Thok ukeraanini",
- "yo": "Thok yurubani",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/nyn.json b/vendor/commerceguys/intl/resources/language/nyn.json
deleted file mode 100644
index 792c9aba8..000000000
--- a/vendor/commerceguys/intl/resources/language/nyn.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Hoorandi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "or": "Odia",
- "om": "Oromo",
- "ur": "Oru-Urudu",
- "bn": "Orubengari",
- "be": "Oruberarusi",
- "bg": "Oruburugariya",
- "my": "Oruburuma",
- "cs": "Oruceeki",
- "zh": "Oruchaina",
- "zh-Hans": "Oruchaina (Hans)",
- "zh-Hant": "Oruchaina (Hant)",
- "nl": "Orudaaki",
- "nl-BE": "Orudaaki (Bubirigi)",
- "fr": "Orufaransa",
- "fr-CA": "Orufaransa (Kanada)",
- "fr-CH": "Orufaransa (Swisi)",
- "de": "Orugirimaani",
- "de-AT": "Orugirimaani (Osituria)",
- "de-CH": "Orugirimaani (Swisi)",
- "el": "Oruguriiki",
- "hu": "Oruhangare",
- "ar": "Oruharabu",
- "ha": "Oruhausa",
- "hi": "Oruhindi",
- "ig": "Oruibo",
- "id": "Oruindonezia",
- "ja": "Orujapaani",
- "jv": "Orujava",
- "km": "Orukambodiya",
- "ak": "Orukani",
- "ko": "Orukoreya",
- "uk": "Orukuraini",
- "tr": "Orukuruki",
- "ms": "Orumalesiya",
- "am": "Orumariki",
- "ne": "Orunepali",
- "en": "Orungyereza",
- "en-GB": "Orungyereza (Bungyereza)",
- "en-CA": "Orungyereza (Kanada)",
- "en-AU": "Orungyereza (Ositureeriya)",
- "rw": "Orunyarwanda",
- "fa": "Orupaasiya",
- "pt": "Orupocugo",
- "pt-PT": "Orupocugo (Pocugo)",
- "pl": "Orupoori",
- "pa": "Orupungyabi",
- "ro": "Oruromania",
- "ro-MD": "Oruromania (Moridova)",
- "ru": "Orurrasha",
- "so": "Orusomaari",
- "es": "Orusupaani",
- "es-419": "Orusupaani (419)",
- "es-MX": "Orusupaani (Mexico)",
- "sv": "Oruswidi",
- "th": "Orutailandi",
- "ta": "Orutamiri",
- "vi": "Oruviyetinaamu",
- "it": "Oruyitare",
- "yo": "Oruyoruba",
- "zu": "Oruzuru",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "nyn": "Runyankore",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Demokoratika Ripaaburika ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/om.json b/vendor/commerceguys/intl/resources/language/om.json
deleted file mode 100644
index b2ec6a261..000000000
--- a/vendor/commerceguys/intl/resources/language/om.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "sq": "Afaan Albaniyaa",
- "ga": "Afaan Ayirishii",
- "az": "Afaan Azerbaijani",
- "bn": "Afaan Baangladeshi",
- "eu": "Afaan Baskuu",
- "be": "Afaan Belarusia",
- "bs": "Afaan Bosniyaa",
- "bg": "Afaan Bulgariya",
- "hr": "Afaan Croatian",
- "cs": "Afaan Czech",
- "nl": "Afaan Dachii",
- "nl-BE": "Afaan Dachii (BE)",
- "da": "Afaan Deenmaark",
- "eo": "Afaan Esperantoo",
- "fr": "Afaan Faransaayii",
- "fr-CA": "Afaan Faransaayii (CA)",
- "fr-CH": "Afaan Faransaayii (CH)",
- "fo": "Afaan Faroese",
- "fi": "Afaan Fiilaandi",
- "fil": "Afaan Filippinii",
- "fy": "Afaan Firisiyaani",
- "gl": "Afaan Galishii",
- "ka": "Afaan Georgian",
- "el": "Afaan Giriiki",
- "gu": "Afaan Gujarati",
- "hu": "Afaan Hangaari",
- "he": "Afaan Hebrew",
- "hi": "Afaan Hindii",
- "id": "Afaan Indoneziya",
- "sl": "Afaan Islovaniyaa",
- "es": "Afaan Ispeen",
- "es-419": "Afaan Ispeen (419)",
- "es-MX": "Afaan Ispeen (MX)",
- "et": "Afaan Istooniya",
- "ja": "Afaan Japanii",
- "de": "Afaan Jarmanii",
- "de-AT": "Afaan Jarmanii (AT)",
- "de-CH": "Afaan Jarmanii (CH)",
- "jv": "Afaan Java",
- "kn": "Afaan Kannada",
- "ca": "Afaan Katalaa",
- "ko": "Afaan Korea",
- "lv": "Afaan Lativiyaa",
- "lt": "Afaan Liituniyaa",
- "mk": "Afaan Macedooniyaa",
- "mt": "Afaan Maltesii",
- "mr": "Afaan Maratii",
- "ne": "Afaan Nepalii",
- "nn": "Afaan Norwegian",
- "fa": "Afaan Persia",
- "pl": "Afaan Polandii",
- "pt": "Afaan Porchugaal",
- "pt-PT": "Afaan Protuguese",
- "pa": "Afaan Punjabii",
- "ro": "Afaan Romaniyaa",
- "ro-MD": "Afaan Romaniyaa (MD)",
- "ru": "Afaan Rushiyaa",
- "sr": "Afaan Serbiya",
- "am": "Afaan Sidaamaa",
- "si": "Afaan Sinhalese",
- "sk": "Afaan Slovak",
- "sv": "Afaan Suwidiin",
- "ta": "Afaan Tamilii",
- "th": "Afaan Tayii",
- "te": "Afaan Telugu",
- "ti": "Afaan Tigiree",
- "tr": "Afaan Turkii",
- "uk": "Afaan Ukreenii",
- "ur": "Afaan Urdu",
- "uz": "Afaan Uzbek",
- "vi": "Afaan Veetinam",
- "it": "Afaan Xaaliyaani",
- "xh": "Afaan Xhosa",
- "zu": "Afaan Zuulu",
- "af": "Afrikoota",
- "agq": "Aghem",
- "ak": "Akan",
- "ar": "Arabiffaa",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "is": "Ayiislandiffaa",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "br": "Breton",
- "my": "Burmese",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ksh": "Colognian",
- "kw": "Cornish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "ff": "Fulah",
- "lg": "Ganda",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "en": "Ingliffa",
- "en-AU": "Ingliffa (AU)",
- "en-CA": "Ingliffa (CA)",
- "en-GB": "Ingliffa (United Kingdom)",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kk": "Kazakh",
- "ks": "Kashmiri",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "tk": "Lammii Turkii",
- "lag": "Langi",
- "lo": "Lao",
- "ln": "Lingala",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "kde": "Makonde",
- "ms": "Malaayiffaa",
- "mg": "Malagasy",
- "ml": "Malayaalamiffaa",
- "gv": "Manx",
- "mi": "Maori",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (NL)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nus": "Nuer",
- "or": "Odia",
- "om": "Oromoo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "sah": "Sakha",
- "gd": "Scots Gaelic",
- "seh": "Sena",
- "sd": "Sindhi",
- "ii": "Sichuan Yi",
- "xog": "Soga",
- "so": "Somali",
- "zgh": "Standard Moroccan Tamazight",
- "sw": "Suwahilii",
- "sw-CD": "Suwahilii (CD)",
- "gsw": "Swiss German",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "shi": "Tachelhit",
- "teo": "Teso",
- "bo": "Tibetan",
- "to": "Tongan",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welishiffaa",
- "wo": "Wolof",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "dje": "Zarma",
- "chr": "Cherokee",
- "ce": "Chechen",
- "cgg": "Chiga",
- "zh": "Chinese",
- "zh-Hans": "Chinese (Hans)",
- "zh-Hant": "Chinese (Hant)",
- "cu": "Church Slavic",
- "km": "Khmer",
- "nyn": "Nyankole",
- "ksb": "Shambala",
- "sn": "Shona"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/or.json b/vendor/commerceguys/intl/resources/language/or.json
deleted file mode 100644
index 143c05ec9..000000000
--- a/vendor/commerceguys/intl/resources/language/or.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "ak": "ଅକନ୍",
- "de-AT": "ଅଷ୍ଟ୍ରିଆନ୍ ଜର୍ମାନ",
- "en-AU": "ଅଷ୍ଟ୍ରେଲିୟ ଇଂରାଜୀ",
- "is": "ଆଇସଲାଣ୍ଡିକ୍",
- "agq": "ଆଘେମ",
- "az": "ଆଜେରବାଇଜାନି",
- "af": "ଆଫ୍ରିକୀୟ",
- "am": "ଆମହାରକି",
- "rwk": "ଆରଡବ୍ୟୁଏ",
- "ar": "ଆରବିକ୍",
- "hy": "ଆର୍ମେନିଆନ୍",
- "sq": "ଆଲବାନିଆନ୍",
- "ast": "ଆଷ୍ଟୁରିଆନ୍",
- "as": "ଆସାମୀୟ",
- "asa": "ଆସୁ",
- "en": "ଇଂରାଜୀ",
- "ig": "ଇଗବୋ",
- "it": "ଇଟାଲୀୟ",
- "id": "ଇଣ୍ଡୋନେସୀୟ",
- "smn": "ଇନାରୀ ସାମି",
- "ga": "ଇରିସ୍",
- "ee": "ଇୱେ",
- "ewo": "ଇୱୋଣ୍ଡୋ",
- "uz": "ଉଜବେକ୍",
- "nd": "ଉତ୍ତର ନେଡବେଲେ",
- "lrc": "ଉତ୍ତର ଲୁରି",
- "se": "ଉତ୍ତର ସାମି",
- "hsb": "ଉପର ସର୍ବିଆନ୍",
- "ur": "ଉର୍ଦ୍ଦୁ",
- "ebu": "ଏମ୍ଵୁ",
- "et": "ଏସ୍ତୋନିଆନ୍",
- "eo": "ଏସ୍ପାରେଣ୍ଟୋ",
- "or": "ଓଡ଼ିଆ",
- "om": "ଓରୋମୋ",
- "os": "ଓସେଟିକ୍",
- "sw-CD": "କଙ୍ଗୋ ସ୍ୱାହିଲି",
- "kn": "କନ୍ନଡ",
- "kab": "କବାଇଲ୍",
- "kam": "କମ୍ବା",
- "nmg": "କୱାସିଓ",
- "kkj": "କାକୋ",
- "kk": "କାଜାକ୍",
- "ca": "କାଟାଲାନ୍",
- "yue": "କାନଟୋନେସେ",
- "en-CA": "କାନାଡିୟ ଇଂରାଜୀ",
- "fr-CA": "କାନାଡିୟ ଫ୍ରେଞ୍ଚ",
- "kea": "କାବୁଭେରଡିଆନୁ",
- "kl": "କାଲାଲିସୁଟ୍",
- "kln": "କାଲେନଜିନ୍",
- "ks": "କାଶ୍ମିରୀ",
- "rw": "କିନ୍ୟାରୱାଣ୍ଡା",
- "ki": "କୀକୁୟୁ",
- "ky": "କୀରଗୀଜ୍",
- "ku": "କୁର୍ଦ୍ଦିଶ୍",
- "tzm": "କେନ୍ଦ୍ରୀୟ ଆଟଲାସ୍ ଟାମାଜିଘାଟ୍",
- "ckb": "କେନ୍ଦ୍ରୀୟ କୁରଡିସ୍",
- "kok": "କୋଙ୍କଣି",
- "khq": "କୋୟରା ଚିନି",
- "ses": "କୋୟରା ସେନ୍ନି",
- "ko": "କୋରିଆନ୍",
- "kw": "କୋର୍ନିସ୍",
- "ksh": "କୋଲୋବନିୟ",
- "hr": "କ୍ରୋଆଟିଆନ୍",
- "qu": "କ୍ୱେଚୁଆ",
- "km": "ଖାମେର୍",
- "xh": "ଖୋସା",
- "lg": "ଗନ୍ଦା",
- "gl": "ଗାଲସିଆନ୍",
- "gu": "ଗୁଜୁରାଟୀ",
- "guz": "ଗୁସି",
- "el": "ଗ୍ରୀକ୍",
- "cu": "ଚର୍ଚ୍ଚ ସ୍ଲାଭିକ୍",
- "zh": "ଚାଇନିଜ୍‌",
- "cgg": "ଚିଗା",
- "cs": "ଚେକ୍",
- "ce": "ଚେଚନ୍",
- "chr": "ଚେରୋକୀ",
- "ka": "ଜର୍ଜିୟ",
- "dje": "ଜର୍ମା",
- "de": "ଜର୍ମାନ",
- "ja": "ଜାପାନୀ",
- "jv": "ଜାଭାନୀଜ୍",
- "zu": "ଜୁଲୁ",
- "dyo": "ଜୋଲା-ଫୋନୟି",
- "to": "ଟୋଙ୍ଗା",
- "ti": "ଟ୍ରିଗିନିଆ",
- "nl": "ଡଚ୍",
- "da": "ଡାନ୍ନିସ୍",
- "dua": "ଡୁଆନା",
- "dav": "ତାଇତି",
- "shi": "ତାଚେଲହିଟ୍",
- "tg": "ତାଜିକ୍",
- "tt": "ତାତାର୍",
- "ta": "ତାମିଲ୍",
- "twq": "ତାସାୱାକ୍",
- "bo": "ତିବ୍ବତୀୟ",
- "tk": "ତୁର୍କମେନ୍",
- "tr": "ତୁର୍କିସ୍",
- "te": "ତେଲୁଗୁ",
- "teo": "ତେସା",
- "th": "ଥାଇ",
- "dz": "ଦଡଜୋଙ୍ଗଖା",
- "nn": "ନରୱେଜିଆନ୍ ନିୟୋର୍ସ୍କ",
- "nb": "ନରୱେଜିଆନ୍ ବୋକମଲ୍",
- "nnh": "ନାଗିମବୋନ୍",
- "jgo": "ନାଗୋମ୍ଵା",
- "naq": "ନାମା",
- "dsb": "ନିମ୍ନ ସର୍ବିଆନ୍‌",
- "nus": "ନୁଏର",
- "ne": "ନେପାଳୀ",
- "nyn": "ନ୍ୟାନକୋଲ୍",
- "pa": "ପଞ୍ଜାବୀ",
- "pt": "ପର୍ତ୍ତୁଗୀଜ୍‌",
- "fa": "ପର୍ସିଆନ୍",
- "zh-Hant": "ପାରମ୍ପରିକ ଚାଇନିଜ୍‌",
- "fy": "ପାଶ୍ଚାତ୍ୟ ଫ୍ରିସିଆନ୍",
- "ps": "ପାସ୍ତୋ",
- "pl": "ପୋଲିଶ୍",
- "prg": "ପ୍ରୁସିୟ",
- "fr": "ଫରାସୀ",
- "fo": "ଫାରୋଏସେ",
- "fi": "ଫିନ୍ନିସ୍",
- "fil": "ଫିଲିପିନୋ",
- "ff": "ଫୁଲାହ",
- "fur": "ଫ୍ରିୟୁଲୀୟାନ୍",
- "nl-BE": "ଫ୍ଲେମିଶ୍",
- "bn": "ବଙ୍ଗଳା",
- "my": "ବର୍ମୀଜ୍",
- "ksf": "ବାଫଲା",
- "bm": "ବାମ୍ବାରା",
- "bas": "ବାସା",
- "eu": "ବାସ୍କ୍ୱି",
- "bg": "ବୁଲଗେରିଆନ୍",
- "bez": "ବେନା",
- "bem": "ବେମ୍ବା",
- "be": "ବେଲାରୁଷିଆନ୍",
- "brx": "ବୋଡୋ",
- "vo": "ବୋଲାପୁକ",
- "bs": "ବୋସନିଆନ୍",
- "en-GB": "ବ୍ରିଟିଶ୍‌ ଇଂରାଜୀ",
- "br": "ବ୍ରେଟନ୍",
- "vai": "ଭାଇ",
- "vi": "ଭିଏତନାମିଜ୍",
- "vun": "ଭୁନଜୋ",
- "mgh": "ମଖୁୱା-ମେଟ୍ଟା",
- "mn": "ମଙ୍ଗୋଳିୟ",
- "mr": "ମରାଠୀ",
- "mi": "ମାଓରୀ",
- "gv": "ମାଁକ୍ସ",
- "kde": "ମାକୋଣ୍ଡେ",
- "jmc": "ମାଚେମେ",
- "mzn": "ମାଜାନଡେରାନି",
- "zgh": "ମାନାଙ୍କ ମରୋକିୟ ତାମାଜିଘାଟ୍",
- "mt": "ମାଲଟୀଜ୍",
- "ms": "ମାଲୟ",
- "mg": "ମାଲାଗାସୀ",
- "ml": "ମାଲାୟଲମ୍",
- "mas": "ମାସାଇ",
- "mk": "ମାସେଡୋନିଆନ୍",
- "mua": "ମୁନଡାଂ",
- "es-MX": "ମେକ୍ସିକାନ ସ୍ପାନିସ୍‌",
- "mgo": "ମେଟା",
- "mer": "ମେରୁ",
- "mfe": "ମୋରିସୟେନ୍",
- "ro-MD": "ମୋଲଡୋଭିଆନ୍",
- "yav": "ୟାଂବେନ୍",
- "yi": "ୟିଡିସ୍",
- "uk": "ୟୁକ୍ରାନିଆନ୍",
- "ug": "ୟୁଘୁର୍",
- "pt-PT": "ୟୁରୋପୀୟ ପର୍ତ୍ତୁଗୀଜ୍‌",
- "yo": "ୟୋରୁବା",
- "rn": "ରୁଣ୍ଡି",
- "ru": "ରୁଷିୟ",
- "rm": "ରୋମାନଶ୍‌",
- "ro": "ରୋମାନିଆନ୍",
- "rof": "ରୋମ୍ବୋ",
- "lb": "ଲକ୍ସେମବର୍ଗିସ୍",
- "lo": "ଲାଓ",
- "lkt": "ଲାକୋଟା",
- "lv": "ଲାଟଭିଆନ୍",
- "es-419": "ଲାଟିନ୍‌ ଆମେରିକୀୟ ସ୍ପାନିସ୍‌",
- "lag": "ଲାନଗି",
- "ln": "ଲିଙ୍ଗାଲା",
- "lt": "ଲିଥୁଆନିଆନ୍",
- "luo": "ଲୁଓ",
- "luy": "ଲୁୟିଆ",
- "nds": "ଲୋ ଜର୍ମାନ୍",
- "nds-NL": "ଲୋ ଜର୍ମାନ୍ (ନେଦରଲ୍ୟାଣ୍ଡ)",
- "lu": "ଲ୍ୟୁବା-କାଟାଙ୍ଗା",
- "wae": "ୱାଲସେର୍",
- "wa": "ୱାଲୁନ୍",
- "cy": "ୱେଲ୍ସ",
- "wo": "ୱୋଲଫ୍",
- "ksb": "ଶାମବାଲା",
- "sn": "ଶୋନା",
- "saq": "ସମବୁରୁ",
- "zh-Hans": "ସରଳୀକୃତ ଚାଇନିଜ୍‌",
- "sr": "ସର୍ବିୟ",
- "sah": "ସାଖା",
- "sg": "ସାଙ୍ଗୋ",
- "sbp": "ସାନଗୁ",
- "si": "ସିଂହଳ",
- "ii": "ସିଚୁଆନ୍ ୟୀ",
- "sd": "ସିନ୍ଧୀ",
- "ceb": "ସୀବୁଆନୋ",
- "gsw": "ସୁଇସ୍ ଜର୍ମାନ୍",
- "seh": "ସେନା",
- "xog": "ସୋଗା",
- "so": "ସୋମାଲିଆ",
- "gd": "ସ୍କଟିସ୍ ଗାଏଲିକ୍",
- "es": "ସ୍ପେନିୟ",
- "sk": "ସ୍ଲୋଭାକ୍",
- "sl": "ସ୍ଲୋଭେନିଆନ୍",
- "sw": "ସ୍ୱାହିଲ୍",
- "fr-CH": "ସ୍ୱିସ୍ ଫ୍ରେଞ୍ଚ",
- "de-CH": "ସ୍ୱିସ୍‌ ହାଇ ଜର୍ମାନ",
- "sv": "ସ୍ୱେଡିସ୍",
- "hu": "ହଙ୍ଗେରୀୟ",
- "haw": "ହାୱାଇନ୍",
- "hi": "ହିନ୍ଦୀ",
- "he": "ହେବ୍ର୍ୟୁ",
- "ha": "ହୌସା"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/os.json b/vendor/commerceguys/intl/resources/language/os.json
deleted file mode 100644
index b9b2cf3bc..000000000
--- a/vendor/commerceguys/intl/resources/language/os.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albanian",
- "am": "Amharic",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bn": "Bangla",
- "bas": "Basaa",
- "be": "Belarusian",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "br": "Breton",
- "my": "Burmese",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "dua": "Duala",
- "nl": "Dutch",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "hi": "Hindi",
- "is": "Icelandic",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "id": "Indonesian",
- "jv": "Javanese",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "km": "Khmer",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "kok": "Konkani",
- "ko": "Korean",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ms": "Malay",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (NL)",
- "ne": "Nepali",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nl-BE": "nl (BE)",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "ps": "Pashto",
- "pl": "Polish",
- "prg": "Prussian",
- "pa": "Punjabi",
- "qu": "Quechua",
- "ro-MD": "ro (MD)",
- "ro": "Romanian",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somali",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (CD)",
- "sw": "Swahili",
- "sv": "Swedish",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thai",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "Turkish",
- "tk": "Turkmen",
- "uk": "Ukrainian",
- "hsb": "Upper Sorbian",
- "ur": "Urdu",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnamese",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "dje": "Zarma",
- "zu": "Zulu",
- "en-AU": "австралиаг англисаг",
- "de-AT": "австралиаг немыцаг",
- "en": "англисаг",
- "ar": "араббаг",
- "af": "африкаанс",
- "zh-Hans": "ӕнцонгонд китайаг",
- "eu": "баскаг",
- "el": "бердзейнаг",
- "bg": "болгайраг",
- "bs": "босниаг",
- "en-GB": "бритайнаг англисаг",
- "hu": "венгериаг",
- "ka": "гуырдзиаг",
- "da": "даниаг",
- "pt-PT": "европӕйаг полтугалиаг",
- "eo": "есперанто",
- "et": "естойнаг",
- "ga": "ирландиаг",
- "os": "ирон",
- "es": "испайнаг",
- "es-MX": "испайнаг (MX)",
- "it": "италиаг",
- "en-CA": "канадӕйаг англисаг",
- "fr-CA": "канадӕйаг францаг",
- "ca": "каталайнаг",
- "zh": "китайаг",
- "ku": "курдаг",
- "es-419": "латинаг америкаг англисаг",
- "mk": "мӕчъидон",
- "de": "немыцаг",
- "fa": "персайнаг",
- "pt": "португалиаг",
- "hy": "сомихаг",
- "az": "тӕтӕйраг",
- "zh-Hant": "традицион китайаг",
- "he": "уираг",
- "ru": "уырыссаг",
- "fo": "фарераг",
- "fil": "филиппинаг",
- "fi": "финнаг",
- "fr": "францаг",
- "hr": "хорватаг",
- "ce": "цӕцӕйнаг",
- "cs": "чехаг",
- "fr-CH": "швейцариаг францаг",
- "de-CH": "швйецариаг немыцаг",
- "ja": "япойнаг"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pa.json b/vendor/commerceguys/intl/resources/language/pa.json
index f988e3593..2b27b6a4b 100644
--- a/vendor/commerceguys/intl/resources/language/pa.json
+++ b/vendor/commerceguys/intl/resources/language/pa.json
@@ -27,7 +27,6 @@
"ga": "ਆਇਰਸ਼",
"is": "ਆਈਸਲੈਂਡਿਕ",
"et": "ਇਸਟੋਨੀਆਈ",
- "eo": "ਇਸਪੇਰਾਂਟੋ",
"ig": "ਇਗਬੋ",
"id": "ਇੰਡੋਨੇਸ਼ੀਆਈ",
"it": "ਇਤਾਲਵੀ",
@@ -95,7 +94,6 @@
"guz": "ਗੁਸੀ",
"gu": "ਗੁਜਰਾਤੀ",
"gl": "ਗੈਲਿਸ਼ਿਅਨ",
- "cu": "ਚਰਚ ਸਲਾਵੀ",
"cgg": "ਚੀਗਾ",
"zh-Hans": "ਚੀਨੀ (ਸਰਲ)",
"zh": "ਚੀਨੀ (ਮੈਂਡਰਿਨ)",
@@ -141,7 +139,6 @@
"ps": "ਪਸ਼ਤੋ",
"fy": "ਪੱਛਮੀ ਫ੍ਰਿਸੀਅਨ",
"pa": "ਪੰਜਾਬੀ",
- "prg": "ਪਰੂਸ਼ੀਆ",
"pt": "ਪੁਰਤਗਾਲੀ",
"pt-PT": "ਪੁਰਤਗਾਲੀ (ਯੂਰਪੀ)",
"pl": "ਪੋਲੈਂਡੀ",
@@ -185,7 +182,6 @@
"mzn": "ਮੇਜ਼ੈਂਡਰਾਨੀ",
"mgo": "ਮੇਟਾ",
"mer": "ਮੇਰੂ",
- "gv": "ਮੈਂਕਸ",
"mk": "ਮੈਕਡੋਨੀਆਈ",
"mfe": "ਮੋਰੀਸਿਅਨ",
"ro-MD": "ਮੋਲਡਾਵੀਆਈ",
@@ -219,6 +215,5 @@
"vi": "ਵੀਅਤਨਾਮੀ",
"vun": "ਵੂੰਜੋ",
"cy": "ਵੈਲਸ਼",
- "vo": "ਵੋਲਾਪੂਕ",
"wo": "ਵੋਲੋਫ"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pl.json b/vendor/commerceguys/intl/resources/language/pl.json
index faa06fe53..23f308f40 100644
--- a/vendor/commerceguys/intl/resources/language/pl.json
+++ b/vendor/commerceguys/intl/resources/language/pl.json
@@ -29,7 +29,6 @@
"en-GB": "brytyjski angielski",
"bg": "bułgarski",
"ceb": "cebuano",
- "cu": "cerkiewnosłowiański",
"cgg": "chiga",
"zh": "chiński",
"zh-Hant": "chiński tradycyjny",
@@ -47,7 +46,6 @@
"dz": "dzongkha",
"dje": "dżerma",
"ebu": "embu",
- "eo": "esperanto",
"et": "estoński",
"pt-PT": "europejski portugalski",
"ee": "ewe",
@@ -128,7 +126,6 @@
"ms": "malajski",
"mg": "malgaski",
"mt": "maltański",
- "gv": "manx",
"mi": "maoryjski",
"mr": "marathi",
"mas": "masajski",
@@ -161,7 +158,6 @@
"pl": "polski",
"pt": "portugalski",
"se": "północnolapoński",
- "prg": "pruski",
"rm": "retoromański",
"rof": "rombo",
"ru": "rosyjski",
@@ -216,7 +212,6 @@
"hu": "węgierski",
"vi": "wietnamski",
"it": "włoski",
- "vo": "wolapik",
"wo": "wolof",
"yav": "yangben",
"fy": "zachodniofryzyjski",
diff --git a/vendor/commerceguys/intl/resources/language/ps-PK.json b/vendor/commerceguys/intl/resources/language/ps-PK.json
index 4b512b05e..666a88900 100644
--- a/vendor/commerceguys/intl/resources/language/ps-PK.json
+++ b/vendor/commerceguys/intl/resources/language/ps-PK.json
@@ -6,7 +6,6 @@
"ur": "اردو",
"pt-PT": "اروپايي پرتګالي",
"as": "اسامي",
- "eo": "اسپرانتو",
"ast": "استورياني",
"asa": "اسويي",
"agq": "اغیمي",
@@ -45,7 +44,6 @@
"be": "بېلاروسي",
"bem": "بيمبا",
"bez": "بينا",
- "prg": "پروشين",
"ps": "پښتو",
"pa": "پنجابي",
"pt": "پورتګالي",
@@ -77,7 +75,6 @@
"et": "حبشي",
"km": "خمر",
"xh": "خوسا",
- "cu": "د کليسا سلاوي",
"dua": "دوالا",
"zh-Hant": "دوديزه چيني",
"da": "ډنمارکي",
@@ -194,7 +191,6 @@
"mer": "ميرو",
"es-MX": "ميکسيکي هسپانوي",
"kde": "ميکونډي",
- "gv": "مینکس",
"nb": "ناروے بوکمال",
"nn": "ناروېئي (نائنورسک)",
"naq": "ناما",
@@ -209,7 +205,6 @@
"hu": "هنگري",
"haw": "هوایی",
"ha": "هوسا",
- "vo": "والاپوک",
"wa": "والون",
"vai": "وای",
"wae": "ولسیر",
diff --git a/vendor/commerceguys/intl/resources/language/ps.json b/vendor/commerceguys/intl/resources/language/ps.json
index 9e1a7a929..107a9a8ad 100644
--- a/vendor/commerceguys/intl/resources/language/ps.json
+++ b/vendor/commerceguys/intl/resources/language/ps.json
@@ -6,7 +6,6 @@
"ur": "اردو",
"pt-PT": "اروپايي پرتګالي",
"as": "اسامي",
- "eo": "اسپرانتو",
"ast": "استورياني",
"asa": "اسويي",
"agq": "اغیمي",
@@ -45,7 +44,6 @@
"be": "بېلاروسي",
"bem": "بيمبا",
"bez": "بينا",
- "prg": "پروشين",
"ps": "پښتو",
"pa": "پنجابي",
"pt": "پورتګالي",
@@ -77,7 +75,6 @@
"et": "حبشي",
"km": "خمر",
"xh": "خوسا",
- "cu": "د کليسا سلاوي",
"dua": "دوالا",
"zh-Hant": "دوديزه چيني",
"da": "ډنمارکي",
@@ -194,7 +191,6 @@
"mer": "ميرو",
"es-MX": "ميکسيکي هسپانوي",
"kde": "ميکونډي",
- "gv": "مینکس",
"nb": "ناروې بوکمال",
"nn": "ناروېئي (نائنورسک)",
"naq": "ناما",
@@ -209,7 +205,6 @@
"hu": "هنگري",
"haw": "هوایی",
"ha": "هوسا",
- "vo": "والاپوک",
"wa": "والون",
"vai": "وای",
"wae": "ولسیر",
diff --git a/vendor/commerceguys/intl/resources/language/pt-PT.json b/vendor/commerceguys/intl/resources/language/pt-PT.json
index cf92335cd..202f2a95d 100644
--- a/vendor/commerceguys/intl/resources/language/pt-PT.json
+++ b/vendor/commerceguys/intl/resources/language/pt-PT.json
@@ -55,13 +55,11 @@
"dua": "duala",
"dz": "dzonga",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "espanhol",
"es-419": "espanhol latino-americano",
"es-MX": "espanhol mexicano",
- "eo": "esperanto",
"et": "estónio",
"ee": "ewe",
"ewo": "ewondo",
@@ -132,7 +130,6 @@
"ms": "malaio",
"mg": "malgaxe",
"mt": "maltês",
- "gv": "manx",
"mi": "maori",
"mr": "marata",
"mas": "massai",
@@ -162,7 +159,6 @@
"pl": "polaco",
"pt": "português",
"pt-PT": "português europeu",
- "prg": "prussiano",
"qu": "quíchua",
"ki": "quicuio",
"rw": "quiniaruanda",
@@ -214,7 +210,6 @@
"vai": "Vai",
"wa": "valão",
"vi": "vietnamita",
- "vo": "volapuque",
"vun": "vunjo",
"wae": "walser",
"xh": "xosa",
diff --git a/vendor/commerceguys/intl/resources/language/pt.json b/vendor/commerceguys/intl/resources/language/pt.json
index 193a42afd..2f6e307e9 100644
--- a/vendor/commerceguys/intl/resources/language/pt.json
+++ b/vendor/commerceguys/intl/resources/language/pt.json
@@ -56,13 +56,11 @@
"dua": "duala",
"dz": "dzonga",
"ebu": "embu",
- "cu": "eslavo eclesiástico",
"sk": "eslovaco",
"sl": "esloveno",
"es": "espanhol",
"es-419": "espanhol (América Latina)",
"es-MX": "espanhol (México)",
- "eo": "esperanto",
"et": "estoniano",
"ee": "eve",
"ewo": "ewondo",
@@ -134,7 +132,6 @@
"ms": "malaio",
"mg": "malgaxe",
"mt": "maltês",
- "gv": "manx",
"mi": "maori",
"mr": "marati",
"mas": "massai",
@@ -162,7 +159,6 @@
"pl": "polonês",
"pt": "português",
"pt-PT": "português (Portugal)",
- "prg": "prussiano",
"qu": "quíchua",
"ki": "quicuio",
"rw": "quiniaruanda",
@@ -213,7 +209,6 @@
"vai": "Vai",
"wa": "valão",
"vi": "vietnamita",
- "vo": "volapuque",
"vun": "vunjo",
"wae": "walser",
"xh": "xhosa",
diff --git a/vendor/commerceguys/intl/resources/language/qu.json b/vendor/commerceguys/intl/resources/language/qu.json
deleted file mode 100644
index 6ad4f75bc..000000000
--- a/vendor/commerceguys/intl/resources/language/qu.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans Simi",
- "agq": "Aghem Simi",
- "ak": "Akan Simi",
- "sq": "Albanes Simi",
- "de": "Aleman Simi",
- "de-AT": "Aleman Simi (Austria)",
- "de-CH": "Aleman Simi (Suiza)",
- "gsw": "Alsaciano Simi",
- "hsb": "Alto Sorbio Simi",
- "am": "Amarico Simi",
- "ar": "Arabe Simi",
- "hy": "Armenio Simi",
- "as": "Asames Simi",
- "ast": "Asturiano Simi",
- "asa": "Asu Simi",
- "az": "Azerbaiyano Simi",
- "ksf": "Bafia Simi",
- "nds": "Bajo Alemán Simi",
- "nds-NL": "Bajo Alemán Simi (Países Bajos)",
- "dsb": "Bajo Sorbio Simi",
- "bm": "Bambara Simi",
- "bn": "Bangla Simi",
- "bas": "Basaa Simi",
- "bem": "Bemba Simi",
- "bez": "Bena Simi",
- "zgh": "Bereber Marroquí Estándar Simi",
- "be": "Bielorruso Simi",
- "my": "Birmano Simi",
- "brx": "Bodo Simi",
- "bs": "Bosnio Simi",
- "br": "Breton Simi",
- "bg": "Bulgaro Simi",
- "dz": "Butanés Simi",
- "kab": "Cabilio Simi",
- "kea": "Caboverdiano Simi",
- "ks": "Cachemir Simi",
- "yue": "Cantonés Simi",
- "ca": "Catalan Simi",
- "ceb": "Cebuano Simi",
- "ckb": "Chawpi Kurdo Simi",
- "ce": "Checheno Simi",
- "cs": "Checo Simi",
- "chr": "Cheroqui Simi",
- "se": "Chincha Sami Simi",
- "zh": "Chino Simi",
- "zh-Hans": "Chino Simplificado Simi",
- "zh-Hant": "Chino Tradicional Simi",
- "si": "Cingales Simi",
- "ko": "Coreano Simi",
- "kw": "Córnico Simi",
- "hr": "Croata Simi",
- "da": "Danes Simi",
- "dua": "Duala Simi",
- "ebu": "Embu Simi",
- "cu": "Eslavo Eclesiástico Simi",
- "sk": "Eslovaco Simi",
- "sl": "Esloveno Simi",
- "es": "Español Simi",
- "es-419": "Español Simi (Latino América)",
- "es-MX": "Español Simi (México)",
- "eo": "Esperanto Simi",
- "et": "Estonio Simi",
- "eu": "Euskera Simi",
- "ee": "Ewé Simi",
- "ewo": "Ewondo Simi",
- "fo": "Feroes Simi",
- "fil": "Filipino Simi",
- "fi": "Fines Simi",
- "nl-BE": "Flamenco Simi",
- "fr": "Frances Simi",
- "fr-CA": "Frances Simi (Canadá)",
- "fr-CH": "Frances Simi (Suiza)",
- "fy": "Frison Simi",
- "fur": "Friulano Simi",
- "ff": "Fulah Simi",
- "gd": "Gaelico Escoces Simi",
- "cy": "Gales Simi",
- "gl": "Gallego Simi",
- "ka": "Georgiano Simi",
- "el": "Griego Simi",
- "kl": "Groenlandes Simi",
- "gu": "Gujarati Simi",
- "guz": "Guzí Simi",
- "ha": "Hausa Simi",
- "haw": "Hawaiano Simi",
- "he": "Hebreo Simi",
- "hi": "Hindi Simi",
- "hu": "Hungaro Simi",
- "ig": "Igbo Simi",
- "id": "Indonesio Simi",
- "en": "Ingles Simi",
- "en-AU": "Ingles Simi (Australia)",
- "en-CA": "Ingles Simi (Canadá)",
- "en-GB": "Ingles Simi (Reino Unido)",
- "ga": "Irlandes Simi",
- "xh": "Isixhosa Simi",
- "zu": "Isizulu Simi",
- "is": "Islandes Simi",
- "it": "Italiano Simi",
- "ja": "Japones Simi",
- "jv": "Javanés Simi",
- "dyo": "Jola-Fonyi Simi",
- "kkj": "Kako Simi",
- "kln": "Kalenjin Simi",
- "kam": "Kamba Simi",
- "kn": "Kannada Simi",
- "kk": "Kazajo Simi",
- "km": "Khmer Simi",
- "cgg": "Kiga Simi",
- "ki": "Kikuyu Simi",
- "rw": "Kinyarwanda Simi",
- "ky": "Kirghiz Simi",
- "ksh": "Kölsch Simi",
- "kok": "Konkani Simi",
- "khq": "Koyra Chiini Simi",
- "ses": "Koyraboro Senni Simi",
- "ku": "Kurdo Simi",
- "nmg": "Kwasio Ngumba Simi",
- "lkt": "Lakota Simi",
- "lag": "Langi Simi",
- "lo": "Lao Simi",
- "lv": "Leton Simi",
- "ln": "Lingala Simi",
- "lt": "Lituano Simi",
- "lu": "Luba-Katanga Simi",
- "lg": "Luganda Simi",
- "luo": "Luo Simi",
- "lrc": "Luri septentrional Simi",
- "lb": "Luxemburgues Simi",
- "luy": "Luyia Simi",
- "mk": "Macedonio Simi",
- "jmc": "Machame Simi",
- "mgh": "Makhuwa-Meetto Simi",
- "kde": "Makonde Simi",
- "ml": "Malayalam Simi",
- "ms": "Malayo Simi",
- "mg": "Malgache Simi",
- "mt": "Maltes Simi",
- "gv": "Manés Simi",
- "mi": "Maori Simi",
- "mr": "Marathi Simi",
- "mas": "Masai Simi",
- "mfe": "Mauriciano Simi",
- "mzn": "Mazandaraní Simi",
- "mer": "Meru Simi",
- "mgo": "Metaʼ Simi",
- "mn": "Mongol Simi",
- "mua": "Mundang Simi",
- "naq": "Nama Simi",
- "nd": "Ndebele septentrional Simi",
- "nl": "Neerlandes Simi",
- "ne": "Nepali Simi",
- "nnh": "Ngiemboon Simi",
- "jgo": "Ngomba Simi",
- "nb": "Noruego Bokmål Simi",
- "nn": "Noruego Nynorsk Simi",
- "nus": "Nuer Simi",
- "nyn": "Nyankole Simi",
- "or": "Odia Simi",
- "om": "Oromo Simi",
- "os": "Osetio Simi",
- "ps": "Pashto Simi",
- "fa": "Persa Simi",
- "pl": "Polaco Simi",
- "pt": "Portugues Simi",
- "pt-PT": "Portugues Simi (Portugal)",
- "prg": "Prusiano Simi",
- "pa": "Punyabi Simi",
- "rm": "Romanche Simi",
- "rof": "Rombo Simi",
- "ro": "Rumano Simi",
- "ro-MD": "Rumano Simi (Moldova)",
- "qu": "Runasimi",
- "rn": "Rundi Simi",
- "ru": "Ruso Simi",
- "rwk": "Rwa Simi",
- "sah": "Sakha Simi",
- "saq": "Samburu Simi",
- "smn": "Sami Inari Simi",
- "sg": "Sango Simi",
- "sbp": "Sangu Simi",
- "seh": "Sena Simi",
- "sr": "Serbio Simi",
- "ksb": "Shambala Simi",
- "sn": "Shona Simi",
- "sd": "Sindhi Simi",
- "xog": "Soga Simi",
- "so": "Somali Simi",
- "sw": "Suajili Simi",
- "sw-CD": "Suajili Simi (Congo (RDC))",
- "sv": "Sueco Simi",
- "th": "Tailandes Simi",
- "dav": "Taita Simi",
- "tzm": "Tamazight Simi",
- "ta": "Tamil Simi",
- "tt": "Tartaro Simi",
- "twq": "Tasawaq Simi",
- "shi": "Tashelhit Simi",
- "tg": "Tayiko Simi",
- "te": "Telugu Simi",
- "teo": "Teso Simi",
- "bo": "Tibetano Simi",
- "ti": "Tigriña Simi",
- "to": "Tongano Simi",
- "tr": "Turco Simi",
- "tk": "Turcomano Simi",
- "uk": "Ucraniano Simi",
- "ug": "Uigur Simi",
- "ur": "Urdu Simi",
- "uz": "Uzbeko Simi",
- "vai": "Vai Simi",
- "vi": "Vietnamita Simi",
- "vo": "Volapük Simi",
- "vun": "Vunjo Simi",
- "wa": "Walloon",
- "wae": "Walser Simi",
- "wo": "Wolof Simi",
- "yav": "Yangben Simi",
- "ii": "Yi Simi",
- "yi": "Yiddish Simi",
- "yo": "Yoruba Simi",
- "dje": "Zarma Simi"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/rm.json b/vendor/commerceguys/intl/resources/language/rm.json
deleted file mode 100644
index edf8d3180..000000000
--- a/vendor/commerceguys/intl/resources/language/rm.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikaans",
- "agq": "Aghem",
- "ak": "akan",
- "sq": "albanais",
- "am": "amaric",
- "ar": "arab",
- "hy": "armen",
- "az": "aserbeidschanic",
- "as": "assami",
- "ast": "asturian",
- "asa": "Asu",
- "hsb": "aut sorb",
- "ksf": "Bafia",
- "bm": "bambara",
- "bas": "basaa",
- "eu": "basc",
- "dsb": "bass sorb",
- "nds": "bass tudestg",
- "nds-NL": "bass tudestg (Pajais Bass)",
- "bem": "bemba",
- "bez": "Bena",
- "bn": "bengal",
- "be": "bieloruss",
- "my": "birman",
- "brx": "Bodo",
- "bs": "bosniac",
- "br": "breton",
- "bg": "bulgar",
- "km": "cambodschan",
- "yue": "Cantonese",
- "kk": "casac",
- "ca": "catalan",
- "ceb": "cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "chr": "cherokee",
- "cgg": "Chiga",
- "zh": "chinais",
- "zh-Hans": "chinais simplifitgà",
- "zh-Hant": "chinais tradiziunal",
- "ksh": "Colognian",
- "ko": "corean",
- "kw": "cornic",
- "hr": "croat",
- "ku": "curd",
- "da": "danais",
- "dua": "duala",
- "dz": "dzongkha",
- "he": "ebraic",
- "ebu": "Embu",
- "en": "englais",
- "en-AU": "englais australian",
- "en-GB": "englais britannic",
- "en-CA": "englais canadais",
- "eo": "esperanto",
- "et": "eston",
- "ee": "ewe",
- "ewo": "ewondo",
- "fo": "ferrais",
- "fil": "filippino",
- "fi": "finlandais",
- "nl-BE": "flam",
- "fr": "franzos",
- "fr-CA": "franzos canadais",
- "fr-CH": "franzos svizzer",
- "fy": "fris",
- "fur": "friulan",
- "ff": "fulah",
- "gd": "gaelic scot",
- "gl": "galician",
- "lg": "ganda",
- "ka": "georgian",
- "ja": "giapunais",
- "el": "grec",
- "kl": "grönlandais",
- "gu": "gujarati",
- "guz": "Gusii",
- "ha": "haussa",
- "haw": "hawaian",
- "hi": "hindi",
- "ig": "igbo",
- "id": "indonais",
- "ga": "irlandais",
- "is": "islandais",
- "sah": "jakut",
- "jv": "javanais",
- "yi": "jiddic",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "kabyle",
- "kkj": "Kako",
- "kln": "Kalenjin",
- "kam": "kamba",
- "kn": "kannada",
- "ks": "kashmiri",
- "ki": "kikuyu",
- "cy": "kimric",
- "rw": "kinyarwanda",
- "ky": "kirghis",
- "kok": "konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "laot",
- "lv": "letton",
- "ln": "lingala",
- "lt": "lituan",
- "lu": "luba-katanga",
- "luo": "Luo",
- "lb": "luxemburgais",
- "luy": "Luyia",
- "mk": "macedon",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "malagassi",
- "ms": "malaic",
- "ml": "malayalam",
- "mt": "maltais",
- "gv": "manx",
- "mi": "maori",
- "mr": "marathi",
- "mas": "masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "ro-MD": "moldav",
- "mn": "mongolic",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nd": "ndebele dal nord",
- "ne": "nepalais",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "lrc": "Northern Luri",
- "nb": "norvegais bokmål",
- "nn": "norvegiais nynorsk",
- "nus": "Nuer",
- "nyn": "nyankole",
- "nl": "ollandais",
- "or": "oriya",
- "om": "oromo",
- "os": "ossetic",
- "ps": "paschto",
- "fa": "persian",
- "pl": "polac",
- "pt": "portugais",
- "pt-PT": "portugais iberian",
- "prg": "Prussian",
- "pa": "punjabi",
- "qu": "quechua",
- "rof": "Rombo",
- "rm": "rumantsch",
- "ro": "rumen",
- "rn": "rundi",
- "ru": "russ",
- "rwk": "Rwa",
- "saq": "Samburu",
- "se": "sami dal nord",
- "smn": "sami inari",
- "sg": "sango",
- "sbp": "Sangu",
- "seh": "Sena",
- "sr": "serb",
- "ksb": "Shambala",
- "sn": "shona",
- "ii": "sichuan yi",
- "sd": "sindhi",
- "si": "singalais",
- "cu": "slav da baselgia",
- "sk": "slovac",
- "sl": "sloven",
- "xog": "Soga",
- "so": "somali",
- "es": "spagnol",
- "es-MX": "spagnol (Mexico)",
- "es-419": "spagnol latinamerican",
- "zgh": "Standard Moroccan Tamazight",
- "sw": "suahili",
- "sw-CD": "suahili (Republica Democratica dal Congo)",
- "sv": "svedais",
- "shi": "Tachelhit",
- "tg": "tadjik",
- "th": "tailandais",
- "dav": "Taita",
- "it": "talian",
- "ta": "tamil",
- "twq": "Tasawaq",
- "tt": "tatar",
- "te": "telugu",
- "teo": "Teso",
- "bo": "tibetan",
- "ti": "tigrinya",
- "tr": "tirc",
- "to": "tonga",
- "cs": "tschec",
- "ce": "tschetschen",
- "de": "tudestg",
- "de-CH": "tudestg (Svizra)",
- "de-AT": "tudestg austriac",
- "gsw": "tudestg svizzer",
- "tk": "turkmen",
- "uk": "ucranais",
- "ug": "uiguric",
- "hu": "ungarais",
- "ur": "urdu",
- "uz": "usbec",
- "vai": "Vai",
- "wa": "vallon",
- "vi": "vietnamais",
- "vo": "volapuk",
- "vun": "Vunjo",
- "wae": "Walser",
- "wo": "wolof",
- "xh": "xhosa",
- "yav": "Yangben",
- "yo": "yoruba",
- "dje": "Zarma",
- "zu": "zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/rn.json b/vendor/commerceguys/intl/resources/language/rn.json
index 2034aa1d9..ab311873a 100644
--- a/vendor/commerceguys/intl/resources/language/rn.json
+++ b/vendor/commerceguys/intl/resources/language/rn.json
@@ -24,7 +24,6 @@
"ce": "Chechen",
"chr": "Cherokee",
"cgg": "Chiga",
- "cu": "Church Slavic",
"ksh": "Colognian",
"kw": "Cornish",
"hr": "Croatian",
@@ -32,7 +31,6 @@
"dua": "Duala",
"dz": "Dzongkha",
"ebu": "Embu",
- "eo": "Esperanto",
"et": "Estonian",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -146,7 +144,6 @@
"mg": "Malagasy",
"ml": "Malayalam",
"mt": "Maltese",
- "gv": "Manx",
"mi": "Maori",
"mr": "Marathi",
"mas": "Masai",
@@ -171,7 +168,6 @@
"om": "Oromo",
"os": "Ossetic",
"ps": "Pashto",
- "prg": "Prussian",
"qu": "Quechua",
"rm": "Romansh",
"rof": "Rombo",
@@ -210,7 +206,6 @@
"ug": "Uyghur",
"uz": "Uzbek",
"vai": "Vai",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/ro-MD.json b/vendor/commerceguys/intl/resources/language/ro-MD.json
index 7c5ef28bf..52c647f04 100644
--- a/vendor/commerceguys/intl/resources/language/ro-MD.json
+++ b/vendor/commerceguys/intl/resources/language/ro-MD.json
@@ -46,7 +46,6 @@
"en-AU": "engleză (Australia)",
"en-CA": "engleză (Canada)",
"en-GB": "engleză (Regatul Unit)",
- "eo": "esperanto",
"et": "estonă",
"ee": "ewe",
"ewo": "ewondo",
@@ -125,7 +124,6 @@
"ml": "malayalam",
"mg": "malgașă",
"mt": "malteză",
- "gv": "manx",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -153,7 +151,6 @@
"pl": "poloneză",
"pt": "portugheză",
"pt-PT": "portugheză (Europa)",
- "prg": "prusacă",
"pa": "punjabi",
"qu": "quechua",
"rm": "romanșă",
@@ -175,7 +172,6 @@
"sn": "shona",
"sd": "sindhi",
"si": "singhaleză",
- "cu": "slavonă",
"sk": "slovacă",
"sl": "slovenă",
"xog": "soga",
@@ -211,7 +207,6 @@
"vai": "Vai",
"wa": "valonă",
"vi": "vietnameză",
- "vo": "volapuk",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/ro.json b/vendor/commerceguys/intl/resources/language/ro.json
index dc68462d5..8faa641b8 100644
--- a/vendor/commerceguys/intl/resources/language/ro.json
+++ b/vendor/commerceguys/intl/resources/language/ro.json
@@ -46,7 +46,6 @@
"en-AU": "engleză (Australia)",
"en-CA": "engleză (Canada)",
"en-GB": "engleză (Regatul Unit)",
- "eo": "esperanto",
"et": "estonă",
"ee": "ewe",
"ewo": "ewondo",
@@ -125,7 +124,6 @@
"ml": "malayalam",
"mg": "malgașă",
"mt": "malteză",
- "gv": "manx",
"mi": "maori",
"mr": "marathi",
"mas": "masai",
@@ -153,7 +151,6 @@
"pl": "poloneză",
"pt": "portugheză",
"pt-PT": "portugheză (Europa)",
- "prg": "prusacă",
"pa": "punjabi",
"qu": "quechua",
"rm": "romanșă",
@@ -175,7 +172,6 @@
"sn": "shona",
"sd": "sindhi",
"si": "singhaleză",
- "cu": "slavonă",
"sk": "slovacă",
"sl": "slovenă",
"xog": "soga",
@@ -211,7 +207,6 @@
"vai": "Vai",
"wa": "valonă",
"vi": "vietnameză",
- "vo": "volapuk",
"vun": "vunjo",
"wae": "walser",
"wo": "wolof",
diff --git a/vendor/commerceguys/intl/resources/language/rof.json b/vendor/commerceguys/intl/resources/language/rof.json
deleted file mode 100644
index 66ab34b6a..000000000
--- a/vendor/commerceguys/intl/resources/language/rof.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakani",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "hi": "Kihindi",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Ubelgiji)",
- "rof": "Kihorombo",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "en": "Kiingereza",
- "en-AU": "Kiingereza (Australia)",
- "en-CA": "Kiingereza (Kanada)",
- "en-GB": "Kiingereza (Uingereza)",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Ostria)",
- "de-CH": "Kijerumani (Uswisi)",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kirusi",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "fr": "Kyifaransa",
- "fr-CA": "Kyifaransa (Kanada)",
- "fr-CH": "Kyifaransa (Uswisi)",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ru.json b/vendor/commerceguys/intl/resources/language/ru.json
index 9c96c9551..279c175f8 100644
--- a/vendor/commerceguys/intl/resources/language/ru.json
+++ b/vendor/commerceguys/intl/resources/language/ru.json
@@ -33,7 +33,6 @@
"wa": "валлонский",
"hu": "венгерский",
"hsb": "верхнелужицкий",
- "vo": "волапюк",
"wo": "волоф",
"vun": "вунджо",
"vi": "вьетнамский",
@@ -126,7 +125,6 @@
"ro-MD": "молдавский",
"mn": "монгольский",
"mua": "мунданг",
- "gv": "мэнский",
"naq": "нама",
"nnh": "нгиембунд",
"jgo": "нгомба",
@@ -148,7 +146,6 @@
"fa": "персидский",
"pl": "польский",
"pt": "португальский",
- "prg": "прусский",
"ps": "пушту",
"rm": "романшский",
"rof": "ромбо",
@@ -204,7 +201,6 @@
"ha": "хауса",
"hi": "хинди",
"hr": "хорватский",
- "cu": "церковнославянский",
"chr": "чероки",
"ce": "чеченский",
"cs": "чешский",
@@ -216,7 +212,6 @@
"ee": "эве",
"ewo": "эвондо",
"ebu": "эмбу",
- "eo": "эсперанто",
"et": "эстонский",
"jv": "яванский",
"yav": "янгбен",
diff --git a/vendor/commerceguys/intl/resources/language/rw.json b/vendor/commerceguys/intl/resources/language/rw.json
index 0c06b5ae1..d3d2f568a 100644
--- a/vendor/commerceguys/intl/resources/language/rw.json
+++ b/vendor/commerceguys/intl/resources/language/rw.json
@@ -18,7 +18,6 @@
"chr": "Cherokee",
"cgg": "Chiga",
"zh": "Chinese",
- "cu": "Church Slavic",
"ksh": "Colognian",
"kw": "Cornish",
"dua": "Duala",
@@ -38,7 +37,6 @@
"es": "Icyesipanyolo",
"es-419": "Icyesipanyolo (419)",
"es-MX": "Icyesipanyolo (MX)",
- "eo": "Icyesiperanto",
"et": "Icyesitoniya",
"en": "Icyongereza",
"en-AU": "Icyongereza (AU)",
@@ -163,7 +161,6 @@
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
"mg": "Malagasy",
- "gv": "Manx",
"mi": "Maori",
"mas": "Masai",
"mzn": "Mazanderani",
@@ -183,7 +180,6 @@
"nyn": "Nyankole",
"om": "Oromo",
"os": "Ossetic",
- "prg": "Prussian",
"qu": "Quechua",
"rm": "Romansh",
"rof": "Rombo",
@@ -211,7 +207,6 @@
"hsb": "Upper Sorbian",
"bg": "Urunyabuligariya",
"vai": "Vai",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/rwk.json b/vendor/commerceguys/intl/resources/language/rwk.json
deleted file mode 100644
index c52565fb1..000000000
--- a/vendor/commerceguys/intl/resources/language/rwk.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ak": "Kiakanyi",
- "am": "Kiamharyi",
- "ki": "Kikuyu",
- "rwk": "Kiruwa",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "fa": "Kyiajemi",
- "ar": "Kyiarabu",
- "bn": "Kyibangla",
- "be": "Kyibelarusi",
- "bg": "Kyibulgaryia",
- "my": "Kyiburma",
- "cs": "Kyichecki",
- "zh": "Kyichina",
- "zh-Hans": "Kyichina (Hans)",
- "zh-Hant": "Kyichina (Hant)",
- "fr": "Kyifaransa",
- "fr-CA": "Kyifaransa (Kanada)",
- "fr-CH": "Kyifaransa (Uswisi)",
- "el": "Kyigiriki",
- "ha": "Kyihausa",
- "hi": "Kyihindi",
- "es": "Kyihispania",
- "es-419": "Kyihispania (419)",
- "es-MX": "Kyihispania (Meksiko)",
- "nl": "Kyiholanzi",
- "nl-BE": "Kyiholanzi (Ubelgiji)",
- "hu": "Kyihungari",
- "ig": "Kyiigbo",
- "id": "Kyiindonesia",
- "it": "Kyiitaliano",
- "ja": "Kyijapani",
- "jv": "Kyijava",
- "de": "Kyijerumani",
- "de-AT": "Kyijerumani (Austria)",
- "de-CH": "Kyijerumani (Uswisi)",
- "km": "Kyikambodia",
- "ko": "Kyikorea",
- "ms": "Kyimalesia",
- "ne": "Kyinepali",
- "en": "Kyingereza",
- "en-AU": "Kyingereza (Australia)",
- "en-CA": "Kyingereza (Kanada)",
- "en-GB": "Kyingereza (Uingereza)",
- "rw": "Kyinyarwanda",
- "pl": "Kyipolandi",
- "pa": "Kyipunjabi",
- "pt": "Kyireno",
- "pt-PT": "Kyireno (Ureno)",
- "ro": "Kyiromania",
- "ro-MD": "Kyiromania (Moldova)",
- "ru": "Kyirusi",
- "so": "Kyisomalyi",
- "sv": "Kyiswidi",
- "th": "Kyitailandi",
- "ta": "Kyitamil",
- "tr": "Kyiturukyi",
- "uk": "Kyiukrania",
- "ur": "Kyiurdu",
- "vi": "Kyivietinamu",
- "yo": "Kyiyoruba",
- "zu": "Kyizulu",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sah.json b/vendor/commerceguys/intl/resources/language/sah.json
deleted file mode 100644
index a08a70678..000000000
--- a/vendor/commerceguys/intl/resources/language/sah.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "agq": "Aghem",
- "ak": "Akan",
- "as": "Assamese",
- "asa": "Asu",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "br": "Breton",
- "my": "Burmese",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "dua": "Duala",
- "nl": "Dutch",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "Hindi",
- "is": "Icelandic",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "id": "Indonesian",
- "ga": "Irish",
- "jv": "Javanese",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "km": "Khmer",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (NL)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nl-BE": "nl (BE)",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "pl": "Polish",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somali",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (CD)",
- "sw": "Swahili",
- "sv": "Swedish",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "twq": "Tasawaq",
- "teo": "Teso",
- "th": "Thai",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "Turkish",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ur": "Urdu",
- "vai": "Vai",
- "vi": "Vietnamese",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "dje": "Zarma",
- "en": "Ааҥыллыы",
- "en-AU": "Ааҥыллыы (AU)",
- "en-CA": "Ааҥыллыы (Канаада)",
- "en-GB": "Ааҥыллыы (Улуу Британия)",
- "az": "Адьырбайдьаанныы",
- "sq": "Албаанныы",
- "am": "Амхаардыы",
- "af": "Аппырыкааныстыы",
- "ar": "Араабтыы",
- "ast": "Астуурдуу",
- "bn": "Бенгаллыы",
- "fr": "Боронсуустуу",
- "fr-CH": "Боронсуустуу (CH)",
- "fr-CA": "Боронсуустуу (Канаада)",
- "bs": "Босныйалыы",
- "be": "Бөлөрүүстүү",
- "bg": "Булҕаардыы",
- "hu": "Бэҥгиэрдии",
- "el": "Гириэктии",
- "da": "Даатскайдыы",
- "ja": "Дьоппуоннуу",
- "zu": "Зуулулуу",
- "ca": "Каталаанныы",
- "ckb": "Киин куурдуу",
- "ka": "Курусууннуу",
- "ky": "Кыргыстыы",
- "zh": "Кытайдыы",
- "zh-Hans": "Кытайдыы (Hans)",
- "zh-Hant": "Кытайдыы (Hant)",
- "ko": "Кэриэйдии",
- "ms": "Малаайдыы",
- "mn": "Моҕуоллуу",
- "de": "Ниэмэстии",
- "de-AT": "Ниэмэстии (AT)",
- "de-CH": "Ниэмэстии (CH)",
- "ru": "Нууччалыы",
- "ne": "Ньыпааллыы",
- "pa": "Пандьаабтыы",
- "fi": "Пииннии",
- "fil": "Пилипииннии",
- "fa": "Пиэристии",
- "pt": "Португааллыы",
- "pt-PT": "Португааллыы (PT)",
- "ro": "Румыынныы",
- "ro-MD": "Румыынныы (MD)",
- "sah": "саха тыла",
- "sk": "Словаактыы",
- "tg": "Тадьыыктыы",
- "ta": "Тамыллыы",
- "tt": "Татаардыы",
- "bo": "Тибиэттии",
- "te": "Төлүгүлүү",
- "ug": "Уйгуурдуу",
- "uk": "Украйыыньыстыы",
- "uz": "Үзбиэктии",
- "kk": "Хаһаахтыы",
- "cs": "Чиэхтии",
- "ce": "Чэчиэннии",
- "es": "Ыспаанныы",
- "es-419": "Ыспаанныы (419)",
- "es-MX": "Ыспаанныы (Миэксикэ)",
- "it": "Ытаалыйалыы",
- "hy": "Эрмээннии",
- "et": "Эстиэнийэлии"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/saq.json b/vendor/commerceguys/intl/resources/language/saq.json
deleted file mode 100644
index d88390610..000000000
--- a/vendor/commerceguys/intl/resources/language/saq.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "fr": "Kifaransa",
- "fr-CA": "Kifaransa (Kanada)",
- "fr-CH": "Kifaransa (Uswisi)",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "hi": "Kihindi",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Ubelgiji)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Austria)",
- "de-CH": "Kijerumani (Uswisi)",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "en": "Kingereza",
- "en-AU": "Kingereza (Australia)",
- "en-CA": "Kingereza (Kanada)",
- "en-GB": "Kingereza (Uingereza)",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kirusi",
- "saq": "Kisampur",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sbp.json b/vendor/commerceguys/intl/resources/language/sbp.json
deleted file mode 100644
index 9e4a8007e..000000000
--- a/vendor/commerceguys/intl/resources/language/sbp.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "fa": "Ishiajemi",
- "bn": "Ishibangila",
- "be": "Ishibelalusi",
- "bg": "Ishibulugalia",
- "my": "Ishibuluma",
- "fr": "Ishifalansa",
- "fr-CA": "Ishifalansa (Kanada)",
- "fr-CH": "Ishifalansa (Uswisi)",
- "el": "Ishigiliki",
- "ha": "Ishihawusa",
- "ig": "Ishihigibo",
- "hi": "Ishihindi",
- "id": "Ishihindonesia",
- "es": "Ishihisipaniya",
- "es-419": "Ishihisipaniya (419)",
- "es-MX": "Ishihisipaniya (Mekisiko)",
- "it": "Ishihitaliyano",
- "nl": "Ishiholansi",
- "nl-BE": "Ishiholansi (Ubeligiji)",
- "hu": "Ishihungali",
- "ja": "Ishijapani",
- "jv": "Ishijava",
- "de": "Ishijelumani",
- "de-AT": "Ishijelumani (Awusitiliya)",
- "de-CH": "Ishijelumani (Uswisi)",
- "km": "Ishikambodia",
- "ko": "Ishikoleya",
- "pt": "Ishileno",
- "pt-PT": "Ishileno (Wuleno)",
- "ro": "Ishilomaniya",
- "ro-MD": "Ishilomaniya (Molidova)",
- "ru": "Ishilusi",
- "ms": "Ishimalesiya",
- "ne": "Ishinepali",
- "en": "Ishingelesa",
- "en-AU": "Ishingelesa (Awusitilaliya)",
- "en-CA": "Ishingelesa (Kanada)",
- "en-GB": "Ishingelesa (Uwingelesa)",
- "rw": "Ishinyalwanda",
- "pl": "Ishipolandi",
- "pa": "Ishipunjabi",
- "sbp": "Ishisangu",
- "cs": "Ishisheki",
- "zh": "Ishishina",
- "zh-Hans": "Ishishina (Hans)",
- "zh-Hant": "Ishishina (Hant)",
- "so": "Ishisomali",
- "zu": "Ishisulu",
- "sv": "Ishiswidi",
- "ta": "Ishitamili",
- "th": "Ishitayilandi",
- "tr": "Ishituluki",
- "vi": "Ishivietinamu",
- "ur": "Ishiwuludi",
- "ak": "Ishiyakani",
- "ar": "Ishiyalabu",
- "am": "Ishiyamuhali",
- "yo": "Ishiyoluba",
- "uk": "Ishiyukilaniya",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Wuholansi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamuhuli ya Kidemokilasiya ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sd.json b/vendor/commerceguys/intl/resources/language/sd.json
index 5fd1477df..4cf9dcc32 100644
--- a/vendor/commerceguys/intl/resources/language/sd.json
+++ b/vendor/commerceguys/intl/resources/language/sd.json
@@ -32,7 +32,6 @@
"or": "اوڊيا",
"om": "اورومو",
"os": "اوسيٽڪ",
- "eo": "ايسپرانٽو",
"et": "ايستونائي",
"ebu": "ايمبيو",
"ee": "ايو",
@@ -50,7 +49,6 @@
"be": "بيلاروسي",
"bem": "بيمبا",
"bez": "بينا",
- "prg": "پرشن",
"ps": "پشتو",
"pa": "پنجابي",
"pt": "پورٽگليز",
@@ -74,7 +72,6 @@
"jv": "جاونيز",
"de": "جرمن",
"dyo": "جولا فوني",
- "cu": "چرچ سلاوی",
"chr": "چروڪي",
"cgg": "چگا",
"cs": "چيڪ",
@@ -192,7 +189,6 @@
"mk": "ميسي ڊونيائي",
"es-MX": "ميڪسيڪين اسپيني",
"jmc": "ميڪم",
- "gv": "مينڪس",
"nb": "نارويائي بوڪمال",
"nn": "نارويائي نيوناسڪ",
"naq": "ناما",
@@ -205,7 +201,6 @@
"hu": "هنگري",
"haw": "هوائي",
"ha": "هوسا",
- "vo": "والپڪ",
"wae": "والسر",
"tzm": "وچ اٽلس تمازائيٽ",
"wa": "ولون",
diff --git a/vendor/commerceguys/intl/resources/language/se-FI.json b/vendor/commerceguys/intl/resources/language/se-FI.json
deleted file mode 100644
index 2692e607b..000000000
--- a/vendor/commerceguys/intl/resources/language/se-FI.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikánsagiella",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "albánagiella",
- "am": "Amharic",
- "smn": "anárašgiella",
- "ar": "arábagiella",
- "hy": "armenagiella",
- "as": "Assamese",
- "ast": "asturiagiella",
- "asa": "Asu",
- "en-AU": "austrálialaš eaŋgalsgiella",
- "az": "Azerbaijani",
- "zh-Hans": "álkes kiinnágiella",
- "zh-Hant": "árbevirolaš kiinnágiella",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "nl-BE": "belgialaš hollánddagiella",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bengalagiella",
- "brx": "Bodo",
- "bs": "bosniagiella",
- "br": "bretonagiella",
- "en-GB": "brihttalaš eaŋgalsgiella",
- "bg": "bulgáriagiella",
- "my": "burmagiella",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "cs": "čeahkagiella",
- "se": "davvisámegiella",
- "da": "dánskkagiella",
- "dua": "Duala",
- "de": "duiskkagiella",
- "tr": "durkagiella",
- "dz": "dzongkhagiella",
- "en": "eaŋgalsgiella",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "esttegiella",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "fearagiella",
- "fil": "filippiinnagiella",
- "fr": "fránskkagiella",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "georgiagiella",
- "nb": "girjedárogiella",
- "el": "greikkagiella",
- "gu": "gujaratagiella",
- "guz": "Gusii",
- "ha": "haussagiella",
- "haw": "hawaiigiella",
- "he": "Hebrew",
- "hi": "hindigiella",
- "nl": "hollánddagiella",
- "ig": "Igbo",
- "ga": "iirragiella",
- "id": "indonesiagiella",
- "is": "islánddagiella",
- "it": "itáliagiella",
- "ja": "japánagiella",
- "jv": "javagiella",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "km": "kambožagiella",
- "en-CA": "kanádalaš eaŋgalsgiella",
- "fr-CA": "kanádalaš fránskkagiella",
- "kn": "Kannada",
- "yue": "kantongiella",
- "ks": "Kashmiri",
- "ca": "katalánagiella",
- "kk": "kazakhgiella",
- "zh": "kiinnágiella",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "kok": "Konkani",
- "ko": "koreagiella",
- "kw": "kornagiella",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "hr": "kroátiagiella",
- "ku": "kurdigiella",
- "nmg": "Kwasio",
- "cy": "kymragiella",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "laogiella",
- "es-419": "latiinna-amerihkalaš spánskkagiella",
- "lv": "látviagiella",
- "lt": "liettuvagiella",
- "ln": "Lingala",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "luxemburggagiella",
- "luy": "Luyia",
- "jmc": "Machame",
- "mk": "makedoniagiella",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ms": "Malay",
- "ml": "Malayalam",
- "mt": "maltagiella",
- "gv": "manksgiella",
- "mi": "maorigiella",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "es-MX": "meksikolaš spánskkagiella",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "ro-MD": "moldávialaš romániagiella",
- "mn": "mongoliagiella",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Vuolleeatnamat)",
- "ne": "nepalagiella",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "nus": "Nuer",
- "de-AT": "nuortariikkalaš duiskkagiella",
- "nyn": "Nyankole",
- "fy": "oarjifriisagiella",
- "or": "Odia",
- "nn": "ođđadárogiella",
- "om": "Oromo",
- "os": "Ossetic",
- "pa": "panjabagiella",
- "ps": "Pashto",
- "fa": "persijagiella",
- "pl": "polskkagiella",
- "pt": "portugálagiella",
- "pt-PT": "portugálalaš portugálagiella",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "romanšgiella",
- "ro": "romániagiella",
- "rof": "Rombo",
- "rn": "Rundi",
- "ru": "ruoššagiella",
- "sv": "ruoŧagiella",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "serbiagiella",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "slovákiagiella",
- "sl": "slovenagiella",
- "xog": "Soga",
- "so": "Somali",
- "es": "spánskkagiella",
- "zgh": "Standard Moroccan Tamazight",
- "fi": "suomagiella",
- "sw-CD": "sw (Kongo-Kinshasa)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "de-CH": "šveicalaš duiskkagiella",
- "fr-CH": "šveicalaš fránskkagiella",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "th": "thaigiella",
- "bo": "tibetagiella",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "uk": "ukrainagiella",
- "hu": "ungárgiella",
- "hsb": "Upper Sorbian",
- "ur": "urdugiella",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "wa": "vallonagiella",
- "vi": "vietnamagiella",
- "be": "vilgesruoššagiella",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wae": "Walser",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/se.json b/vendor/commerceguys/intl/resources/language/se.json
deleted file mode 100644
index d0aa6a4c2..000000000
--- a/vendor/commerceguys/intl/resources/language/se.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikánsagiella",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "albánagiella",
- "am": "Amharic",
- "smn": "anárašgiella",
- "ar": "arábagiella",
- "hy": "armeenagiella",
- "as": "Assamese",
- "ast": "asturiagiella",
- "asa": "Asu",
- "az": "Azerbaijani",
- "zh-Hans": "álki kiinágiella",
- "zh-Hant": "árbevirolaš kiinnágiella",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bengalgiella",
- "brx": "Bodo",
- "bs": "bosniagiella",
- "br": "bretonagiella",
- "bg": "bulgáriagiella",
- "my": "burmagiella",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "cs": "čeahkagiella",
- "se": "davvisámegiella",
- "da": "dánskkagiella",
- "dua": "Duala",
- "de": "duiskkagiella",
- "de-AT": "duiskkagiella (Nuortariika)",
- "de-CH": "duiskkagiella (Šveica)",
- "tr": "durkagiella",
- "dz": "dzongkhagiella",
- "en": "eaŋgalsgiella",
- "en-AU": "eaŋgalsgiella (Austrália)",
- "en-CA": "eaŋgalsgiella (Kanáda)",
- "en-GB": "eaŋgalsgiella (Stuorra-Británnia)",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "esttegiella",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "fearagiella",
- "fil": "filippiinnagiella",
- "fr": "fránskkagiella",
- "fr-CA": "fránskkagiella (Kanáda)",
- "fr-CH": "fránskkagiella (Šveica)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "georgiagiella",
- "nb": "girjedárogiella",
- "el": "greikkagiella",
- "gu": "gujaratagiella",
- "guz": "Gusii",
- "ha": "haussagiella",
- "haw": "hawaiigiella",
- "he": "Hebrew",
- "hi": "hindigiella",
- "nl": "hollánddagiella",
- "nl-BE": "hollánddagiella (Belgia)",
- "ig": "Igbo",
- "ga": "iirragiella",
- "id": "indonesiagiella",
- "is": "islánddagiella",
- "it": "itáliagiella",
- "ja": "japánagiella",
- "jv": "javagiella",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "km": "kambodiagiella",
- "kn": "Kannada",
- "yue": "kantongiella",
- "ks": "Kashmiri",
- "ca": "katalánagiella",
- "kk": "kazakgiella",
- "zh": "kiinnágiella",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "kok": "Konkani",
- "ko": "koreagiella",
- "kw": "kornagiella",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "hr": "kroátiagiella",
- "ku": "kurdigiella",
- "nmg": "Kwasio",
- "cy": "kymragiella",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "laogiella",
- "lv": "látviagiella",
- "lt": "liettuvagiella",
- "ln": "Lingala",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "luxemburggagiella",
- "luy": "Luyia",
- "jmc": "Machame",
- "mk": "makedoniagiella",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ms": "Malay",
- "ml": "Malayalam",
- "mt": "maltagiella",
- "gv": "manksgiella",
- "mi": "maorigiella",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "mongoliagiella",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Vuolleeatnamat)",
- "ne": "nepaligiella",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "fy": "oarjifriisagiella",
- "or": "Odia",
- "nn": "ođđadárogiella",
- "om": "Oromo",
- "os": "Ossetic",
- "pa": "panjabigiella",
- "ps": "Pashto",
- "fa": "persijagiella",
- "pl": "polskkagiella",
- "pt": "portugálagiella",
- "pt-PT": "portugálagiella (Portugála)",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "romanšgiella",
- "ro": "romániagiella",
- "ro-MD": "romániagiella (Moldávia)",
- "rof": "Rombo",
- "rn": "Rundi",
- "ru": "ruoššagiella",
- "sv": "ruoŧagiella",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "serbiagiella",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "slovákiagiella",
- "sl": "slovenagiella",
- "xog": "Soga",
- "so": "Somali",
- "es": "spánskkagiella",
- "es-419": "spánskkagiella (lulli-Amerihkká)",
- "es-MX": "spánskkagiella (Meksiko)",
- "zgh": "Standard Moroccan Tamazight",
- "fi": "suomagiella",
- "sw-CD": "sw (Kongo-Kinshasa)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "tibetagiella",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "th": "ŧaigiella",
- "uk": "ukrainagiella",
- "hu": "ungárgiella",
- "hsb": "Upper Sorbian",
- "ur": "urdugiella",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "wa": "vallonagiella",
- "vi": "vietnamgiella",
- "be": "vilges-ruoššagiella",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wae": "Walser",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/seh.json b/vendor/commerceguys/intl/resources/language/seh.json
deleted file mode 100644
index 14ff4ea0a..000000000
--- a/vendor/commerceguys/intl/resources/language/seh.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "akan",
- "sq": "Albanian",
- "de": "alemão",
- "de-AT": "alemão (Áustria)",
- "de-CH": "alemão (Suíça)",
- "am": "amárico",
- "ar": "árabe",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "bengali",
- "be": "bielo-russo",
- "my": "birmanês",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "búlgaro",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "zh": "chinês",
- "zh-Hans": "chinês (Hans)",
- "zh-Hant": "chinês (Hant)",
- "cu": "Church Slavic",
- "km": "cmer",
- "ksh": "Colognian",
- "ko": "coreano",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "es": "espanhol",
- "es-419": "espanhol (419)",
- "es-MX": "espanhol (México)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "francês",
- "fr-CA": "francês (Canadá)",
- "fr-CH": "francês (Suíça)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "grego",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "hausa",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "hindi",
- "nl": "holandês",
- "nl-BE": "holandês (Bélgica)",
- "hu": "húngaro",
- "ig": "ibo",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "id": "indonésio",
- "en": "inglês",
- "en-AU": "inglês (Austrália)",
- "en-CA": "inglês (Canadá)",
- "en-GB": "inglês (Reino Unido)",
- "yo": "iorubá",
- "ga": "Irish",
- "it": "italiano",
- "ja": "japonês",
- "jv": "javanês",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "rw": "kinyarwanda",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ms": "malaio",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Holanda)",
- "ne": "nepalês",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "pa": "panjabi",
- "ps": "Pashto",
- "fa": "persa",
- "pl": "polonês",
- "pt": "português",
- "pt-PT": "português (Portugal)",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "romeno",
- "ro-MD": "romeno (Moldávia)",
- "rn": "Rundi",
- "ru": "russo",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "somali",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "sueco",
- "sw-CD": "sw (Congo-Kinshasa)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "th": "tailandês",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "tâmil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "cs": "tcheco",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "turco",
- "tk": "Turkmen",
- "uk": "ucraniano",
- "hsb": "Upper Sorbian",
- "ur": "urdu",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "vietnamita",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma",
- "zu": "zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ses.json b/vendor/commerceguys/intl/resources/language/ses.json
deleted file mode 100644
index 2b638b062..000000000
--- a/vendor/commerceguys/intl/resources/language/ses.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan senni",
- "sq": "Albanian",
- "de": "Almaŋ senni",
- "de-AT": "Almaŋ senni (Otriši)",
- "de-CH": "Almaŋ senni (Swisu)",
- "am": "Amhaarik senni",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belaruus senni",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali senni",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulagaari senni",
- "my": "Burme senni",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "cs": "Cek senni",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "es": "Espaaɲe senni",
- "es-419": "Espaaɲe senni (419)",
- "es-MX": "Espaaɲe senni (Mexiki)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fa": "Farsi senni",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "Fransee senni",
- "fr-CA": "Fransee senni (Kanaada)",
- "fr-CH": "Fransee senni (Swisu)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Grek senni",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "ha": "Hawsance senni",
- "he": "Hebrew",
- "nl": "Holandee senni",
- "nl-BE": "Holandee senni (Belgiiki)",
- "hu": "Hungaari senni",
- "ig": "Iboo senni",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "id": "Indoneesi senni",
- "hi": "Induu senni",
- "en": "Inglisi senni",
- "en-GB": "Inglisi senni (Albaasalaama Marganta)",
- "en-CA": "Inglisi senni (Kanaada)",
- "en-AU": "Inglisi senni (Ostraali)",
- "ga": "Irish",
- "it": "Itaali senni",
- "ja": "Japonee senni",
- "jv": "Javanee senni",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "Kmeer senni",
- "kok": "Konkani",
- "ko": "Koree senni",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "ar": "Laaraw senni",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Maleezi senni",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Hollandu)",
- "ne": "Neepal senni",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "pl": "Polonee senni",
- "pt": "Portugee senni",
- "pt-PT": "Portugee senni (Portugaal)",
- "prg": "Prussian",
- "pa": "Punjaabi sennii",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "Rumaani senni",
- "ro-MD": "Rumaani senni (Moldovi)",
- "rn": "Rundi",
- "ru": "Ruusi senni",
- "rwk": "Rwa",
- "rw": "Rwanda senni",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "Sinuwa senni, Mandareŋ",
- "zh-Hans": "Sinuwa senni, Mandareŋ (Hans)",
- "zh-Hant": "Sinuwa senni, Mandareŋ (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somaali senni",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Suweede senni",
- "sw-CD": "sw (Kongoo demookaratiki laboo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "th": "Taailandu senni",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil senni",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "tr": "Turku senni",
- "uk": "Ukreen senni",
- "hsb": "Upper Sorbian",
- "ur": "Urdu senni",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnaam senni",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yorbance senni",
- "dje": "Zarma",
- "zu": "Zulu senni"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sg.json b/vendor/commerceguys/intl/resources/language/sg.json
deleted file mode 100644
index 06d78aace..000000000
--- a/vendor/commerceguys/intl/resources/language/sg.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akâan",
- "sq": "Albanian",
- "am": "Amarîki",
- "en": "Anglëe",
- "en-CA": "Anglëe (Kanadäa)",
- "en-GB": "Anglëe (Ködörögbïä--Ôko)",
- "en-AU": "Anglëe (Ostralïi, Sotralïi)",
- "ar": "Arâbo",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengäli",
- "be": "Bielörûsi",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulugäri",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "it": "Ênnde",
- "id": "Enndonezïi",
- "es": "Espanyöl",
- "es-419": "Espanyöl (419)",
- "es-MX": "Espanyöl (Mekisîki)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fr": "Farânzi",
- "fr-CA": "Farânzi (Kanadäa)",
- "fr-CH": "Farânzi (Sûîsi)",
- "fo": "Faroese",
- "fa": "Farsî",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Gerêki",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "Haüsä",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "hi": "Hîndi",
- "nl": "Holandëe",
- "nl-BE": "Holandëe (Bêleze, Belezîki)",
- "hu": "Hongruäa",
- "is": "Icelandic",
- "ig": "Ïgbö",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "Kmêre",
- "kok": "Konkani",
- "ko": "Koreyëen",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Malëe",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "my": "Miamära, Birimäni",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Holände)",
- "ne": "Nepalëe",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "pa": "Penzäbï",
- "pl": "Polonëe",
- "pt": "Portugëe, Pûra",
- "pt-PT": "Portugëe, Pûra (Pörtugäle, Ködörö Pûra)",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rw": "Ruandäa",
- "ro": "Rumëen",
- "ro-MD": "Rumëen (Moldavùii)",
- "rn": "Rundi",
- "ru": "Rûsi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sängö",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "zh": "Shinuäa",
- "zh-Hans": "Shinuäa (Hans)",
- "zh-Hant": "Shinuäa (Hant)",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somalïi",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Sueduäa",
- "sw-CD": "sw (Ködörösêse tî Ngunuhalëzo tî kongö)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tämûli",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thâi",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "tr": "Tûrûku",
- "cs": "Tyêki",
- "uk": "Ukrêni",
- "hsb": "Upper Sorbian",
- "ur": "Ûrdu",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnäm",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "de": "Zâmani",
- "de-AT": "Zâmani (Otrîsi)",
- "de-CH": "Zâmani (Sûîsi)",
- "ja": "Zaponëe",
- "dje": "Zarma",
- "jv": "Zavanëe",
- "zu": "Zûlu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/shi-Latn.json b/vendor/commerceguys/intl/resources/language/shi-Latn.json
deleted file mode 100644
index 44c5a667d..000000000
--- a/vendor/commerceguys/intl/resources/language/shi-Latn.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (hulanda)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (tagdudant tadimukratit n Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "be": "Tabilarust",
- "my": "Tabirmanit",
- "bg": "Tablɣarit",
- "bn": "Tabnɣalit",
- "pa": "Tabnjabit",
- "pt": "Tabṛṭqizt",
- "pt-PT": "Tabṛṭqizt (bṛṭqiz)",
- "pl": "Tabulunit",
- "zh": "Tacinwit",
- "zh-Hans": "Tacinwit (Hans)",
- "zh-Hant": "Tacinwit (Hant)",
- "ar": "Taɛrabt",
- "vi": "Tafitnamit",
- "fr": "Tafransist",
- "fr-CA": "Tafransist (kanada)",
- "fr-CH": "Tafransist (swisra)",
- "fa": "Tafursit",
- "el": "Tagrigit",
- "ha": "Tahawsat",
- "hi": "Tahindit",
- "hu": "Tahnɣarit",
- "nl": "Tahulandit",
- "nl-BE": "Tahulandit (bljika)",
- "dav": "Taita",
- "ja": "Tajabbunit",
- "jv": "Tajavanit",
- "tg": "Tajik",
- "ak": "Takant",
- "ko": "Takurit",
- "de": "Talimant",
- "de-AT": "Talimant (nnmsa)",
- "de-CH": "Talimant (swisra)",
- "ms": "Tamalawit",
- "am": "Tamharit",
- "id": "Tandunisit",
- "en": "Tanglizt",
- "en-CA": "Tanglizt (kanada)",
- "en-GB": "Tanglizt (tagldit imunn)",
- "en-AU": "Tanglizt (ustralya)",
- "ne": "Tanibalit",
- "ro": "Tarumanit",
- "ro-MD": "Tarumanit (muldufya)",
- "ru": "Tarusit",
- "rw": "Taruwandit",
- "twq": "Tasawaq",
- "es": "Tasbnyulit",
- "es-419": "Tasbnyulit (419)",
- "es-MX": "Tasbnyulit (miksik)",
- "shi": "Tashelḥiyt",
- "so": "Tasumalit",
- "sv": "Taswidit",
- "it": "Taṭalyant",
- "ta": "Tatamilt",
- "tt": "Tatar",
- "th": "Tataylandit",
- "cs": "Tatcikit",
- "tr": "Taturkit",
- "km": "Taxmirt",
- "yo": "Tayrubat",
- "zu": "Tazulut",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ig": "Tigbut",
- "ti": "Tigrinya",
- "to": "Tongan",
- "uk": "Tukranit",
- "ur": "Turdut",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/shi.json b/vendor/commerceguys/intl/resources/language/shi.json
deleted file mode 100644
index c20319f19..000000000
--- a/vendor/commerceguys/intl/resources/language/shi.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (ⵀⵓⵍⴰⵏⴷⴰ)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⴷⵉⵎⵓⵇⵔⴰⵜⵉⵜ ⵏ ⴽⵓⵏⴳⵓ)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma",
- "be": "ⵜⴰⴱⵉⵍⴰⵔⵓⵙⵜ",
- "my": "ⵜⴰⴱⵉⵔⵎⴰⵏⵉⵜ",
- "bg": "ⵜⴰⴱⵍⵖⴰⵔⵉⵜ",
- "pa": "ⵜⴰⴱⵏⵊⴰⴱⵉⵜ",
- "bn": "ⵜⴰⴱⵏⵖⴰⵍⵉⵜ",
- "pl": "ⵜⴰⴱⵓⵍⵓⵏⵉⵜ",
- "pt": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ",
- "pt-PT": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ (ⴱⵕⵟⵇⵉⵣ)",
- "el": "ⵜⴰⴳⵔⵉⴳⵉⵜ",
- "vi": "ⵜⴰⴼⵉⵜⵏⴰⵎⵉⵜ",
- "fa": "ⵜⴰⴼⵓⵔⵙⵉⵜ",
- "fr": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ",
- "fr-CA": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ (ⴽⴰⵏⴰⴷⴰ)",
- "fr-CH": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ (ⵙⵡⵉⵙⵔⴰ)",
- "ak": "ⵜⴰⴽⴰⵏⵜ",
- "ko": "ⵜⴰⴽⵓⵔⵉⵜ",
- "ha": "ⵜⴰⵀⴰⵡⵙⴰⵜ",
- "hi": "ⵜⴰⵀⵉⵏⴷⵉⵜ",
- "hu": "ⵜⴰⵀⵏⵖⴰⵔⵉⵜ",
- "nl": "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ",
- "nl-BE": "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ (ⴱⵍⵊⵉⴽⴰ)",
- "ar": "ⵜⴰⵄⵔⴰⴱⵜ",
- "km": "ⵜⴰⵅⵎⵉⵔⵜ",
- "ja": "ⵜⴰⵊⴰⴱⴱⵓⵏⵉⵜ",
- "jv": "ⵜⴰⵊⴰⴼⴰⵏⵉⵜ",
- "de": "ⵜⴰⵍⵉⵎⴰⵏⵜ",
- "de-AT": "ⵜⴰⵍⵉⵎⴰⵏⵜ (ⵏⵏⵎⵙⴰ)",
- "de-CH": "ⵜⴰⵍⵉⵎⴰⵏⵜ (ⵙⵡⵉⵙⵔⴰ)",
- "ms": "ⵜⴰⵎⴰⵍⴰⵡⵉⵜ",
- "am": "ⵜⴰⵎⵀⴰⵔⵉⵜ",
- "en": "ⵜⴰⵏⴳⵍⵉⵣⵜ",
- "en-CA": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⴽⴰⵏⴰⴷⴰ)",
- "en-AU": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⵓⵙⵜⵔⴰⵍⵢⴰ)",
- "en-GB": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⵜⴰⴳⵍⴷⵉⵜ ⵉⵎⵓⵏⵏ)",
- "id": "ⵜⴰⵏⴷⵓⵏⵉⵙⵉⵜ",
- "ne": "ⵜⴰⵏⵉⴱⴰⵍⵉⵜ",
- "ro": "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ",
- "ro-MD": "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ (ⵎⵓⵍⴷⵓⴼⵢⴰ)",
- "ru": "ⵜⴰⵔⵓⵙⵉⵜ",
- "rw": "ⵜⴰⵔⵓⵡⴰⵏⴷⵉⵜ",
- "es": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ",
- "es-419": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ (419)",
- "es-MX": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ (ⵎⵉⴽⵙⵉⴽ)",
- "so": "ⵜⴰⵙⵓⵎⴰⵍⵉⵜ",
- "sv": "ⵜⴰⵙⵡⵉⴷⵉⵜ",
- "zh": "ⵜⴰⵛⵉⵏⵡⵉⵜ",
- "zh-Hans": "ⵜⴰⵛⵉⵏⵡⵉⵜ (Hans)",
- "zh-Hant": "ⵜⴰⵛⵉⵏⵡⵉⵜ (Hant)",
- "shi": "ⵜⴰⵛⵍⵃⵉⵜ",
- "ta": "ⵜⴰⵜⴰⵎⵉⵍⵜ",
- "th": "ⵜⴰⵜⴰⵢⵍⴰⵏⴷⵉⵜ",
- "tr": "ⵜⴰⵜⵓⵔⴽⵉⵜ",
- "cs": "ⵜⴰⵜⵛⵉⴽⵉⵜ",
- "it": "ⵜⴰⵟⴰⵍⵢⴰⵏⵜ",
- "yo": "ⵜⴰⵢⵔⵓⴱⴰⵜ",
- "zu": "ⵜⴰⵣⵓⵍⵓⵜ",
- "ig": "ⵜⵉⴳⴱⵓⵜ",
- "uk": "ⵜⵓⴽⵔⴰⵏⵉⵜ",
- "ur": "ⵜⵓⵔⴷⵓⵜ"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/si.json b/vendor/commerceguys/intl/resources/language/si.json
index 4a05a2a2c..59d3bfc12 100644
--- a/vendor/commerceguys/intl/resources/language/si.json
+++ b/vendor/commerceguys/intl/resources/language/si.json
@@ -28,7 +28,6 @@
"ebu": "එම්බු",
"ewo": "එවොන්ඩො",
"et": "එස්තෝනියානු",
- "eo": "එස්පැරන්ටෝ",
"or": "ඔඩියා",
"om": "ඔරොමෝ",
"os": "ඔසිටෙක්",
@@ -67,7 +66,6 @@
"gu": "ගුජරාටි",
"guz": "ගුසී",
"el": "ග්‍රීක",
- "cu": "චර්ච් ස්ලැවික්",
"cgg": "චිගා",
"zh": "චීන",
"cs": "චෙක්",
@@ -111,7 +109,6 @@
"dsb": "පහළ සෝබියානු",
"fil": "පිලිපීන",
"pt": "පෘතුගීසි",
- "prg": "පෘශියන්",
"pl": "පෝලන්ත",
"fr": "ප්‍රංශ",
"fy": "බටහිර ෆ්‍රිසියානු",
@@ -138,7 +135,6 @@
"mi": "මාවොරි",
"jmc": "මැකාමී",
"kde": "මැකොන්ඩ්",
- "gv": "මැන්ක්ස්",
"ms": "මැලේ",
"mzn": "මැසන්ඩරනි",
"mk": "මැසිඩෝනියානු",
@@ -178,7 +174,6 @@
"vi": "වියට්නාම්",
"vun": "වුන්ජෝ",
"cy": "වෙල්ෂ්",
- "vo": "වොලපූක්",
"wo": "වොලොෆ්",
"wae": "වොල්සර්",
"ksb": "ශාම්බලා",
diff --git a/vendor/commerceguys/intl/resources/language/sk.json b/vendor/commerceguys/intl/resources/language/sk.json
index 1a10b4eed..4972a5328 100644
--- a/vendor/commerceguys/intl/resources/language/sk.json
+++ b/vendor/commerceguys/intl/resources/language/sk.json
@@ -28,7 +28,6 @@
"br": "bretónčina",
"bg": "bulharčina",
"ceb": "cebuánčina",
- "cu": "cirkevná slovančina",
"ce": "čečenčina",
"chr": "čerokí",
"cs": "čeština",
@@ -42,7 +41,6 @@
"dua": "duala",
"dz": "dzongkha",
"ebu": "embu",
- "eo": "esperanto",
"et": "estónčina",
"ee": "eweština",
"ewo": "ewondo",
@@ -121,7 +119,6 @@
"ms": "malajčina",
"mg": "malgaština",
"mt": "maltčina",
- "gv": "mančina",
"mi": "maorijčina",
"mr": "maráthčina",
"mas": "masajčina",
@@ -154,7 +151,6 @@
"pl": "poľština",
"pt": "portugalčina",
"pt-PT": "portugalčina (európska)",
- "prg": "pruština",
"rm": "rétorománčina",
"rof": "rombo",
"ro": "rumunčina",
@@ -211,7 +207,6 @@
"vai": "Vai",
"wa": "valónčina",
"vi": "vietnamčina",
- "vo": "volapük",
"vun": "vunjo",
"cy": "waleština",
"wae": "walserčina",
diff --git a/vendor/commerceguys/intl/resources/language/sl.json b/vendor/commerceguys/intl/resources/language/sl.json
index 1cc2cc6be..ca372cbaa 100644
--- a/vendor/commerceguys/intl/resources/language/sl.json
+++ b/vendor/commerceguys/intl/resources/language/sl.json
@@ -36,7 +36,6 @@
"dua": "duala",
"dz": "dzonka",
"ebu": "embujščina",
- "eo": "esperanto",
"et": "estonščina",
"ee": "evenščina",
"ewo": "evondovščina",
@@ -121,7 +120,6 @@
"ml": "malajalamščina",
"ms": "malajščina",
"mt": "malteščina",
- "gv": "manščina",
"mi": "maorščina",
"mr": "maratščina",
"mas": "masajščina",
@@ -178,8 +176,6 @@
"ckb": "soranska kurdščina",
"sr": "srbščina",
"zgh": "standardni maroški tamazig",
- "cu": "stara cerkvena slovanščina",
- "prg": "stara pruščina",
"sw": "svahili",
"ksb": "šambala",
"gd": "škotska gelščina",
@@ -213,7 +209,6 @@
"wa": "valonščina",
"vi": "vietnamščina",
"de-CH": "visoka nemščina (Švica)",
- "vo": "volapuk",
"wo": "volofščina",
"vun": "vunjo",
"wae": "walser",
diff --git a/vendor/commerceguys/intl/resources/language/smn.json b/vendor/commerceguys/intl/resources/language/smn.json
deleted file mode 100644
index 7ab86ea07..000000000
--- a/vendor/commerceguys/intl/resources/language/smn.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "afrikaans",
- "agq": "aghem",
- "ak": "akankielâ",
- "sq": "albaniakielâ",
- "am": "amharakielâ",
- "smn": "anarâškielâ",
- "ar": "arabiakielâ",
- "hy": "armeniakielâ",
- "as": "assamkielâ",
- "ast": "asturiakielâ",
- "asa": "asukielâ",
- "teo": "ateso",
- "en-AU": "Australia eŋgâlâskielâ",
- "az": "azerbaidžankielâ",
- "ksf": "bafia",
- "bm": "bambarakielâ",
- "bn": "banglakielâ",
- "bas": "basaakielâ",
- "eu": "baskikielâ",
- "bem": "bembakielâ",
- "bez": "benakielâ",
- "brx": "bodokielâ",
- "bs": "bosniakielâ",
- "br": "bretonkielâ",
- "en-GB": "Britannia eŋgâlâskielâ",
- "bg": "bulgariakielâ",
- "my": "burmakielâ",
- "ceb": "cebuanokielâ",
- "chr": "cherokeekielâ",
- "dua": "dualakielâ",
- "dz": "Dzongkha",
- "et": "eestikielâ",
- "ebu": "embukielâ",
- "en": "eŋgâlâskielâ",
- "es": "espanjakielâ",
- "eo": "esperantokielâ",
- "ee": "ewekielâ",
- "ewo": "ewondokielâ",
- "fil": "filipinokielâ",
- "fur": "friulikielâ",
- "ff": "fulakielâ",
- "fo": "fäärikielâ",
- "gl": "galiciakielâ",
- "ka": "georgiakielâ",
- "gu": "gudžaratikielâ",
- "guz": "gusiikielâ",
- "ha": "hausakielâ",
- "haw": "hawaijikielâ",
- "he": "hepreakielâ",
- "hi": "hindikielâ",
- "nl": "hollandkielâ",
- "nl-BE": "hollandkielâ (flaami)",
- "ig": "igbokielâ",
- "ga": "iirikielâ",
- "id": "indonesiakielâ",
- "is": "islandkielâ",
- "it": "italiakielâ",
- "ja": "jaapaankielâ",
- "jv": "jaavakielâ",
- "sah": "jakutkielâ",
- "yi": "jiddish",
- "dyo": "jola-fonyi",
- "kab": "kabylkielâ",
- "kkj": "kako",
- "kl": "kalaallisut",
- "kln": "kalenjikielâ",
- "kam": "kambakielâ",
- "en-CA": "Kanada eŋgâlâskielâ",
- "fr-CA": "Kanada ranskakielâ",
- "kn": "kannada",
- "yue": "kantonkielâ",
- "kea": "Kap Verde kreoli",
- "ks": "kashmirkielâ",
- "ca": "katalankielâ",
- "lu": "katangaluba",
- "kk": "kazakkielâ",
- "km": "khmerkielâ",
- "cgg": "kigakielâ",
- "ki": "kikujukielâ",
- "ky": "kirgiskielâ",
- "cu": "kirkkoslaavi",
- "sw-CD": "Kongo swahilikielâ",
- "kok": "konkani",
- "ko": "koreakielâ",
- "kw": "kornikielâ",
- "tzm": "Koskâatlas tamazight",
- "khq": "koyra chiini",
- "ses": "koyraboro senni",
- "el": "kreikakielâ",
- "hr": "kroatiakielâ",
- "ku": "kurdikielâ",
- "nmg": "kwasio",
- "cy": "kymrikielâ",
- "ksh": "kölnkielâ",
- "lkt": "lakotakielâ",
- "lag": "langokielâ",
- "lo": "laokielâ",
- "lv": "latviakielâ",
- "lt": "liettuakielâ",
- "ln": "lingala",
- "nds": "Low German",
- "lg": "luganda",
- "luy": "luhya",
- "luo": "Luo",
- "lb": "luxemburgkielâ",
- "es-419": "Läättin-Amerika espanjakielâ",
- "jmc": "machame",
- "mk": "makedoniakielâ",
- "kde": "makonde",
- "mgh": "makua-meetto",
- "mg": "malagaskielâ",
- "ms": "malaiji",
- "ml": "malajam",
- "mt": "maltakielâ",
- "zh": "mandarinkiinakielâ",
- "gv": "manks",
- "mi": "maorikielâ",
- "mr": "marathikielâ",
- "mas": "masaikielâ",
- "mzn": "mazandarani",
- "es-MX": "Meksiko espanjakielâ",
- "mer": "merukielâ",
- "mgo": "meta’",
- "mn": "mongoliakielâ",
- "mfe": "morisyen",
- "mua": "mundang",
- "naq": "nama",
- "ne": "nepalkielâ",
- "nnh": "ngiemboon",
- "jgo": "ngomba",
- "nus": "nuer",
- "de-AT": "Nuorttâriijkâ saksakielâ",
- "nyn": "nyankolekielâ",
- "zh-Hans": "oovtâkiärdánis kiinakielâ",
- "or": "orija",
- "om": "oromokielâ",
- "os": "ossetkielâ",
- "hsb": "pajesorbi",
- "pa": "pandžabi",
- "ps": "paštu",
- "fa": "persiakielâ",
- "pt-PT": "Portugal portugalkielâ",
- "pt": "portugalkielâ",
- "pl": "puolakielâ",
- "qu": "quechua",
- "fr": "ranskakielâ",
- "rm": "retoroomaankielâ",
- "ro": "romaniakielâ",
- "ro-MD": "romaniakielâ (Moldova)",
- "rof": "rombo",
- "rw": "ruandakielâ",
- "rn": "rundi",
- "ru": "ruošâkielâ",
- "sv": "ruotâkielâ",
- "rwk": "rwa",
- "de": "saksakielâ",
- "saq": "samburukielâ",
- "sg": "sango",
- "sbp": "sangu",
- "seh": "sena",
- "sr": "serbiakielâ",
- "ksb": "shambala",
- "sn": "shona",
- "ii": "Sichuan Yi",
- "sd": "sindhi",
- "si": "sinhala",
- "gd": "skottilâš gaelikielâ",
- "sk": "slovakiakielâ",
- "sl": "sloveniakielâ",
- "xog": "soga",
- "so": "somalikielâ",
- "ckb": "sorani kurdikielâ",
- "zgh": "standard tamazight",
- "fi": "suomâkielâ",
- "de-CH": "Sveitsi pajesaksakielâ",
- "fr-CH": "Sveitsi ranskakielâ",
- "gsw": "Sveitsi saksakielâ",
- "sw": "swahilikielâ",
- "tg": "tadžikkielâ",
- "dav": "taitakielâ",
- "ta": "tamilkielâ",
- "da": "tanskakielâ",
- "twq": "tasawaq",
- "shi": "tašelhit",
- "tt": "tatarkielâ",
- "nd": "tave-nbedele",
- "se": "tavekielâ",
- "lrc": "taveluri",
- "te": "telugu",
- "th": "thaikielâ",
- "ti": "tigrinyakielâ",
- "bo": "tiibetkielâ",
- "to": "tongakielâ",
- "prg": "toovláš preussikielâ",
- "cs": "tšeekikielâ",
- "ce": "tšetšenkielâ",
- "tk": "turkmenkielâ",
- "tr": "tuurkikielâ",
- "nb": "tárukielâ bokmål",
- "nn": "tárukielâ nynorsk",
- "ug": "uigurkielâ",
- "uk": "ukrainakielâ",
- "hu": "uŋgarkielâ",
- "ur": "urdu",
- "uz": "uzbekkielâ",
- "vai": "vaikielâ",
- "be": "vielgisruošâkielâ",
- "fy": "viestârfriisi",
- "vi": "vietnamkielâ",
- "vo": "volapük",
- "vun": "vunjo",
- "nds-NL": "Vuáládâhenâmij saksakielâ",
- "dsb": "vyelisorbi",
- "wae": "walliskielâ",
- "wa": "walloonkielâ",
- "wo": "wolofkielâ",
- "xh": "xhosakielâ",
- "yav": "yangben",
- "yo": "yorubakielâ",
- "dje": "zarmakielâ",
- "zu": "zulukielâ",
- "zh-Hant": "ärbivuáválâš kiinakielâ"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sn.json b/vendor/commerceguys/intl/resources/language/sn.json
deleted file mode 100644
index 74ab149aa..000000000
--- a/vendor/commerceguys/intl/resources/language/sn.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "ak": "chiAkani",
- "am": "chiAmaric",
- "ar": "chiArabu",
- "be": "chiBelarusi",
- "bn": "chiBengali",
- "bg": "chiBulgarian",
- "my": "chiBurma",
- "zh": "chiChinese",
- "zh-Hans": "chiChinese (Hans)",
- "zh-Hant": "chiChinese (Hant)",
- "cs": "chiCzech",
- "nl": "chiDutch",
- "nl-BE": "chiDutch (Beljium)",
- "fr": "chiFurenchi",
- "fr-CA": "chiFurenchi (Kanada)",
- "fr-CH": "chiFurenchi (Switzerland)",
- "cgg": "Chiga",
- "el": "chiGreek",
- "ha": "chiHausa",
- "hi": "chiHindi",
- "hu": "chiHungari",
- "ig": "chiIgbo",
- "id": "chiIndonesia",
- "ja": "chiJapani",
- "jv": "chiJava",
- "de": "chiJerimani",
- "de-AT": "chiJerimani (Austria)",
- "de-CH": "chiJerimani (Switzerland)",
- "km": "chiKhema",
- "ko": "chiKoria",
- "ms": "chiMalay",
- "ne": "chiNepali",
- "fa": "chiPeshiya",
- "pl": "chiPolish",
- "pa": "chiPunjabi",
- "pt": "chiPutukezi",
- "pt-PT": "chiPutukezi (Portugal)",
- "ru": "chiRashiya",
- "ro": "chiRomanian",
- "ro-MD": "chiRomanian (Moldova)",
- "en": "Chirungu",
- "en-AU": "Chirungu (Australia)",
- "en-CA": "Chirungu (Kanada)",
- "en-GB": "Chirungu (United Kingdom)",
- "rw": "chiRwanda",
- "sn": "chiShona",
- "so": "chiSomali",
- "es": "chiSpanish",
- "es-419": "chiSpanish (419)",
- "es-MX": "chiSpanish (Mexico)",
- "sv": "chiSwedish",
- "ta": "chiTamil",
- "it": "chiTariana",
- "th": "chiThai",
- "tr": "chiTurkish",
- "uk": "chiUkrenia",
- "ur": "chiUrdu",
- "vi": "chiVietnam",
- "yo": "chiYoruba",
- "zu": "chiZulu",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Netherlands)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Democratic Republic of the Congo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/so.json b/vendor/commerceguys/intl/resources/language/so.json
index 6531b70e5..ddf9ef1da 100644
--- a/vendor/commerceguys/intl/resources/language/so.json
+++ b/vendor/commerceguys/intl/resources/language/so.json
@@ -29,7 +29,6 @@
"pt": "Boortaqiis",
"pt-PT": "Boortaqiis (Boortuqaal)",
"bs": "Bosniyaan",
- "prg": "Brashiyaanki Hore",
"bg": "Bulgeeriyaan",
"pa": "Bunjaabi",
"my": "Burmese",
@@ -52,7 +51,6 @@
"fi": "Finishka",
"fy": "Firiisiyan Galbeed",
"fur": "Firiyuuliyaan",
- "vo": "Folabuuk",
"ff": "Fuulah",
"vun": "Fuunjo",
"gl": "Galiisiyaan",
@@ -80,7 +78,6 @@
"es": "Isbaanish",
"es-MX": "Isbaanish (Meksiko)",
"es-419": "Isbaanishka Laatiin Ameerika",
- "eo": "Isberaanto",
"gd": "Iskot Giilik",
"sl": "Islofeeniyaan",
"sk": "Isloofaak",
@@ -107,7 +104,6 @@
"kl": "Kalaallisuut",
"kln": "Kalenjiin",
"km": "Kamboodhian",
- "cu": "Kaniisadda Islaafik",
"kn": "Kannadays",
"yue": "Kantoneese",
"kk": "Kasaaq",
@@ -144,7 +140,6 @@
"ml": "Malayalam",
"mt": "Maltiis",
"mn": "Mangooli",
- "gv": "Mankis",
"mas": "Masaay",
"mk": "Masadooniyaan",
"mzn": "Masanderaani",
diff --git a/vendor/commerceguys/intl/resources/language/sq.json b/vendor/commerceguys/intl/resources/language/sq.json
index 64c3efa1e..5b5ee3f22 100644
--- a/vendor/commerceguys/intl/resources/language/sq.json
+++ b/vendor/commerceguys/intl/resources/language/sq.json
@@ -33,7 +33,6 @@
"da": "danisht",
"dua": "dualaisht",
"ebu": "embuisht",
- "eo": "esperanto",
"et": "estonisht",
"ewo": "euondoisht",
"ee": "eveisht",
@@ -122,7 +121,6 @@
"ml": "malajalamisht",
"ms": "malajisht",
"mt": "maltisht",
- "gv": "manksisht",
"mi": "maorisht",
"mk": "maqedonisht",
"mr": "maratisht",
@@ -151,7 +149,6 @@
"pl": "polonisht",
"pt": "portugalisht",
"pt-PT": "portugalishte evropiane",
- "prg": "prusisht",
"pa": "punxhabisht",
"rm": "retoromanisht",
"rof": "romboisht",
@@ -172,7 +169,6 @@
"sd": "sindisht",
"si": "sinhalisht",
"ii": "sishuanisht",
- "cu": "sllavishte kishtare",
"sk": "sllovakisht",
"sl": "sllovenisht",
"xog": "sogisht",
@@ -214,7 +210,6 @@
"uz": "uzbekisht",
"vai": "vaisht",
"vi": "vietnamisht",
- "vo": "volapykisht",
"vun": "vunxhoisht",
"dz": "xhongaisht",
"xh": "xhosaisht",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
index 0a46dd812..5aed917b3 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
@@ -27,7 +27,6 @@
"wae": "валсерски",
"cy": "велшки",
"vi": "вијетнамски",
- "vo": "волапик",
"wo": "волоф",
"vun": "вунџо",
"gl": "галицијски",
@@ -48,7 +47,6 @@
"en-AU": "енглески (Аустралија)",
"en-GB": "енглески (Велика Британија)",
"en-CA": "енглески (Канада)",
- "eo": "есперанто",
"et": "естонски",
"fy": "западни фризијски",
"dje": "зарма",
@@ -112,7 +110,6 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
- "gv": "манкс",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -145,7 +142,6 @@
"pl": "пољски",
"pt": "португалски",
"pt-PT": "португалски (Португал)",
- "prg": "пруски",
"rm": "романш",
"rof": "ромбо",
"rwk": "руа",
@@ -205,7 +201,6 @@
"hr": "хрватски",
"ckb": "централни курдски",
"tzm": "централноатласки тамашек",
- "cu": "црквенословенски",
"chr": "чероки",
"ce": "чеченски",
"cs": "чешки",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
index 78cbe10cd..fc41c4fbf 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
@@ -27,7 +27,6 @@
"wae": "валсерски",
"cy": "велшки",
"vi": "вијетнамски",
- "vo": "волапик",
"wo": "волоф",
"vun": "вунџо",
"gl": "галицијски",
@@ -48,7 +47,6 @@
"en-AU": "енглески (Аустралија)",
"en-GB": "енглески (Велика Британија)",
"en-CA": "енглески (Канада)",
- "eo": "есперанто",
"et": "естонски",
"fy": "западни фризијски",
"dje": "зарма",
@@ -112,7 +110,6 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
- "gv": "манкс",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -146,7 +143,6 @@
"pl": "пољски",
"pt": "португалски",
"pt-PT": "португалски (Португал)",
- "prg": "пруски",
"rm": "романш",
"rof": "ромбо",
"rwk": "руа",
@@ -206,7 +202,6 @@
"hr": "хрватски",
"ckb": "централни курдски",
"tzm": "централноатласки тамашек",
- "cu": "црквенословенски",
"chr": "чероки",
"ce": "чеченски",
"cs": "чешки",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
index 080fbbcc2..8bb5363d2 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
@@ -27,7 +27,6 @@
"wae": "валсерски",
"cy": "велшки",
"vi": "вијетнамски",
- "vo": "волапик",
"wo": "волоф",
"vun": "вунџо",
"gl": "галицијски",
@@ -48,7 +47,6 @@
"en-AU": "енглески (Аустралија)",
"en-GB": "енглески (Велика Британија)",
"en-CA": "енглески (Канада)",
- "eo": "есперанто",
"et": "естонски",
"fy": "западни фризијски",
"dje": "зарма",
@@ -112,7 +110,6 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
- "gv": "манкс",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -145,7 +142,6 @@
"pl": "пољски",
"pt": "португалски",
"pt-PT": "португалски (Португал)",
- "prg": "пруски",
"rm": "романш",
"rof": "ромбо",
"rwk": "руа",
@@ -205,7 +201,6 @@
"hr": "хрватски",
"ckb": "централни курдски",
"tzm": "централноатласки тамашек",
- "cu": "црквенословенски",
"chr": "чероки",
"ce": "чеченски",
"cs": "чешки",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json b/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
index 38124c604..224715dbe 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
@@ -24,7 +24,6 @@
"my": "burmanski",
"ckb": "centralni kurdski",
"tzm": "centralnoatlaski tamašek",
- "cu": "crkvenoslovenski",
"ce": "čečenski",
"chr": "čeroki",
"cs": "češki",
@@ -39,7 +38,6 @@
"en-AU": "engleski (Australija)",
"en-CA": "engleski (Kanada)",
"en-GB": "engleski (Velika Britanija)",
- "eo": "esperanto",
"et": "estonski",
"ee": "eve",
"ewo": "evondo",
@@ -125,7 +123,6 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
- "gv": "manks",
"mi": "maorski",
"mr": "marati",
"mas": "masajski",
@@ -158,7 +155,6 @@
"pl": "poljski",
"pt": "portugalski",
"pt-PT": "portugalski (Portugal)",
- "prg": "pruski",
"rm": "romanš",
"rof": "rombo",
"rwk": "rua",
@@ -215,7 +211,6 @@
"wae": "valserski",
"cy": "velški",
"vi": "vijetnamski",
- "vo": "volapik",
"wo": "volof",
"vun": "vundžo",
"fy": "zapadni frizijski",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json b/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
index 990ea2b04..578b9876e 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
@@ -24,7 +24,6 @@
"my": "burmanski",
"ckb": "centralni kurdski",
"tzm": "centralnoatlaski tamašek",
- "cu": "crkvenoslovenski",
"ce": "čečenski",
"chr": "čeroki",
"cs": "češki",
@@ -39,7 +38,6 @@
"en-AU": "engleski (Australija)",
"en-CA": "engleski (Kanada)",
"en-GB": "engleski (Velika Britanija)",
- "eo": "esperanto",
"et": "estonski",
"ee": "eve",
"ewo": "evondo",
@@ -125,7 +123,6 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
- "gv": "manks",
"mi": "maorski",
"mr": "marati",
"mas": "masajski",
@@ -159,7 +156,6 @@
"pl": "poljski",
"pt": "portugalski",
"pt-PT": "portugalski (Portugal)",
- "prg": "pruski",
"rm": "romanš",
"rof": "rombo",
"rwk": "rua",
@@ -215,7 +211,6 @@
"wae": "valserski",
"cy": "velški",
"vi": "vijetnamski",
- "vo": "volapik",
"wo": "volof",
"vun": "vundžo",
"fy": "zapadni frizijski",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json b/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
index cfdb94dcc..80bdc29d1 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
@@ -24,7 +24,6 @@
"my": "burmanski",
"ckb": "centralni kurdski",
"tzm": "centralnoatlaski tamašek",
- "cu": "crkvenoslovenski",
"ce": "čečenski",
"chr": "čeroki",
"cs": "češki",
@@ -39,7 +38,6 @@
"en-AU": "engleski (Australija)",
"en-CA": "engleski (Kanada)",
"en-GB": "engleski (Velika Britanija)",
- "eo": "esperanto",
"et": "estonski",
"ee": "eve",
"ewo": "evondo",
@@ -125,7 +123,6 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
- "gv": "manks",
"mi": "maorski",
"mr": "marati",
"mas": "masajski",
@@ -158,7 +155,6 @@
"pl": "poljski",
"pt": "portugalski",
"pt-PT": "portugalski (Portugal)",
- "prg": "pruski",
"rm": "romanš",
"rof": "rombo",
"rwk": "rua",
@@ -215,7 +211,6 @@
"wae": "valserski",
"cy": "velški",
"vi": "vijetnamski",
- "vo": "volapik",
"wo": "volof",
"vun": "vundžo",
"fy": "zapadni frizijski",
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn.json b/vendor/commerceguys/intl/resources/language/sr-Latn.json
index a31840063..86f0005ed 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn.json
@@ -24,7 +24,6 @@
"my": "burmanski",
"ckb": "centralni kurdski",
"tzm": "centralnoatlaski tamazigt",
- "cu": "crkvenoslovenski",
"ce": "čečenski",
"chr": "čeroki",
"cs": "češki",
@@ -39,7 +38,6 @@
"en-AU": "engleski (Australija)",
"en-CA": "engleski (Kanada)",
"en-GB": "engleski (Velika Britanija)",
- "eo": "esperanto",
"et": "estonski",
"ee": "eve",
"ewo": "evondo",
@@ -123,7 +121,6 @@
"ms": "malajski",
"mg": "malgaški",
"mt": "malteški",
- "gv": "manks",
"mi": "maorski",
"mr": "marati",
"mas": "masajski",
@@ -157,7 +154,6 @@
"pl": "poljski",
"pt": "portugalski",
"pt-PT": "portugalski (Portugal)",
- "prg": "pruski",
"rm": "romanš",
"rof": "rombo",
"rwk": "rua",
@@ -214,7 +210,6 @@
"wae": "valserski",
"cy": "velški",
"vi": "vijetnamski",
- "vo": "volapik",
"wo": "volof",
"vun": "vundžo",
"fy": "zapadni frizijski",
diff --git a/vendor/commerceguys/intl/resources/language/sr.json b/vendor/commerceguys/intl/resources/language/sr.json
index 929bc4e47..f767ba0e9 100644
--- a/vendor/commerceguys/intl/resources/language/sr.json
+++ b/vendor/commerceguys/intl/resources/language/sr.json
@@ -27,7 +27,6 @@
"wae": "валсерски",
"cy": "велшки",
"vi": "вијетнамски",
- "vo": "волапик",
"wo": "волоф",
"vun": "вунџо",
"gl": "галицијски",
@@ -48,7 +47,6 @@
"en-AU": "енглески (Аустралија)",
"en-GB": "енглески (Велика Британија)",
"en-CA": "енглески (Канада)",
- "eo": "есперанто",
"et": "естонски",
"fy": "западни фризијски",
"dje": "зарма",
@@ -111,7 +109,6 @@
"ms": "малајски",
"mg": "малгашки",
"mt": "малтешки",
- "gv": "манкс",
"mi": "маорски",
"mr": "марати",
"mas": "масајски",
@@ -145,7 +142,6 @@
"pl": "пољски",
"pt": "португалски",
"pt-PT": "португалски (Португал)",
- "prg": "пруски",
"rm": "романш",
"rof": "ромбо",
"rwk": "руа",
@@ -206,7 +202,6 @@
"hr": "хрватски",
"ckb": "централни курдски",
"tzm": "централноатласки тамазигт",
- "cu": "црквенословенски",
"chr": "чероки",
"ce": "чеченски",
"cs": "чешки",
diff --git a/vendor/commerceguys/intl/resources/language/sv.json b/vendor/commerceguys/intl/resources/language/sv.json
index d66aaee80..3d5df7ce8 100644
--- a/vendor/commerceguys/intl/resources/language/sv.json
+++ b/vendor/commerceguys/intl/resources/language/sv.json
@@ -36,7 +36,6 @@
"ebu": "embu",
"smn": "enaresamiska",
"en": "engelska",
- "eo": "esperanto",
"et": "estniska",
"pt-PT": "europeisk portugisiska",
"ee": "ewe",
@@ -44,7 +43,6 @@
"fil": "filippinska",
"fi": "finska",
"nl-BE": "flamländska",
- "prg": "fornpreussiska",
"fr": "franska",
"fur": "friulianska",
"ff": "fulani",
@@ -97,7 +95,6 @@
"hr": "kroatiska",
"ku": "kurdiska",
"nmg": "kwasio",
- "cu": "kyrkslaviska",
"ksh": "kölniska",
"lkt": "lakota",
"lag": "langi",
@@ -122,7 +119,6 @@
"ms": "malajiska",
"ml": "malayalam",
"mt": "maltesiska",
- "gv": "manx",
"mi": "maori",
"mr": "marathi",
"zgh": "marockansk standard-tamazight",
@@ -209,7 +205,6 @@
"wa": "vallonska",
"vi": "vietnamesiska",
"be": "vitryska",
- "vo": "volapük",
"vun": "vunjo",
"fy": "västfrisiska",
"cy": "walesiska",
diff --git a/vendor/commerceguys/intl/resources/language/sw-CD.json b/vendor/commerceguys/intl/resources/language/sw-CD.json
index c9acfd8a0..30dbd2c6c 100644
--- a/vendor/commerceguys/intl/resources/language/sw-CD.json
+++ b/vendor/commerceguys/intl/resources/language/sw-CD.json
@@ -39,7 +39,6 @@
"dua": "Kiduala",
"he": "Kiebrania",
"ebu": "Kiembu",
- "eo": "Kiesperanto",
"et": "Kiestonia",
"ee": "Kiewe",
"ewo": "Kiewondo",
@@ -124,7 +123,6 @@
"ml": "Kimalayalamu",
"ms": "Kimalei",
"mt": "Kimalta",
- "gv": "Kimanksi",
"mi": "Kimaori",
"mr": "Kimarathi",
"mk": "Kimasedonia",
@@ -150,7 +148,6 @@
"os": "Kiosetia",
"ps": "Kipashto",
"pl": "Kipolandi",
- "prg": "Kiprussia",
"pa": "Kipunjabi",
"lag": "Kirangi",
"pt": "Kireno",
@@ -175,7 +172,6 @@
"sd": "Kisindhi",
"si": "Kisinhala",
"sk": "Kislovakia",
- "cu": "Kislovakia cha Kanisa",
"sl": "Kislovenia",
"dsb": "Kisobia cha Chini",
"hsb": "Kisobia cha Ukanda wa Juu",
@@ -205,7 +201,6 @@
"uz": "Kiuzbeki",
"vai": "Kivai",
"vi": "Kivietinamu",
- "vo": "Kivolapuk",
"vun": "Kivunjo",
"wa": "Kiwaloon",
"wae": "Kiwalser",
diff --git a/vendor/commerceguys/intl/resources/language/sw-KE.json b/vendor/commerceguys/intl/resources/language/sw-KE.json
index eb159176d..1ec174675 100644
--- a/vendor/commerceguys/intl/resources/language/sw-KE.json
+++ b/vendor/commerceguys/intl/resources/language/sw-KE.json
@@ -38,7 +38,6 @@
"dua": "Kiduala",
"he": "Kiebrania",
"ebu": "Kiembu",
- "eo": "Kiesperanto",
"et": "Kiestonia",
"ee": "Kiewe",
"ewo": "Kiewondo",
@@ -126,7 +125,6 @@
"ml": "Kimalayalamu",
"ms": "Kimalei",
"mt": "Kimalta",
- "gv": "Kimanx",
"mi": "Kimaori",
"mr": "Kimarathi",
"mk": "Kimasedonia",
@@ -151,7 +149,6 @@
"os": "Kiosetia",
"ps": "Kipashto",
"pl": "Kipolandi",
- "prg": "Kiprussia",
"pa": "Kipunjabi",
"pt": "Kireno",
"pt-PT": "Kireno (Ulaya)",
@@ -175,7 +172,6 @@
"sd": "Kisindhi",
"si": "Kisinhala",
"sk": "Kislovakia",
- "cu": "Kislovakia cha Kanisa la Jadi",
"sl": "Kislovenia",
"dsb": "Kisobia cha Chini",
"xog": "Kisoga",
@@ -206,7 +202,6 @@
"uz": "Kiuzbeki",
"vai": "Kivai",
"vi": "Kivietinamu",
- "vo": "Kivolapuk",
"vun": "Kivunjo",
"wa": "Kiwaloon",
"wae": "Kiwalser",
diff --git a/vendor/commerceguys/intl/resources/language/sw.json b/vendor/commerceguys/intl/resources/language/sw.json
index fc2f246b9..9aadf5e34 100644
--- a/vendor/commerceguys/intl/resources/language/sw.json
+++ b/vendor/commerceguys/intl/resources/language/sw.json
@@ -39,7 +39,6 @@
"dua": "Kiduala",
"he": "Kiebrania",
"ebu": "Kiembu",
- "eo": "Kiesperanto",
"et": "Kiestonia",
"ee": "Kiewe",
"ewo": "Kiewondo",
@@ -123,7 +122,6 @@
"ml": "Kimalayalamu",
"ms": "Kimalei",
"mt": "Kimalta",
- "gv": "Kimanx",
"mi": "Kimaori",
"mr": "Kimarathi",
"mzn": "Kimazanderani",
@@ -147,7 +145,6 @@
"os": "Kiosetia",
"ps": "Kipashto",
"pl": "Kipolandi",
- "prg": "Kiprussia",
"pa": "Kipunjabi",
"lag": "Kirangi",
"pt": "Kireno",
@@ -172,7 +169,6 @@
"sd": "Kisindhi",
"si": "Kisinhala",
"sk": "Kislovakia",
- "cu": "Kislovakia cha Kanisa",
"sl": "Kislovenia",
"dsb": "Kisobia cha Chini",
"hsb": "Kisobia cha Ukanda wa Juu",
@@ -202,7 +198,6 @@
"uz": "Kiuzbeki",
"vai": "Kivai",
"vi": "Kivietinamu",
- "vo": "Kivolapuk",
"vun": "Kivunjo",
"wa": "Kiwaloon",
"wae": "Kiwalser",
diff --git a/vendor/commerceguys/intl/resources/language/ta.json b/vendor/commerceguys/intl/resources/language/ta.json
index 2779801ba..9fb23e594 100644
--- a/vendor/commerceguys/intl/resources/language/ta.json
+++ b/vendor/commerceguys/intl/resources/language/ta.json
@@ -28,14 +28,12 @@
"ewo": "எவோன்டோ",
"zh-Hans": "எளிதாக்கப்பட்ட சீனம்",
"et": "எஸ்டோனியன்",
- "eo": "எஸ்பரேன்டோ",
"ga": "ஐரிஷ்",
"pt-PT": "ஐரோப்பிய போர்ச்சுகீஸ்",
"is": "ஐஸ்லேண்டிக்",
"os": "ஒசெட்டிக்",
"or": "ஒடியா",
"om": "ஒரோமோ",
- "vo": "ஒலாபூக்",
"wa": "ஒவாலூன்",
"wo": "ஓலோஃப்",
"fur": "ஃப்ரியூலியன்",
@@ -80,7 +78,6 @@
"sah": "சக்கா",
"sbp": "சங்கு",
"saq": "சம்புரு",
- "cu": "சர்ச் ஸ்லாவிக்",
"sg": "சாங்கோ",
"cgg": "சிகா",
"si": "சிங்களம்",
@@ -129,7 +126,6 @@
"zh-Hant": "பாரம்பரிய சீனம்",
"eu": "பாஸ்க்",
"bas": "பாஸா",
- "prg": "பிரஷ்யன்",
"en-GB": "பிரிட்டிஷ் ஆங்கிலம்",
"fr": "பிரெஞ்சு",
"br": "பிரெட்டன்",
@@ -159,7 +155,6 @@
"mua": "முன்டாங்",
"es-MX": "மெக்ஸிகன் ஸ்பானிஷ்",
"mer": "மெரு",
- "gv": "மேங்க்ஸ்",
"mgo": "மேடா",
"fy": "மேற்கு ஃப்ரிஷியன்",
"mfe": "மொரிசியன்",
diff --git a/vendor/commerceguys/intl/resources/language/te.json b/vendor/commerceguys/intl/resources/language/te.json
index dddd16737..55161daa6 100644
--- a/vendor/commerceguys/intl/resources/language/te.json
+++ b/vendor/commerceguys/intl/resources/language/te.json
@@ -30,7 +30,6 @@
"wo": "ఉలూఫ్",
"ewo": "ఎవోండొ",
"et": "ఎస్టోనియన్",
- "eo": "ఎస్పెరాంటో",
"ga": "ఐరిష్",
"is": "ఐస్లాండిక్",
"or": "ఒడియా",
@@ -71,7 +70,6 @@
"guz": "గుస్సీ",
"jgo": "గోంబా",
"el": "గ్రీక్",
- "cu": "చర్చ్ స్లావిక్",
"cs": "చెక్",
"ce": "చెచెన్",
"chr": "చెరోకీ",
@@ -114,7 +112,6 @@
"ps": "పాష్టో",
"pt": "పోర్చుగీస్",
"pl": "పోలిష్",
- "prg": "ప్రష్యన్",
"zgh": "ప్రామాణిక మొరొకన్ టామజైట్",
"fo": "ఫారోస్",
"fi": "ఫిన్నిష్",
@@ -146,7 +143,6 @@
"mg": "మలగాసి",
"ml": "మలయాళం",
"ms": "మలయ్",
- "gv": "మాంక్స్",
"mt": "మాల్టీస్",
"mi": "మావొరీ",
"mzn": "మాసన్‌దెరాని",
@@ -187,7 +183,6 @@
"vi": "వియత్నామీస్",
"vun": "వుంజొ",
"cy": "వెల్ష్",
- "vo": "వోలాపుక్",
"ksb": "శంబాలా",
"ii": "శిషువన్ ఈ",
"sn": "షోన",
diff --git a/vendor/commerceguys/intl/resources/language/teo.json b/vendor/commerceguys/intl/resources/language/teo.json
deleted file mode 100644
index de67c15b7..000000000
--- a/vendor/commerceguys/intl/resources/language/teo.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "fa": "Kiajemi",
- "ak": "Kiakan",
- "am": "Kiamhari",
- "ar": "Kiarabu",
- "bn": "Kibangla",
- "be": "Kibelarusi",
- "bg": "Kibulgaria",
- "my": "Kiburma",
- "cs": "Kichecki",
- "zh": "Kichina",
- "zh-Hans": "Kichina (Hans)",
- "zh-Hant": "Kichina (Hant)",
- "fr": "Kifaransa",
- "fr-CA": "Kifaransa (Kanada)",
- "fr-CH": "Kifaransa (Uswisi)",
- "el": "Kigiriki",
- "ha": "Kihausa",
- "hi": "Kihindi",
- "es": "Kihispania",
- "es-419": "Kihispania (419)",
- "es-MX": "Kihispania (Meksiko)",
- "nl": "Kiholanzi",
- "nl-BE": "Kiholanzi (Ubelgiji)",
- "hu": "Kihungari",
- "ig": "Kiigbo",
- "id": "Kiindonesia",
- "it": "Kiitaliano",
- "ja": "Kijapani",
- "jv": "Kijava",
- "de": "Kijerumani",
- "de-AT": "Kijerumani (Austria)",
- "de-CH": "Kijerumani (Uswisi)",
- "km": "Kikambodia",
- "ko": "Kikorea",
- "ki": "Kikuyu",
- "ms": "Kimalesia",
- "ne": "Kinepali",
- "en": "Kingereza",
- "en-AU": "Kingereza (Australia)",
- "en-CA": "Kingereza (Kanada)",
- "en-GB": "Kingereza (Uingereza)",
- "rw": "Kinyarwanda",
- "pl": "Kipolandi",
- "pa": "Kipunjabi",
- "pt": "Kireno",
- "pt-PT": "Kireno (Ureno)",
- "ro": "Kiromania",
- "ro-MD": "Kiromania (Moldova)",
- "ru": "Kirusi",
- "so": "Kisomali",
- "sv": "Kiswidi",
- "th": "Kitailandi",
- "ta": "Kitamil",
- "teo": "Kiteso",
- "tr": "Kituruki",
- "uk": "Kiukrania",
- "ur": "Kiurdu",
- "vi": "Kivietinamu",
- "yo": "Kiyoruba",
- "zu": "Kizulu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/tg.json b/vendor/commerceguys/intl/resources/language/tg.json
index 18e467d21..971200802 100644
--- a/vendor/commerceguys/intl/resources/language/tg.json
+++ b/vendor/commerceguys/intl/resources/language/tg.json
@@ -11,7 +11,6 @@
"yue": "Cantonese",
"ce": "Chechen",
"cgg": "Chiga",
- "cu": "Church Slavic",
"ksh": "Colognian",
"kw": "Cornish",
"dua": "Duala",
@@ -43,7 +42,6 @@
"jmc": "Machame",
"mgh": "Makhuwa-Meetto",
"kde": "Makonde",
- "gv": "Manx",
"mas": "Masai",
"mzn": "Mazanderani",
"mer": "Meru",
@@ -61,7 +59,6 @@
"nus": "Nuer",
"nyn": "Nyankole",
"os": "Ossetic",
- "prg": "Prussian",
"rof": "Rombo",
"rn": "Rundi",
"rwk": "Rwa",
@@ -82,7 +79,6 @@
"twq": "Tasawaq",
"teo": "Teso",
"vai": "Vai",
- "vo": "Volapük",
"vun": "Vunjo",
"wa": "Walloon",
"wae": "Walser",
@@ -217,7 +213,6 @@
"cs": "чехӣ",
"sv": "шведӣ",
"gd": "шотландии гэлӣ",
- "eo": "эсперанто",
"et": "эстонӣ",
"el": "юнонӣ",
"ja": "японӣ"
diff --git a/vendor/commerceguys/intl/resources/language/th.json b/vendor/commerceguys/intl/resources/language/th.json
index 650d7c2a2..0325d2264 100644
--- a/vendor/commerceguys/intl/resources/language/th.json
+++ b/vendor/commerceguys/intl/resources/language/th.json
@@ -41,7 +41,6 @@
"ksb": "ชัมบาลา",
"cs": "เช็ก",
"ce": "เชเชน",
- "cu": "เชอร์ชสลาวิก",
"chr": "เชอโรกี",
"sn": "โชนา",
"dz": "ซองคา",
@@ -99,7 +98,6 @@
"bem": "เบมบา",
"br": "เบรตัน",
"be": "เบลารุส",
- "prg": "ปรัสเซีย",
"pa": "ปัญจาบ",
"fa": "เปอร์เซีย",
"pt": "โปรตุเกส",
@@ -130,7 +128,6 @@
"mzn": "มาซันดารานี",
"mk": "มาซิโดเนีย",
"mas": "มาไซ",
- "gv": "มานซ์",
"mg": "มาลากาซี",
"ml": "มาลายาลัม",
"ms": "มาเลย์",
@@ -170,7 +167,6 @@
"cy": "เวลส์",
"vi": "เวียดนาม",
"wo": "โวลอฟ",
- "vo": "โวลาพึค",
"vai": "ไว",
"es": "สเปน",
"es-MX": "สเปน - เม็กซิโก",
@@ -209,7 +205,6 @@
"ebu": "เอ็มบู",
"ee": "เอเว",
"et": "เอสโตเนีย",
- "eo": "เอสเปรันโต",
"af": "แอฟริกานส์",
"sq": "แอลเบเนีย",
"or": "โอดิยา",
diff --git a/vendor/commerceguys/intl/resources/language/ti.json b/vendor/commerceguys/intl/resources/language/ti.json
deleted file mode 100644
index dbeb37915..000000000
--- a/vendor/commerceguys/intl/resources/language/ti.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "agq": "Aghem",
- "ak": "Akan",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "my": "Burmese",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "zh": "Chinese",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "ff": "Fulah",
- "lg": "Ganda",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaiian",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "km": "Khmer",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "ln": "Lingala",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "gv": "Manx",
- "mi": "Maori",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (ኔዘርላንድስ)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "om": "Oromo",
- "os": "Ossetic",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "seh": "Sena",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "xog": "Soga",
- "so": "Somali",
- "zgh": "Standard Moroccan Tamazight",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "teo": "Teso",
- "bo": "Tibetan",
- "to": "Tongan",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "wo": "Wolof",
- "yav": "Yangben",
- "yo": "Yoruba",
- "dje": "Zarma",
- "zh-Hans": "zh (Hans)",
- "zh-Hant": "zh (Hant)",
- "hu": "ሀንጋሪኛ",
- "lt": "ሊቱአኒየን",
- "lv": "ላቲቪያን",
- "hi": "ሕንደኛ",
- "ml": "ማላያላምኛ",
- "ms": "ማላይኛ",
- "mt": "ማልቲስኛ",
- "mr": "ማራቲኛ",
- "mk": "ማክዶኒኛ",
- "ru": "ራሽኛ",
- "ro": "ሮማኒያን",
- "ro-MD": "ሮማኒያን (ሞልዶቫ)",
- "sr": "ሰርቢኛ",
- "sw": "ሰዋሂሊኛ",
- "sw-CD": "ሰዋሂሊኛ (ኮንጎ)",
- "sk": "ስሎቨክኛ",
- "sl": "ስቁቪኛ",
- "si": "ስንሃልኛ",
- "sv": "ስዊድንኛ",
- "es": "ስፓኒሽ",
- "es-419": "ስፓኒሽ (419)",
- "es-MX": "ስፓኒሽ (ሜክሲኮ)",
- "bn": "በንጋሊኛ",
- "bg": "ቡልጋሪኛ",
- "eu": "ባስክኛ",
- "be": "ቤላራሻኛ",
- "br": "ብሬቶን",
- "bs": "ቦስኒያን",
- "vi": "ቪትናምኛ",
- "te": "ተሉጉኛ",
- "tr": "ቱርከኛ",
- "ta": "ታሚልኛ",
- "th": "ታይኛ",
- "fil": "ታጋሎገኛ",
- "ti": "ትግርኛ",
- "cs": "ቼክኛ",
- "tk": "ናይ ቱርኪ ሰብዓይ (ቱርካዊ)",
- "ne": "ኔፖሊኛ",
- "nn": "ኖርዌይኛ (ናይ ኝኖርስክ)",
- "sq": "አልቤኒኛ",
- "am": "አምሐረኛ",
- "az": "አዜርባይጃንኛ",
- "ga": "አይሪሽ",
- "is": "አይስላንደኛ",
- "af": "አፍሪቃንሰኛ",
- "ur": "ኡርዱኛ",
- "uz": "ኡዝበክኛ",
- "et": "ኤስቶኒአን",
- "eo": "ኤስፐራንቶ",
- "gd": "እስኮትስ ጌልክኛ",
- "id": "እንዶኑሲኛ",
- "en": "እንግሊዝኛ",
- "en-AU": "እንግሊዝኛ (አውስትሬሊያ)",
- "en-GB": "እንግሊዝኛ (እንግሊዝ)",
- "en-CA": "እንግሊዝኛ (ካናዳ)",
- "or": "ኦሪያ",
- "ku": "ኩርድሽ",
- "ky": "ኪሩጋዚ",
- "kn": "ካማደኛ",
- "ca": "ካታላን",
- "hr": "ክሮሽያንኛ",
- "ko": "ኮሪያኛ",
- "cy": "ወልሽ",
- "ar": "ዓረበኛ",
- "he": "ዕብራስጥ",
- "zu": "ዙሉኛ",
- "xh": "ዞሳኛ",
- "uk": "ዩክረኒኛ",
- "yi": "ዪዲሽ",
- "nl": "ደች",
- "nl-BE": "ደች (ቤልጄም)",
- "da": "ዴኒሽ",
- "de": "ጀርመን",
- "de-CH": "ጀርመን (ስዊዘርላንድ)",
- "de-AT": "ጀርመን (ኦስትሪያ)",
- "jv": "ጃቫንኛ",
- "ja": "ጃፓንኛ",
- "gu": "ጉጃራቲኛ",
- "ka": "ጊዮርጊያኛ",
- "gl": "ጋለቪኛ",
- "el": "ግሪከኛ",
- "it": "ጣሊያንኛ",
- "fr": "ፈረንሳይኛ",
- "fr-CH": "ፈረንሳይኛ (ስዊዘርላንድ)",
- "fr-CA": "ፈረንሳይኛ (ካናዳ)",
- "fi": "ፊኒሽ",
- "fo": "ፋሮኛ",
- "fy": "ፍሪሰኛ",
- "fa": "ፐርሲያኛ",
- "pa": "ፑንጃቢኛ",
- "ps": "ፓሽቶ",
- "pl": "ፖሊሽ",
- "pt": "ፖርቱጋሊኛ",
- "pt-PT": "ፖርቱጋልኛ (ናይ ፖርቱጋል)"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/tk.json b/vendor/commerceguys/intl/resources/language/tk.json
index 4cbac752d..121635f0d 100644
--- a/vendor/commerceguys/intl/resources/language/tk.json
+++ b/vendor/commerceguys/intl/resources/language/tk.json
@@ -26,7 +26,6 @@
"bg": "bolgar dili",
"bs": "boşnak dili",
"br": "breton dili",
- "cu": "buthana slaw dili",
"ce": "çeçen dili",
"cs": "çeh dili",
"chr": "çeroki",
@@ -38,7 +37,6 @@
"dz": "dzong-ke dili",
"ebu": "embu dili",
"hy": "ermeni dili",
- "eo": "esperanto dili",
"et": "eston dili",
"ee": "ewe dili",
"ewo": "ewondo dili",
@@ -126,7 +124,6 @@
"mr": "marathi dili",
"mas": "masai dili",
"mzn": "mazanderan dili",
- "gv": "men dili",
"ckb": "merkezi kürt dili",
"mer": "meru dili",
"mgo": "meta dili",
@@ -157,7 +154,6 @@
"pl": "polýak dili",
"pt": "portugal dili",
"pt-PT": "portugal dili (Ýewropa)",
- "prg": "prussiýa dili",
"rm": "retoroman dili",
"rof": "rombo dili",
"ro": "rumyn dili",
@@ -205,7 +201,6 @@
"wa": "wallon dili",
"wae": "walzer dili",
"hu": "wenger dili",
- "vo": "wolapýuk dili",
"wo": "wolof dili",
"vun": "wunýo dili",
"vi": "wýetnam dili",
diff --git a/vendor/commerceguys/intl/resources/language/to.json b/vendor/commerceguys/intl/resources/language/to.json
index 297e2beb6..7fbf94021 100644
--- a/vendor/commerceguys/intl/resources/language/to.json
+++ b/vendor/commerceguys/intl/resources/language/to.json
@@ -73,7 +73,6 @@
"mr": "lea fakamalati",
"ms": "lea fakamalei",
"mt": "lea fakamalita",
- "gv": "lea fakamangikī",
"mas": "lea fakamasai",
"jmc": "lea fakamasame",
"mzn": "lea fakamasanitelani",
@@ -116,7 +115,6 @@
"pt": "lea fakapotukali",
"pt-PT": "lea fakapotukali-ʻiulope",
"bg": "lea fakapulukalia",
- "prg": "lea fakapulūsia",
"pa": "lea fakapūnusapi",
"sah": "lea fakasaka",
"nds-NL": "lea fakasakisoni-hifo",
@@ -143,7 +141,6 @@
"de-AT": "lea fakasiamane-ʻaositulia",
"ksb": "lea fakasiamipala",
"ja": "lea fakasiapani",
- "cu": "lea fakasilavia-fakasiasi",
"sd": "lea fakasīniti",
"si": "lea fakasingihala",
"sn": "lea fakasiona",
@@ -184,7 +181,6 @@
"cy": "lea fakauēlesi",
"vai": "lea fakavai",
"vi": "lea fakavietinami",
- "vo": "lea fakavolapiki",
"vun": "lea fakavūniso",
"ga": "lea fakaʻaelani",
"af": "lea fakaʻafilikana",
@@ -200,7 +196,6 @@
"ast": "lea fakaʻasitūlia",
"asa": "lea fakaʻasu",
"ebu": "lea fakaʻemipū",
- "eo": "lea fakaʻesipulanito",
"et": "lea fakaʻesitōnia",
"ee": "lea fakaʻeue",
"ewo": "lea fakaʻeuōnito",
diff --git a/vendor/commerceguys/intl/resources/language/tr.json b/vendor/commerceguys/intl/resources/language/tr.json
index a2f417b80..cd5f329f6 100644
--- a/vendor/commerceguys/intl/resources/language/tr.json
+++ b/vendor/commerceguys/intl/resources/language/tr.json
@@ -42,7 +42,6 @@
"ebu": "Embu",
"id": "Endonezce",
"hy": "Ermenice",
- "eo": "Esperanto",
"et": "Estonca",
"ee": "Ewe",
"ewo": "Ewondo",
@@ -101,7 +100,6 @@
"ky": "Kırgızca",
"cgg": "Kiga",
"ki": "Kikuyu",
- "cu": "Kilise Slavcası",
"rw": "Kinyarwanda",
"rn": "Kirundi",
"sw-CD": "Kongo Svahili",
@@ -136,7 +134,6 @@
"ms": "Malayca",
"mg": "Malgaşça",
"mt": "Maltaca",
- "gv": "Man dili",
"mi": "Maori dili",
"mr": "Marathi dili",
"mas": "Masai",
@@ -165,7 +162,6 @@
"pa": "Pencapça",
"ps": "Peştuca",
"pt": "Portekizce",
- "prg": "Prusyaca",
"rm": "Romanşça",
"rof": "Rombo",
"ro": "Rumence",
@@ -208,7 +204,6 @@
"vai": "Vai",
"wa": "Valonca",
"vi": "Vietnamca",
- "vo": "Volapük",
"wo": "Volofça",
"vun": "Vunjo",
"wae": "Walser",
diff --git a/vendor/commerceguys/intl/resources/language/tt.json b/vendor/commerceguys/intl/resources/language/tt.json
deleted file mode 100644
index 1d5e1069c..000000000
--- a/vendor/commerceguys/intl/resources/language/tt.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "agq": "Aghem",
- "ak": "Akan",
- "ast": "Asturian",
- "asa": "Asu",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "bez": "Bena",
- "brx": "Bodo",
- "yue": "Cantonese",
- "ce": "Chechen",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "dua": "Duala",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "lg": "Ganda",
- "guz": "Gusii",
- "jv": "Javanese",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "ki": "Kikuyu",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "ln": "Lingala",
- "nds": "Low German",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "gv": "Manx",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Нидерланд)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "os": "Ossetic",
- "prg": "Prussian",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "seh": "Sena",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (CD)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "twq": "Tasawaq",
- "teo": "Teso",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "fy": "Western Frisian",
- "xh": "Xhosa",
- "yav": "Yangben",
- "dje": "Zarma",
- "zu": "Zulu",
- "sq": "албан",
- "de": "алман",
- "de-AT": "алман (Австрия)",
- "am": "амхар",
- "as": "ассам",
- "af": "африкаанс",
- "az": "әзәрбайҗан",
- "hy": "әрмән",
- "eu": "баск",
- "be": "белорус",
- "bem": "бемба",
- "bn": "бенгали",
- "my": "бирма",
- "bg": "болгар",
- "bs": "босния",
- "br": "бретон",
- "en-GB": "Британия инглизчәсе",
- "hu": "венгр",
- "wo": "волоф",
- "vi": "вьетнам",
- "haw": "гавайи",
- "zh-Hans": "гадиләштерелгән кытай",
- "gl": "галисия",
- "ar": "гарәп",
- "nl": "голланд",
- "nl-BE": "голланд (Бельгия)",
- "el": "грек",
- "ka": "грузин",
- "gu": "гуҗарати",
- "da": "дания",
- "dz": "дзонг-кха",
- "ig": "игбо",
- "yi": "идиш",
- "smn": "инари-саам",
- "en": "инглиз",
- "en-AU": "инглиз (Австралия)",
- "en-CA": "инглиз (Канада)",
- "id": "индонезия",
- "ga": "ирланд",
- "is": "исланд",
- "es": "испан",
- "es-419": "испан (Латин Америкасы)",
- "es-MX": "испан (Мексика)",
- "it": "итальян",
- "yo": "йоруба",
- "kk": "казакъ",
- "kn": "каннада",
- "ca": "каталан",
- "ks": "кашмири",
- "qu": "кечуа",
- "kok": "конкани",
- "ko": "корея",
- "ku": "көрд",
- "km": "кхмер",
- "ky": "кыргыз",
- "zh": "кытай (тәрҗемә киңәше: аерым алганда, мандарин кытайчасы)",
- "lo": "лаос",
- "lv": "латыш",
- "lt": "литва",
- "lb": "люксембург",
- "mk": "македон",
- "mg": "малагаси",
- "ms": "малай",
- "ml": "малаялам",
- "mt": "мальта",
- "mi": "маори",
- "mr": "маратхи",
- "mn": "монгол",
- "ne": "непали",
- "or": "ория",
- "om": "оромо",
- "pa": "пәнҗаби",
- "pl": "поляк",
- "pt": "португал",
- "pt-PT": "португал (Европа)",
- "ps": "пушту",
- "rm": "ретороман",
- "rw": "руанда",
- "ro": "румын",
- "ro-MD": "румын (Молдова)",
- "ru": "рус",
- "sah": "саха",
- "ceb": "себуано",
- "sr": "серб",
- "si": "сингал",
- "sd": "синдһи",
- "sk": "словак",
- "sl": "словен",
- "so": "сомали",
- "tg": "таҗик",
- "th": "тай",
- "ta": "тамил",
- "tt": "татар",
- "te": "телугу",
- "bo": "тибет",
- "ti": "тигринья",
- "to": "тонга",
- "se": "төньяк саам",
- "tr": "төрек",
- "tk": "төрекмән",
- "zh-Hant": "традицион кытай",
- "dsb": "түбән сорб",
- "ug": "уйгыр",
- "uk": "украин",
- "ur": "урду",
- "cy": "уэльс",
- "tzm": "үзәк атлас тамазигт",
- "ckb": "үзәк көрд",
- "uz": "үзбәк",
- "fo": "фарер",
- "fa": "фарсы",
- "fil": "филиппин",
- "fi": "фин",
- "fr": "француз",
- "fr-CA": "француз (Канада)",
- "fr-CH": "француз (Швейцария)",
- "ff": "фула",
- "ha": "хауса",
- "hr": "хорват",
- "hi": "һинд",
- "chr": "чероки",
- "cs": "чех",
- "sv": "швед",
- "gd": "шотланд гэль",
- "eo": "эсперанто",
- "et": "эстон",
- "de-CH": "югары алман (Швейцария)",
- "hsb": "югары сорб",
- "ja": "япон",
- "he": "яһүд"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/twq.json b/vendor/commerceguys/intl/resources/language/twq.json
deleted file mode 100644
index b7f932702..000000000
--- a/vendor/commerceguys/intl/resources/language/twq.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan senni",
- "sq": "Albanian",
- "de": "Almaŋ senni",
- "de-AT": "Almaŋ senni (Otriši)",
- "de-CH": "Almaŋ senni (Swisu)",
- "am": "Amhaarik senni",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "be": "Belaruus senni",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengali senni",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulagaari senni",
- "my": "Burme senni",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "cs": "Cek senni",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "es": "Espaaɲe senni",
- "es-419": "Espaaɲe senni (419)",
- "es-MX": "Espaaɲe senni (Mexiki)",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fa": "Farsi senni",
- "fil": "Filipino",
- "fi": "Finnish",
- "fr": "Fransee senni",
- "fr-CA": "Fransee senni (Kanaada)",
- "fr-CH": "Fransee senni (Swisu)",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "el": "Grek senni",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "ha": "Hawsance senni",
- "he": "Hebrew",
- "nl": "Holandee senni",
- "nl-BE": "Holandee senni (Belgiiki)",
- "hu": "Hungaari senni",
- "ig": "Iboo senni",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "id": "Indoneesi senni",
- "hi": "Induu senni",
- "en": "Inglisi senni",
- "en-GB": "Inglisi senni (Albaasalaama Marganta)",
- "en-CA": "Inglisi senni (Kanaada)",
- "en-AU": "Inglisi senni (Ostraali)",
- "ga": "Irish",
- "it": "Itaali senni",
- "ja": "Japonee senni",
- "jv": "Javanee senni",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "Kmeer senni, Game here",
- "kok": "Konkani",
- "ko": "Koree senni",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "ar": "Laaraw senni",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Maleezi senni",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Hollandu)",
- "ne": "Neepal senni",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "pl": "Polonee senni",
- "pt": "Portugee senni",
- "pt-PT": "Portugee senni (Portugaal)",
- "prg": "Prussian",
- "pa": "Punjaabi sennii",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "Rumaani senni",
- "ro-MD": "Rumaani senni (Moldovi)",
- "rn": "Rundi",
- "ru": "Ruusi senni",
- "rwk": "Rwa",
- "rw": "Rwanda senni",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "Sinuwa senni, Mandareŋ",
- "zh-Hans": "Sinuwa senni, Mandareŋ (Hans)",
- "zh-Hant": "Sinuwa senni, Mandareŋ (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somaali senni",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Suweede senni",
- "sw-CD": "sw (Kongoo demookaratiki laboo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "th": "Taailandu senni",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamil senni",
- "twq": "Tasawaq senni",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "tr": "Turku senni",
- "uk": "Ukreen senni",
- "hsb": "Upper Sorbian",
- "ur": "Urdu senni",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Vietnaam senni",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yorbance senni",
- "dje": "Zarma",
- "zu": "Zulu senni"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/tzm.json b/vendor/commerceguys/intl/resources/language/tzm.json
deleted file mode 100644
index 37d90372c..000000000
--- a/vendor/commerceguys/intl/resources/language/tzm.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Hulanḍa)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Tagduda Tadimuqraṭit n Kungu)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "bg": "Tabelɣarit",
- "pa": "Tabenjabit",
- "be": "Tabilarusit",
- "bn": "Tabinɣalit",
- "my": "Taburmanit",
- "pt": "Taburtuɣalit",
- "pt-PT": "Taburtuɣalit (Purtuɣal)",
- "shi": "Tachelhit",
- "cs": "Tačikt",
- "zh": "Tacinwit,Mandarin",
- "zh-Hans": "Tacinwit,Mandarin (Hans)",
- "zh-Hant": "Tacinwit,Mandarin (Hant)",
- "fa": "Tafarisit",
- "fr": "Tafṛansist",
- "fr-CA": "Tafṛansist (Kanada)",
- "fr-CH": "Tafṛansist (Swisra)",
- "ha": "Tahawsat",
- "hu": "Tahenɣarit",
- "hi": "Tahindit",
- "nl": "Tahulanḍit",
- "nl-BE": "Tahulanḍit (Beljika)",
- "dav": "Taita",
- "ja": "Tajappunit",
- "jv": "Tajavanit",
- "tg": "Tajik",
- "ak": "Takanit",
- "ko": "Takurit",
- "de": "Talmanit",
- "de-CH": "Talmanit (Swisra)",
- "de-AT": "Talmanit (Ustriyya)",
- "ms": "Tamalizit",
- "tzm": "Tamaziɣt n laṭlaṣ",
- "am": "Tamharit",
- "en": "Tanglizt",
- "en-CA": "Tanglizt (Kanada)",
- "en-GB": "Tanglizt (Tagelda Taddukelt)",
- "en-AU": "Tanglizt (Usṭralya)",
- "ne": "Tanippalit",
- "pl": "Tappulunit",
- "ro": "Taṛumanit",
- "ro-MD": "Taṛumanit (Mulḍavya)",
- "ru": "Tarusit",
- "rw": "Tarwandit",
- "twq": "Tasawaq",
- "es": "tasbelyunit",
- "es-419": "tasbelyunit (419)",
- "es-MX": "tasbelyunit (Miksik)",
- "so": "Taṣumalit",
- "sv": "Taswidit",
- "it": "Taṭalyant",
- "ta": "Tatamilt",
- "tt": "Tatar",
- "th": "Taṭayt",
- "tr": "Taturkit",
- "vi": "Taviṭnamit",
- "km": "Taxmert ,Talammast",
- "el": "Tayunanit",
- "yo": "Tayurubat",
- "zu": "tazulut",
- "ar": "Taεrabt",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ig": "Tigbut",
- "ti": "Tigrinya",
- "id": "Tindunisit",
- "to": "Tongan",
- "uk": "Tukranit",
- "ur": "Turdut",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ug.json b/vendor/commerceguys/intl/resources/language/ug.json
deleted file mode 100644
index f21844bb3..000000000
--- a/vendor/commerceguys/intl/resources/language/ug.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "zh-Hans": "ئاددىي خەنچە",
- "as": "ئاسامچە",
- "ast": "ئاستۇرىيەچە",
- "asa": "ئاسۇچە",
- "af": "ئافرىكانچە",
- "ak": "ئاكانچە",
- "agq": "ئاگەمچە",
- "sq": "ئالبانچە",
- "am": "ئامھارچە",
- "en-AU": "ئاۋسترالىيە ئىنگلىزچە",
- "de-AT": "ئاۋستىرىيە گېرمانچە",
- "ar": "ئەرەبچە",
- "hy": "ئەرمېنچە",
- "az": "ئەزەربەيجانچە",
- "en-GB": "ئەنگلىيە ئىنگلىزچە",
- "or": "ئودىياچە",
- "ur": "ئوردۇچە",
- "om": "ئوروموچە",
- "os": "ئوسسېتچەچە",
- "uk": "ئۇكرائىنچە",
- "ug": "ئۇيغۇرچە",
- "uz": "ئۆزبېكچە",
- "zgh": "ئۆلچەملىك ماراكەش تامازىتچە",
- "hsb": "ئۈستۈن سوربچە",
- "eo": "ئېسپرانتوچە",
- "et": "ئېستونچە",
- "ebu": "ئېمبۇچە",
- "ewo": "ئېۋوندوچە",
- "ee": "ئېۋېچە",
- "he": "ئىبرانىيچە",
- "it": "ئىتالىيانچە",
- "ga": "ئىرېلاندچە",
- "es": "ئىسپانچە",
- "is": "ئىسلاندچە",
- "ig": "ئىگبوچە",
- "smn": "ئىنارى سامىچە",
- "en": "ئىنگلىزچە",
- "bas": "باساچە",
- "eu": "باسكىچە",
- "ksf": "بافىياچە",
- "bm": "بامباراچە",
- "brx": "بودوچە",
- "bs": "بوسىنچە",
- "bg": "بۇلغارچە",
- "be": "بېلارۇسچە",
- "bem": "بېمباچە",
- "bez": "بېناچە",
- "bn": "بېنگالچە",
- "my": "بىرماچە",
- "br": "بىرېتونچە",
- "fa": "پارسچە",
- "pa": "پەنجابچە",
- "pt": "پورتۇگالچە",
- "pl": "پولەكچە",
- "ps": "پۇشتۇچە",
- "tt": "تاتارچە",
- "tg": "تاجىكچە",
- "ta": "تامىلچە",
- "dav": "تايتاچە",
- "th": "تايلاندچە",
- "to": "تونگانچە",
- "dsb": "تۆۋەن سوربچە",
- "nds": "تۆۋەن گېرمانچە",
- "nds-NL": "تۆۋەن گېرمانچە (گوللاندىيە)",
- "tr": "تۈركچە",
- "tk": "تۈركمەنچە",
- "teo": "تېسوچە",
- "te": "تېلۇگۇچە",
- "bo": "تىبەتچە",
- "ti": "تىگرىنياچە",
- "dyo": "جولاچە",
- "ce": "چېچىنچە",
- "cs": "چېخچە",
- "chr": "چېروكىچە",
- "cgg": "چىگاچە",
- "ha": "خائۇساچە",
- "zh": "خەنزۇچە",
- "xh": "خوساچە",
- "da": "دانىشچە",
- "dua": "دۇئالاچە",
- "rm": "رومانسچە",
- "rof": "رومبوچە",
- "ro": "رومىنچە",
- "ro-MD": "رومىنچە (مولدوۋا)",
- "ru": "رۇسچە",
- "rn": "رۇندىچە",
- "rwk": "رىۋاچە",
- "dje": "زارماچە",
- "dz": "زوڭخاچە",
- "zu": "زۇلۇچە",
- "sah": "ساخاچە",
- "saq": "سامبۇرۇچە",
- "sg": "سانگوچە",
- "sbp": "سانگۇچە",
- "xog": "سوگاچە",
- "so": "سومالىچە",
- "ceb": "سېبۇچە",
- "sr": "سېربچە",
- "seh": "سېناچە",
- "sk": "سىلوۋاكچە",
- "sl": "سىلوۋېنچە",
- "sd": "سىندىچە",
- "si": "سىنگالچە",
- "sw": "سىۋاھىلچە",
- "ksb": "شامبالاچە",
- "ses": "شەرقىي سوڭخايچە",
- "gd": "شوتلاندىيە گايلچىسى",
- "sn": "شوناچە",
- "shi": "شىلخاچە",
- "nd": "شىمالى ندەبەلەچە",
- "se": "شىمالىي سامىچە",
- "twq": "شىمالىي سوڭخايچە",
- "sv": "شىۋېدچە",
- "de-CH": "شىۋىتسارىيە ئېگىزلىك گېرمانچە",
- "fr-CH": "شىۋىتسارىيە فىرانسۇزچە",
- "fy": "غەربىي فىرسچە",
- "fo": "فائېروچە",
- "ff": "فۇلاھچە",
- "fr": "فىرانسۇزچە",
- "fur": "فىرىئۇلىچە",
- "fil": "فىلىپپىنچە",
- "fi": "فىنچە",
- "kk": "قازاقچە",
- "cu": "قەدىمكى سلاۋيانچە",
- "ky": "قىرغىزچە",
- "kea": "كابۇۋېردىيانچە",
- "kab": "كابىلېچە",
- "ca": "كاتالانچە",
- "kkj": "كاكوچە",
- "kln": "كالېنجىنچە",
- "kam": "كامباچە",
- "en-CA": "كانادا ئىنگلىزچە",
- "fr-CA": "كانادا فىرانسۇزچە",
- "kn": "كانناداچە",
- "ks": "كەشمىرچە",
- "kw": "كورنىشچە",
- "ko": "كورېيەچە",
- "ksh": "كولىشچە",
- "kok": "كونكانچە",
- "sw-CD": "كونگو سىۋالىچە",
- "khq": "كويرا چىنىچە",
- "ku": "كۇردچە",
- "nmg": "كۋاسىيوچە",
- "qu": "كېچىۋاچە",
- "rw": "كېنىيەرىۋانداچە",
- "hr": "كىرودىچە",
- "ki": "كىكۇيۇچە",
- "km": "كىمېرچە",
- "gl": "گالىچە",
- "lg": "گانداچە",
- "nl": "گوللاندچە",
- "nl-BE": "گوللاندچە (بېلگىيە)",
- "yue": "گۇاڭدوڭچە",
- "gu": "گۇجاراتچە",
- "guz": "گۇسىچە",
- "de": "گېرمانچە",
- "gsw": "گېرمانچە شىۋىتسارىيە",
- "ka": "گىرۇزچە",
- "el": "گىرېكچە",
- "kl": "گىرېنلاندچە",
- "lo": "لائوسچە",
- "lv": "لاتچە",
- "es-419": "لاتىن ئامېرىكا ئىسپانچە",
- "lag": "لانگىچە",
- "luo": "لۇئوچە",
- "lu": "لۇبا-كاتانگاچە",
- "luy": "لۇياچە",
- "lt": "لىتۋانىچە",
- "ln": "لىنگالاچە",
- "lb": "لىيۇكسېمبۇرگچە",
- "jmc": "ماچامچە",
- "mr": "ماراتىچە",
- "mas": "ماسايچە",
- "kde": "ماكوندېچە",
- "mgh": "ماكۇۋاچە",
- "mk": "ماكېدونچە",
- "mg": "مالاگاسچە",
- "ml": "مالايالامچە",
- "ms": "مالايچە",
- "mt": "مالتاچە",
- "gv": "مانچە",
- "mi": "ماۋرىچە",
- "tzm": "مەركىزىي ئاتلاس تامازايتچە",
- "ckb": "مەركىزىي كۇردچە",
- "mfe": "مورىسيېنچە",
- "mn": "موڭغۇلچە",
- "nus": "مۇئېرچە",
- "zh-Hant": "مۇرەككەپ خەنچە",
- "mua": "مۇنداڭچە",
- "mgo": "مېتاچە’",
- "mer": "مېرۇچە",
- "es-MX": "مېكسىكا ئىسپانچە",
- "naq": "ناماچە",
- "jgo": "نگومباچە",
- "nnh": "نگېمبۇنچە",
- "nb": "نورۋىگىيە بوكمالچە",
- "ne": "نېپالچە",
- "nyn": "نىيانكولېچە",
- "haw": "ھاۋايچە",
- "id": "ھىندونېزچە",
- "hi": "ھىندىچە",
- "wae": "ۋالسېرچە",
- "wa": "ۋاللۇنچە",
- "vai": "ۋايچە",
- "vo": "ۋولاپۇكچە",
- "wo": "ۋولوفچە",
- "vun": "ۋۇنجوچە",
- "cy": "ۋېلشچە",
- "hu": "ۋېنگىرچە",
- "vi": "ۋىيېتنامچە",
- "ja": "ياپونچە",
- "yav": "ياڭبەنچە",
- "jv": "ياۋاچە",
- "pt-PT": "ياۋروپا پورتۇگالچە",
- "yo": "يورۇباچە",
- "nn": "يېڭى نورۋېگچە",
- "ii": "يىچە (سىچۈەن)",
- "yi": "يىددىشچە",
- "lkt": "Lakota",
- "mzn": "Mazanderani",
- "lrc": "Northern Luri",
- "prg": "Prussian"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/uk.json b/vendor/commerceguys/intl/resources/language/uk.json
index fc6908094..66e867212 100644
--- a/vendor/commerceguys/intl/resources/language/uk.json
+++ b/vendor/commerceguys/intl/resources/language/uk.json
@@ -33,7 +33,6 @@
"hsb": "верхньолужицька",
"de-CH": "верхньонімецька (Швейцарія)",
"hy": "вірменська",
- "vo": "волапʼюк",
"wo": "волоф",
"vun": "вуньо",
"vi": "вʼєтнамська",
@@ -54,7 +53,6 @@
"ee": "еве",
"ewo": "евондо",
"ebu": "ембу",
- "eo": "есперанто",
"et": "естонська",
"pt-PT": "європейська портуґальська",
"fy": "західнофризька",
@@ -124,7 +122,6 @@
"mas": "масаї",
"jmc": "мачаме",
"es-MX": "мексиканська іспанська",
- "gv": "менкська",
"mer": "меру",
"mgo": "мета",
"ro-MD": "молдавська",
@@ -154,7 +151,6 @@
"se": "північносаамська",
"pl": "польська",
"pt": "портуґальська",
- "prg": "пруська",
"ps": "пушту",
"rwk": "рва",
"rm": "ретороманська",
@@ -209,7 +205,6 @@
"hr": "хорватська",
"tzm": "центральноатласька тамазігт",
"ckb": "центральнокурдська",
- "cu": "церковнословʼянська",
"chr": "черокі",
"cs": "чеська",
"ce": "чеченська",
diff --git a/vendor/commerceguys/intl/resources/language/ur-IN.json b/vendor/commerceguys/intl/resources/language/ur-IN.json
index 0a12b1f1f..373f9e33b 100644
--- a/vendor/commerceguys/intl/resources/language/ur-IN.json
+++ b/vendor/commerceguys/intl/resources/language/ur-IN.json
@@ -20,7 +20,6 @@
"en": "انگریزی",
"om": "اورومو",
"os": "اوسیٹک",
- "eo": "ایسپرانٹو",
"ee": "ایو",
"ewo": "ایوانڈو",
"az": "آذربائیجانی",
@@ -46,7 +45,6 @@
"be": "بیلاروسی",
"bem": "بیمبا",
"bez": "بینا",
- "prg": "پارسی",
"pt": "پُرتگالی",
"ps": "پشتو",
"pa": "پنجابی",
@@ -70,7 +68,6 @@
"jv": "جاوانیز",
"de": "جرمن",
"dyo": "جولا فونيا",
- "cu": "چرچ سلاوک",
"ce": "چیچن",
"chr": "چیروکی",
"cs": "چیک",
@@ -192,7 +189,6 @@
"mgo": "میٹا",
"mer": "میرو",
"es-MX": "میکسیکن ہسپانوی",
- "gv": "مینکس",
"nb": "نارویجین بوکمل",
"nn": "نارویجین نینورسک",
"naq": "ناما",
@@ -205,7 +201,6 @@
"wa": "والون",
"vai": "وائی",
"vun": "ونجو",
- "vo": "وولاپوک",
"wo": "وولوف",
"vi": "ویتنامی",
"cy": "ویلش",
diff --git a/vendor/commerceguys/intl/resources/language/ur.json b/vendor/commerceguys/intl/resources/language/ur.json
index 5eb92a959..e299e84b9 100644
--- a/vendor/commerceguys/intl/resources/language/ur.json
+++ b/vendor/commerceguys/intl/resources/language/ur.json
@@ -21,7 +21,6 @@
"en": "انگریزی",
"om": "اورومو",
"os": "اوسیٹک",
- "eo": "ایسپرانٹو",
"ee": "ایو",
"ewo": "ایوانڈو",
"az": "آذربائیجانی",
@@ -46,7 +45,6 @@
"be": "بیلاروسی",
"bem": "بیمبا",
"bez": "بینا",
- "prg": "پارسی",
"pt": "پُرتگالی",
"ps": "پشتو",
"pa": "پنجابی",
@@ -70,7 +68,6 @@
"jv": "جاوی",
"de": "جرمن",
"dyo": "جولا فونيا",
- "cu": "چرچ سلاوک",
"ce": "چیچن",
"chr": "چیروکی",
"cs": "چیک",
@@ -192,7 +189,6 @@
"mgo": "میٹا",
"mer": "میرو",
"es-MX": "میکسیکن ہسپانوی",
- "gv": "مینکس",
"nb": "نارویجین بوکمل",
"nn": "نارویجین نینورسک",
"naq": "ناما",
@@ -205,7 +201,6 @@
"wa": "والون",
"vai": "وائی",
"vun": "ونجو",
- "vo": "وولاپوک",
"wo": "وولوف",
"vi": "ویتنامی",
"cy": "ویلش",
diff --git a/vendor/commerceguys/intl/resources/language/uz-Cyrl.json b/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
index 2f49ea0e0..9158dfa90 100644
--- a/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
@@ -3,7 +3,6 @@
"luo": "Luo",
"nds-NL": "nds (Нидерландия)",
"os": "Ossetic",
- "prg": "Prussian",
"ii": "Sichuan Yi",
"wa": "Walloon",
"agq": "агемча",
@@ -34,7 +33,6 @@
"wae": "валсерча",
"hu": "венгерча",
"vi": "ветнамча",
- "vo": "волапюк",
"wo": "волофча",
"vun": "вунжо",
"haw": "гавайча",
@@ -120,14 +118,13 @@
"mfe": "морисьен",
"mn": "мўғулча",
"mua": "мунданг",
- "gv": "мэнча",
"naq": "нама",
"nnh": "нгиембун",
"jgo": "нгомба",
"de": "немисча",
"de-AT": "немисча (Австрия)",
- "de-CH": "немисча (Швейцария)",
"gsw": "немисча (Швейцария)",
+ "de-CH": "немисча (Швейцария)",
"ne": "непалча",
"nb": "норвегча бокмал",
"nn": "норвегча нюнорск",
@@ -157,7 +154,6 @@
"sr": "сербча",
"si": "сингалча",
"sd": "синдҳи",
- "cu": "славянча (черков)",
"sk": "словакча",
"sl": "словенча",
"xog": "сога",
@@ -215,7 +211,6 @@
"ee": "эвеча",
"ewo": "эвондонча",
"ebu": "эмбуча",
- "eo": "эсперанто",
"et": "эстонча",
"hsb": "юқори сорбча",
"jv": "яванча",
diff --git a/vendor/commerceguys/intl/resources/language/uz.json b/vendor/commerceguys/intl/resources/language/uz.json
index ff8fc1169..8177083f4 100644
--- a/vendor/commerceguys/intl/resources/language/uz.json
+++ b/vendor/commerceguys/intl/resources/language/uz.json
@@ -27,7 +27,6 @@
"dua": "duala",
"dz": "dzongka",
"ebu": "embu",
- "eo": "esperanto",
"et": "estoncha",
"ee": "eve",
"ewo": "evondo",
@@ -108,7 +107,6 @@
"mas": "masay",
"mgh": "maxuva-mitto",
"jmc": "machame",
- "gv": "men",
"mer": "meru",
"mgo": "meta",
"ro-MD": "moldovan",
@@ -136,7 +134,6 @@
"pl": "polyakcha",
"pt-PT": "portugal (Yevropa)",
"pt": "portugalcha",
- "prg": "pruss",
"ps": "pushtu",
"ky": "qirgʻizcha",
"kk": "qozoqcha",
@@ -159,7 +156,6 @@
"sd": "sindhi",
"si": "singal",
"ii": "sichuan",
- "cu": "slavyan (cherkov)",
"sk": "slovakcha",
"sl": "slovencha",
"xog": "soga",
@@ -190,7 +186,6 @@
"cy": "valliy",
"wa": "vallon",
"hu": "venger",
- "vo": "volapyuk",
"wo": "volof",
"vun": "vunjo",
"vi": "vyetnam",
diff --git a/vendor/commerceguys/intl/resources/language/vai-Latn.json b/vendor/commerceguys/intl/resources/language/vai-Latn.json
deleted file mode 100644
index 4e2aeed35..000000000
--- a/vendor/commerceguys/intl/resources/language/vai-Latn.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akaŋ",
- "sq": "Albanian",
- "am": "Amihári",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "be": "Bhelarusaŋ",
- "my": "Bhɛmísi",
- "bn": "Bhɛŋgáli",
- "bg": "Bhɔgerɛŋ",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "zh": "Chaniĩ",
- "zh-Hans": "Chaniĩ (Hans)",
- "zh-Hant": "Chaniĩ (Hant)",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cs": "Chɛ",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "nl": "Dɔchi",
- "nl-BE": "Dɔchi (Bhɛgiyɔŋ)",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fr": "Fɛŋsi",
- "fr-CA": "Fɛŋsi (Kánáda)",
- "fr-CH": "Fɛŋsi (Suweza Lumaã)",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "ha": "Hawusa",
- "he": "Hebrew",
- "el": "Hɛlɛŋ",
- "hi": "Híiŋdi",
- "hu": "Hɔŋgérɛŋ",
- "is": "Icelandic",
- "ig": "Ígbo",
- "smn": "Inari Sami",
- "id": "Índonisiyɛŋ",
- "ga": "Irish",
- "it": "Itáliyɛŋ",
- "de": "Jamáĩ",
- "de-AT": "Jamáĩ (Ɔ́situwa)",
- "de-CH": "Jamáĩ (Suweza Lumaã)",
- "ja": "Japaníĩ",
- "jv": "Javaníĩ",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "Kimɛɛ̃ tɛ",
- "kok": "Konkani",
- "ko": "Koríyɛŋ",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "ar": "Lahabu",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "Maléee",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Nidɔlɛŋ)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "ne": "Nipali",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ur": "Ɔdu",
- "es": "Panyɛĩ",
- "es-419": "Panyɛĩ (419)",
- "es-MX": "Panyɛĩ (Mɛsíko)",
- "ps": "Pashto",
- "fa": "Pɛɛsiyɛŋ",
- "en": "Poo",
- "en-CA": "Poo (Kánáda)",
- "en-AU": "Poo (Ɔsituwéeliya)",
- "en-GB": "Poo (Yunaitɛ Kíŋdɔŋ)",
- "pt": "Potokíi",
- "pt-PT": "Potokíi (Potokíi)",
- "pl": "Pɔ́lési",
- "prg": "Prussian",
- "pa": "Puŋjabhi",
- "qu": "Quechua",
- "rw": "Rawunda",
- "rm": "Romansh",
- "rof": "Rombo",
- "ro": "Romíniyɛŋ",
- "ro-MD": "Romíniyɛŋ (Mɔlidova)",
- "ru": "Rɔshiyɛŋ",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "so": "Somáli",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Súwídɛŋ",
- "sw-CD": "sw (Avorekoo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "th": "Tái",
- "dav": "Taita",
- "tg": "Tajik",
- "ta": "Tamíli",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "Tɔ́ki",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vi": "Viyamíĩ",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yóróbha",
- "uk": "Yukureniyɛŋ",
- "dje": "Zarma",
- "zu": "Zúlu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/vai.json b/vendor/commerceguys/intl/resources/language/vai.json
deleted file mode 100644
index 66a3dadd3..000000000
--- a/vendor/commerceguys/intl/resources/language/vai.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (ꘉꕜ ꖨꕮꕊ)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (ꖏꖐ ꗵꗞꖴꕟꔎ ꕸꖃꔀ)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma",
- "be": "ꔆꕞꖩꔻ",
- "it": "ꔤꕚꔷꘂꘋ",
- "ig": "ꔤꕼ",
- "id": "ꔤꖆꕇꔻꘂꘋ",
- "hi": "ꔦꔺ",
- "vi": "ꔲꕩꕯꕆꔧ",
- "km": "ꕃꘈꗢ",
- "ne": "ꕇꕐꔷ",
- "am": "ꕉꕆꕌꔸ",
- "ak": "ꕉꕪꘋ",
- "ha": "ꕌꖙꕢ",
- "es": "ꕐꘊꔧ",
- "es-419": "ꕐꘊꔧ (419)",
- "es-MX": "ꕐꘊꔧ (ꘈꔻꖏ)",
- "vai": "ꕙꔤ",
- "th": "ꕚꔤ",
- "ta": "ꕚꕆꔷ",
- "ar": "ꕞꕌꖝ",
- "rw": "ꕟꖙꕡ",
- "zh": "ꕦꕇꔧ",
- "zh-Hans": "ꕦꕇꔧ (Hans)",
- "zh-Hant": "ꕦꕇꔧ (Hant)",
- "ja": "ꕧꕐꕇꔧ",
- "jv": "ꕧꕙꕇꔧ",
- "de": "ꕧꕮꔧ",
- "de-CH": "ꕧꕮꔧ (ꖬꔃꕤ ꖨꕮꕊ)",
- "de-AT": "ꕧꕮꔧ (ꖺꔻꖤꕎ)",
- "ms": "ꕮꔒꔀ",
- "en": "ꕶꕱ",
- "en-CA": "ꕶꕱ (ꕪꕯꕜ)",
- "en-GB": "ꕶꕱ (ꖕꕯꔤꗳ)",
- "en-AU": "ꕶꕱ (ꖺꖬꖤꔃꔷꕩ)",
- "pt": "ꕶꕿꕃꔤ",
- "pt-PT": "ꕶꕿꕃꔤ (ꕶꕿꕃꔤ ꕸꖃꔀ)",
- "ro": "ꖄꕆꕇꘂꘋ",
- "ro-MD": "ꖄꕆꕇꘂꘋ (ꖒꔷꖁꕙ)",
- "so": "ꖇꕮꔷ",
- "yo": "ꖎꖄꕑ",
- "ko": "ꖏꔸꘂꘋ",
- "pa": "ꖛꕨꔬ",
- "sv": "ꖬꔨꗵꘋ",
- "zu": "ꖮꖨ",
- "uk": "ꖳꖴꔓꕇꘂꘋ",
- "ur": "ꖺꖦ",
- "hu": "ꖽꔟꗸꘋ",
- "pl": "ꗁꔒꔻ",
- "bg": "ꗂꔠꗸꘋ",
- "tr": "ꗋꕃ",
- "nl": "ꗍꔿ",
- "nl-BE": "ꗍꔿ (ꗩꕀꗚꘋ)",
- "ru": "ꗐꖺꔻꘂꘋ",
- "el": "ꗥꗷꘋ",
- "fa": "ꗨꗡꔻꘂꘋ",
- "my": "ꗩꕆꔻ",
- "bn": "ꗩꕭꔷ",
- "fr": "ꗱꘋꔻ",
- "fr-CA": "ꗱꘋꔻ (ꕪꕯꕜ)",
- "fr-CH": "ꗱꘋꔻ (ꖬꔃꕤ ꖨꕮꕊ)",
- "cs": "ꗿꗡ"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/vi.json b/vendor/commerceguys/intl/resources/language/vi.json
index 7ed8fcc2b..3be1e15a7 100644
--- a/vendor/commerceguys/intl/resources/language/vi.json
+++ b/vendor/commerceguys/intl/resources/language/vi.json
@@ -117,7 +117,6 @@
"mg": "Tiếng Malagasy",
"ml": "Tiếng Malayalam",
"mt": "Tiếng Malta",
- "gv": "Tiếng Manx",
"mi": "Tiếng Maori",
"mr": "Tiếng Marathi",
"mas": "Tiếng Masai",
@@ -149,11 +148,9 @@
"fr-CH": "Tiếng Pháp (Thụy Sĩ)",
"fi": "Tiếng Phần Lan",
"fil": "Tiếng Philippines",
- "prg": "Tiếng Prussia",
"pa": "Tiếng Punjab",
"yue": "Tiếng Quảng Đông",
"qu": "Tiếng Quechua",
- "eo": "Tiếng Quốc Tế Ngữ",
"ro": "Tiếng Romania",
"rm": "Tiếng Romansh",
"rof": "Tiếng Rombo",
@@ -171,7 +168,6 @@
"sn": "Tiếng Shona",
"sd": "Tiếng Sindhi",
"si": "Tiếng Sinhala",
- "cu": "Tiếng Slavơ Nhà thờ",
"sk": "Tiếng Slovak",
"sl": "Tiếng Slovenia",
"xog": "Tiếng Soga",
@@ -209,7 +205,6 @@
"uz": "Tiếng Uzbek",
"vai": "Tiếng Vai",
"vi": "Tiếng Việt",
- "vo": "Tiếng Volapük",
"vun": "Tiếng Vunjo",
"cy": "Tiếng Wales",
"wa": "Tiếng Walloon",
diff --git a/vendor/commerceguys/intl/resources/language/vun.json b/vendor/commerceguys/intl/resources/language/vun.json
deleted file mode 100644
index f1e05eb47..000000000
--- a/vendor/commerceguys/intl/resources/language/vun.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ak": "Kiakanyi",
- "am": "Kiamharyi",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "fa": "Kyiajemi",
- "ar": "Kyiarabu",
- "bn": "Kyibangla",
- "be": "Kyibelarusi",
- "bg": "Kyibulgaryia",
- "my": "Kyiburma",
- "cs": "Kyichecki",
- "zh": "Kyichina",
- "zh-Hans": "Kyichina (Hans)",
- "zh-Hant": "Kyichina (Hant)",
- "fr": "Kyifaransa",
- "fr-CA": "Kyifaransa (Kanada)",
- "fr-CH": "Kyifaransa (Uswisi)",
- "el": "Kyigiriki",
- "ha": "Kyihausa",
- "hi": "Kyihindi",
- "es": "Kyihispania",
- "es-419": "Kyihispania (419)",
- "es-MX": "Kyihispania (Meksiko)",
- "nl": "Kyiholanzi",
- "nl-BE": "Kyiholanzi (Ubelgiji)",
- "hu": "Kyihungari",
- "ig": "Kyiigbo",
- "id": "Kyiindonesia",
- "it": "Kyiitaliano",
- "ja": "Kyijapani",
- "jv": "Kyijava",
- "de": "Kyijerumani",
- "de-AT": "Kyijerumani (Austria)",
- "de-CH": "Kyijerumani (Uswisi)",
- "km": "Kyikambodia",
- "ko": "Kyikorea",
- "ms": "Kyimalesia",
- "ne": "Kyinepali",
- "en": "Kyingereza",
- "en-AU": "Kyingereza (Australia)",
- "en-CA": "Kyingereza (Kanada)",
- "en-GB": "Kyingereza (Uingereza)",
- "rw": "Kyinyarwanda",
- "pl": "Kyipolandi",
- "pa": "Kyipunjabi",
- "pt": "Kyireno",
- "pt-PT": "Kyireno (Ureno)",
- "ro": "Kyiromania",
- "ro-MD": "Kyiromania (Moldova)",
- "ru": "Kyirusi",
- "so": "Kyisomalyi",
- "sv": "Kyiswidi",
- "th": "Kyitailandi",
- "ta": "Kyitamil",
- "tr": "Kyiturukyi",
- "uk": "Kyiukrania",
- "ur": "Kyiurdu",
- "vi": "Kyivietinamu",
- "vun": "Kyivunjo",
- "yo": "Kyiyoruba",
- "zu": "Kyizulu",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Uholanzi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Jamhuri ya Kidemokrasia ya Kongo)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/wae.json b/vendor/commerceguys/intl/resources/language/wae.json
deleted file mode 100644
index ab79d296c..000000000
--- a/vendor/commerceguys/intl/resources/language/wae.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikáns",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albaniš",
- "am": "Amhariš",
- "ar": "Arabiš",
- "hy": "Armeniš",
- "as": "Assamesiš",
- "ast": "Asturian",
- "asa": "Asu",
- "en-AU": "Auštrališes Engliš",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Baskiš",
- "bem": "Bemba",
- "bez": "Bena",
- "bn": "Bengališ",
- "brx": "Bodo",
- "bs": "Bosniš",
- "br": "Breton",
- "en-GB": "Britišes Engliš",
- "bg": "Bulgariš",
- "my": "Burmesiš",
- "dz": "Butaniš",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "zh": "Chinesiš",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "da": "Däniš",
- "dua": "Duala",
- "ebu": "Embu",
- "en": "Engliš",
- "eo": "Esperanto",
- "et": "Estniš",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipiniš",
- "fi": "Finiš",
- "nl-BE": "Flämiš",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galiziš",
- "lg": "Ganda",
- "ka": "Georgiš",
- "el": "Gričiš",
- "gu": "Gujarati",
- "guz": "Gusii",
- "ha": "Hausa",
- "haw": "Hawaíaniš",
- "he": "Hebräiš",
- "hi": "Hindi",
- "nl": "Holändiš",
- "pt-PT": "Iberišes Portugisiš",
- "ig": "Igbo",
- "is": "Iisländiš",
- "smn": "Inari Sami",
- "id": "Indonesiš",
- "ga": "Iriš",
- "it": "Italieniš",
- "sah": "Jakutiš",
- "ja": "Japaniš",
- "jv": "Javanese",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "km": "Kambodšaniš",
- "en-CA": "Kanadišes Engliš",
- "fr-CA": "Kanadišes Wälš",
- "kn": "Kannada",
- "ks": "Kašmiriš",
- "ca": "Katalaniš",
- "kk": "Kazačiš",
- "ki": "Kikuyu",
- "ky": "Kirgisiš",
- "kok": "Konkani",
- "ko": "Koreaniš",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "hr": "Kroatiš",
- "ku": "Kurdiš",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Laotiš",
- "es-419": "Latiamerikanišes Schpaniš",
- "lv": "Lettiš",
- "ln": "Lingala",
- "lt": "Litauiš",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxemburgiš",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagási",
- "ms": "Malaíš",
- "ml": "Malayalam",
- "mt": "Maltesiš",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mk": "Mazedoniš",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongoliš",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Holand)",
- "ne": "Nepalesiš",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "Nordndebele",
- "se": "Nordsamiš",
- "lrc": "Northern Luri",
- "nb": "Norwegiš Bokmål",
- "nn": "Norwegiš Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Oriya",
- "om": "Oromo",
- "os": "Osétiš",
- "de-AT": "Öštričišes Titš",
- "pa": "Pandšabiš",
- "ps": "Paštu",
- "fa": "Persiš",
- "pl": "Polniš",
- "pt": "Portugisiš",
- "prg": "Prussian",
- "qu": "Quečua",
- "rm": "Rätromaniš",
- "rof": "Rombo",
- "rw": "Ruandiš",
- "ro": "Rumäniš",
- "ro-MD": "Rumäniš (Moldau)",
- "rn": "Rundi",
- "ru": "Rusiš",
- "rwk": "Rwa",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "es": "Schpaniš",
- "es-MX": "Schpaniš (Mexiko)",
- "sv": "Schwediš",
- "de-CH": "Schwizer Hočtitš",
- "fr-CH": "Schwizer Wälš",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "az": "Serbaidšaniš",
- "sr": "Serbiš",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Singalesiš",
- "sk": "Slowakiš",
- "sl": "Sloweniš",
- "xog": "Soga",
- "so": "Somališ",
- "zgh": "Standard Moroccan Tamazight",
- "sw": "Suaheliš",
- "sw-CD": "Suaheliš (Kongo-Kinshasa)",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "tg": "Tadšikiš",
- "dav": "Taita",
- "ta": "Tamiliš",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thailändiš",
- "bo": "Tibetiš",
- "ti": "Tigrinja",
- "de": "Titš",
- "to": "Tonga",
- "zh-Hant": "Traditionells Chinesiš",
- "cs": "Tšečiš",
- "tr": "Türkiš",
- "tk": "Turkmeniš",
- "ug": "Uiguriš",
- "uk": "Ukrainiš",
- "hu": "Ungariš",
- "hsb": "Upper Sorbian",
- "ur": "Urdu",
- "uz": "Usbekiš",
- "vai": "Vai",
- "zh-Hans": "Vereifačts Chinesiš",
- "vi": "Vietnamesiš",
- "vo": "Volapük",
- "vun": "Vunjo",
- "cy": "Walisiš",
- "wa": "Walloon",
- "fr": "Wälš",
- "wae": "Walser",
- "fy": "Western Frisian",
- "be": "Wísrussiš",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/wo.json b/vendor/commerceguys/intl/resources/language/wo.json
deleted file mode 100644
index 8957defc8..000000000
--- a/vendor/commerceguys/intl/resources/language/wo.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "Akan",
- "sq": "Albane",
- "de": "Almaa",
- "de-AT": "Almaa (Ótiriis)",
- "de-CH": "Almaa (Siwis)",
- "am": "Amharik",
- "ar": "Araab",
- "hy": "Armaniye",
- "as": "Asame",
- "az": "Aserbayjane",
- "ast": "Asturian",
- "asa": "Asu",
- "en": "Àngale",
- "en-CA": "Àngale (Kanadaa)",
- "en-AU": "Àngale (Ostarali)",
- "en-GB": "Àngale (Ruwaayom Ini)",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bn": "Baŋla",
- "bas": "Basaa",
- "eu": "Bask",
- "be": "Belaris",
- "bem": "Bemba",
- "bez": "Bena",
- "bg": "Bilgaar",
- "my": "Birmes",
- "brx": "Bodo",
- "bs": "Bosñak",
- "br": "Breton",
- "yue": "Cantonese",
- "cs": "Cek",
- "chr": "Ceroki",
- "ce": "Chechen",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "da": "Danuwa",
- "dz": "Dsongkaa",
- "dua": "Duala",
- "he": "Ebrë",
- "ebu": "Embu",
- "hi": "Endo",
- "id": "Endonesiye",
- "sk": "Eslowaki (Eslowak)",
- "sl": "Esloweniye",
- "es": "Español",
- "es-419": "Español (Amerik Latin)",
- "es-MX": "Español (Meksiko)",
- "eo": "Esperantoo",
- "et": "Estoñiye",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fr": "Farañse",
- "fr-CA": "Farañse (Kanadaa)",
- "fr-CH": "Farañse (Siwis)",
- "fo": "Feroos",
- "fi": "Feylànde",
- "fil": "Filipiye",
- "fur": "Friulian",
- "gl": "Galisiye",
- "gd": "Galuwaa bu Ekos",
- "lg": "Ganda",
- "el": "Gereg",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaye",
- "ha": "Hawsa",
- "ig": "Igbo",
- "uk": "Ikreniye",
- "smn": "Inari Sami",
- "ga": "Irlànde",
- "is": "Islànde",
- "it": "Italiye",
- "jv": "Javanese",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannadaa",
- "kk": "Kasax",
- "ks": "Kashmiri",
- "ca": "Katalan",
- "qu": "Kesuwa",
- "ki": "Kikuyu",
- "rw": "Kinyarwànda",
- "ky": "Kirgiis",
- "kok": "Konkani",
- "ko": "Koreye",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "hr": "Krowat",
- "ku": "Kurdi",
- "ckb": "Kurdi gu Diggu",
- "nmg": "Kwasio",
- "lo": "Laaw",
- "lkt": "Lakota",
- "lag": "Langi",
- "lv": "Letoniye",
- "lb": "Liksàmbursuwaa",
- "ln": "Lingala",
- "lt": "Lituyaniye",
- "nds": "Low German",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasi",
- "ms": "Malay",
- "ml": "Malayalam",
- "mt": "Malt",
- "gv": "Manx",
- "mr": "Marati",
- "mas": "Masai",
- "mk": "Maseduwaane",
- "mi": "Mawri",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongoliye",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Peyi Baa)",
- "ne": "Nepale",
- "nl": "Neyerlànde",
- "nl-BE": "Neyerlànde (Belsig)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Oja",
- "hu": "Ongruwaa",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pasto",
- "se": "Penku Sami",
- "fa": "Pers",
- "ff": "Pël",
- "pl": "Polone",
- "prg": "Prussian",
- "pa": "Punjabi",
- "pt": "Purtugees",
- "pt-PT": "Purtugees (Portigaal)",
- "rm": "Romaas",
- "rof": "Rombo",
- "ro": "Rumaniyee",
- "ro-MD": "Rumaniyee (Moldawi)",
- "rn": "Rundi",
- "ru": "Rus",
- "rwk": "Rwa",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "ja": "Sapone",
- "sah": "Saxa",
- "seh": "Sena",
- "sr": "Serb",
- "ksb": "Shambala",
- "sn": "Shona",
- "ceb": "Sibiyanoo",
- "ii": "Sichuan Yi",
- "si": "Sinala",
- "sd": "Sindi",
- "zh": "Sinuwaa",
- "zh-Hant": "Sinuwaa bu cosaan",
- "zh-Hans": "Sinuwaa buñ woyofal",
- "xog": "Soga",
- "so": "Somali (làkk)",
- "hsb": "Sorab-Kaw",
- "dsb": "Sorab-Suuf",
- "ka": "Sorsiye",
- "zgh": "Standard Moroccan Tamazight",
- "sv": "Suweduwaa",
- "sw-CD": "sw (CD)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajis",
- "tzm": "Tamasis gu Digg Atlaas",
- "ta": "Tamil",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "th": "Tay",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigriña",
- "tr": "Tirk",
- "tk": "Tirkmen",
- "to": "Tongan",
- "ur": "Urdu",
- "uz": "Usbek",
- "ug": "Uygur",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Wels",
- "fy": "Western Frisian",
- "vi": "Wiyetnaamiye",
- "wo": "Wolof",
- "xh": "Xhosa",
- "km": "Xmer",
- "yav": "Yangben",
- "yi": "Yidis",
- "yo": "Yoruba",
- "dje": "Zarma",
- "zu": "Zulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/xog.json b/vendor/commerceguys/intl/resources/language/xog.json
deleted file mode 100644
index 9322a0f97..000000000
--- a/vendor/commerceguys/intl/resources/language/xog.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Holandi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "ur": "Olu-urudu",
- "ak": "Oluakaani",
- "am": "Oluamhariki",
- "my": "Olubbama",
- "be": "Olubelarusi",
- "bn": "Olubengali",
- "bg": "Olubulugariya",
- "zh": "Olucayina",
- "zh-Hans": "Olucayina (Hans)",
- "zh-Hant": "Olucayina (Hant)",
- "cs": "Oluceeke",
- "de": "Oludaaki",
- "de-AT": "Oludaaki (Awusituriya)",
- "de-CH": "Oludaaki (Switizirandi)",
- "fr": "Olufalansa",
- "fr-CA": "Olufalansa (Kanada)",
- "fr-CH": "Olufalansa (Switizirandi)",
- "hu": "Oluhangare",
- "ha": "Oluhawuza",
- "hi": "Oluhindu",
- "nl": "Oluholandi",
- "nl-BE": "Oluholandi (Bubirigi)",
- "ja": "Olujapani",
- "km": "Olukme",
- "ko": "Olukoreya",
- "ru": "Olulasa",
- "ro": "Olulomaniya",
- "ro-MD": "Olulomaniya (Molodova)",
- "ms": "Olumalayi",
- "rw": "Olunarwanda",
- "ne": "Olunepali",
- "en": "Olungereza",
- "en-AU": "Olungereza (Awusitureliya)",
- "en-GB": "Olungereza (Bungereza)",
- "en-CA": "Olungereza (Kanada)",
- "jv": "Olunnajjava",
- "fa": "Oluperusi",
- "pl": "Olupolandi",
- "pt": "Olupotugiizi",
- "pt-PT": "Olupotugiizi (Potugaali)",
- "pa": "Olupunjabi",
- "es": "Olusipanya",
- "es-419": "Olusipanya (419)",
- "es-MX": "Olusipanya (Mekisiko)",
- "xog": "Olusoga",
- "so": "Olusomaliya",
- "sv": "Oluswideni",
- "tr": "Olutake",
- "ta": "Olutamiiru",
- "th": "Oluttaayi",
- "vi": "Oluvyetinaamu",
- "ar": "Oluwarabu",
- "ig": "Oluyibo",
- "id": "Oluyindonezya",
- "it": "Oluyitale",
- "el": "Oluyonaani",
- "yo": "Oluyoruba",
- "uk": "Oluyukurayine",
- "zu": "Oluzzulu",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (Kongo - Zayire)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yav.json b/vendor/commerceguys/intl/resources/language/yav.json
deleted file mode 100644
index 5e9cbb958..000000000
--- a/vendor/commerceguys/intl/resources/language/yav.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "ak": "akánɛ",
- "sq": "Albanian",
- "am": "amalíke",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "my": "bímanɛ",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "bulgálɛ",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "cs": "cɛ́kɛ́ɛ",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fr": "feleŋsí",
- "fr-CA": "feleŋsí (Kánáta)",
- "fr-CH": "feleŋsí (suwíis)",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "ig": "íbo",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "hi": "índí",
- "id": "índonísiɛ",
- "en": "íŋgilísé",
- "en-GB": "íŋgilísé (ingilíís)",
- "en-CA": "íŋgilísé (Kánáta)",
- "en-AU": "íŋgilísé (Otalalí)",
- "ga": "Irish",
- "it": "itáliɛ",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "km": "kímɛɛ",
- "ko": "kolíe",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "ms": "máliɛ",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "ja": "ndiáman",
- "nds-NL": "nds (nitililáand)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nl": "nilándɛ",
- "nl-BE": "nilándɛ (Pɛlsíik)",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "yav": "nuasue",
- "nus": "Nuer",
- "es": "nuɛspanyɔ́lɛ",
- "es-419": "nuɛspanyɔ́lɛ (419)",
- "es-MX": "nuɛspanyɔ́lɛ (mɛksíik)",
- "vi": "nufiɛtnamíɛŋ",
- "uk": "nukeleniɛ́ŋɛ",
- "rw": "nuluándɛ́ɛ",
- "ro": "nulumɛ́ŋɛ",
- "ro-MD": "nulumɛ́ŋɛ (moltafí)",
- "ru": "nulúse",
- "ur": "nulutú",
- "ne": "nunipálɛ",
- "fa": "nupɛ́lisɛ",
- "pl": "nupolonɛ́ɛ",
- "pt": "nupɔlitukɛ́ɛ",
- "pt-PT": "nupɔlitukɛ́ɛ (pɔltukáal)",
- "pa": "nupunsapíɛ́",
- "so": "nusomalíɛ",
- "sv": "nusuetua",
- "zu": "nusulú",
- "ta": "nutámule",
- "th": "nutáyɛ",
- "tr": "nutúluke",
- "yo": "nuyolúpa",
- "nyn": "Nyankole",
- "de": "ŋndiáman",
- "de-AT": "ŋndiáman (Otilís)",
- "de-CH": "ŋndiáman (suwíis)",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "hu": "ɔ́ŋgɛ",
- "ha": "pakas",
- "ar": "́pakas",
- "ps": "Pashto",
- "bn": "pengálɛ́ɛ",
- "be": "pielúse",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "zh": "sinúɛ",
- "zh-Hans": "sinúɛ (Hans)",
- "zh-Hant": "sinúɛ (Hant)",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "sw-CD": "sw (kitɔŋ kí kongó)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "el": "yavánɛ",
- "jv": "yávanɛ",
- "yi": "Yiddish",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yi.json b/vendor/commerceguys/intl/resources/language/yi.json
deleted file mode 100644
index bdf5f2b45..000000000
--- a/vendor/commerceguys/intl/resources/language/yi.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "uz": "אוזבעקיש",
- "hu": "אונגעריש",
- "dsb": "אונטער־סארביש",
- "uk": "אוקראַאיניש",
- "ur": "אורדו",
- "az": "אַזערביידזשאַניש",
- "hsb": "אייבער־סארביש",
- "it": "איטאַליעניש",
- "id": "אינדאנעזיש",
- "is": "איסלאַנדיש",
- "ga": "איריש",
- "sq": "אַלבאַניש",
- "am": "אַמהאַריש",
- "as": "אַסאַמיש",
- "os": "אסעטיש",
- "af": "אַפֿריקאַנס",
- "ar": "אַראַביש",
- "hy": "אַרמעניש",
- "bs": "באסניש",
- "eu": "באַסקיש",
- "bg": "בולגאַריש",
- "my": "בירמאַניש",
- "be": "בעלאַרוסיש",
- "bn": "בענגאַליש",
- "br": "ברעטאניש",
- "gl": "גאַלישיש",
- "ka": "גרוזיניש",
- "el": "גריכיש",
- "de": "דײַטש",
- "de-AT": "דײַטש (עסטרייך)",
- "de-CH": "דײַטש (שווייץ)",
- "da": "דעניש",
- "ha": "האַוסאַ",
- "nl": "האלענדיש",
- "hi": "הינדי",
- "he": "העברעאיש",
- "vo": "וואלאַפּוק",
- "vi": "וויעטנאַמעזיש",
- "cy": "וועלשיש",
- "zu": "זולו",
- "dyo": "זשאלא־פֿאני",
- "tt": "טאָטעריש",
- "ta": "טאַמיל",
- "tk": "טורקמעניש",
- "bo": "טיבעטיש",
- "cs": "טשעכיש",
- "jv": "יאַוואַנעזיש",
- "ja": "יאַפּאַניש",
- "yi": "ייִדיש",
- "zh": "כינעזיש",
- "zh-Hans": "כינעזיש (Hans)",
- "zh-Hant": "כינעזיש (Hant)",
- "km": "כמער",
- "lo": "לאַא",
- "lb": "לוקסעמבורגיש",
- "lt": "ליטוויש",
- "lv": "לעטיש",
- "mi": "מאַאריש",
- "ml": "מאַלאַיאַלאַם",
- "mt": "מאַלטעזיש",
- "mn": "מאנגאליש",
- "gv": "מאַנקס",
- "mk": "מאַקעדאניש",
- "fy": "מערב־פֿריזיש",
- "se": "נארדסאַמיש",
- "nn": "נײַ־נארוועגיש",
- "nds": "נידערדײַטש",
- "nds-NL": "נידערדײַטש (האלאַנד)",
- "ne": "נעפּאַליש",
- "so": "סאמאַליש",
- "sw": "סוואַהיליש",
- "sd": "סינדהי",
- "si": "סינהאַליש",
- "sk": "סלאוואַקיש",
- "sl": "סלאוועניש",
- "ceb": "סעבואַניש",
- "sr": "סערביש",
- "gd": "סקאטיש געליש",
- "en": "ענגליש",
- "en-AU": "ענגליש (אויסטראַליע)",
- "en-GB": "ענגליש (פֿאַראייניגטע קעניגרייך)",
- "en-CA": "ענגליש (קאַנאַדע)",
- "et": "עסטיש",
- "eo": "עספּעראַנטא",
- "pt": "פּארטוגעזיש",
- "pt-PT": "פּארטוגעזיש (פּארטוגאַל)",
- "ps": "פּאַשטאָ",
- "pl": "פּויליש",
- "fa": "פּערסיש",
- "prg": "פּרייסיש",
- "fo": "פֿאַראיש",
- "fil": "פֿיליפּינא",
- "fi": "פֿיניש",
- "nl-BE": "פֿלעמיש",
- "fr": "פֿראַנצויזיש",
- "fr-CA": "פֿראַנצויזיש (קאַנאַדע)",
- "fr-CH": "פֿראַנצויזיש (שווייץ)",
- "kk": "קאַזאַכיש",
- "ca": "קאַטאַלאניש",
- "kn": "קאַנאַדאַ",
- "sw-CD": "קאנגא־סוואַהיליש",
- "kw": "קארניש",
- "ko": "קארעאיש",
- "ku": "קורדיש",
- "ky": "קירגיזיש",
- "cu": "קלויסטער־סלאַוויש",
- "hr": "קראאַטיש",
- "ro": "רומעניש",
- "ro-MD": "רומעניש (מאלדאווע)",
- "ru": "רוסיש",
- "sn": "שאנאַ",
- "sv": "שוועדיש",
- "es": "שפּאַניש",
- "es-419": "שפּאַניש (לאַטיין־אַמעריקע)",
- "es-MX": "שפּאַניש (מעקסיקע)",
- "agq": "Aghem",
- "ak": "Akan",
- "ast": "Asturian",
- "asa": "Asu",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "yue": "Cantonese",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "ksh": "Colognian",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "ff": "Fulah",
- "lg": "Ganda",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "ig": "Igbo",
- "smn": "Inari Sami",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "ks": "Kashmiri",
- "ki": "Kikuyu",
- "rw": "Kinyarwanda",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "nmg": "Kwasio",
- "lkt": "Lakota",
- "lag": "Langi",
- "ln": "Lingala",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ms": "Malay",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "nb": "Norwegian Bokmål",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "pa": "Punjabi",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "seh": "Sena",
- "ksb": "Shambala",
- "ii": "Sichuan Yi",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "te": "Telugu",
- "teo": "Teso",
- "th": "Thai",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tr": "Turkish",
- "ug": "Uyghur",
- "vai": "Vai",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yo": "Yoruba",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yo-BJ.json b/vendor/commerceguys/intl/resources/language/yo-BJ.json
deleted file mode 100644
index 568d7956b..000000000
--- a/vendor/commerceguys/intl/resources/language/yo-BJ.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "agq": "Aghem",
- "ast": "Asturian",
- "asa": "Asu",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "af": "Èdè Afrikani",
- "ak": "Èdè Akani",
- "sq": "Èdè Albania",
- "am": "Èdè Amariki",
- "so": "Èdè ara Somalia",
- "ar": "Èdè Árábìkì",
- "az": "Èdè Azerbaijani",
- "eu": "Èdè Baski",
- "be": "Èdè Belarusi",
- "bn": "Èdè Bengali",
- "bs": "Èdè Bosnia",
- "br": "Èdè Bretoni",
- "bg": "Èdè Bugaria",
- "my": "Èdè Bumiisi",
- "ca": "Èdè Catala",
- "nl": "Èdè Dɔ́ɔ̀shì",
- "nl-BE": "Èdè Dɔ́ɔ̀shì (Orílɛ́ède Bégíɔ́mù)",
- "eo": "Èdè Esperanto",
- "et": "Èdè Estonia",
- "fr": "Èdè Faransé",
- "fr-CA": "Èdè Faransé (orílɛ̀-èdè Kánádà)",
- "fr-CH": "Èdè Faranshé (Súwísàlaǹdì)",
- "fo": "Èdè Faroesi",
- "fil": "Èdè Filipino",
- "fi": "Èdè Finisi",
- "fy": "Èdè Frisia",
- "ff": "Èdè Fúlàní",
- "gd": "Èdè Gaelik ti Ilu Scotland",
- "gl": "Èdè Galicia",
- "ka": "Èdè Georgia",
- "en": "Èdè Gɛ̀ɛ́sì",
- "en-CA": "Èdè Gɛ̀ɛ́sì (Orílɛ̀-èdè Kánádà)",
- "en-AU": "Èdè Gɛ̀ɛ́sì (órílɛ̀-èdè Ɔsirélíà)",
- "el": "Èdè Giriki",
- "gu": "Èdè Gujarati",
- "ha": "Èdè Hausa",
- "he": "Èdè Heberu",
- "hi": "Èdè Híńdì",
- "hu": "Èdè Hungaria",
- "is": "Èdè Icelandic",
- "hy": "Èdè Ile Armenia",
- "da": "Èdè Ilɛ̀ Denmark",
- "de-CH": "Èdè Ilɛ̀ Jámánì (Orílɛ́ède swítsàlandì)",
- "id": "Èdè Indonéshíà",
- "ga": "Èdè Ireland",
- "it": "Èdè Ítálì",
- "de": "Èdè Jámánì",
- "de-AT": "Èdè Jámánì (Ɔ́síríà )",
- "ja": "Èdè Jàpáànù",
- "jv": "Èdè Javanasi",
- "vi": "Èdè Jetinamu",
- "km": "Èdè kameri",
- "kn": "Èdè Kannada",
- "ko": "Èdè Kòríà",
- "hr": "Èdè Kroatia",
- "lv": "Èdè Latvianu",
- "lt": "Èdè Lithuania",
- "mk": "Èdè Macedonia",
- "ms": "Èdè Malaya",
- "mt": "Èdè Malta",
- "zh": "Èdè Mandarin tí wɔ́n ń sɔ lórílɛ̀-èdè Sháínà",
- "zh-Hant": "Èdè Mandarin tí wɔ́n ń sɔ lórílɛ̀-èdè Sháínà (Hans àtɔwɔ́dɔ́wɔ́)",
- "zh-Hans": "Èdè Mandarin tí wɔ́n ń sɔ lórílɛ̀-èdè Sháínà (tí wɔ́n mú rɔrùn.)",
- "mr": "Èdè marathi",
- "ne": "Èdè Nepali",
- "en-GB": "Èdè òyìnbó Gɛ̀ɛ́sì",
- "fa": "Èdè Pasia",
- "pl": "Èdè Póláǹdì",
- "pt": "Èdè Pɔtogí",
- "pt-PT": "Èdè Pɔtogí (orílɛ̀-èdè Yúróòpù)",
- "pa": "Èdè Punjabi",
- "ro": "Èdè Romania",
- "ro-MD": "Èdè Romania (Orílɛ́ède Modofia)",
- "ru": "Èdè Rɔ́shíà",
- "rw": "Èdè Ruwanda",
- "cs": "Èdè seeki",
- "sr": "Èdè Serbia",
- "zu": "Èdè Shulu",
- "sd": "Èdè Sindhi",
- "si": "Èdè Sinhalese",
- "es": "Èdè Sípáníìshì",
- "es-419": "Èdè Sípáníìshì (orílɛ̀-èdè Látìn-Amɛ́ríkà) ( Èdè Sípáníìshì (Látìn-Amɛ́ríkà)",
- "es-MX": "Èdè Sípáníìshì (orílɛ̀-èdè Mɛ́síkò)",
- "sk": "Èdè Slovaki",
- "sl": "Èdè Slovenia",
- "sv": "Èdè Suwidiisi",
- "sw": "Èdè Swahili",
- "sw-CD": "Èdè Swahili (Orilɛ́ède Kóngò)",
- "th": "Èdè Tai",
- "ta": "Èdè Tamili",
- "te": "Èdè Telugu",
- "ti": "Èdè Tigrinya",
- "tr": "Èdè Tɔɔkisi",
- "tk": "Èdè Turkmen",
- "ur": "Èdè Udu",
- "uk": "Èdè Ukania",
- "uz": "Èdè Uzbek",
- "cy": "Èdè Welshi",
- "xh": "Èdè Xhosa",
- "ig": "Èdè Yíbò",
- "yi": "Èdè Yiddishi",
- "yo": "Èdè Yorùbá",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "lg": "Ganda",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "smn": "Inari Sami",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "ln": "Lingala",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "gv": "Manx",
- "mi": "Maori",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Orílɛ́ède Nedalandi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "seh": "Sena",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "teo": "Teso",
- "as": "Ti Assam",
- "bo": "Tibetan",
- "to": "Tongan",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "wo": "Wolof",
- "yav": "Yangben",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yo.json b/vendor/commerceguys/intl/resources/language/yo.json
deleted file mode 100644
index f8ad16803..000000000
--- a/vendor/commerceguys/intl/resources/language/yo.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "agq": "Aghem",
- "ast": "Asturian",
- "asa": "Asu",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "yue": "Cantonese",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "af": "Èdè Afrikani",
- "ak": "Èdè Akani",
- "sq": "Èdè Albania",
- "am": "Èdè Amariki",
- "so": "Èdè ara Somalia",
- "ar": "Èdè Árábìkì",
- "az": "Èdè Azerbaijani",
- "eu": "Èdè Baski",
- "be": "Èdè Belarusi",
- "bn": "Èdè Bengali",
- "bs": "Èdè Bosnia",
- "br": "Èdè Bretoni",
- "bg": "Èdè Bugaria",
- "my": "Èdè Bumiisi",
- "ca": "Èdè Catala",
- "nl": "Èdè Dọ́ọ̀ṣì",
- "nl-BE": "Èdè Dọ́ọ̀ṣì (Orílẹ́ède Bégíọ́mù)",
- "eo": "Èdè Esperanto",
- "et": "Èdè Estonia",
- "fr": "Èdè Faransé",
- "fr-CA": "Èdè Faransé (orílẹ̀-èdè Kánádà)",
- "fr-CH": "Èdè Faranṣé (Súwísàlaǹdì)",
- "fo": "Èdè Faroesi",
- "fil": "Èdè Filipino",
- "fi": "Èdè Finisi",
- "fy": "Èdè Frisia",
- "ff": "Èdè Fúlàní",
- "gd": "Èdè Gaelik ti Ilu Scotland",
- "gl": "Èdè Galicia",
- "ka": "Èdè Georgia",
- "en": "Èdè Gẹ̀ẹ́sì",
- "en-CA": "Èdè Gẹ̀ẹ́sì (Orílẹ̀-èdè Kánádà)",
- "en-AU": "Èdè Gẹ̀ẹ́sì (órílẹ̀-èdè Ọsirélíà)",
- "el": "Èdè Giriki",
- "gu": "Èdè Gujarati",
- "ha": "Èdè Hausa",
- "he": "Èdè Heberu",
- "hi": "Èdè Híńdì",
- "hu": "Èdè Hungaria",
- "is": "Èdè Icelandic",
- "hy": "Èdè Ile Armenia",
- "da": "Èdè Ilẹ̀ Denmark",
- "de-CH": "Èdè Ilẹ̀ Jámánì (Orílẹ́ède swítsàlandì)",
- "id": "Èdè Indonéṣíà",
- "ga": "Èdè Ireland",
- "it": "Èdè Ítálì",
- "de": "Èdè Jámánì",
- "de-AT": "Èdè Jámánì (Ọ́síríà )",
- "ja": "Èdè Jàpáànù",
- "jv": "Èdè Javanasi",
- "vi": "Èdè Jetinamu",
- "km": "Èdè kameri",
- "kn": "Èdè Kannada",
- "ko": "Èdè Kòríà",
- "hr": "Èdè Kroatia",
- "lv": "Èdè Latvianu",
- "lt": "Èdè Lithuania",
- "mk": "Èdè Macedonia",
- "ms": "Èdè Malaya",
- "mt": "Èdè Malta",
- "zh": "Èdè Mandarin tí wọ́n ń sọ lórílẹ̀-èdè Ṣáínà",
- "zh-Hant": "Èdè Mandarin tí wọ́n ń sọ lórílẹ̀-èdè Ṣáínà (Hans àtọwọ́dọ́wọ́)",
- "zh-Hans": "Èdè Mandarin tí wọ́n ń sọ lórílẹ̀-èdè Ṣáínà (tí wọ́n mú rọrùn.)",
- "mr": "Èdè marathi",
- "ne": "Èdè Nepali",
- "en-GB": "Èdè òyìnbó Gẹ̀ẹ́sì",
- "fa": "Èdè Pasia",
- "pl": "Èdè Póláǹdì",
- "pt": "Èdè Pọtogí",
- "pt-PT": "Èdè Pọtogí (orílẹ̀-èdè Yúróòpù)",
- "pa": "Èdè Punjabi",
- "ro": "Èdè Romania",
- "ro-MD": "Èdè Romania (Orílẹ́ède Modofia)",
- "ru": "Èdè Rọ́ṣíà",
- "rw": "Èdè Ruwanda",
- "cs": "Èdè seeki",
- "sr": "Èdè Serbia",
- "sd": "Èdè Sindhi",
- "si": "Èdè Sinhalese",
- "es": "Èdè Sípáníìṣì",
- "es-419": "Èdè Sípáníìṣì (orílẹ̀-èdè Látìn-Amẹ́ríkà) ( Èdè Sípáníìshì (Látìn-Amẹ́ríkà)",
- "es-MX": "Èdè Sípáníìṣì (orílẹ̀-èdè Mẹ́síkò)",
- "sk": "Èdè Slovaki",
- "sl": "Èdè Slovenia",
- "sv": "Èdè Suwidiisi",
- "sw": "Èdè Swahili",
- "sw-CD": "Èdè Swahili (Orilẹ́ède Kóngò)",
- "zu": "Èdè Ṣulu",
- "th": "Èdè Tai",
- "ta": "Èdè Tamili",
- "te": "Èdè Telugu",
- "ti": "Èdè Tigrinya",
- "tr": "Èdè Tọọkisi",
- "tk": "Èdè Turkmen",
- "ur": "Èdè Udu",
- "uk": "Èdè Ukania",
- "uz": "Èdè Uzbek",
- "cy": "Èdè Welshi",
- "xh": "Èdè Xhosa",
- "ig": "Èdè Yíbò",
- "yi": "Èdè Yiddishi",
- "yo": "Èdè Yorùbá",
- "ebu": "Embu",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fur": "Friulian",
- "lg": "Ganda",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "smn": "Inari Sami",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "ln": "Lingala",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "gv": "Manx",
- "mi": "Maori",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (Orílẹ́ède Nedalandi)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "seh": "Sena",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "xog": "Soga",
- "zgh": "Standard Moroccan Tamazight",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "teo": "Teso",
- "as": "Ti Assam",
- "bo": "Tibetan",
- "to": "Tongan",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "wo": "Wolof",
- "yav": "Yangben",
- "dje": "Zarma"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yue-Hans.json b/vendor/commerceguys/intl/resources/language/yue-Hans.json
index 6d25fa281..883ffb136 100644
--- a/vendor/commerceguys/intl/resources/language/yue-Hans.json
+++ b/vendor/commerceguys/intl/resources/language/yue-Hans.json
@@ -117,7 +117,6 @@
"jmc": "马恰美文",
"mas": "马赛文",
"mzn": "马赞德兰文",
- "gv": "曼岛文",
"mi": "毛利文",
"mer": "梅鲁文",
"mgo": "美塔文",
@@ -136,7 +135,6 @@
"pa": "旁遮普文",
"pt": "葡萄牙文",
"pt-PT": "葡萄牙文 (葡萄牙)",
- "prg": "普鲁士文",
"ps": "普什图文",
"cgg": "奇加文",
"ka": "乔治亚文",
@@ -153,7 +151,6 @@
"ksb": "尚巴拉文",
"sw": "史瓦希里文",
"sw-CD": "史瓦希里文(刚果)",
- "eo": "世界文",
"sk": "斯洛伐克文",
"sl": "斯洛维尼亚文",
"ii": "四川彝文",
@@ -178,7 +175,6 @@
"cy": "威尔斯文",
"ug": "维吾尔文",
"vun": "温旧文",
- "vo": "沃拉普克文",
"wo": "沃洛夫文",
"ur": "乌都文",
"uk": "乌克兰文",
@@ -218,7 +214,6 @@
"jv": "爪哇文",
"zh": "中文",
"dyo": "朱拉文",
- "cu": "宗教斯拉夫文",
"dz": "宗卡文",
"zu": "祖鲁文"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/yue.json b/vendor/commerceguys/intl/resources/language/yue.json
index 4c2041c31..8c4584de1 100644
--- a/vendor/commerceguys/intl/resources/language/yue.json
+++ b/vendor/commerceguys/intl/resources/language/yue.json
@@ -14,7 +14,6 @@
"ja": "日文",
"mi": "毛利文",
"jv": "爪哇文",
- "eo": "世界文",
"gl": "加利西亞文",
"ca": "加泰羅尼亞文",
"se": "北方薩米文",
@@ -68,7 +67,6 @@
"shi": "希爾哈文",
"el": "希臘文",
"dua": "杜亞拉文",
- "vo": "沃拉普克文",
"wo": "沃洛夫文",
"bez": "貝納文",
"ce": "車臣文",
@@ -80,7 +78,6 @@
"cgg": "奇加文",
"bn": "孟加拉文",
"dz": "宗卡文",
- "cu": "宗教斯拉夫文",
"ksb": "尚巴拉文",
"lkt": "拉科塔文",
"lv": "拉脫維亞文",
@@ -159,7 +156,6 @@
"ceb": "宿霧文",
"kw": "康瓦耳文",
"cs": "捷克文",
- "gv": "曼島文",
"mer": "梅魯文",
"nl": "荷蘭文",
"brx": "博多文",
@@ -170,7 +166,6 @@
"sk": "斯洛伐克文",
"sl": "斯洛維尼亞文",
"ps": "普什圖文",
- "prg": "普魯士文",
"fil": "菲律賓文",
"vi": "越南文",
"rn": "隆迪文",
diff --git a/vendor/commerceguys/intl/resources/language/zgh.json b/vendor/commerceguys/intl/resources/language/zgh.json
deleted file mode 100644
index c6f5996ff..000000000
--- a/vendor/commerceguys/intl/resources/language/zgh.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "Afrikaans",
- "agq": "Aghem",
- "sq": "Albanian",
- "hy": "Armenian",
- "as": "Assamese",
- "ast": "Asturian",
- "asa": "Asu",
- "az": "Azerbaijani",
- "ksf": "Bafia",
- "bm": "Bambara",
- "bas": "Basaa",
- "eu": "Basque",
- "bem": "Bemba",
- "bez": "Bena",
- "brx": "Bodo",
- "bs": "Bosnian",
- "br": "Breton",
- "yue": "Cantonese",
- "ca": "Catalan",
- "ceb": "Cebuano",
- "tzm": "Central Atlas Tamazight",
- "ckb": "Central Kurdish",
- "ce": "Chechen",
- "chr": "Cherokee",
- "cgg": "Chiga",
- "cu": "Church Slavic",
- "ksh": "Colognian",
- "kw": "Cornish",
- "hr": "Croatian",
- "da": "Danish",
- "dua": "Duala",
- "dz": "Dzongkha",
- "ebu": "Embu",
- "eo": "Esperanto",
- "et": "Estonian",
- "ee": "Ewe",
- "ewo": "Ewondo",
- "fo": "Faroese",
- "fil": "Filipino",
- "fi": "Finnish",
- "fur": "Friulian",
- "ff": "Fulah",
- "gl": "Galician",
- "lg": "Ganda",
- "ka": "Georgian",
- "gu": "Gujarati",
- "guz": "Gusii",
- "haw": "Hawaiian",
- "he": "Hebrew",
- "is": "Icelandic",
- "smn": "Inari Sami",
- "ga": "Irish",
- "dyo": "Jola-Fonyi",
- "kea": "Kabuverdianu",
- "kab": "Kabyle",
- "kkj": "Kako",
- "kl": "Kalaallisut",
- "kln": "Kalenjin",
- "kam": "Kamba",
- "kn": "Kannada",
- "ks": "Kashmiri",
- "kk": "Kazakh",
- "ki": "Kikuyu",
- "kok": "Konkani",
- "khq": "Koyra Chiini",
- "ses": "Koyraboro Senni",
- "ku": "Kurdish",
- "nmg": "Kwasio",
- "ky": "Kyrgyz",
- "lkt": "Lakota",
- "lag": "Langi",
- "lo": "Lao",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "nds": "Low German",
- "dsb": "Lower Sorbian",
- "lu": "Luba-Katanga",
- "luo": "Luo",
- "lb": "Luxembourgish",
- "luy": "Luyia",
- "mk": "Macedonian",
- "jmc": "Machame",
- "mgh": "Makhuwa-Meetto",
- "kde": "Makonde",
- "mg": "Malagasy",
- "ml": "Malayalam",
- "mt": "Maltese",
- "gv": "Manx",
- "mi": "Maori",
- "mr": "Marathi",
- "mas": "Masai",
- "mzn": "Mazanderani",
- "mer": "Meru",
- "mgo": "Metaʼ",
- "mn": "Mongolian",
- "mfe": "Morisyen",
- "mua": "Mundang",
- "naq": "Nama",
- "nds-NL": "nds (ⵀⵓⵍⴰⵏⴷⴰ)",
- "nnh": "Ngiemboon",
- "jgo": "Ngomba",
- "nd": "North Ndebele",
- "lrc": "Northern Luri",
- "se": "Northern Sami",
- "nb": "Norwegian Bokmål",
- "nn": "Norwegian Nynorsk",
- "nus": "Nuer",
- "nyn": "Nyankole",
- "or": "Odia",
- "om": "Oromo",
- "os": "Ossetic",
- "ps": "Pashto",
- "prg": "Prussian",
- "qu": "Quechua",
- "rm": "Romansh",
- "rof": "Rombo",
- "rn": "Rundi",
- "rwk": "Rwa",
- "sah": "Sakha",
- "saq": "Samburu",
- "sg": "Sango",
- "sbp": "Sangu",
- "gd": "Scottish Gaelic",
- "seh": "Sena",
- "sr": "Serbian",
- "ksb": "Shambala",
- "sn": "Shona",
- "ii": "Sichuan Yi",
- "sd": "Sindhi",
- "si": "Sinhala",
- "sk": "Slovak",
- "sl": "Slovenian",
- "xog": "Soga",
- "sw-CD": "sw (ⵜⴰⴳⴷⵓⴷⴰⵏⵜ ⵜⴰⴷⵉⵎⵓⵇⵔⴰⵜⵉⵜ ⵏ ⴽⵓⵏⴳⵓ)",
- "sw": "Swahili",
- "gsw": "Swiss German",
- "shi": "Tachelhit",
- "dav": "Taita",
- "tg": "Tajik",
- "twq": "Tasawaq",
- "tt": "Tatar",
- "te": "Telugu",
- "teo": "Teso",
- "bo": "Tibetan",
- "ti": "Tigrinya",
- "to": "Tongan",
- "tk": "Turkmen",
- "hsb": "Upper Sorbian",
- "ug": "Uyghur",
- "uz": "Uzbek",
- "vai": "Vai",
- "vo": "Volapük",
- "vun": "Vunjo",
- "wa": "Walloon",
- "wae": "Walser",
- "cy": "Welsh",
- "fy": "Western Frisian",
- "wo": "Wolof",
- "xh": "Xhosa",
- "yav": "Yangben",
- "yi": "Yiddish",
- "dje": "Zarma",
- "be": "ⵜⴰⴱⵉⵍⴰⵔⵓⵙⵜ",
- "my": "ⵜⴰⴱⵉⵔⵎⴰⵏⵉⵜ",
- "vi": "ⵜⴰⴱⵉⵜⵏⴰⵎⵉⵜ",
- "bg": "ⵜⴰⴱⵍⵖⴰⵔⵉⵜ",
- "pa": "ⵜⴰⴱⵏⵊⴰⴱⵉⵜ",
- "bn": "ⵜⴰⴱⵏⵖⴰⵍⵉⵜ",
- "pl": "ⵜⴰⴱⵓⵍⵓⵏⵉⵜ",
- "pt": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ",
- "pt-PT": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ (ⴱⵕⵟⵇⵉⵣ)",
- "el": "ⵜⴰⴳⵔⵉⴳⵉⵜ",
- "fa": "ⵜⴰⴼⵓⵔⵙⵉⵜ",
- "fr": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ",
- "fr-CA": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ (ⴽⴰⵏⴰⴷⴰ)",
- "fr-CH": "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ (ⵙⵡⵉⵙⵔⴰ)",
- "ak": "ⵜⴰⴽⴰⵏⵜ",
- "ko": "ⵜⴰⴽⵓⵔⵉⵜ",
- "ha": "ⵜⴰⵀⴰⵡⵙⴰⵜ",
- "hi": "ⵜⴰⵀⵉⵏⴷⵉⵜ",
- "hu": "ⵜⴰⵀⵏⵖⴰⵔⵉⵜ",
- "nl": "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ",
- "nl-BE": "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ (ⴱⵍⵊⵉⴽⴰ)",
- "ar": "ⵜⴰⵄⵔⴰⴱⵜ",
- "km": "ⵜⴰⵅⵎⵉⵔⵜ",
- "jv": "ⵜⴰⵊⴰⴱⴰⵏⵉⵜ",
- "ja": "ⵜⴰⵊⴰⴱⴱⵓⵏⵉⵜ",
- "de": "ⵜⴰⵍⵉⵎⴰⵏⵜ",
- "de-AT": "ⵜⴰⵍⵉⵎⴰⵏⵜ (ⵏⵏⵎⵙⴰ)",
- "de-CH": "ⵜⴰⵍⵉⵎⴰⵏⵜ (ⵙⵡⵉⵙⵔⴰ)",
- "ms": "ⵜⴰⵎⴰⵍⴰⵡⵉⵜ",
- "zgh": "ⵜⴰⵎⴰⵣⵉⵖⵜ",
- "am": "ⵜⴰⵎⵀⴰⵔⵉⵜ",
- "en": "ⵜⴰⵏⴳⵍⵉⵣⵜ",
- "en-CA": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⴽⴰⵏⴰⴷⴰ)",
- "en-AU": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⵓⵙⵜⵔⴰⵍⵢⴰ)",
- "en-GB": "ⵜⴰⵏⴳⵍⵉⵣⵜ (ⵜⴰⴳⵍⴷⵉⵜ ⵉⵎⵓⵏⵏ)",
- "id": "ⵜⴰⵏⴷⵓⵏⵉⵙⵉⵜ",
- "ne": "ⵜⴰⵏⵉⴱⴰⵍⵉⵜ",
- "ro": "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ",
- "ro-MD": "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ (ⵎⵓⵍⴷⵓⴼⵢⴰ)",
- "ru": "ⵜⴰⵔⵓⵙⵉⵜ",
- "rw": "ⵜⴰⵔⵓⵡⴰⵏⴷⵉⵜ",
- "es": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ",
- "es-419": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ (419)",
- "es-MX": "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ (ⵎⵉⴽⵙⵉⴽ)",
- "so": "ⵜⴰⵙⵓⵎⴰⵍⵉⵜ",
- "sv": "ⵜⴰⵙⵡⵉⴷⵉⵜ",
- "zh": "ⵜⴰⵛⵉⵏⵡⵉⵜ",
- "zh-Hans": "ⵜⴰⵛⵉⵏⵡⵉⵜ (Hans)",
- "zh-Hant": "ⵜⴰⵛⵉⵏⵡⵉⵜ (Hant)",
- "ta": "ⵜⴰⵜⴰⵎⵉⵍⵜ",
- "th": "ⵜⴰⵜⴰⵢⵍⴰⵏⴷⵉⵜ",
- "tr": "ⵜⴰⵜⵓⵔⴽⵉⵜ",
- "cs": "ⵜⴰⵜⵛⵉⴽⵉⵜ",
- "it": "ⵜⴰⵟⴰⵍⵢⴰⵏⵜ",
- "yo": "ⵜⴰⵢⵔⵓⴱⴰⵜ",
- "zu": "ⵜⴰⵣⵓⵍⵓⵜ",
- "ig": "ⵜⵉⴳⴱⵓⵜ",
- "uk": "ⵜⵓⴽⵔⴰⵏⵉⵜ",
- "ur": "ⵜⵓⵔⴷⵓⵜ"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
index 9d245d43e..87f16ba29 100644
--- a/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
@@ -18,7 +18,6 @@
"mi": "毛利文",
"mfe": "毛里裘斯克里奧爾文",
"jv": "爪哇文",
- "eo": "世界語",
"gl": "加里西亞文",
"fr-CA": "加拿大法文",
"en-CA": "加拿大英文",
@@ -70,7 +69,6 @@
"shi": "希爾哈文",
"el": "希臘文",
"dua": "杜亞拉文",
- "vo": "沃拉普克文",
"wo": "沃洛夫文",
"bez": "貝納文",
"ce": "車臣文",
@@ -80,7 +78,6 @@
"cgg": "奇加文",
"bn": "孟加拉文",
"dz": "宗卡文",
- "cu": "宗教斯拉夫文",
"ksb": "尚巴拉文",
"es-419": "拉丁美洲西班牙文",
"lkt": "拉科塔文",
@@ -158,7 +155,6 @@
"ceb": "宿霧文",
"kw": "康瓦耳文",
"cs": "捷克文",
- "gv": "曼島文",
"mer": "梅魯文",
"nl": "荷蘭文",
"brx": "博多文",
@@ -168,7 +164,6 @@
"sl": "斯洛文尼亞文",
"sk": "斯洛伐克文",
"ps": "普什圖文",
- "prg": "普魯士文",
"to": "湯加文",
"fil": "菲律賓文",
"vi": "越南文",
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant.json b/vendor/commerceguys/intl/resources/language/zh-Hant.json
index 364118251..321bd5120 100644
--- a/vendor/commerceguys/intl/resources/language/zh-Hant.json
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant.json
@@ -16,7 +16,6 @@
"ja": "日文",
"mi": "毛利文",
"jv": "爪哇文",
- "eo": "世界文",
"gl": "加利西亞文",
"ca": "加泰蘭文",
"nd": "北地畢列文",
@@ -70,7 +69,6 @@
"shi": "希爾哈文",
"el": "希臘文",
"dua": "杜亞拉文",
- "vo": "沃拉普克文",
"wo": "沃洛夫文",
"bez": "貝納文",
"ce": "車臣文",
@@ -82,7 +80,6 @@
"cgg": "奇加文",
"bn": "孟加拉文",
"dz": "宗卡文",
- "cu": "宗教斯拉夫文",
"ksb": "尚巴拉文",
"lkt": "拉科塔文",
"lv": "拉脫維亞文",
@@ -160,7 +157,6 @@
"ceb": "宿霧文",
"kw": "康瓦耳文",
"cs": "捷克文",
- "gv": "曼島文",
"mer": "梅魯文",
"sn": "紹納文",
"nl": "荷蘭文",
@@ -172,7 +168,6 @@
"sk": "斯洛伐克文",
"sl": "斯洛維尼亞文",
"ps": "普什圖文",
- "prg": "普魯士文",
"fil": "菲律賓文",
"vi": "越南文",
"rn": "隆迪文",
diff --git a/vendor/commerceguys/intl/resources/language/zh.json b/vendor/commerceguys/intl/resources/language/zh.json
index a4f270662..05af30323 100644
--- a/vendor/commerceguys/intl/resources/language/zh.json
+++ b/vendor/commerceguys/intl/resources/language/zh.json
@@ -70,7 +70,6 @@
"en-CA": "加拿大英语",
"ca": "加泰罗尼亚语",
"zh-Hans": "简体中文",
- "cu": "教会斯拉夫语",
"cs": "捷克语",
"kab": "卡拜尔语",
"kea": "卡布佛得鲁语",
@@ -106,7 +105,6 @@
"ro": "罗马尼亚语",
"rm": "罗曼什语",
"rwk": "罗瓦语",
- "gv": "马恩语",
"mt": "马耳他语",
"kde": "马孔德语",
"mgh": "马库阿语",
@@ -138,7 +136,6 @@
"asa": "帕雷语",
"pa": "旁遮普语",
"pt": "葡萄牙语",
- "prg": "普鲁士语",
"ps": "普什图语",
"cgg": "奇加语",
"chr": "切罗基语",
@@ -156,7 +153,6 @@
"si": "僧伽罗语",
"hsb": "上索布语",
"sn": "绍纳语",
- "eo": "世界语",
"nb": "书面挪威语",
"sk": "斯洛伐克语",
"sl": "斯洛文尼亚语",
@@ -184,7 +180,6 @@
"cy": "威尔士语",
"ug": "维吾尔语",
"vun": "温旧语",
- "vo": "沃拉普克语",
"wo": "沃洛夫语",
"ur": "乌尔都语",
"uk": "乌克兰语",
diff --git a/vendor/commerceguys/intl/resources/language/zu.json b/vendor/commerceguys/intl/resources/language/zu.json
deleted file mode 100644
index 30c8d3a93..000000000
--- a/vendor/commerceguys/intl/resources/language/zu.json
+++ /dev/null
@@ -1,224 +0,0 @@
-{
- "af": "i-Afrikaans",
- "en-AU": "i-Australian English",
- "en-GB": "i-British English",
- "en-CA": "i-Canadian English",
- "en": "i-English",
- "sah": "i-Sakha",
- "agq": "isi-Aghem",
- "ak": "isi-Akan",
- "sq": "isi-Albania",
- "am": "isi-Amharic",
- "ar": "isi-Arabic",
- "hy": "isi-Armenia",
- "as": "isi-Assamese",
- "ast": "isi-Asturian",
- "asa": "isi-Asu",
- "de-AT": "isi-Austrian German",
- "az": "isi-Azerbaijani",
- "ksf": "isi-Bafia",
- "bm": "isi-Bambara",
- "bas": "isi-Basaa",
- "eu": "isi-Basque",
- "be": "isi-Belarusian",
- "bem": "isi-Bemba",
- "bez": "isi-Bena",
- "bn": "isi-Bengali",
- "brx": "isi-Bodo",
- "bs": "isi-Bosnian",
- "br": "isi-Breton",
- "bg": "isi-Bulgari",
- "my": "isi-Burmese",
- "fr-CA": "isi-Canadian French",
- "yue": "isi-Cantonese",
- "ca": "isi-Catalan",
- "ceb": "isi-Cebuano",
- "tzm": "isi-Central Atlas Tamazight",
- "ckb": "isi-Central Kurdish",
- "ce": "isi-Chechen",
- "chr": "isi-Cherokee",
- "cgg": "isi-Chiga",
- "zh": "isi-Chinese",
- "zh-Hans": "isi-Chinese (esenziwe-lula)",
- "zh-Hant": "isi-Chinese (Okosiko)",
- "cu": "isi-Church Slavic",
- "ksh": "isi-Colognian",
- "sw-CD": "isi-Congo Swahili",
- "kw": "isi-Cornish",
- "hr": "isi-Croatian",
- "cs": "isi-Czech",
- "da": "isi-Danish",
- "dua": "isi-Duala",
- "nl": "isi-Dutch",
- "dz": "isi-Dzongkha",
- "ebu": "isi-Embu",
- "eo": "isi-Esperanto",
- "et": "isi-Estonia",
- "pt-PT": "isi-European Portuguese",
- "ee": "isi-Ewe",
- "ewo": "isi-Ewondo",
- "fo": "isi-Faroese",
- "fil": "isi-Filipino",
- "fi": "isi-Finnish",
- "nl-BE": "isi-Flemish",
- "fr": "isi-French",
- "fur": "isi-Friulian",
- "ff": "isi-Fulah",
- "gl": "isi-Galicia",
- "lg": "isi-Ganda",
- "ka": "isi-Georgian",
- "de": "isi-German",
- "el": "isi-Greek",
- "gu": "isi-Gujarati",
- "guz": "isi-Gusli",
- "ha": "isi-Hausa",
- "haw": "isi-Hawaiian",
- "he": "isi-Hebrew",
- "hi": "isi-Hindi",
- "hu": "isi-Hungarian",
- "is": "isi-Icelandic",
- "ig": "isi-Igbo",
- "smn": "isi-Inari Sami",
- "id": "isi-Indonesian",
- "ga": "isi-Irish",
- "it": "isi-Italian",
- "ja": "isi-Japanese",
- "jv": "isi-Javanese",
- "dyo": "isi-Jola-Fonyi",
- "kea": "isi-Kabuverdianu",
- "kab": "isi-Kabyle",
- "kkj": "isi-Kako",
- "kl": "isi-Kalaallisut",
- "kln": "isi-Kalenjin",
- "kam": "isi-Kamba",
- "kn": "isi-Kannada",
- "ks": "isi-Kashmiri",
- "kk": "isi-Kazakh",
- "km": "isi-Khmer",
- "ki": "isi-Kikuyu",
- "rw": "isi-Kinyarwanda",
- "kok": "isi-Konkani",
- "ko": "isi-Korean",
- "khq": "isi-Koyra Chiini",
- "ses": "isi-Koyraboro Senni",
- "ku": "isi-Kurdish",
- "nmg": "isi-Kwasio",
- "ky": "isi-Kyrgyz",
- "lkt": "isi-Lakota",
- "lag": "isi-Langi",
- "lo": "isi-Lao",
- "es-419": "isi-Latin American Spanish",
- "lv": "isi-Latvian",
- "ln": "isi-Lingala",
- "lt": "isi-Lithuanian",
- "nds": "isi-Low German",
- "nds-NL": "isi-Low Saxon",
- "dsb": "isi-Lower Sorbian",
- "lu": "isi-Luba-Katanga",
- "luo": "isi-Luo",
- "lb": "isi-Luxembourgish",
- "luy": "isi-Luyia",
- "mk": "isi-Macedonian",
- "jmc": "isi-Machame",
- "mgh": "isi-Makhuwa-Meetto",
- "kde": "isi-Makonde",
- "mg": "isi-Malagasy",
- "ms": "isi-Malay",
- "ml": "isi-Malayalam",
- "mt": "isi-Maltese",
- "gv": "isi-Manx",
- "mi": "isi-Maori",
- "mr": "isi-Marathi",
- "mas": "isi-Masai",
- "mzn": "isi-Mazanderani",
- "mer": "isi-Meru",
- "mgo": "isi-Meta’",
- "es-MX": "Isi-Mexican Spanish",
- "ro-MD": "isi-Moldavian",
- "mn": "isi-Mongolian",
- "mfe": "isi-Morisyen",
- "zgh": "isi-Moroccan Tamazight esivamile",
- "mua": "isi-Mundang",
- "naq": "isi-Nama",
- "ne": "isi-Nepali",
- "nnh": "isi-Ngiemboon",
- "jgo": "isi-Ngomba",
- "nd": "isi-North Ndebele",
- "lrc": "isi-Northern Luri",
- "se": "isi-Northern Sami",
- "nb": "isi-Norwegian Bokmål",
- "nn": "isi-Norwegian Nynorsk",
- "nus": "isi-Nuer",
- "nyn": "isi-Nyankole",
- "or": "isi-Odia",
- "om": "isi-Oromo",
- "os": "isi-Ossetic",
- "ps": "isi-Pashto",
- "fa": "isi-Persian",
- "pl": "isi-Polish",
- "pt": "isi-Portuguese",
- "prg": "isi-Prussian",
- "pa": "isi-Punjabi",
- "qu": "isi-Quechua",
- "ro": "isi-Romanian",
- "rm": "isi-Romansh",
- "rof": "isi-Rombo",
- "rn": "isi-Rundi",
- "ru": "isi-Russian",
- "rwk": "isi-Rwa",
- "saq": "isi-Samburu",
- "sg": "isi-Sango",
- "sbp": "isi-Sangu",
- "gd": "isi-Scottish Gaelic",
- "seh": "isi-Sena",
- "sr": "isi-Serbian",
- "ii": "isi-Sichuan Yi",
- "sd": "isi-Sindhi",
- "si": "isi-Sinhala",
- "sk": "isi-Slovak",
- "sl": "isi-Slovenian",
- "xog": "isi-Soga",
- "so": "isi-Somali",
- "es": "isi-Spanish",
- "sv": "isi-Swedish",
- "fr-CH": "isi-Swiss French",
- "gsw": "isi-Swiss German",
- "de-CH": "Isi-Swiss High German",
- "shi": "isi-Tachelhit",
- "dav": "isi-Taita",
- "tg": "isi-Tajik",
- "ta": "isi-Tamil",
- "twq": "isi-Tasawaq",
- "tt": "isi-Tatar",
- "te": "isi-Telugu",
- "teo": "isi-Teso",
- "th": "isi-Thai",
- "bo": "isi-Tibetan",
- "ti": "isi-Tigrinya",
- "to": "isi-Tongan",
- "tr": "isi-Turkish",
- "tk": "isi-Turkmen",
- "ug": "isi-Uighur",
- "uk": "isi-Ukrainian",
- "hsb": "isi-Upper Sorbian",
- "ur": "isi-Urdu",
- "uz": "isi-Uzbek",
- "vai": "isi-Vai",
- "vi": "isi-Vietnamese",
- "vo": "isi-Volapük",
- "wa": "isi-Walloon",
- "wae": "isi-Walser",
- "cy": "isi-Welsh",
- "fy": "isi-Western Frisian",
- "wo": "isi-Wolof",
- "yav": "isi-Yangben",
- "yi": "isi-Yiddish",
- "yo": "isi-Yoruba",
- "dje": "isi-Zarma",
- "ksb": "isiShambala",
- "sn": "isiShona",
- "sw": "isiSwahili",
- "vun": "isiVunjo",
- "xh": "isiXhosa",
- "zu": "isiZulu"
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/scripts/generate_base.php b/vendor/commerceguys/intl/scripts/generate_base.php
new file mode 100644
index 000000000..d5e18f2b6
--- /dev/null
+++ b/vendor/commerceguys/intl/scripts/generate_base.php
@@ -0,0 +1,91 @@
+<?php
+
+require __DIR__ . '/../vendor/autoload.php';
+
+// Downloaded from http://www.currency-iso.org/en/home/tables/table-a1.html
+$isoCurrencies = __DIR__ . '/assets/c2.xml';
+// Downloaded from https://github.com/unicode-cldr/cldr-core.git
+$currencyData = __DIR__ . '/assets/cldr-core/supplemental/currencyData.json';
+// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
+$localeDirectory = __DIR__ . '/assets/cldr-localenames-full/main/';
+// Downloaded from https://github.com/unicode-cldr/cldr-numbers-full.git
+$numbersDirectory = __DIR__ . '/assets/cldr-numbers-full/main/';
+
+// Preflight checks.
+if (!file_exists($currencyData)) {
+ die("The $currencyData file was not found");
+}
+if (!file_exists($isoCurrencies)) {
+ die("The $isoCurrencies file was not found");
+}
+if (!is_dir($localeDirectory)) {
+ die("The $localeDirectory directory was not found");
+}
+if (!is_dir($numbersDirectory)) {
+ die("The $numbersDirectory directory was not found");
+}
+if (!function_exists('collator_create')) {
+ // Reimplementing intl's collator would be a huge undertaking, so we
+ // use it instead to presort the generated locale specific data.
+ die('The intl extension was not found.');
+}
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = [
+ // Esperanto, Interlingua, Volapuk are made up languages.
+ 'eo', 'ia', 'vo',
+ // Church Slavic, Manx, Prussian are historical languages.
+ 'cu', 'gv', 'prg',
+ // Valencian differs from its parent only by a single character (è/é).
+ 'ca-ES-VALENCIA',
+ // Africa secondary languages.
+ 'agq', 'ak', 'am', 'asa', 'bas', 'bem', 'bez', 'bm', 'cgg', 'dav',
+ 'dje', 'dua', 'dyo', 'ebu', 'ee', 'ewo', 'ff', 'ff-Latn', 'guz',
+ 'ha', 'ig', 'jgo', 'jmc', 'kab', 'kam', 'kea', 'kde', 'ki', 'kkj',
+ 'kln', 'khq', 'ksb', 'ksf', 'lag', 'luo', 'luy', 'lu', 'lg', 'ln',
+ 'mas', 'mer', 'mua', 'mgo', 'mgh', 'mfe', 'naq', 'nd', 'nmg', 'nnh',
+ 'nus', 'nyn', 'om', 'pcm', 'rof', 'rwk', 'saq', 'seh', 'ses', 'sbp',
+ 'sg', 'shi', 'sn', 'teo', 'ti', 'tzm', 'twq', 'vai', 'vai-Latn', 'vun',
+ 'wo', 'xog', 'xh', 'zgh', 'yav', 'yo', 'zu',
+ // Europe secondary languages.
+ 'br', 'dsb', 'fo', 'fur', 'fy', 'hsb', 'ksh', 'kw', 'nds', 'or', 'rm',
+ 'se', 'smn', 'wae',
+ // Other infrequently used locales.
+ 'ceb', 'ccp', 'chr', 'ckb', 'haw', 'ii', 'jv', 'kl', 'kn', 'lkt',
+ 'lrc', 'mi', 'mzn', 'os', 'qu', 'row', 'sah', 'su', 'tt', 'ug', 'yi',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX',
+];
+
+/**
+ * Converts the provided data into json and writes it to the disk.
+ */
+function file_put_json($filename, $data)
+{
+ $data = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ // Indenting with tabs instead of 4 spaces gives us 20% smaller files.
+ $data = str_replace(' ', "\t", $data);
+ file_put_contents($filename, $data);
+}
+
+/**
+ * Creates a list of available locales.
+ */
+function discover_locales()
+{
+ global $localeDirectory, $ignoredLocales;
+
+ // Gather available locales.
+ $locales = [];
+ foreach (scandir($localeDirectory) as $entry) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+
+ return $locales;
+}
diff --git a/vendor/commerceguys/intl/scripts/generate_currency_data.php b/vendor/commerceguys/intl/scripts/generate_currency_data.php
index 9dfc262e1..22c33c63b 100644
--- a/vendor/commerceguys/intl/scripts/generate_currency_data.php
+++ b/vendor/commerceguys/intl/scripts/generate_currency_data.php
@@ -7,38 +7,7 @@
* deprecated currencies, unlike CLDR (v25 has 139 deprecated entries).
*/
-set_time_limit(0);
-require __DIR__ . '/../vendor/autoload.php';
-
-// Downloaded from http://www.currency-iso.org/en/home/tables/table-a1.html
-$isoCurrencies = __DIR__ . '/assets/c2.xml';
-// Downloaded from https://github.com/unicode-cldr/cldr-numbers-full.git
-$numbersDirectory = __DIR__ . '/assets/cldr-numbers-full/main/';
-$cldrCurrencies = $numbersDirectory . 'en/currencies.json';
-// Downloaded from https://github.com/unicode-cldr/cldr-core.git
-$currencyData = __DIR__ . '/assets/cldr-core/supplemental/currencyData.json';
-// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
-$localeDirectory = __DIR__ . '/assets/cldr-localenames-full/main/';
-if (!file_exists($isoCurrencies)) {
- die("The $isoCurrencies file was not found");
-}
-if (!file_exists($cldrCurrencies)) {
- die("The $cldrCurrencies file was not found");
-}
-if (!file_exists($currencyData)) {
- die("The $currencyData file was not found");
-}
-if (!function_exists('collator_create')) {
- // Reimplementing intl's collator would be a huge undertaking, so we
- // use it instead to presort the generated locale specific data.
- die('The intl extension was not found.');
-}
-if (!is_dir($localeDirectory)) {
- die("The $localeDirectory directory was not found");
-}
-if (!is_dir($numbersDirectory)) {
- die("The $numbersDirectory directory was not found");
-}
+require __DIR__ . '/generate_base.php';
$currencyData = json_decode(file_get_contents($currencyData), true);
$isoData = simplexml_load_file($isoCurrencies);
@@ -76,17 +45,6 @@ file_put_contents(__DIR__ . '/currency_data.php', $data);
echo "Done.\n";
/**
- * Converts the provided data into json and writes it to the disk.
- */
-function file_put_json($filename, $data)
-{
- $data = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
- // Indenting with tabs instead of 4 spaces gives us 20% smaller files.
- $data = str_replace(' ', "\t", $data);
- file_put_contents($filename, $data);
-}
-
-/**
* Exports base data.
*/
function export_base_data($baseData)
@@ -213,6 +171,7 @@ function generate_localizations(array $baseData)
return $localizations;
}
+
/**
* Filters out duplicate localizations (same as their parent locale).
*
@@ -242,38 +201,3 @@ function filter_duplicate_localizations(array $localizations)
return $localizations;
}
-
-/**
- * Creates a list of available locales.
- */
-function discover_locales()
-{
- global $localeDirectory;
-
- // Locales listed without a "-" match all variants.
- // Locales listed with a "-" match only those exact ones.
- $ignoredLocales = [
- // Interlingua is a made up language.
- 'ia',
- // Valencian differs from its parent only by a single character (è/é).
- 'ca-ES-VALENCIA',
- // Special "grouping" locales.
- 'root', 'en-US-POSIX',
- ];
-
- // Gather available locales.
- $locales = [];
- if ($handle = opendir($localeDirectory)) {
- while (false !== ($entry = readdir($handle))) {
- if (substr($entry, 0, 1) != '.') {
- $entryParts = explode('-', $entry);
- if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
- $locales[] = $entry;
- }
- }
- }
- closedir($handle);
- }
-
- return $locales;
-}
diff --git a/vendor/commerceguys/intl/scripts/generate_language_data.php b/vendor/commerceguys/intl/scripts/generate_language_data.php
index a7dbd836e..c6215e3fd 100644
--- a/vendor/commerceguys/intl/scripts/generate_language_data.php
+++ b/vendor/commerceguys/intl/scripts/generate_language_data.php
@@ -8,24 +8,12 @@
* for which CLDR itself has translations are listed.
*/
-set_time_limit(0);
-require __DIR__ . '/../vendor/autoload.php';
+require __DIR__ . '/generate_base.php';
-// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
-$localeDirectory = __DIR__ . '/assets/cldr-localenames-full/main/';
$enLanguages = $localeDirectory . 'en/languages.json';
-
-if (!is_dir($localeDirectory)) {
- die("The $localeDirectory directory was not found");
-}
if (!file_exists($enLanguages)) {
die("The $enLanguages file was not found");
}
-if (!function_exists('collator_create')) {
- // Reimplementing intl's collator would be a huge undertaking, so we
- // use it instead to presort the generated locale specific data.
- die('The intl extension was not found.');
-}
$languages = generate_languages();
$languages = filter_duplicate_localizations($languages);
@@ -58,17 +46,6 @@ file_put_contents(__DIR__ . '/language_data.php', $data);
echo "Done.\n";
/**
- * Converts the provided data into json and writes it to the disk.
- */
-function file_put_json($filename, $data)
-{
- $data = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
- // Indenting with tabs instead of 4 spaces gives us 20% smaller files.
- $data = str_replace(' ', "\t", $data);
- file_put_contents($filename, $data);
-}
-
-/**
* Exports locales.
*/
function export_locales($data)
@@ -98,12 +75,13 @@ function generate_languages()
$index = array_search('en', $locales);
unset($locales[$index]);
array_unshift($locales, 'en');
- // The filtering of the language list against the locale list can be
- // too strict, filtering out languages that should be in the final list.
- // This override ensures that such cases are covered.
- $explicitlyAllowed = ['wa'];
+ // Skip all languages that aren't an available locale at the same time.
+ // This reduces the language list from about 515 to about 185 languages.
+ $allowedLanguages = scandir($localeDirectory);
+ $allowedLanguages[] = 'wa';
+ $allowedLanguages = array_diff($allowedLanguages, ['eo', 'ia', 'vo', 'cu', 'gv', 'prg', 'root']);
// Languages that are untranslated in most locales (as of CLDR v34).
- $explicitlyIgnored = ['ccp', 'fa-AF'];
+ $allowedLanguages = array_diff($allowedLanguages, ['ccp', 'fa-AF']);
$untranslatedCounts = [];
$languages = [];
@@ -111,12 +89,7 @@ function generate_languages()
$data = json_decode(file_get_contents($localeDirectory . $locale . '/languages.json'), true);
$data = $data['main'][$locale]['localeDisplayNames']['languages'];
foreach ($data as $languageCode => $languageName) {
- // Skip all languages that aren't an available locale at the same time.
- // This reduces the language list from about 515 to about 185 languages.
- if (!in_array($languageCode, $locales) && !in_array($languageCode, $explicitlyAllowed)) {
- continue;
- }
- if (in_array($languageCode, $explicitlyIgnored)) {
+ if (!in_array($languageCode, $allowedLanguages)) {
continue;
}
@@ -180,38 +153,3 @@ function filter_duplicate_localizations(array $localizations)
return $localizations;
}
-
-/**
- * Creates a list of available locales.
- */
-function discover_locales()
-{
- global $localeDirectory;
-
- // Locales listed without a "-" match all variants.
- // Locales listed with a "-" match only those exact ones.
- $ignoredLocales = [
- // Interlingua is a made up language.
- 'ia',
- // Valencian differs from its parent only by a single character (è/é).
- 'ca-ES-VALENCIA',
- // Special "grouping" locales.
- 'root', 'en-US-POSIX',
- ];
-
- // Gather available locales.
- $locales = [];
- if ($handle = opendir($localeDirectory)) {
- while (false !== ($entry = readdir($handle))) {
- if (substr($entry, 0, 1) != '.') {
- $entryParts = explode('-', $entry);
- if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
- $locales[] = $entry;
- }
- }
- }
- closedir($handle);
- }
-
- return $locales;
-}
diff --git a/vendor/commerceguys/intl/scripts/generate_locale_data.php b/vendor/commerceguys/intl/scripts/generate_locale_data.php
index 4e2b617b8..d1e77b8d8 100644
--- a/vendor/commerceguys/intl/scripts/generate_locale_data.php
+++ b/vendor/commerceguys/intl/scripts/generate_locale_data.php
@@ -4,11 +4,19 @@
* Generates the $parents array for the Locale class.
*/
+require __DIR__ . '/generate_base.php';
+
$parentLocales = __DIR__ . '/assets/cldr-core/supplemental/parentLocales.json';
$parentLocales = json_decode(file_get_contents($parentLocales), true);
$parentLocales = $parentLocales['supplemental']['parentLocales']['parentLocale'];
-$parentLocales = var_export($parentLocales, true) . ';';
+foreach ($parentLocales as $locale => $parentLocale) {
+ $localeParts = explode('-', $locale);
+ if (in_array($localeParts[0], $ignoredLocales)) {
+ unset($parentLocales[$locale]);
+ }
+}
+$parentLocales = var_export($parentLocales, true) . ';';
$export = "<?php\n\n";
$export .= '$parents = ' . str_replace(['array (', ')'], ['[', ']'], $parentLocales);
$export .= "\n";
diff --git a/vendor/commerceguys/intl/scripts/generate_number_format_data.php b/vendor/commerceguys/intl/scripts/generate_number_format_data.php
index a9d7d4849..0654d0ebb 100644
--- a/vendor/commerceguys/intl/scripts/generate_number_format_data.php
+++ b/vendor/commerceguys/intl/scripts/generate_number_format_data.php
@@ -5,20 +5,9 @@
*/
set_time_limit(0);
-require __DIR__ . '/../vendor/autoload.php';
+require __DIR__ . '/generate_base.php';
-// Downloaded from https://github.com/unicode-cldr/cldr-localenames-full.git
-$localeDirectory = __DIR__ . '/assets/cldr-localenames-full/main/';
$enLanguages = $localeDirectory . 'en/languages.json';
-// Downloaded from https://github.com/unicode-cldr/cldr-numbers-full.git
-$numbersDirectory = __DIR__ . '/assets/cldr-numbers-full/main/';
-
-if (!is_dir($localeDirectory)) {
- die("The $localeDirectory directory was not found");
-}
-if (!is_dir($numbersDirectory)) {
- die("The $numbersDirectory directory was not found");
-}
if (!file_exists($enLanguages)) {
die("The $enLanguages file was not found");
}
@@ -165,41 +154,3 @@ function filter_duplicates(array $numberFormats)
return $numberFormats;
}
-
-/**
- * Creates a list of available locales.
- */
-function discover_locales()
-{
- global $localeDirectory;
-
- // Locales listed without a "-" match all variants.
- // Locales listed with a "-" match only those exact ones.
- $ignoredLocales = [
- // Interlingua is a made up language.
- 'ia',
- // Ignored by other generation scripts, very minor locales.
- 'as', 'asa', 'bem', 'ccp', 'chr', 'dav', 'dua', 'ebu', 'ewo', 'guz', 'gv', 'ii',
- 'jgo', 'jmc', 'kam', 'kde', 'ki', 'kkj', 'kl', 'kln', 'ksb', 'kw', 'lag',
- 'ln', 'mer', 'mgo', 'nd', 'nmg', 'nnh', 'nus', 'os', 'ps', 'rwk', 'sah',
- 'saq', 'sbp', 'shi', 'sn', 'teo', 'vai', 'vun', 'xog', 'zgh',
- // Special "grouping" locales.
- 'root', 'en-US-POSIX',
- ];
-
- // Gather available locales.
- $locales = [];
- if ($handle = opendir($localeDirectory)) {
- while (false !== ($entry = readdir($handle))) {
- if (substr($entry, 0, 1) != '.') {
- $entryParts = explode('-', $entry);
- if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
- $locales[] = $entry;
- }
- }
- }
- closedir($handle);
- }
-
- return $locales;
-}
diff --git a/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php b/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php
index 5a8dc2163..97f3ee3dd 100644
--- a/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php
+++ b/vendor/commerceguys/intl/src/Currency/CurrencyRepository.php
@@ -44,25 +44,18 @@ class CurrencyRepository implements CurrencyRepositoryInterface
* @var array
*/
protected $availableLocales = [
- 'af', 'agq', 'ak', 'am', 'ar', 'as', 'asa', 'ast', 'az', 'bas', 'be',
- 'bez', 'bg', 'bm', 'bn', 'br', 'brx', 'bs', 'bs-Cyrl', 'ca', 'ccp',
- 'ce', 'ceb', 'cgg', 'chr', 'cs', 'cy', 'da', 'dav', 'de', 'de-CH',
- 'dje', 'dsb', 'dz', 'ebu', 'ee', 'el', 'en', 'en-001', 'en-AU', 'en-GG',
- 'en-IM', 'en-JE', 'es', 'es-419', 'es-CL', 'es-GT', 'es-MX', 'es-US',
- 'es-VE', 'et', 'eu', 'ewo', 'fa', 'fa-AF', 'ff', 'fi', 'fil', 'fo',
- 'fr', 'fr-CA', 'fur', 'fy', 'ga', 'gd', 'gl', 'gsw', 'gu', 'guz', 'ha',
- 'he', 'hi', 'hr', 'hsb', 'hu', 'hy', 'id', 'is', 'it', 'ja', 'jmc',
- 'jv', 'ka', 'kab', 'kam', 'kde', 'kea', 'khq', 'ki', 'kk', 'kln', 'km',
- 'kn', 'ko', 'kok', 'ks', 'ksb', 'ksf', 'ksh', 'ky', 'lag', 'lb', 'lg',
- 'ln', 'lo', 'lt', 'lu', 'luo', 'luy', 'lv', 'mas', 'mer', 'mfe', 'mg',
- 'mk', 'ml', 'mn', 'mr', 'ms', 'mua', 'my', 'mzn', 'naq', 'nb', 'nd',
- 'ne', 'nl', 'nmg', 'nn', 'nyn', 'or', 'pa', 'pl', 'ps', 'pt', 'pt-PT',
- 'qu', 'rm', 'rn', 'ro', 'rof', 'ru', 'rwk', 'saq', 'sbp', 'sd', 'seh',
- 'ses', 'sg', 'shi', 'shi-Latn', 'si', 'sk', 'sl', 'sn', 'so', 'sq',
- 'sr', 'sr-Latn', 'sv', 'sw', 'sw-CD', 'sw-KE', 'ta', 'te', 'teo', 'th',
- 'tk', 'tr', 'twq', 'tzm', 'ug', 'uk', 'ur', 'ur-IN', 'uz', 'uz-Cyrl',
- 'vai', 'vai-Latn', 'vi', 'vun', 'xog', 'yo', 'yo-BJ', 'yue', 'yue-Hans',
- 'zgh', 'zh', 'zh-Hans-HK', 'zh-Hant', 'zh-Hant-HK', 'zu',
+ 'af', 'ar', 'as', 'ast', 'az', 'be', 'bg', 'bn', 'brx', 'bs', 'bs-Cyrl',
+ 'ca', 'ce', 'cs', 'cy', 'da', 'de', 'de-CH', 'dz', 'el', 'en', 'en-001',
+ 'en-AU', 'en-GG', 'en-IM', 'en-JE', 'es', 'es-419', 'es-CL', 'es-GT',
+ 'es-MX', 'es-US', 'es-VE', 'et', 'eu', 'fa', 'fa-AF', 'fi', 'fil', 'fr',
+ 'fr-CA', 'ga', 'gd', 'gl', 'gsw', 'gu', 'he', 'hi', 'hr', 'hu', 'hy',
+ 'id', 'is', 'it', 'ja', 'ka', 'kk', 'km', 'ko', 'kok', 'ks', 'ky', 'lb',
+ 'lo', 'lt', 'lv', 'mg', 'mk', 'ml', 'mn', 'mr', 'ms', 'my', 'nb', 'ne',
+ 'nl', 'nn', 'pa', 'pl', 'ps', 'pt', 'pt-PT', 'rn', 'ro', 'ru', 'sd',
+ 'si', 'sk', 'sl', 'so', 'sq', 'sr', 'sr-Latn', 'sv', 'sw', 'sw-CD',
+ 'sw-KE', 'ta', 'te', 'th', 'tk', 'tr', 'uk', 'ur', 'ur-IN', 'uz',
+ 'uz-Cyrl', 'vi', 'yue', 'yue-Hans', 'zh', 'zh-Hans-HK', 'zh-Hant',
+ 'zh-Hant-HK',
];
/**
diff --git a/vendor/commerceguys/intl/src/Language/LanguageRepository.php b/vendor/commerceguys/intl/src/Language/LanguageRepository.php
index 151619e1d..7c33a40ab 100644
--- a/vendor/commerceguys/intl/src/Language/LanguageRepository.php
+++ b/vendor/commerceguys/intl/src/Language/LanguageRepository.php
@@ -44,32 +44,22 @@ class LanguageRepository implements LanguageRepositoryInterface
* @var array
*/
protected $availableLocales = [
- 'af', 'agq', 'ak', 'am', 'ar', 'ar-EG', 'ar-LY', 'ar-SA', 'as', 'asa',
- 'ast', 'az', 'az-Cyrl', 'bas', 'be', 'bem', 'bez', 'bg', 'bm', 'bn',
- 'bn-IN', 'br', 'brx', 'bs', 'bs-Cyrl', 'ca', 'ccp', 'ce', 'cgg', 'chr',
- 'ckb', 'cs', 'cy', 'da', 'dav', 'de', 'de-AT', 'de-CH', 'de-LU', 'dje',
- 'dsb', 'dyo', 'dz', 'ebu', 'ee', 'el', 'en', 'en-001', 'en-AU', 'en-CA',
- 'en-IN', 'en-NZ', 'eo', 'es', 'es-419', 'es-AR', 'es-BO', 'es-CL',
- 'es-CO', 'es-CR', 'es-DO', 'es-EC', 'es-GT', 'es-HN', 'es-MX', 'es-NI',
- 'es-PA', 'es-PE', 'es-PR', 'es-PY', 'es-SV', 'es-US', 'es-VE', 'et',
- 'eu', 'ewo', 'fa', 'fa-AF', 'ff', 'fi', 'fil', 'fo', 'fr', 'fr-BE',
- 'fr-CA', 'fr-CH', 'fur', 'fy', 'ga', 'gd', 'gl', 'gsw', 'gu', 'guz',
- 'ha', 'ha-NE', 'he', 'hi', 'hr', 'hsb', 'hu', 'hy', 'id', 'ig', 'is',
- 'it', 'ja', 'jmc', 'jv', 'ka', 'kab', 'kam', 'kde', 'kea', 'khq', 'ki',
- 'kk', 'kln', 'km', 'kn', 'ko', 'kok', 'ks', 'ksb', 'ksf', 'ksh', 'ku',
- 'ky', 'lag', 'lb', 'lg', 'lkt', 'ln', 'lo', 'lrc', 'lt', 'lu', 'luo',
- 'luy', 'lv', 'mas', 'mer', 'mfe', 'mg', 'mgh', 'mk', 'ml', 'mn', 'mr',
- 'ms', 'mt', 'mua', 'my', 'mzn', 'naq', 'nb', 'nd', 'ne', 'nl', 'nmg',
- 'nn', 'nus', 'nyn', 'om', 'or', 'os', 'pa', 'pl', 'ps', 'ps-PK', 'pt',
- 'pt-PT', 'qu', 'rm', 'rn', 'ro', 'ro-MD', 'rof', 'ru', 'rw', 'rwk',
- 'sah', 'saq', 'sbp', 'sd', 'se', 'se-FI', 'seh', 'ses', 'sg', 'shi',
- 'shi-Latn', 'si', 'sk', 'sl', 'smn', 'sn', 'so', 'sq', 'sr',
+ 'af', 'ar', 'ar-EG', 'ar-LY', 'ar-SA', 'as', 'ast', 'az', 'az-Cyrl',
+ 'be', 'bg', 'bn', 'bn-IN', 'brx', 'bs', 'bs-Cyrl', 'ca', 'ce', 'cs',
+ 'cy', 'da', 'de', 'de-AT', 'de-CH', 'de-LU', 'dz', 'el', 'en', 'en-001',
+ 'en-AU', 'en-CA', 'en-IN', 'en-NZ', 'es', 'es-419', 'es-AR', 'es-BO',
+ 'es-CL', 'es-CO', 'es-CR', 'es-DO', 'es-EC', 'es-GT', 'es-HN', 'es-MX',
+ 'es-NI', 'es-PA', 'es-PE', 'es-PR', 'es-PY', 'es-SV', 'es-US', 'es-VE',
+ 'et', 'eu', 'fa', 'fa-AF', 'fi', 'fil', 'fr', 'fr-BE', 'fr-CA', 'fr-CH',
+ 'ga', 'gd', 'gl', 'gsw', 'gu', 'he', 'hi', 'hr', 'hu', 'hy', 'id', 'is',
+ 'it', 'ja', 'ka', 'kk', 'km', 'ko', 'kok', 'ks', 'ku', 'ky', 'lb', 'lo',
+ 'lt', 'lv', 'mg', 'mk', 'ml', 'mn', 'mr', 'ms', 'mt', 'my', 'nb', 'ne',
+ 'nl', 'nn', 'pa', 'pl', 'ps', 'ps-PK', 'pt', 'pt-PT', 'rn', 'ro',
+ 'ro-MD', 'ru', 'rw', 'sd', 'si', 'sk', 'sl', 'so', 'sq', 'sr',
'sr-Cyrl-BA', 'sr-Cyrl-ME', 'sr-Cyrl-XK', 'sr-Latn', 'sr-Latn-BA',
'sr-Latn-ME', 'sr-Latn-XK', 'sv', 'sw', 'sw-CD', 'sw-KE', 'ta', 'te',
- 'teo', 'tg', 'th', 'ti', 'tk', 'to', 'tr', 'tt', 'twq', 'tzm', 'ug',
- 'uk', 'ur', 'ur-IN', 'uz', 'uz-Cyrl', 'vai', 'vai-Latn', 'vi', 'vun',
- 'wae', 'wo', 'xog', 'yav', 'yi', 'yo', 'yo-BJ', 'yue', 'yue-Hans',
- 'zgh', 'zh', 'zh-Hant', 'zh-Hant-HK', 'zu',
+ 'tg', 'th', 'tk', 'to', 'tr', 'uk', 'ur', 'ur-IN', 'uz', 'uz-Cyrl',
+ 'vi', 'yue', 'yue-Hans', 'zh', 'zh-Hant', 'zh-Hant-HK',
];
/**
diff --git a/vendor/commerceguys/intl/src/Locale.php b/vendor/commerceguys/intl/src/Locale.php
index f8f3f7cb8..f985f321a 100644
--- a/vendor/commerceguys/intl/src/Locale.php
+++ b/vendor/commerceguys/intl/src/Locale.php
@@ -193,40 +193,32 @@ final class Locale
'az-Arab' => 'root',
'az-Cyrl' => 'root',
'blt-Latn' => 'root',
- 'bm-Nkoo' => 'root',
'bs-Cyrl' => 'root',
'byn-Latn' => 'root',
- 'cu-Glag' => 'root',
- 'dje-Arab' => 'root',
- 'dyo-Arab' => 'root',
'en-Dsrt' => 'root',
'en-Shaw' => 'root',
- 'ff-Adlm' => 'root',
- 'ff-Arab' => 'root',
- 'ha-Arab' => 'root',
+ 'hi-Latn' => 'root',
'iu-Latn' => 'root',
'kk-Arab' => 'root',
+ 'ks-Deva' => 'root',
'ku-Arab' => 'root',
'ky-Arab' => 'root',
'ky-Latn' => 'root',
'ml-Arab' => 'root',
'mn-Mong' => 'root',
+ 'mni-Mtei' => 'root',
'ms-Arab' => 'root',
'pa-Arab' => 'root',
+ 'sat-Deva' => 'root',
'sd-Deva' => 'root',
'sd-Khoj' => 'root',
'sd-Sind' => 'root',
- 'shi-Latn' => 'root',
'so-Arab' => 'root',
'sr-Latn' => 'root',
'sw-Arab' => 'root',
'tg-Arab' => 'root',
- 'ug-Cyrl' => 'root',
'uz-Arab' => 'root',
'uz-Cyrl' => 'root',
- 'vai-Latn' => 'root',
- 'wo-Arab' => 'root',
- 'yo-Arab' => 'root',
'yue-Hans' => 'root',
'zh-Hant' => 'root',
'zh-Hant-MO' => 'zh-Hant-HK',
diff --git a/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php
index 887bc43e0..948fa533c 100644
--- a/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php
+++ b/vendor/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php
@@ -73,16 +73,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'agq' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
- 'ak' => [
- 'accounting_currency_pattern' => '¤#,##0.00',
- ],
- 'am' => [],
'ar' => [
'numbering_system' => 'arab',
'currency_pattern' => '#,##0.00 ¤',
@@ -131,6 +121,13 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'minus_sign' => '‎-',
'percent_sign' => '‎%‎',
],
+ 'as' => [
+ 'numbering_system' => 'beng',
+ 'decimal_pattern' => '#,##,##0.###',
+ 'percent_pattern' => '#,##,##0%',
+ 'currency_pattern' => '¤ #,##,##0.00',
+ 'accounting_currency_pattern' => '¤ #,##,##0.00',
+ ],
'ast' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
@@ -149,13 +146,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'bas' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
'be' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -163,17 +153,12 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'bez' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- ],
'bg' => [
'currency_pattern' => '#0.00 ¤',
'accounting_currency_pattern' => '#0.00 ¤;(#0.00 ¤)',
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'bm' => [],
'bn' => [
'numbering_system' => 'beng',
'decimal_pattern' => '#,##,##0.###',
@@ -184,13 +169,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'currency_pattern' => '¤ #,##0.00',
'accounting_currency_pattern' => '¤ #,##0.00',
],
- 'br' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
'brx' => [
'decimal_pattern' => '#,##,##0.###',
'percent_pattern' => '#,##,##0%',
@@ -216,34 +194,11 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'ca-ES-VALENCIA' => [
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤;(#,##0.00 ¤)',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
'ce' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
],
- 'ceb' => [
- 'percent_pattern' => '#,#0%',
- ],
- 'cgg' => [
- 'accounting_currency_pattern' => '¤#,##0.00',
- ],
- 'ckb' => [
- 'numbering_system' => 'arab',
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => '٫',
- 'grouping_separator' => '٬',
- 'plus_sign' => '‏+',
- 'minus_sign' => '‏-',
- 'percent_sign' => '٪',
- ],
'cs' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -251,10 +206,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'cu' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- ],
'cy' => [],
'da' => [
'percent_pattern' => '#,##0 %',
@@ -287,31 +238,12 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'accounting_currency_pattern' => '#,##0.00 ¤',
'grouping_separator' => '’',
],
- 'dje' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- 'grouping_separator' => ' ',
- ],
- 'dsb' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
- 'dyo' => [
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
'dz' => [
'decimal_pattern' => '#,##,##0.###',
'percent_pattern' => '#,##,##0 %',
'currency_pattern' => '¤#,##,##0.00',
'accounting_currency_pattern' => '¤#,##,##0.00',
],
- 'ee' => [],
'el' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
@@ -396,12 +328,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'eo' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
'es' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -523,12 +449,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'minus_sign' => '‎−',
'percent_sign' => '٪',
],
- 'ff' => [
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
'fi' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -538,14 +458,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'minus_sign' => '−',
],
'fil' => [],
- 'fo' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤;(#,##0.00 ¤)',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- 'minus_sign' => '−',
- ],
'fr' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -580,18 +492,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'fur' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
- 'fy' => [
- 'currency_pattern' => '¤ #,##0.00;¤ #,##0.00-',
- 'accounting_currency_pattern' => '¤ #,##0.00;(¤ #,##0.00)',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
'ga' => [],
'gd' => [],
'gl' => [
@@ -614,11 +514,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'currency_pattern' => '¤#,##,##0.00',
'accounting_currency_pattern' => '¤#,##,##0.00;(¤#,##,##0.00)',
],
- 'ha' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- ],
- 'haw' => [],
'he' => [
'currency_pattern' => '‏#,##0.00 ¤;‏-#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
@@ -638,13 +533,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'hsb' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
'hu' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
@@ -662,7 +550,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'ig' => [],
'is' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
@@ -681,35 +568,12 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'grouping_separator' => '’',
],
'ja' => [],
- 'jv' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
'ka' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'kab' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
- 'kea' => [
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤;(#,##0.00 ¤)',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
- 'khq' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- 'grouping_separator' => ' ',
- ],
'kk' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
@@ -722,7 +586,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'kn' => [],
'ko' => [],
'kok' => [
'currency_pattern' => '¤ #,##0.00',
@@ -739,20 +602,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'minus_sign' => '‎-‎',
'percent_sign' => '٪',
],
- 'ksf' => [
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
- 'ksh' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- 'minus_sign' => '−',
- ],
'ku' => [
'percent_pattern' => '%#,##0',
'currency_pattern' => '#,##0.00 ¤',
@@ -773,30 +622,12 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'lg' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- ],
- 'lkt' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- ],
'lo' => [
'currency_pattern' => '¤#,##0.00;¤-#,##0.00',
'accounting_currency_pattern' => '¤#,##0.00;¤-#,##0.00',
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'lrc' => [
- 'numbering_system' => 'arabext',
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => '٫',
- 'grouping_separator' => '٬',
- 'plus_sign' => '‎+‎',
- 'minus_sign' => '‎-‎',
- 'percent_sign' => '٪',
- ],
'lt' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -805,46 +636,16 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'grouping_separator' => ' ',
'minus_sign' => '−',
],
- 'lu' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
- 'luo' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- ],
- 'luy' => [
- 'currency_pattern' => '¤#,##0.00;¤- #,##0.00',
- 'accounting_currency_pattern' => '¤#,##0.00;¤- #,##0.00',
- ],
'lv' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'mas' => [],
- 'mfe' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'grouping_separator' => ' ',
- ],
'mg' => [
'currency_pattern' => '¤ #,##0.00',
'accounting_currency_pattern' => '¤#,##0.00',
],
- 'mgh' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
- 'mi' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- ],
'mk' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -872,27 +673,10 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'mt' => [
'accounting_currency_pattern' => '¤#,##0.00',
],
- 'mua' => [
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
'my' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '¤ #,##0.00',
],
- 'mzn' => [
- 'numbering_system' => 'arabext',
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => '٫',
- 'grouping_separator' => '٬',
- 'plus_sign' => '‎+‎',
- 'minus_sign' => '‎-‎',
- 'percent_sign' => '٪',
- ],
- 'naq' => [
- 'accounting_currency_pattern' => '¤#,##0.00',
- ],
'nb' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '¤ #,##0.00',
@@ -901,14 +685,12 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'grouping_separator' => ' ',
'minus_sign' => '−',
],
- 'nds' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- ],
'ne' => [
'numbering_system' => 'deva',
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
+ 'decimal_pattern' => '#,##,##0.###',
+ 'percent_pattern' => '#,##,##0%',
+ 'currency_pattern' => '¤ #,##,##0.00',
+ 'accounting_currency_pattern' => '¤ #,##,##0.00',
],
'nl' => [
'currency_pattern' => '¤ #,##0.00;¤ -#,##0.00',
@@ -924,15 +706,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'grouping_separator' => ' ',
'minus_sign' => '−',
],
- 'nyn' => [
- 'accounting_currency_pattern' => '¤#,##0.00',
- ],
- 'om' => [
- 'accounting_currency_pattern' => '¤#,##0.00',
- ],
- 'or' => [
- 'decimal_pattern' => '#,##,##0.###',
- ],
'pa' => [
'decimal_pattern' => '#,##,##0.###',
'percent_pattern' => '#,##,##0%',
@@ -955,9 +728,14 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'prg' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
+ 'ps' => [
+ 'numbering_system' => 'arabext',
+ 'currency_pattern' => '#,##0.00 ¤',
+ 'decimal_separator' => '٫',
+ 'grouping_separator' => '٬',
+ 'plus_sign' => '‎+‎',
+ 'minus_sign' => '‎-‎',
+ 'percent_sign' => '٪',
],
'pt' => [
'currency_pattern' => '¤ #,##0.00',
@@ -971,25 +749,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => ' ',
],
- 'qu' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- ],
- 'qu-BO' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
- 'rm' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'grouping_separator' => '’',
- 'minus_sign' => '−',
- ],
'rn' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00¤',
@@ -1004,9 +763,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'rof' => [
- 'accounting_currency_pattern' => '¤#,##0.00',
- ],
'ru' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -1030,31 +786,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'minus_sign' => '؜-',
'percent_sign' => '٪؜',
],
- 'se' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- 'minus_sign' => '−',
- ],
- 'seh' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
- 'ses' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- 'grouping_separator' => ' ',
- ],
- 'sg' => [
- 'currency_pattern' => '¤#,##0.00;¤-#,##0.00',
- 'accounting_currency_pattern' => '¤#,##0.00;¤-#,##0.00',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
'si' => [],
'sk' => [
'percent_pattern' => '#,##0 %',
@@ -1071,13 +802,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'grouping_separator' => '.',
'minus_sign' => '−',
],
- 'smn' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
'so' => [],
'sq' => [
'currency_pattern' => '#,##0.00 ¤',
@@ -1137,9 +861,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'grouping_separator' => ' ',
],
'th' => [],
- 'ti' => [
- 'accounting_currency_pattern' => '¤#,##0.00',
- ],
'tk' => [
'percent_pattern' => '#,##0 %',
'currency_pattern' => '#,##0.00 ¤',
@@ -1156,25 +877,6 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'tt' => [
- 'percent_pattern' => '#,##0 %',
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
- 'twq' => [
- 'currency_pattern' => '#,##0.00¤',
- 'accounting_currency_pattern' => '#,##0.00¤',
- 'grouping_separator' => ' ',
- ],
- 'tzm' => [
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
- 'ug' => [],
'uk' => [
'currency_pattern' => '#,##0.00 ¤',
'accounting_currency_pattern' => '#,##0.00 ¤',
@@ -1222,42 +924,10 @@ class NumberFormatRepository implements NumberFormatRepositoryInterface
'decimal_separator' => ',',
'grouping_separator' => '.',
],
- 'vo' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- ],
- 'wae' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => ',',
- 'grouping_separator' => '’',
- ],
- 'wo' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- 'decimal_separator' => ',',
- 'grouping_separator' => '.',
- ],
- 'xh' => [
- 'accounting_currency_pattern' => '¤#,##0.00',
- 'grouping_separator' => ' ',
- ],
- 'yav' => [
- 'currency_pattern' => '#,##0.00 ¤',
- 'accounting_currency_pattern' => '#,##0.00 ¤;(#,##0.00 ¤)',
- 'decimal_separator' => ',',
- 'grouping_separator' => ' ',
- ],
- 'yi' => [
- 'currency_pattern' => '¤ #,##0.00',
- 'accounting_currency_pattern' => '¤ #,##0.00',
- ],
- 'yo' => [],
'yue' => [],
'yue-Hans' => [],
'zh' => [],
'zh-Hant' => [],
- 'zu' => [],
];
}
}
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index a0ec32622..3dd8f401c 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -1216,6 +1216,7 @@ return array(
'Zotlabs\\Module\\Removeme' => $baseDir . '/Zotlabs/Module/Removeme.php',
'Zotlabs\\Module\\Rmagic' => $baseDir . '/Zotlabs/Module/Rmagic.php',
'Zotlabs\\Module\\Rpost' => $baseDir . '/Zotlabs/Module/Rpost.php',
+ 'Zotlabs\\Module\\Sbom' => $baseDir . '/Zotlabs/Module/Sbom.php',
'Zotlabs\\Module\\Search' => $baseDir . '/Zotlabs/Module/Search.php',
'Zotlabs\\Module\\Search_ac' => $baseDir . '/Zotlabs/Module/Search_ac.php',
'Zotlabs\\Module\\Service_limits' => $baseDir . '/Zotlabs/Module/Service_limits.php',
@@ -1543,6 +1544,7 @@ return array(
'Zotlabs\\Update\\_1235' => $baseDir . '/Zotlabs/Update/_1235.php',
'Zotlabs\\Update\\_1236' => $baseDir . '/Zotlabs/Update/_1236.php',
'Zotlabs\\Update\\_1237' => $baseDir . '/Zotlabs/Update/_1237.php',
+ 'Zotlabs\\Update\\_1238' => $baseDir . '/Zotlabs/Update/_1238.php',
'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php',
'Zotlabs\\Web\\HTTPSig' => $baseDir . '/Zotlabs/Web/HTTPSig.php',
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 3e79682c2..d2b683c72 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -1384,6 +1384,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Removeme' => __DIR__ . '/../..' . '/Zotlabs/Module/Removeme.php',
'Zotlabs\\Module\\Rmagic' => __DIR__ . '/../..' . '/Zotlabs/Module/Rmagic.php',
'Zotlabs\\Module\\Rpost' => __DIR__ . '/../..' . '/Zotlabs/Module/Rpost.php',
+ 'Zotlabs\\Module\\Sbom' => __DIR__ . '/../..' . '/Zotlabs/Module/Sbom.php',
'Zotlabs\\Module\\Search' => __DIR__ . '/../..' . '/Zotlabs/Module/Search.php',
'Zotlabs\\Module\\Search_ac' => __DIR__ . '/../..' . '/Zotlabs/Module/Search_ac.php',
'Zotlabs\\Module\\Service_limits' => __DIR__ . '/../..' . '/Zotlabs/Module/Service_limits.php',
@@ -1711,6 +1712,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Update\\_1235' => __DIR__ . '/../..' . '/Zotlabs/Update/_1235.php',
'Zotlabs\\Update\\_1236' => __DIR__ . '/../..' . '/Zotlabs/Update/_1236.php',
'Zotlabs\\Update\\_1237' => __DIR__ . '/../..' . '/Zotlabs/Update/_1237.php',
+ 'Zotlabs\\Update\\_1238' => __DIR__ . '/../..' . '/Zotlabs/Update/_1238.php',
'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php',
'Zotlabs\\Web\\HTTPSig' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPSig.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 05823b19d..c9fccdaa2 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1,20 +1,20 @@
[
{
"name": "blueimp/jquery-file-upload",
- "version": "v10.21.0",
- "version_normalized": "10.21.0.0",
+ "version": "v10.30.1",
+ "version_normalized": "10.30.1.0",
"source": {
"type": "git",
"url": "https://github.com/vkhramtsov/jQuery-File-Upload.git",
- "reference": "74462f4b06e0f3b006d43cb101226f9d0e1219b7"
+ "reference": "fa90144200874f51eefcaeae1e1a05f0611ddf9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/74462f4b06e0f3b006d43cb101226f9d0e1219b7",
- "reference": "74462f4b06e0f3b006d43cb101226f9d0e1219b7",
+ "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/fa90144200874f51eefcaeae1e1a05f0611ddf9e",
+ "reference": "fa90144200874f51eefcaeae1e1a05f0611ddf9e",
"shasum": ""
},
- "time": "2020-05-06T06:34:07+00:00",
+ "time": "2020-06-10T06:45:27+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -124,27 +124,27 @@
},
{
"name": "commerceguys/intl",
- "version": "v1.0.5",
- "version_normalized": "1.0.5.0",
+ "version": "v1.0.6",
+ "version_normalized": "1.0.6.0",
"source": {
"type": "git",
"url": "https://github.com/commerceguys/intl.git",
- "reference": "6a8c7a8da189d51856b642a61aeb8ae5114fec6c"
+ "reference": "47d5d6d60d0cc25f867e337ce229a228bf6be6f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/commerceguys/intl/zipball/6a8c7a8da189d51856b642a61aeb8ae5114fec6c",
- "reference": "6a8c7a8da189d51856b642a61aeb8ae5114fec6c",
+ "url": "https://api.github.com/repos/commerceguys/intl/zipball/47d5d6d60d0cc25f867e337ce229a228bf6be6f8",
+ "reference": "47d5d6d60d0cc25f867e337ce229a228bf6be6f8",
"shasum": ""
},
"require": {
- "php": ">=5.5.0"
+ "php": ">=7.0.8"
},
"require-dev": {
"mikey179/vfsstream": "1.*",
- "phpunit/phpunit": "~4.0"
+ "phpunit/phpunit": "^6.0"
},
- "time": "2019-10-22T10:40:46+00:00",
+ "time": "2020-05-26T12:19:43+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1263,23 +1263,23 @@
},
{
"name": "twbs/bootstrap",
- "version": "v4.4.1",
- "version_normalized": "4.4.1.0",
+ "version": "v4.5.0",
+ "version_normalized": "4.5.0.0",
"source": {
"type": "git",
"url": "https://github.com/twbs/bootstrap.git",
- "reference": "dca1ab7d877bc4b664b43604657a2b5fbe2b4ecb"
+ "reference": "7a6da5e3e7ad7c749dde806546a35d4d4259d965"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twbs/bootstrap/zipball/dca1ab7d877bc4b664b43604657a2b5fbe2b4ecb",
- "reference": "dca1ab7d877bc4b664b43604657a2b5fbe2b4ecb",
+ "url": "https://api.github.com/repos/twbs/bootstrap/zipball/7a6da5e3e7ad7c749dde806546a35d4d4259d965",
+ "reference": "7a6da5e3e7ad7c749dde806546a35d4d4259d965",
"shasum": ""
},
"replace": {
"twitter/bootstrap": "self.version"
},
- "time": "2019-11-28T12:59:49+00:00",
+ "time": "2020-05-12T17:44:42+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1312,6 +1312,12 @@
"responsive",
"sass",
"web"
+ ],
+ "funding": [
+ {
+ "url": "https://opencollective.com/bootstrap",
+ "type": "open_collective"
+ }
]
}
]
diff --git a/vendor/twbs/bootstrap/.babelrc.js b/vendor/twbs/bootstrap/.babelrc.js
index 44a509954..b17738f86 100644
--- a/vendor/twbs/bootstrap/.babelrc.js
+++ b/vendor/twbs/bootstrap/.babelrc.js
@@ -1,7 +1,7 @@
module.exports = {
presets: [
[
- '@babel/env',
+ '@babel/preset-env',
{
loose: true,
modules: false,
diff --git a/vendor/twbs/bootstrap/bundlesize.config.json b/vendor/twbs/bootstrap/.bundlewatch.config.json
index 91dd0823b..049cf6d7d 100644
--- a/vendor/twbs/bootstrap/bundlesize.config.json
+++ b/vendor/twbs/bootstrap/.bundlewatch.config.json
@@ -30,7 +30,7 @@
},
{
"path": "./dist/js/bootstrap.bundle.min.js",
- "maxSize": "22.25 kB"
+ "maxSize": "21.5 kB"
},
{
"path": "./dist/js/bootstrap.js",
@@ -38,7 +38,13 @@
},
{
"path": "./dist/js/bootstrap.min.js",
- "maxSize": "15.5 kB"
+ "maxSize": "14.75 kB"
}
- ]
+ ],
+ "ci": {
+ "trackBranches": [
+ "master",
+ "v4-dev"
+ ]
+ }
}
diff --git a/vendor/twbs/bootstrap/.eslintrc.json b/vendor/twbs/bootstrap/.eslintrc.json
index e97ed0b0c..78963350a 100644
--- a/vendor/twbs/bootstrap/.eslintrc.json
+++ b/vendor/twbs/bootstrap/.eslintrc.json
@@ -102,7 +102,6 @@
"no-shadow": "off",
"no-shadow-restricted-names": "error",
"no-undef-init": "error",
- "no-undefined": "error",
"no-use-before-define": "off",
// Node.js and CommonJS
@@ -112,7 +111,6 @@
"no-mixed-requires": "error",
"no-new-require": "error",
"no-path-concat": "error",
- "no-process-env": "error",
"no-process-exit": "error",
"no-restricted-modules": "error",
"no-sync": "error",
diff --git a/vendor/twbs/bootstrap/.gitattributes b/vendor/twbs/bootstrap/.gitattributes
index 39813c758..db3ab0961 100644
--- a/vendor/twbs/bootstrap/.gitattributes
+++ b/vendor/twbs/bootstrap/.gitattributes
@@ -4,8 +4,8 @@
*.js text eol=lf
*.json text eol=lf
*.md text eol=lf
-*.rb text eol=lf
*.scss text eol=lf
+*.sh text eol=lf
*.svg text eol=lf
*.txt text eol=lf
*.xml text eol=lf
diff --git a/vendor/twbs/bootstrap/.github/workflows/codeql.yml b/vendor/twbs/bootstrap/.github/workflows/codeql.yml
new file mode 100644
index 000000000..777d812d6
--- /dev/null
+++ b/vendor/twbs/bootstrap/.github/workflows/codeql.yml
@@ -0,0 +1,25 @@
+name: "Code Scanning - Action"
+
+on:
+ push:
+ schedule:
+ - cron: "0 0 * * 0"
+
+jobs:
+ CodeQL-Build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v1
+ with:
+ languages: javascript
+
+ - name: Autobuild
+ uses: github/codeql-action/autobuild@v1
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v1
diff --git a/vendor/twbs/bootstrap/.github/workflows/test.yml b/vendor/twbs/bootstrap/.github/workflows/test.yml
index 9f1b9fb57..0aac36a6b 100644
--- a/vendor/twbs/bootstrap/.github/workflows/test.yml
+++ b/vendor/twbs/bootstrap/.github/workflows/test.yml
@@ -11,66 +11,78 @@ jobs:
strategy:
fail-fast: false
matrix:
- node: [6, 8, 12]
+ node: [10, 12]
+ ruby: [2.6.x]
steps:
- name: Clone repository
- uses: actions/checkout@v1
- with:
- fetch-depth: 3
+ uses: actions/checkout@v2
- name: Set Node.js version
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node }}
- - name: Set up Ruby 2.4
+ - name: Set up Ruby
uses: actions/setup-ruby@v1
with:
- ruby-version: 2.4.x
+ ruby-version: ${{ matrix.ruby }}
- name: Disable gem docs
run: 'echo "gem: --no-document" > ~/.gemrc'
+ - name: Set up Ruby cache
+ uses: actions/cache@v1
+ with:
+ path: vendor/bundle
+ key: ${{ runner.os }}-ruby-v${{ matrix.ruby }}-${{ hashFiles('Gemfile') }}-${{ hashFiles('Gemfile.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-ruby-v${{ matrix.ruby }}-${{ hashFiles('Gemfile') }}-${{ hashFiles('Gemfile.lock') }}
+ ${{ runner.os }}-ruby-v${{ matrix.ruby }}-
+
+ - name: Set up npm cache
+ uses: actions/cache@v1
+ with:
+ path: ~/.npm
+ key: ${{ runner.os }}-node-v${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+ restore-keys: |
+ ${{ runner.OS }}-node-v${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+ ${{ runner.OS }}-node-v${{ matrix.node }}-
+
- name: Set up Bundler
run: gem install bundler -v "~> 1.17"
- run: ruby --version
- run: gem --version
- run: bundle --version
- - run: node --version
- - run: npm --version
- run: java -version
- name: Install npm dependencies
- run: npm install
+ run: npm ci
- name: Install bundler dependencies
- run: bundle install --deployment --jobs=3 --retry=3 --clean
+ run: bundle install --deployment --jobs=4 --retry=3 --clean
- name: Run tests
run: npm test
- - name: Run bundlesize
- run: npm run bundlesize
- if: matrix.node == 8
+ - name: Run bundlewatch
+ run: npm run bundlewatch
+ if: matrix.node == 10
env:
- BUNDLESIZE_GITHUB_TOKEN: "${{ secrets.BUNDLESIZE_GITHUB_TOKEN }}"
+ BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}"
+ CI_BRANCH_BASE: v4-dev
- name: Run BrowserStack tests
run: npm run js-test-cloud
- if: matrix.node == 8 && github.repository == 'twbs/bootstrap' && github.event_name == 'push'
+ if: matrix.node == 10 && github.repository == 'twbs/bootstrap' && github.event_name == 'push'
env:
BROWSER_STACK_ACCESS_KEY: "${{ secrets.BROWSER_STACK_ACCESS_KEY }}"
BROWSER_STACK_USERNAME: "${{ secrets.BROWSER_STACK_USERNAME }}"
- - name: Run Link Checker
- run: npm run check-broken-links
- if: matrix.node == 8
-
- name: Run Coveralls
uses: coverallsapp/github-action@master
- if: matrix.node == 8
+ if: matrix.node == 10
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
path-to-lcov: "./js/coverage/lcov.info"
diff --git a/vendor/twbs/bootstrap/.gitignore b/vendor/twbs/bootstrap/.gitignore
index fd07f09e0..ecef861f8 100644
--- a/vendor/twbs/bootstrap/.gitignore
+++ b/vendor/twbs/bootstrap/.gitignore
@@ -1,5 +1,6 @@
# Ignore docs files
/_gh_pages/
+/site/.jekyll-cache
/site/.jekyll-metadata
/site/docs/**/dist/
# Hugo folders
diff --git a/vendor/twbs/bootstrap/Gemfile b/vendor/twbs/bootstrap/Gemfile
index f8e68fe11..8d3726c16 100644
--- a/vendor/twbs/bootstrap/Gemfile
+++ b/vendor/twbs/bootstrap/Gemfile
@@ -1,9 +1,9 @@
source 'https://rubygems.org'
group :development, :test do
- gem 'jekyll', '~> 3.8.6'
- gem 'jekyll-redirect-from', '~> 0.15.0'
+ gem 'jekyll', '~> 4.0.1'
+ gem 'jekyll-redirect-from', '~> 0.16.0'
gem 'jekyll-sitemap', '~> 1.4.0'
- gem 'jekyll-toc', '~> 0.11.0'
+ gem 'jekyll-toc', '~> 0.14.0'
gem 'wdm', '~> 0.1.1', :install_if => Gem.win_platform?
end
diff --git a/vendor/twbs/bootstrap/LICENSE b/vendor/twbs/bootstrap/LICENSE
index 7d1e2311f..173a9ebbb 100644
--- a/vendor/twbs/bootstrap/LICENSE
+++ b/vendor/twbs/bootstrap/LICENSE
@@ -1,7 +1,7 @@
The MIT License (MIT)
-Copyright (c) 2011-2019 Twitter, Inc.
-Copyright (c) 2011-2019 The Bootstrap Authors
+Copyright (c) 2011-2020 Twitter, Inc.
+Copyright (c) 2011-2020 The Bootstrap Authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/twbs/bootstrap/README.md b/vendor/twbs/bootstrap/README.md
index d70069ee2..36beccd3f 100644
--- a/vendor/twbs/bootstrap/README.md
+++ b/vendor/twbs/bootstrap/README.md
@@ -1,6 +1,6 @@
<p align="center">
<a href="https://getbootstrap.com/">
- <img src="https://getbootstrap.com/docs/4.4/assets/brand/bootstrap-solid.svg" alt="Bootstrap logo" width="72" height="72">
+ <img src="https://getbootstrap.com/docs/4.5/assets/brand/bootstrap-solid.svg" alt="Bootstrap logo" width="72" height="72">
</a>
</p>
@@ -9,7 +9,7 @@
<p align="center">
Sleek, intuitive, and powerful front-end framework for faster and easier web development.
<br>
- <a href="https://getbootstrap.com/docs/4.4/"><strong>Explore Bootstrap docs »</strong></a>
+ <a href="https://getbootstrap.com/docs/4.5/"><strong>Explore Bootstrap docs »</strong></a>
<br>
<br>
<a href="https://github.com/twbs/bootstrap/issues/new?template=bug.md">Report bug</a>
@@ -41,20 +41,20 @@
Several quick start options are available:
-- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.4.1.zip)
+- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.5.0.zip)
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap`
-- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@4.4.1`
-- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:4.4.1`
+- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@4.5.0`
+- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:4.5.0`
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass`
-Read the [Getting started page](https://getbootstrap.com/docs/4.4/getting-started/introduction/) for information on the framework contents, templates and examples, and more.
+Read the [Getting started page](https://getbootstrap.com/docs/4.5/getting-started/introduction/) for information on the framework contents, templates and examples, and more.
## Status
[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com/)
-[![Build Status](https://github.com/twbs/bootstrap/workflows/Tests/badge.svg)](https://github.com/twbs/bootstrap/actions?workflow=Tests)
+[![Build Status](https://github.com/twbs/bootstrap/workflows/Tests/badge.svg?branch=v4-dev)](https://github.com/twbs/bootstrap/actions?query=workflow%3ATests+branch%3Av4-dev)
[![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap)
[![Gem version](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap)
[![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue.svg)](https://atmospherejs.com/twbs/bootstrap)
@@ -113,11 +113,11 @@ Have a bug or a feature request? Please first read the [issue guidelines](https:
Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at <https://getbootstrap.com/>. The docs may also be run locally.
-Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in `site/docs/4.4/assets/js/src/search.js` file.
+Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in `site/docs/4.5/assets/js/src/search.js` file.
### Running documentation locally
-1. Run through the [tooling setup](https://getbootstrap.com/docs/4.4/getting-started/build-tools/#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
+1. Run through the [tooling setup](https://getbootstrap.com/docs/4.5/getting-started/build-tools/#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
2. Run `npm install` to install Node.js dependencies.
3. Run `npm start` to compile CSS and JavaScript files, generate our docs, and watch for changes.
4. Open `http://localhost:9001` in your browser, and voilà.
@@ -181,13 +181,6 @@ See [the Releases section of our GitHub project](https://github.com/twbs/bootstr
Thanks to [BrowserStack](https://www.browserstack.com/) for providing the infrastructure that allows us to test in real browsers!
-## Backers
-
-Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/bootstrap#backer)]
-
-[![Bakers](https://opencollective.com/bootstrap/backers.svg?width=890)](https://opencollective.com/bootstrap#backers)
-
-
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/bootstrap#sponsor)]
@@ -204,6 +197,13 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
[![](https://opencollective.com/bootstrap/sponsor/9/avatar.svg)](https://opencollective.com/bootstrap/sponsor/9/website)
+## Backers
+
+Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/bootstrap#backer)]
+
+[![Backers](https://opencollective.com/bootstrap/backers.svg?width=890)](https://opencollective.com/bootstrap#backers)
+
+
## Copyright and license
-Code and documentation copyright 2011-2019 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/).
+Code and documentation copyright 2011-2020 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/).
diff --git a/vendor/twbs/bootstrap/_config.yml b/vendor/twbs/bootstrap/_config.yml
index d43107fc5..83b32c0a7 100644
--- a/vendor/twbs/bootstrap/_config.yml
+++ b/vendor/twbs/bootstrap/_config.yml
@@ -17,25 +17,29 @@ baseurl: ""
url: "https://getbootstrap.com"
encoding: UTF-8
exclude:
- - docs/4.4/assets/scss/
+ - docs/4.5/assets/scss/
plugins:
- jekyll-redirect-from
- jekyll-sitemap
- jekyll-toc
+redirect_from:
+ json: false
+
# Social
title: Bootstrap
description: "The most popular HTML, CSS, and JS library in the world."
twitter: getbootstrap
authors: "Mark Otto, Jacob Thornton, and Bootstrap contributors"
-social_image_path: /docs/4.4/assets/brand/bootstrap-social.png
-social_logo_path: /docs/4.4/assets/brand/bootstrap-social-logo.png
+social_image_path: /docs/4.5/assets/brand/bootstrap-social.png
+social_logo_path: /docs/4.5/assets/brand/bootstrap-social-logo.png
# Custom variables
-current_version: 4.4.1
-current_ruby_version: 4.4.1
-docs_version: 4.4
+current_version: 4.5.0
+current_ruby_version: 4.5.0
+docs_version: 4.5
+github_org: "https://github.com/twbs"
repo: "https://github.com/twbs/bootstrap"
slack: "https://bootstrap-slack.herokuapp.com"
opencollective: "https://opencollective.com/bootstrap"
@@ -45,19 +49,20 @@ themes: "https://themes.getbootstrap.com"
icons: "https://icons.getbootstrap.com"
download:
- source: "https://github.com/twbs/bootstrap/archive/v4.4.1.zip"
- dist: "https://github.com/twbs/bootstrap/releases/download/v4.4.1/bootstrap-4.4.1-dist.zip"
+ source: "https://github.com/twbs/bootstrap/archive/v4.5.0.zip"
+ dist: "https://github.com/twbs/bootstrap/releases/download/v4.5.0/bootstrap-4.5.0-dist.zip"
+ dist_examples: "https://github.com/twbs/bootstrap/releases/download/v4.5.0/bootstrap-4.5.0-examples.zip"
cdn:
# See https://www.srihash.org for info on how to generate the hashes
- css: "https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
- css_hash: "sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
- js: "https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
- js_hash: "sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
- js_bundle: "https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.bundle.min.js"
- js_bundle_hash: "sha384-6khuMg9gaYr5AxOqhkVIODVIvm9ynTT5J4V1cfthmT+emCG6yVmEZsRHdxlotUnm"
- jquery: "https://code.jquery.com/jquery-3.4.1.slim.min.js"
- jquery_hash: "sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
+ css: "https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"
+ css_hash: "sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk"
+ js: "https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"
+ js_hash: "sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI"
+ js_bundle: "https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.bundle.min.js"
+ js_bundle_hash: "sha384-1CmrxMRARb6aLqgBO7yyAxTOQE2AKb9GfXnEo760AUcUmFx3ibVJJAzGytlQcNXd"
+ jquery: "https://code.jquery.com/jquery-3.5.1.slim.min.js"
+ jquery_hash: "sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
popper: "https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
popper_hash: "sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
diff --git a/vendor/twbs/bootstrap/build/.eslintrc.json b/vendor/twbs/bootstrap/build/.eslintrc.json
index 76e7f37b6..e406f9f69 100644
--- a/vendor/twbs/bootstrap/build/.eslintrc.json
+++ b/vendor/twbs/bootstrap/build/.eslintrc.json
@@ -12,7 +12,6 @@
"func-style": "off",
"no-console": "off",
"no-magic-numbers": "off",
- "no-process-env": "off",
"no-process-exit": "off",
"no-sync": "off",
"spaced-comment": "off"
diff --git a/vendor/twbs/bootstrap/build/babel-helpers.js b/vendor/twbs/bootstrap/build/babel-helpers.js
new file mode 100644
index 000000000..d444628f6
--- /dev/null
+++ b/vendor/twbs/bootstrap/build/babel-helpers.js
@@ -0,0 +1,13 @@
+'use strict'
+
+// These are the babel helpers we whitelist
+const helpers = [
+ 'createClass',
+ 'createSuper',
+ 'defineProperties',
+ 'defineProperty',
+ 'inheritsLoose',
+ 'objectSpread2'
+]
+
+module.exports = helpers
diff --git a/vendor/twbs/bootstrap/build/build-plugins.js b/vendor/twbs/bootstrap/build/build-plugins.js
index 877621636..9e4f2e1c3 100644
--- a/vendor/twbs/bootstrap/build/build-plugins.js
+++ b/vendor/twbs/bootstrap/build/build-plugins.js
@@ -1,7 +1,9 @@
+#!/usr/bin/env node
+
/*!
* Script to build our plugins to use them separately.
- * Copyright 2019 The Bootstrap Authors
- * Copyright 2019 Twitter, Inc.
+ * Copyright 2020 The Bootstrap Authors
+ * Copyright 2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@@ -11,18 +13,15 @@ const path = require('path')
const rollup = require('rollup')
const babel = require('rollup-plugin-babel')
const banner = require('./banner.js')
+const babelHelpers = require('./babel-helpers.js')
const TEST = process.env.NODE_ENV === 'test'
const plugins = [
babel({
- exclude: 'node_modules/**', // Only transpile our source code
- externalHelpersWhitelist: [ // Include only required helpers
- 'defineProperties',
- 'createClass',
- 'inheritsLoose',
- 'defineProperty',
- 'objectSpread2'
- ]
+ // Only transpile our source code
+ exclude: 'node_modules/**',
+ // Include only required helpers
+ externalHelpersWhitelist: babelHelpers
})
]
const bsPlugins = {
@@ -41,7 +40,7 @@ const bsPlugins = {
}
const rootPath = TEST ? '../js/coverage/dist/' : '../js/dist/'
-function build(plugin) {
+const build = async (plugin) => {
console.log(`Building ${plugin} plugin...`)
const external = ['jquery', 'popper.js']
@@ -63,23 +62,32 @@ function build(plugin) {
}
const pluginFilename = `${plugin.toLowerCase()}.js`
-
- rollup.rollup({
+ const bundle = await rollup.rollup({
input: bsPlugins[plugin],
plugins,
external
- }).then((bundle) => {
- bundle.write({
- banner: banner(pluginFilename),
- format: 'umd',
- name: plugin,
- sourcemap: true,
- globals,
- file: path.resolve(__dirname, `${rootPath}${pluginFilename}`)
- })
- .then(() => console.log(`Building ${plugin} plugin... Done!`))
- .catch((err) => console.error(`${plugin}: ${err}`))
})
+
+ await bundle.write({
+ banner: banner(pluginFilename),
+ format: 'umd',
+ name: plugin,
+ sourcemap: true,
+ globals,
+ file: path.resolve(__dirname, `${rootPath}${pluginFilename}`)
+ })
+
+ console.log(`Building ${plugin} plugin... Done!`)
+}
+
+const main = async () => {
+ try {
+ await Promise.all(Object.keys(bsPlugins).map((plugin) => build(plugin)))
+ } catch (error) {
+ console.error(error)
+
+ process.exit(1)
+ }
}
-Object.keys(bsPlugins).forEach((plugin) => build(plugin))
+main()
diff --git a/vendor/twbs/bootstrap/build/change-version.js b/vendor/twbs/bootstrap/build/change-version.js
index f068e2a70..ec3c77857 100644
--- a/vendor/twbs/bootstrap/build/change-version.js
+++ b/vendor/twbs/bootstrap/build/change-version.js
@@ -2,8 +2,8 @@
/*!
* Script to update version number references in the project.
- * Copyright 2017-2019 The Bootstrap Authors
- * Copyright 2017-2019 Twitter, Inc.
+ * Copyright 2017-2020 The Bootstrap Authors
+ * Copyright 2017-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@@ -17,11 +17,11 @@ sh.config.fatal = true
// Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37
function regExpQuote(string) {
- return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&')
+ return string.replace(/[$()*+.?[\\\]^{|}-]/g, '\\$&')
}
function regExpQuoteReplacement(string) {
- return string.replace(/[$]/g, '$$')
+ return string.replace(/\$/g, '$$')
}
const DRY_RUN = false
@@ -95,7 +95,6 @@ function main(args) {
'.js',
'.json',
'.md',
- '.nuspec',
'.scss',
'.txt',
'.yml'
diff --git a/vendor/twbs/bootstrap/build/generate-sri.js b/vendor/twbs/bootstrap/build/generate-sri.js
index 66544d4ad..ca2920ef2 100644
--- a/vendor/twbs/bootstrap/build/generate-sri.js
+++ b/vendor/twbs/bootstrap/build/generate-sri.js
@@ -5,8 +5,8 @@
* Remember to use the same vendor files as the CDN ones,
* otherwise the hashes won't match!
*
- * Copyright 2017-2019 The Bootstrap Authors
- * Copyright 2017-2019 Twitter, Inc.
+ * Copyright 2017-2020 The Bootstrap Authors
+ * Copyright 2017-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
diff --git a/vendor/twbs/bootstrap/build/rollup.config.js b/vendor/twbs/bootstrap/build/rollup.config.js
index 0dfa5d48a..2d43194fe 100644
--- a/vendor/twbs/bootstrap/build/rollup.config.js
+++ b/vendor/twbs/bootstrap/build/rollup.config.js
@@ -2,8 +2,9 @@
const path = require('path')
const babel = require('rollup-plugin-babel')
-const resolve = require('rollup-plugin-node-resolve')
+const resolve = require('@rollup/plugin-node-resolve')
const banner = require('./banner.js')
+const babelHelpers = require('./babel-helpers.js')
const BUNDLE = process.env.BUNDLE === 'true'
@@ -11,14 +12,10 @@ let fileDest = 'bootstrap.js'
const external = ['jquery', 'popper.js']
const plugins = [
babel({
- exclude: 'node_modules/**', // Only transpile our source code
- externalHelpersWhitelist: [ // Include only required helpers
- 'defineProperties',
- 'createClass',
- 'inheritsLoose',
- 'defineProperty',
- 'objectSpread2'
- ]
+ // Only transpile our source code
+ exclude: 'node_modules/**',
+ // Include only required helpers
+ externalHelpersWhitelist: babelHelpers
})
]
const globals = {
diff --git a/vendor/twbs/bootstrap/build/ship.sh b/vendor/twbs/bootstrap/build/ship.sh
index 289284383..f1c5e38e3 100644
--- a/vendor/twbs/bootstrap/build/ship.sh
+++ b/vendor/twbs/bootstrap/build/ship.sh
@@ -1,4 +1,7 @@
#!/usr/bin/env bash
+
+set -e
+
#
# Usage
# ---------------
@@ -18,35 +21,35 @@ end=$'\e[0m'
current_version=$(node -p "require('./package.json').version")
if [[ $# -lt 1 ]]; then
- printf "\n%s⚠️ Shipping aborted. You must specify a version.\n%s" $red $end
+ printf "\n%s⚠️ Shipping aborted. You must specify a version.\n%s" "$red" "$end"
exit 1
fi
# Pulling latest changes, just to be sure
-printf "\n%s=======================================================%s" $magenta $end
-printf "\n%sPulling latest changes...%s" $magenta $end
-printf "\n%s=======================================================\n\n%s" $magenta $end
+printf "\n%s=======================================================%s" "$magenta" "$end"
+printf "\n%sPulling latest changes...%s" "$magenta" "$end"
+printf "\n%s=======================================================\n\n%s" "$magenta" "$end"
git pull origin v4-dev
# Update version number
-printf "\n%s=======================================================%s" $magenta $end
-printf "\n%sUpdating version number...%s" $magenta $end
-printf "\n%s=======================================================\n%s" $magenta $end
+printf "\n%s=======================================================%s" "$magenta" "$end"
+printf "\n%sUpdating version number...%s" "$magenta" "$end"
+printf "\n%s=======================================================\n%s" "$magenta" "$end"
npm run release-version "$current_version" "$1"
# Build release
-printf "\n%s=======================================================%s" $magenta $end
-printf "\n%sBuilding release...%s" $magenta $end
-printf "\n%s=======================================================\n%s" $magenta $end
+printf "\n%s=======================================================%s" "$magenta" "$end"
+printf "\n%sBuilding release...%s" "$magenta" "$end"
+printf "\n%s=======================================================\n%s" "$magenta" "$end"
npm run release
# Copy the contents of the built docs site over to `bs-docs` repo
-printf "\n%s=======================================================%s" $magenta $end
-printf "\n%sCopy it over...%s" $magenta $end
-printf "\n%s=======================================================\n%s" $magenta $end
+printf "\n%s=======================================================%s" "$magenta" "$end"
+printf "\n%sCopy it over...%s" "$magenta" "$end"
+printf "\n%s=======================================================\n%s" "$magenta" "$end"
cp -rf _gh_pages/. ../bs-docs/
printf "\nDone!\n"
-printf "\n%s=======================================================%s" $green $end
-printf "\n%sSuccess, $1 is ready to review and publish.%s" $green $end
-printf "\n%s=======================================================\n\n%s" $green $end
+printf "\n%s=======================================================%s" "$green" "$end"
+printf "\n%sSuccess, $1 is ready to review and publish.%s" "$green" "$end"
+printf "\n%s=======================================================\n\n%s" "$green" "$end"
diff --git a/vendor/twbs/bootstrap/build/vnu-jar.js b/vendor/twbs/bootstrap/build/vnu-jar.js
index 8567ba89d..ebd027adc 100644
--- a/vendor/twbs/bootstrap/build/vnu-jar.js
+++ b/vendor/twbs/bootstrap/build/vnu-jar.js
@@ -2,8 +2,8 @@
/*!
* Script to run vnu-jar if Java is available.
- * Copyright 2017-2019 The Bootstrap Authors
- * Copyright 2017-2019 Twitter, Inc.
+ * Copyright 2017-2020 The Bootstrap Authors
+ * Copyright 2017-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@@ -18,7 +18,7 @@ childProcess.exec('java -version', (error, stdout, stderr) => {
return
}
- const is32bitJava = !stderr.match(/64-Bit/)
+ const is32bitJava = !/64-Bit/.test(stderr)
// vnu-jar accepts multiple ignores joined with a `|`.
// Also note that the ignores are regular expressions.
diff --git a/vendor/twbs/bootstrap/build/zip-examples.js b/vendor/twbs/bootstrap/build/zip-examples.js
new file mode 100644
index 000000000..3f7fb9abb
--- /dev/null
+++ b/vendor/twbs/bootstrap/build/zip-examples.js
@@ -0,0 +1,63 @@
+#!/usr/bin/env node
+
+/*!
+ * Script to create the built examples zip archive;
+ * requires the `zip` command to be present!
+ * Copyright 2020 The Bootstrap Authors
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+'use strict'
+
+const path = require('path')
+const sh = require('shelljs')
+
+const {
+ version, version_short: versionShort
+} = require('../package.json')
+
+const folderName = `bootstrap-${version}-examples`
+
+sh.config.fatal = true
+
+if (!sh.test('-d', '_gh_pages')) {
+ throw new Error('The "_gh_pages" folder does not exist, did you forget building the docs?')
+}
+
+// switch to the root dir
+sh.cd(path.join(__dirname, '..'))
+
+// remove any previously created folder with the same name
+sh.rm('-rf', folderName)
+// create any folders so that `cp` works
+sh.mkdir('-p', folderName)
+sh.mkdir('-p', `${folderName}/assets/brand/`)
+
+sh.cp('-Rf', `_gh_pages/docs/${versionShort}/examples/*`, folderName)
+sh.cp('-Rf', `_gh_pages/docs/${versionShort}/dist/`, `${folderName}/assets/`)
+// also copy the two brand images we use in the examples
+sh.cp('-f', [
+ `_gh_pages/docs/${versionShort}/assets/brand/bootstrap-outline.svg`,
+ `_gh_pages/docs/${versionShort}/assets/brand/bootstrap-solid.svg`
+], `${folderName}/assets/brand/`)
+sh.rm(`${folderName}/index.html`)
+
+// get all examples' HTML files
+sh.find(`${folderName}/**/*.html`).forEach((file) => {
+ const fileContents = sh.cat(file)
+ .toString()
+ .replace(new RegExp(`"/docs/${versionShort}/`, 'g'), '"../')
+ .replace(/"..\/dist\//g, '"../assets/dist/')
+ .replace(/(<link href="\.\.\/.*) integrity=".*>/g, '$1>')
+ .replace(/(<script src="\.\.\/.*) integrity=".*>/g, '$1></script>')
+ .replace(/( +)<!-- favicons(.|\n)+<style>/i, ' <style>')
+ new sh.ShellString(fileContents).to(file)
+})
+
+// create the zip file
+sh.exec(`zip -r9 "${folderName}.zip" "${folderName}"`, {
+ fatal: true
+})
+
+// remove the folder we created
+sh.rm('-rf', folderName)
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap-grid.css b/vendor/twbs/bootstrap/dist/css/bootstrap-grid.css
index 259a9e2c6..40ee85d9e 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap-grid.css
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap-grid.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap Grid v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
html {
@@ -116,6 +116,7 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
@@ -359,6 +360,7 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
.row-cols-sm-1 > * {
@@ -561,6 +563,7 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
.row-cols-md-1 > * {
@@ -763,6 +766,7 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
.row-cols-lg-1 > * {
@@ -965,6 +969,7 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
.row-cols-xl-1 > * {
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap-grid.css.map b/vendor/twbs/bootstrap/dist/css/bootstrap-grid.css.map
index 8661e3e35..57efc43be 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap-grid.css.map
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap-grid.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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Z;ELw1BlB;EKv1BM;IAAwB,iBADZ;IACY,QADZ;EL21BlB;EK11BM;IAAwB,iBADZ;IACY,QADZ;EL81BlB;EK71BM;IAAwB,iBADZ;IACY,QADZ;ELi2BlB;EKh2BM;IAAwB,iBADZ;IACY,QADZ;ELo2BlB;EKn2BM;IAAwB,iBADZ;IACY,QADZ;ELu2BlB;EKt2BM;IAAwB,iBADZ;IACY,QADZ;EL02BlB;EKz2BM;IAAwB,iBADZ;IACY,QADZ;EL62BlB;EK52BM;IAAwB,kBADZ;IACY,SADZ;ELg3BlB;EK/2BM;IAAwB,kBADZ;IACY,SADZ;ELm3BlB;EKl3BM;IAAwB,kBADZ;IACY,SADZ;ELs3BlB;EK/2BQ;IHRR,cAA4B;EF03B5B;EKl3BQ;IHRR,sBAA8C;EF63B9C;EKr3BQ;IHRR,uBAA8C;EFg4B9C;EKx3BQ;IHRR,gBAA8C;EFm4B9C;EK33BQ;IHRR,uBAA8C;EFs4B9C;EK93BQ;IHRR,uBAA8C;EFy4B9C;EKj4BQ;IHRR,gBAA8C;EF44B9C;EKp4BQ;IHRR,uBAA8C;EF+4B9C;EKv4BQ;IHRR,uBAA8C;EFk5B9C;EK14BQ;IHRR,gBAA8C;EFq5B9C;EK74BQ;IHRR,uBAA8C;EFw5B9C;EKh5BQ;IHRR,uBAA8C;EF25B9C;AACF;;AMx8BM;EAAwB,wBAA0B;AN48BxD;;AM58BM;EAAwB,0BAA0B;ANg9BxD;;AMh9BM;EAAwB,gCAA0B;ANo9BxD;;AMp9BM;EAAwB,yBAA0B;ANw9BxD;;AMx9BM;EAAwB,yBAA0B;AN49BxD;;AM59BM;EAAwB,6BAA0B;ANg+BxD;;AMh+BM;EAAwB,8BAA0B;ANo+BxD;;AMp+BM;EAAwB,+BAA0B;EAA1B,wBAA0B;ANw+BxD;;AMx+BM;EAAwB,sCAA0B;EAA1B,+BAA0B;AN4+BxD;;AG37BI;EGjDE;IAAwB,wBAA0B;ENi/BtD;EMj/BI;IAAwB,0BAA0B;ENo/BtD;EMp/BI;IAAwB,gCAA0B;ENu/BtD;EMv/BI;IAAwB,yBAA0B;EN0/BtD;EM1/BI;IAAwB,yBAA0B;EN6/BtD;EM7/BI;IAAwB,6BAA0B;ENggCtD;EMhgCI;IAAwB,8BAA0B;ENmgCtD;EM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A0C;ARurDpD;;AQrrDQ;;EAEE,yBAAsC;ARwrDhD;;AQvsDQ;EAAgC,0BAA4B;AR2sDpE;;AQ1sDQ;;EAEE,8BAAoC;AR6sD9C;;AQ3sDQ;;EAEE,gCAAwC;AR8sDlD;;AQ5sDQ;;EAEE,iCAA0C;AR+sDpD;;AQ7sDQ;;EAEE,+BAAsC;ARgtDhD;;AQ/tDQ;EAAgC,yBAA4B;ARmuDpE;;AQluDQ;;EAEE,6BAAoC;ARquD9C;;AQnuDQ;;EAEE,+BAAwC;ARsuDlD;;AQpuDQ;;EAEE,gCAA0C;ARuuDpD;;AQruDQ;;EAEE,8BAAsC;ARwuDhD;;AQvvDQ;EAAgC,uBAA4B;AR2vDpE;;AQ1vDQ;;EAEE,2BAAoC;AR6vD9C;;AQ3vDQ;;EAEE,6BAAwC;AR8vDlD;;AQ5vDQ;;EAEE,8BAA0C;AR+vDpD;;AQ7vDQ;;EAEE,4BAAsC;ARgwDhD;;AQ/wDQ;EAAgC,yBAA4B;ARmxDpE;;AQlxDQ;;EAEE,6BAAoC;ARqxD9C;;AQnxDQ;;EAEE,+BAAwC;ARsxDlD;;AQpxDQ;;EAEE,gCAA0C;ARuxDpD;;AQrxDQ;;EAEE,8BAAsC;ARwxDhD;;AQvyDQ;EAAgC,uBAA4B;AR2yDpE;;AQ1yDQ;;EAEE,2BAAoC;AR6yD9C;;AQ3yDQ;;EAEE,6BAAwC;AR8yDlD;;AQ5yDQ;;EAEE,8BAA0C;AR+yDpD;;AQ7yDQ;;EAEE,4BAAsC;ARgzDhD;;AQ/zDQ;EAAgC,qBAA4B;ARm0DpE;;AQl0DQ;;EAEE,yBAAoC;ARq0D9C;;AQn0DQ;;EAEE,2BAAwC;ARs0DlD;;AQp0DQ;;EAEE,4BAA0C;ARu0DpD;;AQr0DQ;;EAEE,0BAAsC;ARw0DhD;;AQv1DQ;EAAgC,2BAA4B;AR21DpE;;AQ11DQ;;EAEE,+BAAoC;AR61D9C;;AQ31DQ;;EAEE,iCAAwC;AR81DlD;;AQ51DQ;;EAEE,kCAA0C;AR+1DpD;;AQ71DQ;;EAEE,gCAAsC;ARg2DhD;;AQ/2DQ;EAAgC,0BAA4B;ARm3DpE;;AQl3DQ;;EAEE,8BAAoC;ARq3D9C;;AQn3DQ;;EAEE,gCAAwC;ARs3DlD;;AQp3DQ;;EAEE,iCAA0C;ARu3DpD;;AQr3DQ;;EAEE,+BAAsC;ARw3DhD;;AQv4DQ;EAAgC,wBAA4B;AR24DpE;;AQ14DQ;;EAEE,4BAAoC;AR64D9C;;AQ34DQ;;EAEE,8BAAwC;AR84DlD;;AQ54DQ;;EAEE,+BAA0C;AR+4DpD;;AQ74DQ;;EAEE,6BAAsC;ARg5DhD;;AQ/5DQ;EAAgC,0BAA4B;ARm6DpE;;AQl6DQ;;EAEE,8BAAoC;ARq6D9C;;AQn6DQ;;EAEE,gCAAwC;ARs6DlD;;AQp6DQ;;EAEE,iCAA0C;ARu6DpD;;AQr6DQ;;EAEE,+BAAsC;ARw6DhD;;AQv7DQ;EAAgC,wBAA4B;AR27DpE;;AQ17DQ;;EAEE,4BAAoC;AR67D9C;;AQ37DQ;;EAEE,8BAAwC;AR87DlD;;AQ57DQ;;EAEE,+BAA0C;AR+7DpD;;AQ77DQ;;EAEE,6BAAsC;ARg8DhD;;AQx7DQ;EAAwB,2BAA2B;AR47D3D;;AQ37DQ;;EAEE,+BAA+B;AR87DzC;;AQ57DQ;;EAEE,iCAAiC;AR+7D3C;;AQ77DQ;;EAEE,kCAAkC;ARg8D5C;;AQ97DQ;;EAEE,gCAAgC;ARi8D1C;;AQh9DQ;EAAwB,0BAA2B;ARo9D3D;;AQn9DQ;;EAEE,8BAA+B;ARs9DzC;;AQp9DQ;;EAEE,gCAAiC;ARu9D3C;;AQr9DQ;;EAEE,iCAAkC;ARw9D5C;;AQt9DQ;;EAEE,+BAAgC;ARy9D1C;;AQx+DQ;EAAwB,wBAA2B;AR4+D3D;;AQ3+DQ;;EAEE,4BAA+B;AR8+DzC;;AQ5+DQ;;EAEE,8BAAiC;AR++D3C;;AQ7+DQ;;EAEE,+BAAkC;ARg/D5C;;AQ9+DQ;;EAEE,6BAAgC;ARi/D1C;;AQhgEQ;EAAwB,0BAA2B;ARogE3D;;AQngEQ;;EAEE,8BAA+B;ARsgEzC;;AQpgEQ;;EAEE,gCAAiC;ARugE3C;;AQrgEQ;;EAEE,iCAAkC;ARwgE5C;;AQtgEQ;;EAEE,+BAAgC;ARygE1C;;AQxhEQ;EAAwB,wBAA2B;AR4hE3D;;AQ3hEQ;;EAEE,4BAA+B;AR8hEzC;;AQ5hEQ;;EAEE,8BAAiC;AR+hE3C;;AQ7hEQ;;EAEE,+BAAkC;ARgiE5C;;AQ9hEQ;;EAEE,6BAAgC;ARiiE1C;;AQ3hEI;EAAmB,uBAAuB;AR+hE9C;;AQ9hEI;;EAEE,2BAA2B;ARiiEjC;;AQ/hEI;;EAEE,6BAA6B;ARkiEnC;;AQhiEI;;EAEE,8BAA8B;ARmiEpC;;AQjiEI;;EAEE,4BAA4B;ARoiElC;;AG7iEI;EKlDI;IAAgC,oBAA4B;ERomElE;EQnmEM;;IAEE,wBAAoC;ERqmE5C;EQnmEM;;IAEE,0BAAwC;ERqmEhD;EQnmEM;;IAEE,2BAA0C;ERqmElD;EQnmEM;;IAEE,yBAAsC;ERqmE9C;EQpnEM;IAAgC,0BAA4B;ERunElE;EQtnEM;;IAEE,8BAAoC;ERwnE5C;EQtnEM;;IAEE,gCAAwC;ERwnEhD;EQtnEM;;IAEE,iCAA0C;ERwnElD;EQtnEM;;IAEE,+BAAsC;ERwnE9C;EQvoEM;IAAgC,yBAA4B;ER0oElE;EQzoEM;;IAEE,6BAAoC;ER2oE5C;EQzoEM;;IAEE,+BAAwC;ER2oEhD;EQzoEM;;IAEE,gCAA0C;ER2oElD;EQzoEM;;IAEE,8BAAsC;ER2oE9C;EQ1pEM;IAAgC,uBAA4B;ER6pElE;EQ5pEM;;IAEE,2BAAoC;ER8pE5C;EQ5pEM;;IAEE,6BAAwC;ER8pEhD;EQ5pEM;;IAEE,8BAA0C;ER8pElD;EQ5pEM;;IAEE,4BAAsC;ER8pE9C;EQ7qEM;IAAgC,yBAA4B;ERgrElE;EQ/qEM;;IAEE,6BAAoC;ERirE5C;EQ/qEM;;IAEE,+BAAwC;ERirEhD;EQ/qEM;;IAEE,gCAA0C;ERirElD;EQ/qEM;;IAEE,8BAAsC;ERirE9C;EQhsEM;IAAgC,uBAA4B;ERmsElE;EQlsEM;;IAEE,2BAAoC;ERosE5C;EQlsEM;;IAEE,6BAAwC;ERosEhD;EQlsEM;;IAEE,8BAA0C;ERosElD;EQlsEM;;IAEE,4BAAsC;ERosE9C;EQntEM;IAAgC,qBAA4B;ERstElE;EQrtEM;;IAEE,yBAAoC;ERutE5C;EQrtEM;;IAEE,2BAAwC;ERutEhD;EQrtEM;;IAEE,4BAA0C;ERutElD;EQrtEM;;IAEE,0BAAsC;ERutE9C;EQtuEM;IAAgC,2BAA4B;ERyuElE;EQxuEM;;IAEE,+BAAoC;ER0uE5C;EQxuEM;;IAEE,iCAAwC;ER0uEhD;EQxuEM;;IAEE,kCAA0C;ER0uElD;EQxuEM;;IAEE,gCAAsC;ER0uE9C;EQzvEM;IAAgC,0BAA4B;ER4vElE;EQ3vEM;;IAEE,8BAAoC;ER6vE5C;EQ3vEM;;IAEE,gCAAwC;ER6vEhD;EQ3vEM;;IAEE,iCAA0C;ER6vElD;EQ3vEM;;IAEE,+BAAsC;ER6vE9C;EQ5wEM;IAAgC,wBAA4B;ER+wElE;EQ9wEM;;IAEE,4BAAoC;ERgxE5C;EQ9wEM;;IAEE,8BAAwC;ERgxEhD;EQ9wEM;;IAEE,+BAA0C;ERgxElD;EQ9wEM;;IAEE,6BAAsC;ERgxE9C;EQ/xEM;IAAgC,0BAA4B;ERkyElE;EQjyEM;;IAEE,8BAAoC;ERmyE5C;EQjyEM;;IAEE,gCAAwC;ERmyEhD;EQjyEM;;IAEE,iCAA0C;ERmyElD;EQjyEM;;IAEE,+BAAsC;ERmyE9C;EQlzEM;IAAgC,wBAA4B;ERqzElE;EQpzEM;;IAEE,4BAAoC;ERszE5C;EQpzEM;;IAEE,8BAAwC;ERszEhD;EQpzEM;;IAEE,+BAA0C;ERszElD;EQpzEM;;IAEE,6BAAsC;ERszE9C;EQ9yEM;IAAwB,2BAA2B;ERizEzD;EQhzEM;;IAEE,+BAA+B;ERkzEvC;EQhzEM;;IAEE,iCAAiC;ERkzEzC;EQhzEM;;IAEE,kCAAkC;ERkzE1C;EQhzEM;;IAEE,gCAAgC;ERkzExC;EQj0EM;IAAwB,0BAA2B;ERo0EzD;EQn0EM;;IAEE,8BAA+B;ERq0EvC;EQn0EM;;IAEE,gCAAiC;ERq0EzC;EQn0EM;;IAEE,iCAAkC;ERq0E1C;EQn0EM;;IAEE,+BAAgC;ERq0ExC;EQp1EM;IAAwB,wBAA2B;ERu1EzD;EQt1EM;;IAEE,4BAA+B;ERw1EvC;EQt1EM;;IAEE,8BAAiC;ERw1EzC;EQt1EM;;IAEE,+BAAkC;ERw1E1C;EQt1EM;;IAEE,6BAAgC;ERw1ExC;EQv2EM;IAAwB,0BAA2B;ER02EzD;EQz2EM;;IAEE,8BAA+B;ER22EvC;EQz2EM;;IAEE,gCAAiC;ER22EzC;EQz2EM;;IAEE,iCAAkC;ER22E1C;EQz2EM;;IAEE,+BAAgC;ER22ExC;EQ13EM;IAAwB,wBAA2B;ER63EzD;EQ53EM;;IAEE,4BAA+B;ER83EvC;EQ53EM;;IAEE,8BAAiC;ER83EzC;EQ53EM;;IAEE,+BAAkC;ER83E1C;EQ53EM;;IAEE,6BAAgC;ER83ExC;EQx3EE;IAAmB,uBAAuB;ER23E5C;EQ13EE;;IAEE,2BAA2B;ER43E/B;EQ13EE;;IAEE,6BAA6B;ER43EjC;EQ13EE;;IAEE,8BAA8B;ER43ElC;EQ13EE;;IAEE,4BAA4B;ER43EhC;AACF;;AGt4EI;EKlDI;IAAgC,oBAA4B;ER67ElE;EQ57EM;;IAEE,wBAAoC;ER87E5C;EQ57EM;;IAEE,0BAAwC;ER87EhD;EQ57EM;;IAEE,2BAA0C;ER87ElD;EQ57EM;;IAEE,yBAAsC;ER87E9C;EQ78EM;IAAgC,0BAA4B;ERg9ElE;EQ/8EM;;IAEE,8BAAoC;ERi9E5C;EQ/8EM;;IAEE,gCAAwC;ERi9EhD;EQ/8EM;;IAEE,iCAA0C;ERi9ElD;EQ/8EM;;IAEE,+BAAsC;ERi9E9C;EQh+EM;IAAgC,yBAA4B;ERm+ElE;EQl+EM;;IAEE,6BAAoC;ERo+E5C;EQl+EM;;IAEE,+BAAwC;ERo+EhD;EQl+EM;;IAEE,gCAA0C;ERo+ElD;EQl+EM;;IAEE,8BAAsC;ERo+E9C;EQn/EM;IAAgC,uBAA4B;ERs/ElE;EQr/EM;;IAEE,2BAAoC;ERu/E5C;EQr/EM;;IAEE,6BAAwC;ERu/EhD;EQr/EM;;IAEE,8BAA0C;ERu/ElD;EQr/EM;;IAEE,4BAAsC;ERu/E9C;EQtgFM;IAAgC,yBAA4B;ERygFlE;EQxgFM;;IAEE,6BAAoC;ER0gF5C;EQxgFM;;IAEE,+BAAwC;ER0gFhD;EQxgFM;;IAEE,gCAA0C;ER0gFlD;EQxgFM;;IAEE,8BAAsC;ER0gF9C;EQzhFM;IAAgC,uBAA4B;ER4hFlE;EQ3hFM;;IAEE,2BAAoC;ER6hF5C;EQ3hFM;;IAEE,6BAAwC;ER6hFhD;EQ3hFM;;IAEE,8BAA0C;ER6hFlD;EQ3hFM;;IAEE,4BAAsC;ER6hF9C;EQ5iFM;IAAgC,qBAA4B;ER+iFlE;EQ9iFM;;IAEE,yBAAoC;ERgjF5C;EQ9iFM;;IAEE,2BAAwC;ERgjFhD;EQ9iFM;;IAEE,4BAA0C;ERgjFlD;EQ9iFM;;IAEE,0BAAsC;ERgjF9C;EQ/jFM;IAAgC,2BAA4B;ERkkFlE;EQjkFM;;IAEE,+BAAoC;ERmkF5C;EQjkFM;;IAEE,iCAAwC;ERmkFhD;EQjkFM;;IAEE,kCAA0C;ERmkFlD;EQjkFM;;IAEE,gCAAsC;ERmkF9C;EQllFM;IAAgC,0BAA4B;ERqlFlE;EQplFM;;IAEE,8BAAoC;ERslF5C;EQplFM;;IAEE,gCAAwC;ERslFhD;EQplFM;;IAEE,iCAA0C;ERslFlD;EQplFM;;IAEE,+BAAsC;ERslF9C;EQrmFM;IAAgC,wBAA4B;ERwmFlE;EQvmFM;;IAEE,4BAAoC;ERymF5C;EQvmFM;;IAEE,8BAAwC;ERymFhD;EQvmFM;;IAEE,+BAA0C;ERymFlD;EQvmFM;;IAEE,6BAAsC;ERymF9C;EQxnFM;IAAgC,0BAA4B;ER2nFlE;EQ1nFM;;IAEE,8BAAoC;ER4nF5C;EQ1nFM;;IAEE,gCAAwC;ER4nFhD;EQ1nFM;;IAEE,iCAA0C;ER4nFlD;EQ1nFM;;IAEE,+BAAsC;ER4nF9C;EQ3oFM;IAAgC,wBAA4B;ER8oFlE;EQ7oFM;;IAEE,4BAAoC;ER+oF5C;EQ7oFM;;IAEE,8BAAwC;ER+oFhD;EQ7oFM;;IAEE,+BAA0C;ER+oFlD;EQ7oFM;;IAEE,6BAAsC;ER+oF9C;EQvoFM;IAAwB,2BAA2B;ER0oFzD;EQzoFM;;IAEE,+BAA+B;ER2oFvC;EQzoFM;;IAEE,iCAAiC;ER2oFzC;EQzoFM;;IAEE,kCAAkC;ER2oF1C;EQzoFM;;IAEE,gCAAgC;ER2oFxC;EQ1pFM;IAAwB,0BAA2B;ER6pFzD;EQ5pFM;;IAEE,8BAA+B;ER8pFvC;EQ5pFM;;IAEE,gCAAiC;ER8pFzC;EQ5pFM;;IAEE,iCAAkC;ER8pF1C;EQ5pFM;;IAEE,+BAAgC;ER8pFxC;EQ7qFM;IAAwB,wBAA2B;ERgrFzD;EQ/qFM;;IAEE,4BAA+B;ERirFvC;EQ/qFM;;IAEE,8BAAiC;ERirFzC;EQ/qFM;;IAEE,+BAAkC;ERirF1C;EQ/qFM;;IAEE,6BAAgC;ERirFxC;EQhsFM;IAAwB,0BAA2B;ERmsFzD;EQlsFM;;IAEE,8BAA+B;ERosFvC;EQlsFM;;IAEE,gCAAiC;ERosFzC;EQlsFM;;IAEE,iCAAkC;ERosF1C;EQlsFM;;IAEE,+BAAgC;ERosFxC;EQntFM;IAAwB,wBAA2B;ERstFzD;EQrtFM;;IAEE,4BAA+B;ERutFvC;EQrtFM;;IAEE,8BAAiC;ERutFzC;EQrtFM;;IAEE,+BAAkC;ERutF1C;EQrtFM;;IAEE,6BAAgC;ERutFxC;EQjtFE;IAAmB,uBAAuB;ERotF5C;EQntFE;;IAEE,2BAA2B;ERqtF/B;EQntFE;;IAEE,6BAA6B;ERqtFjC;EQntFE;;IAEE,8BAA8B;ERqtFlC;EQntFE;;IAEE,4BAA4B;ERqtFhC;AACF;;AG/tFI;EKlDI;IAAgC,oBAA4B;ERsxFlE;EQrxFM;;IAEE,wBAAoC;ERuxF5C;EQrxFM;;IAEE,0BAAwC;ERuxFhD;EQrxFM;;IAEE,2BAA0C;ERuxFlD;EQrxFM;;IAEE,yBAAsC;ERuxF9C;EQtyFM;IAAgC,0BAA4B;ERyyFlE;EQxyFM;;IAEE,8BAAoC;ER0yF5C;EQxyFM;;IAEE,gCAAwC;ER0yFhD;EQxyFM;;IAEE,iCAA0C;ER0yFlD;EQxyFM;;IAEE,+BAAsC;ER0yF9C;EQzzFM;IAAgC,yBAA4B;ER4zFlE;EQ3zFM;;IAEE,6BAAoC;ER6zF5C;EQ3zFM;;IAEE,+BAAwC;ER6zFhD;EQ3zFM;;IAEE,gCAA0C;ER6zFlD;EQ3zFM;;IAEE,8BAAsC;ER6zF9C;EQ50FM;IAAgC,uBAA4B;ER+0FlE;EQ90FM;;IAEE,2BAAoC;ERg1F5C;EQ90FM;;IAEE,6BAAwC;ERg1FhD;EQ90FM;;IAEE,8BAA0C;ERg1FlD;EQ90FM;;IAEE,4BAAsC;ERg1F9C;EQ/1FM;IAAgC,yBAA4B;ERk2FlE;EQj2FM;;IAEE,6BAAoC;ERm2F5C;EQj2FM;;IAEE,+BAAwC;ERm2FhD;EQj2FM;;IAEE,gCAA0C;ERm2FlD;EQj2FM;;IAEE,8BAAsC;ERm2F9C;EQl3FM;IAAgC,uBAA4B;ERq3FlE;EQp3FM;;IAEE,2BAAoC;ERs3F5C;EQp3FM;;IAEE,6BAAwC;ERs3FhD;EQp3FM;;IAEE,8BAA0C;ERs3FlD;EQp3FM;;IAEE,4BAAsC;ERs3F9C;EQr4FM;IAAgC,qBAA4B;ERw4FlE;EQv4FM;;IAEE,yBAAoC;ERy4F5C;EQv4FM;;IAEE,2BAAwC;ERy4FhD;EQv4FM;;IAEE,4BAA0C;ERy4FlD;EQv4FM;;IAEE,0BAAsC;ERy4F9C;EQx5FM;IAAgC,2BAA4B;ER25FlE;EQ15FM;;IAEE,+BAAoC;ER45F5C;EQ15FM;;IAEE,iCAAwC;ER45FhD;EQ15FM;;IAEE,kCAA0C;ER45FlD;EQ15FM;;IAEE,gCAAsC;ER45F9C;EQ36FM;IAAgC,0BAA4B;ER86FlE;EQ76FM;;IAEE,8BAAoC;ER+6F5C;EQ76FM;;IAEE,gCAAwC;ER+6FhD;EQ76FM;;IAEE,iCAA0C;ER+6FlD;EQ76FM;;IAEE,+BAAsC;ER+6F9C;EQ97FM;IAAgC,wBAA4B;ERi8FlE;EQh8FM;;IAEE,4BAAoC;ERk8F5C;EQh8FM;;IAEE,8BAAwC;ERk8FhD;EQh8FM;;IAEE,+BAA0C;ERk8FlD;EQh8FM;;IAEE,6BAAsC;ERk8F9C;EQj9FM;IAAgC,0BAA4B;ERo9FlE;EQn9FM;;IAEE,8BAAoC;ERq9F5C;EQn9FM;;IAEE,gCAAwC;ERq9FhD;EQn9FM;;IAEE,iCAA0C;ERq9FlD;EQn9FM;;IAEE,+BAAsC;ERq9F9C;EQp+FM;IAAgC,wBAA4B;ERu+FlE;EQt+FM;;IAEE,4BAAoC;ERw+F5C;EQt+FM;;IAEE,8BAAwC;ERw+FhD;EQt+FM;;IAEE,+BAA0C;ERw+FlD;EQt+FM;;IAEE,6BAAsC;ERw+F9C;EQh+FM;IAAwB,2BAA2B;ERm+FzD;EQl+FM;;IAEE,+BAA+B;ERo+FvC;EQl+FM;;IAEE,iCAAiC;ERo+FzC;EQl+FM;;IAEE,kCAAkC;ERo+F1C;EQl+FM;;IAEE,gCAAgC;ERo+FxC;EQn/FM;IAAwB,0BAA2B;ERs/FzD;EQr/FM;;IAEE,8BAA+B;ERu/FvC;EQr/FM;;IAEE,gCAAiC;ERu/FzC;EQr/FM;;IAEE,iCAAkC;ERu/F1C;EQr/FM;;IAEE,+BAAgC;ERu/FxC;EQtgGM;IAAwB,wBAA2B;ERygGzD;EQxgGM;;IAEE,4BAA+B;ER0gGvC;EQxgGM;;IAEE,8BAAiC;ER0gGzC;EQxgGM;;IAEE,+BAAkC;ER0gG1C;EQxgGM;;IAEE,6BAAgC;ER0gGxC;EQzhGM;IAAwB,0BAA2B;ER4hGzD;EQ3hGM;;IAEE,8BAA+B;ER6hGvC;EQ3hGM;;IAEE,gCAAiC;ER6hGzC;EQ3hGM;;IAEE,iCAAkC;ER6hG1C;EQ3hGM;;IAEE,+BAAgC;ER6hGxC;EQ5iGM;IAAwB,wBAA2B;ER+iGzD;EQ9iGM;;IAEE,4BAA+B;ERgjGvC;EQ9iGM;;IAEE,8BAAiC;ERgjGzC;EQ9iGM;;IAEE,+BAAkC;ERgjG1C;EQ9iGM;;IAEE,6BAAgC;ERgjGxC;EQ1iGE;IAAmB,uBAAuB;ER6iG5C;EQ5iGE;;IAEE,2BAA2B;ER8iG/B;EQ5iGE;;IAEE,6BAA6B;ER8iGjC;EQ5iGE;;IAEE,8BAA8B;ER8iGlC;EQ5iGE;;IAEE,4BAA4B;ER8iGhC;AACF;;AGxjGI;EKlDI;IAAgC,oBAA4B;ER+mGlE;EQ9mGM;;IAEE,wBAAoC;ERgnG5C;EQ9mGM;;IAEE,0BAAwC;ERgnGhD;EQ9mGM;;IAEE,2BAA0C;ERgnGlD;EQ9mGM;;IAEE,yBAAsC;ERgnG9C;EQ/nGM;IAAgC,0BAA4B;ERkoGlE;EQjoGM;;IAEE,8BAAoC;ERmoG5C;EQjoGM;;IAEE,gCAAwC;ERmoGhD;EQjoGM;;IAEE,iCAA0C;ERmoGlD;EQjoGM;;IAEE,+BAAsC;ERmoG9C;EQlpGM;IAAgC,yBAA4B;ERqpGlE;EQppGM;;IAEE,6BAAoC;ERspG5C;EQppGM;;IAEE,+BAAwC;ERspGhD;EQppGM;;IAEE,gCAA0C;ERspGlD;EQppGM;;IAEE,8BAAsC;ERspG9C;EQrqGM;IAAgC,uBAA4B;ERwqGlE;EQvqGM;;IAEE,2BAAoC;ERyqG5C;EQvqGM;;IAEE,6BAAwC;ERyqGhD;EQvqGM;;IAEE,8BAA0C;ERyqGlD;EQvqGM;;IAEE,4BAAsC;ERyqG9C;EQxrGM;IAAgC,yBAA4B;ER2rGlE;EQ1rGM;;IAEE,6BAAoC;ER4rG5C;EQ1rGM;;IAEE,+BAAwC;ER4rGhD;EQ1rGM;;IAEE,gCAA0C;ER4rGlD;EQ1rGM;;IAEE,8BAAsC;ER4rG9C;EQ3sGM;IAAgC,uBAA4B;ER8sGlE;EQ7sGM;;IAEE,2BAAoC;ER+sG5C;EQ7sGM;;IAEE,6BAAwC;ER+sGhD;EQ7sGM;;IAEE,8BAA0C;ER+sGlD;EQ7sGM;;IAEE,4BAAsC;ER+sG9C;EQ9tGM;IAAgC,qBAA4B;ERiuGlE;EQhuGM;;IAEE,yBAAoC;ERkuG5C;EQhuGM;;IAEE,2BAAwC;ERkuGhD;EQhuGM;;IAEE,4BAA0C;ERkuGlD;EQhuGM;;IAEE,0BAAsC;ERkuG9C;EQjvGM;IAAgC,2BAA4B;ERovGlE;EQnvGM;;IAEE,+BAAoC;ERqvG5C;EQnvGM;;IAEE,iCAAwC;ERqvGhD;EQnvGM;;IAEE,kCAA0C;ERqvGlD;EQnvGM;;IAEE,gCAAsC;ERqvG9C;EQpwGM;IAAgC,0BAA4B;ERuwGlE;EQtwGM;;IAEE,8BAAoC;ERwwG5C;EQtwGM;;IAEE,gCAAwC;ERwwGhD;EQtwGM;;IAEE,iCAA0C;ERwwGlD;EQtwGM;;IAEE,+BAAsC;ERwwG9C;EQvxGM;IAAgC,wBAA4B;ER0xGlE;EQzxGM;;IAEE,4BAAoC;ER2xG5C;EQzxGM;;IAEE,8BAAwC;ER2xGhD;EQzxGM;;IAEE,+BAA0C;ER2xGlD;EQzxGM;;IAEE,6BAAsC;ER2xG9C;EQ1yGM;IAAgC,0BAA4B;ER6yGlE;EQ5yGM;;IAEE,8BAAoC;ER8yG5C;EQ5yGM;;IAEE,gCAAwC;ER8yGhD;EQ5yGM;;IAEE,iCAA0C;ER8yGlD;EQ5yGM;;IAEE,+BAAsC;ER8yG9C;EQ7zGM;IAAgC,wBAA4B;ERg0GlE;EQ/zGM;;IAEE,4BAAoC;ERi0G5C;EQ/zGM;;IAEE,8BAAwC;ERi0GhD;EQ/zGM;;IAEE,+BAA0C;ERi0GlD;EQ/zGM;;IAEE,6BAAsC;ERi0G9C;EQzzGM;IAAwB,2BAA2B;ER4zGzD;EQ3zGM;;IAEE,+BAA+B;ER6zGvC;EQ3zGM;;IAEE,iCAAiC;ER6zGzC;EQ3zGM;;IAEE,kCAAkC;ER6zG1C;EQ3zGM;;IAEE,gCAAgC;ER6zGxC;EQ50GM;IAAwB,0BAA2B;ER+0GzD;EQ90GM;;IAEE,8BAA+B;ERg1GvC;EQ90GM;;IAEE,gCAAiC;ERg1GzC;EQ90GM;;IAEE,iCAAkC;ERg1G1C;EQ90GM;;IAEE,+BAAgC;ERg1GxC;EQ/1GM;IAAwB,wBAA2B;ERk2GzD;EQj2GM;;IAEE,4BAA+B;ERm2GvC;EQj2GM;;IAEE,8BAAiC;ERm2GzC;EQj2GM;;IAEE,+BAAkC;ERm2G1C;EQj2GM;;IAEE,6BAAgC;ERm2GxC;EQl3GM;IAAwB,0BAA2B;ERq3GzD;EQp3GM;;IAEE,8BAA+B;ERs3GvC;EQp3GM;;IAEE,gCAAiC;ERs3GzC;EQp3GM;;IAEE,iCAAkC;ERs3G1C;EQp3GM;;IAEE,+BAAgC;ERs3GxC;EQr4GM;IAAwB,wBAA2B;ERw4GzD;EQv4GM;;IAEE,4BAA+B;ERy4GvC;EQv4GM;;IAEE,8BAAiC;ERy4GzC;EQv4GM;;IAEE,+BAAkC;ERy4G1C;EQv4GM;;IAEE,6BAAgC;ERy4GxC;EQn4GE;IAAmB,uBAAuB;ERs4G5C;EQr4GE;;IAEE,2BAA2B;ERu4G/B;EQr4GE;;IAEE,6BAA6B;ERu4GjC;EQr4GE;;IAEE,8BAA8B;ERu4GlC;EQr4GE;;IAEE,4BAA4B;ERu4GhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ADEF;EACE,sBAAsB;EACtB,6BAA6B;ACA/B;;ADGA;;;EAGE,mBAAmB;ACArB;;ACTE;ECDA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AFcnB;;AGqCI;EFtDF;ICWI,gBEuMK;EJ5LT;AACF;;AG+BI;EFtDF;ICWI,gBEwMK;EJvLT;AACF;;AGyBI;EFtDF;ICWI,gBEyMK;EJlLT;AACF;;AGmBI;EFtDF;ICWI,iBE0MM;EJ7KV;AACF;;ACnCE;ECPA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AF8CnB;;AGKI;EFrCE;IACE,gBGgMG;EJ5JT;AACF;;AGDI;EFrCE;IACE,gBGiMG;EJvJT;AACF;;AGPI;EFrCE;IACE,gBGkMG;EJlJT;AACF;;AGbI;EFrCE;IACE,iBGmMI;EJ7IV;AACF;;AC3BE;EC7BA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AF4D3B;;AC5BE;EACE,eAAe;EACf,cAAc;AD+BlB;;ACjCE;;EAMI,gBAAgB;EAChB,eAAe;ADgCrB;;AK1FE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;ALkG7B;;AK5EM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,YAAY;EACZ,eAAe;AL+EvB;;AK1EU;EHuBN,kBAAuB;EAAvB,cAAuB;EACvB,eAAwB;AFuD5B;;AK/EU;EHuBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;AF4D5B;;AKpFU;EHuBN,wBAAuB;EAAvB,oBAAuB;EACvB,qBAAwB;AFiE5B;;AKzFU;EHuBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;AFsE5B;;AK9FU;EHuBN,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;AF2E5B;;AKnGU;EHuBN,wBAAuB;EAAvB,oBAAuB;EACvB,qBAAwB;AFgF5B;;AKlGM;EHAJ,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;AFsGjB;;AKlGU;EHdR,uBAAsC;EAAtC,mBAAsC;EAItC,oBAAuC;AFiHzC;;AKvGU;EHdR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFsHzC;;AK5GU;EHdR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AF2HzC;;AKjHU;EHdR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFgIzC;;AKtHU;EHdR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFqIzC;;AK3HU;EHdR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AF0IzC;;AKhIU;EHdR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AF+IzC;;AKrIU;EHdR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFoJzC;;AK1IU;EHdR,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AFyJzC;;AK/IU;EHdR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AF8JzC;;AKpJU;EHdR,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFmKzC;;AKzJU;EHdR,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;AFwKzC;;AKxJM;EAAwB,kBAAS;EAAT,SAAS;AL4JvC;;AK1JM;EAAuB,kBDuKG;ECvKH,SDuKG;AJThC;;AK3JQ;EAAwB,iBADZ;EACY,QADZ;ALgKpB;;AK/JQ;EAAwB,iBADZ;EACY,QADZ;ALoKpB;;AKnKQ;EAAwB,iBADZ;EACY,QADZ;ALwKpB;;AKvKQ;EAAwB,iBADZ;EACY,QADZ;AL4KpB;;AK3KQ;EAAwB,iBADZ;EACY,QADZ;ALgLpB;;AK/KQ;EAAwB,iBADZ;EACY,QADZ;ALoLpB;;AKnLQ;EAAwB,iBADZ;EACY,QADZ;ALwLpB;;AKvLQ;EAAwB,iBADZ;EACY,QADZ;AL4LpB;;AK3LQ;EAAwB,iBADZ;EACY,QADZ;ALgMpB;;AK/LQ;EAAwB,iBADZ;EACY,QADZ;ALoMpB;;AKnMQ;EAAwB,kBADZ;EACY,SADZ;ALwMpB;;AKvMQ;EAAwB,kBADZ;EACY,SADZ;AL4MpB;;AK3MQ;EAAwB,kBADZ;EACY,SADZ;ALgNpB;;AKxMY;EHjBV,sBAA8C;AF6NhD;;AK5MY;EHjBV,uBAA8C;AFiOhD;;AKhNY;EHjBV,gBAA8C;AFqOhD;;AKpNY;EHjBV,uBAA8C;AFyOhD;;AKxNY;EHjBV,uBAA8C;AF6OhD;;AK5NY;EHjBV,gBAA8C;AFiPhD;;AKhOY;EHjBV,uBAA8C;AFqPhD;;AKpOY;EHjBV,uBAA8C;AFyPhD;;AKxOY;EHjBV,gBAA8C;AF6PhD;;AK5OY;EHjBV,uBAA8C;AFiQhD;;AKhPY;EHjBV,uBAA8C;AFqQhD;;AGhQI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,YAAY;IACZ,eAAe;EL+RrB;EK1RQ;IHuBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EFsQ1B;EK9RQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF0Q1B;EKlSQ;IHuBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EF8Q1B;EKtSQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFkR1B;EK1SQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFsR1B;EK9SQ;IHuBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EF0R1B;EK5SI;IHAJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EF+Sf;EK3SQ;IHdR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFyTvC;EK/SQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF6TvC;EKnTQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFiUvC;EKvTQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFqUvC;EK3TQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFyUvC;EK/TQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF6UvC;EKnUQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFiVvC;EKvUQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFqVvC;EK3UQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFyVvC;EK/UQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF6VvC;EKnVQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFiWvC;EKvVQ;IHdR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EFqWvC;EKrVI;IAAwB,kBAAS;IAAT,SAAS;ELwVrC;EKtVI;IAAuB,kBDuKG;ICvKH,SDuKG;EJkL9B;EKtVM;IAAwB,iBADZ;IACY,QADZ;EL0VlB;EKzVM;IAAwB,iBADZ;IACY,QADZ;EL6VlB;EK5VM;IAAwB,iBADZ;IACY,QADZ;ELgWlB;EK/VM;IAAwB,iBADZ;IACY,QADZ;ELmWlB;EKlWM;IAAwB,iBADZ;IACY,QADZ;ELsWlB;EKrWM;IAAwB,iBADZ;IACY,QADZ;ELyWlB;EKxWM;IAAwB,iBADZ;IACY,QADZ;EL4WlB;EK3WM;IAAwB,iBADZ;IACY,QADZ;EL+WlB;EK9WM;IAAwB,iBADZ;IACY,QADZ;ELkXlB;EKjXM;IAAwB,iBADZ;IACY,QADZ;ELqXlB;EKpXM;IAAwB,kBADZ;IACY,SADZ;ELwXlB;EKvXM;IAAwB,kBADZ;IACY,SADZ;EL2XlB;EK1XM;IAAwB,kBADZ;IACY,SADZ;EL8XlB;EKtXU;IHjBV,cAA4B;EF0Y5B;EKzXU;IHjBV,sBAA8C;EF6Y9C;EK5XU;IHjBV,uBAA8C;EFgZ9C;EK/XU;IHjBV,gBAA8C;EFmZ9C;EKlYU;IHjBV,uBAA8C;EFsZ9C;EKrYU;IHjBV,uBAA8C;EFyZ9C;EKxYU;IHjBV,gBAA8C;EF4Z9C;EK3YU;IHjBV,uBAA8C;EF+Z9C;EK9YU;IHjBV,uBAA8C;EFka9C;EKjZU;IHjBV,gBAA8C;EFqa9C;EKpZU;IHjBV,uBAA8C;EFwa9C;EKvZU;IHjBV,uBAA8C;EF2a9C;AACF;;AGvaI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,YAAY;IACZ,eAAe;ELscrB;EKjcQ;IHuBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EF6a1B;EKrcQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFib1B;EKzcQ;IHuBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFqb1B;EK7cQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFyb1B;EKjdQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF6b1B;EKrdQ;IHuBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFic1B;EKndI;IHAJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFsdf;EKldQ;IHdR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFgevC;EKtdQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFoevC;EK1dQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFwevC;EK9dQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF4evC;EKleQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFgfvC;EKteQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFofvC;EK1eQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFwfvC;EK9eQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF4fvC;EKlfQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFggBvC;EKtfQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFogBvC;EK1fQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFwgBvC;EK9fQ;IHdR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EF4gBvC;EK5fI;IAAwB,kBAAS;IAAT,SAAS;EL+frC;EK7fI;IAAuB,kBDuKG;ICvKH,SDuKG;EJyV9B;EK7fM;IAAwB,iBADZ;IACY,QADZ;ELigBlB;EKhgBM;IAAwB,iBADZ;IACY,QADZ;ELogBlB;EKngBM;IAAwB,iBADZ;IACY,QADZ;ELugBlB;EKtgBM;IAAwB,iBADZ;IACY,QADZ;EL0gBlB;EKzgBM;IAAwB,iBADZ;IACY,QADZ;EL6gBlB;EK5gBM;IAAwB,iBADZ;IACY,QADZ;ELghBlB;EK/gBM;IAAwB,iBADZ;IACY,QADZ;ELmhBlB;EKlhBM;IAAwB,iBADZ;IACY,QADZ;ELshBlB;EKrhBM;IAAwB,iBADZ;IACY,QADZ;ELyhBlB;EKxhBM;IAAwB,iBADZ;IACY,QADZ;EL4hBlB;EK3hBM;IAAwB,kBADZ;IACY,SADZ;EL+hBlB;EK9hBM;IAAwB,kBADZ;IACY,SADZ;ELkiBlB;EKjiBM;IAAwB,kBADZ;IACY,SADZ;ELqiBlB;EK7hBU;IHjBV,cAA4B;EFijB5B;EKhiBU;IHjBV,sBAA8C;EFojB9C;EKniBU;IHjBV,uBAA8C;EFujB9C;EKtiBU;IHjBV,gBAA8C;EF0jB9C;EKziBU;IHjBV,uBAA8C;EF6jB9C;EK5iBU;IHjBV,uBAA8C;EFgkB9C;EK/iBU;IHjBV,gBAA8C;EFmkB9C;EKljBU;IHjBV,uBAA8C;EFskB9C;EKrjBU;IHjBV,uBAA8C;EFykB9C;EKxjBU;IHjBV,gBAA8C;EF4kB9C;EK3jBU;IHjBV,uBAA8C;EF+kB9C;EK9jBU;IHjBV,uBAA8C;EFklB9C;AACF;;AG9kBI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,YAAY;IACZ,eAAe;EL6mBrB;EKxmBQ;IHuBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EFolB1B;EK5mBQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFwlB1B;EKhnBQ;IHuBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EF4lB1B;EKpnBQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFgmB1B;EKxnBQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFomB1B;EK5nBQ;IHuBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFwmB1B;EK1nBI;IHAJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EF6nBf;EKznBQ;IHdR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFuoBvC;EK7nBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF2oBvC;EKjoBQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF+oBvC;EKroBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFmpBvC;EKzoBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFupBvC;EK7oBQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF2pBvC;EKjpBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF+pBvC;EKrpBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFmqBvC;EKzpBQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFuqBvC;EK7pBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF2qBvC;EKjqBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF+qBvC;EKrqBQ;IHdR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EFmrBvC;EKnqBI;IAAwB,kBAAS;IAAT,SAAS;ELsqBrC;EKpqBI;IAAuB,kBDuKG;ICvKH,SDuKG;EJggB9B;EKpqBM;IAAwB,iBADZ;IACY,QADZ;ELwqBlB;EKvqBM;IAAwB,iBADZ;IACY,QADZ;EL2qBlB;EK1qBM;IAAwB,iBADZ;IACY,QADZ;EL8qBlB;EK7qBM;IAAwB,iBADZ;IACY,QADZ;ELirBlB;EKhrBM;IAAwB,iBADZ;IACY,QADZ;ELorBlB;EKnrBM;IAAwB,iBADZ;IACY,QADZ;ELurBlB;EKtrBM;IAAwB,iBADZ;IACY,QADZ;EL0rBlB;EKzrBM;IAAwB,iBADZ;IACY,QADZ;EL6rBlB;EK5rBM;IAAwB,iBADZ;IACY,QADZ;ELgsBlB;EK/rBM;IAAwB,iBADZ;IACY,QADZ;ELmsBlB;EKlsBM;IAAwB,kBADZ;IACY,SADZ;ELssBlB;EKrsBM;IAAwB,kBADZ;IACY,SADZ;ELysBlB;EKxsBM;IAAwB,kBADZ;IACY,SADZ;EL4sBlB;EKpsBU;IHjBV,cAA4B;EFwtB5B;EKvsBU;IHjBV,sBAA8C;EF2tB9C;EK1sBU;IHjBV,uBAA8C;EF8tB9C;EK7sBU;IHjBV,gBAA8C;EFiuB9C;EKhtBU;IHjBV,uBAA8C;EFouB9C;EKntBU;IHjBV,uBAA8C;EFuuB9C;EKttBU;IHjBV,gBAA8C;EF0uB9C;EKztBU;IHjBV,uBAA8C;EF6uB9C;EK5tBU;IHjBV,uBAA8C;EFgvB9C;EK/tBU;IHjBV,gBAA8C;EFmvB9C;EKluBU;IHjBV,uBAA8C;EFsvB9C;EKruBU;IHjBV,uBAA8C;EFyvB9C;AACF;;AGrvBI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,YAAY;IACZ,eAAe;ELoxBrB;EK/wBQ;IHuBN,kBAAuB;IAAvB,cAAuB;IACvB,eAAwB;EF2vB1B;EKnxBQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF+vB1B;EKvxBQ;IHuBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EFmwB1B;EK3xBQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EFuwB1B;EK/xBQ;IHuBN,iBAAuB;IAAvB,aAAuB;IACvB,cAAwB;EF2wB1B;EKnyBQ;IHuBN,wBAAuB;IAAvB,oBAAuB;IACvB,qBAAwB;EF+wB1B;EKjyBI;IHAJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFoyBf;EKhyBQ;IHdR,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EF8yBvC;EKpyBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFkzBvC;EKxyBQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFszBvC;EK5yBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF0zBvC;EKhzBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF8zBvC;EKpzBQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFk0BvC;EKxzBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFs0BvC;EK5zBQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF00BvC;EKh0BQ;IHdR,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF80BvC;EKp0BQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFk1BvC;EKx0BQ;IHdR,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFs1BvC;EK50BQ;IHdR,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EF01BvC;EK10BI;IAAwB,kBAAS;IAAT,SAAS;EL60BrC;EK30BI;IAAuB,kBDuKG;ICvKH,SDuKG;EJuqB9B;EK30BM;IAAwB,iBADZ;IACY,QADZ;EL+0BlB;EK90BM;IAAwB,iBADZ;IACY,QADZ;ELk1BlB;EKj1BM;IAAwB,iBADZ;IACY,QADZ;ELq1BlB;EKp1BM;IAAwB,iBADZ;IACY,QADZ;ELw1BlB;EKv1BM;IAAwB,iBADZ;IACY,QADZ;EL21BlB;EK11BM;IAAwB,iBADZ;IACY,QADZ;EL81BlB;EK71BM;IAAwB,iBADZ;IACY,QADZ;ELi2BlB;EKh2BM;IAAwB,iBADZ;IACY,QADZ;ELo2BlB;EKn2BM;IAAwB,iBADZ;IACY,QADZ;ELu2BlB;EKt2BM;IAAwB,iBADZ;IACY,QADZ;EL02BlB;EKz2BM;IAAwB,kBADZ;IACY,SADZ;EL62BlB;EK52BM;IAAwB,kBADZ;IACY,SADZ;ELg3BlB;EK/2BM;IAAwB,kBADZ;IACY,SADZ;ELm3BlB;EK32BU;IHjBV,cAA4B;EF+3B5B;EK92BU;IHjBV,sBAA8C;EFk4B9C;EKj3BU;IHjBV,uBAA8C;EFq4B9C;EKp3BU;IHjBV,gBAA8C;EFw4B9C;EKv3BU;IHjBV,uBAA8C;EF24B9C;EK13BU;IHjBV,uBAA8C;EF84B9C;EK73BU;IHjBV,gBAA8C;EFi5B9C;EKh4BU;IHjBV,uBAA8C;EFo5B9C;EKn4BU;IHjBV,uBAA8C;EFu5B9C;EKt4BU;IHjBV,gBAA8C;EF05B9C;EKz4BU;IHjBV,uBAA8C;EF65B9C;EK54BU;IHjBV,uBAA8C;EFg6B9C;AACF;;AM78BM;EAAwB,wBAA0B;ANi9BxD;;AMj9BM;EAAwB,0BAA0B;ANq9BxD;;AMr9BM;EAAwB,gCAA0B;ANy9BxD;;AMz9BM;EAAwB,yBAA0B;AN69BxD;;AM79BM;EAAwB,yBAA0B;ANi+BxD;;AMj+BM;EAAwB,6BAA0B;ANq+BxD;;AMr+BM;EAAwB,8BAA0B;ANy+BxD;;AMz+BM;EAAwB,+BAA0B;EAA1B,wBAA0B;AN6+BxD;;AM7+BM;EAAwB,sCAA0B;EAA1B,+BAA0B;ANi/BxD;;AGh8BI;EGjDE;IAAwB,wBAA0B;ENs/BtD;EMt/BI;IAAwB,0BAA0B;ENy/BtD;EMz/BI;IAAwB,gCAA0B;EN4/BtD;EM5/BI;IAAwB,yBAA0B;EN+/BtD;EM//BI;IAAwB,yBAA0B;ENkgCtD;EMlgCI;IAAwB,6BAA0B;ENqgCtD;EMrgCI;IAAwB,8BAA0B;ENwgCtD;EMxgCI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN2gCtD;EM3gCI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN8gCtD;AACF;;AG99BI;EGjDE;IAAwB,wBAA0B;ENohCtD;EMphCI;IAAwB,0BAA0B;ENuhCtD;EMvhCI;IAAwB,gCAA0B;EN0hCtD;EM1hCI;IAAwB,yBAA0B;EN6hCtD;EM7hCI;IAAwB,yBAA0B;ENgiCtD;EMhiCI;IAAwB,6BAA0B;ENmiCtD;EMniCI;IAAwB,8BAA0B;ENsiCtD;EMtiCI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENyiCtD;EMziCI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN4iCtD;AACF;;AG5/BI;EGjDE;IAAwB,wBAA0B;ENkjCtD;EMljCI;IAAwB,0BAA0B;ENqjCtD;EMrjCI;IAAwB,gCAA0B;ENwjCtD;EMxjCI;IAAwB,yBAA0B;EN2jCtD;EM3jCI;IAAwB,yBAA0B;EN8jCtD;EM9jCI;IAAwB,6BAA0B;ENikCtD;EMjkCI;IAAwB,8BAA0B;ENokCtD;EMpkCI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENukCtD;EMvkCI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN0kCtD;AACF;;AG1hCI;EGjDE;IAAwB,wBAA0B;ENglCtD;EMhlCI;IAAwB,0BAA0B;ENmlCtD;EMnlCI;IAAwB,gCAA0B;ENslCtD;EMtlCI;IAAwB,yBAA0B;ENylCtD;EMzlCI;IAAwB,yBAA0B;EN4lCtD;EM5lCI;IAAwB,6BAA0B;EN+lCtD;EM/lCI;IAAwB,8BAA0B;ENkmCtD;EMlmCI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENqmCtD;EMrmCI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENwmCtD;AACF;;AM/lCA;EAEI;IAAqB,wBAA0B;ENkmCjD;EMlmCE;IAAqB,0BAA0B;ENqmCjD;EMrmCE;IAAqB,gCAA0B;ENwmCjD;EMxmCE;IAAqB,yBAA0B;EN2mCjD;EM3mCE;IAAqB,yBAA0B;EN8mCjD;EM9mCE;IAAqB,6BAA0B;ENinCjD;EMjnCE;IAAqB,8BAA0B;ENonCjD;EMpnCE;IAAqB,+BAA0B;IAA1B,wBAA0B;ENunCjD;EMvnCE;IAAqB,sCAA0B;IAA1B,+BAA0B;EN0nCjD;AACF;;AOxoCI;EAAgC,kCAA8B;EAA9B,8BAA8B;AP4oClE;;AO3oCI;EAAgC,qCAAiC;EAAjC,iCAAiC;AP+oCrE;;AO9oCI;EAAgC,0CAAsC;EAAtC,sCAAsC;APkpC1E;;AOjpCI;EAAgC,6CAAyC;EAAzC,yCAAyC;APqpC7E;;AOnpCI;EAA8B,8BAA0B;EAA1B,0BAA0B;APupC5D;;AOtpCI;EAA8B,gCAA4B;EAA5B,4BAA4B;AP0pC9D;;AOzpCI;EAA8B,sCAAkC;EAAlC,kCAAkC;AP6pCpE;;AO5pCI;EAA8B,6BAAyB;EAAzB,yBAAyB;APgqC3D;;AO/pCI;EAA8B,+BAAuB;EAAvB,uBAAuB;APmqCzD;;AOlqCI;EAA8B,+BAAuB;EAAvB,uBAAuB;APsqCzD;;AOrqCI;EAA8B,+BAAyB;EAAzB,yBAAyB;APyqC3D;;AOxqCI;EAA8B,+BAAyB;EAAzB,yBAAyB;AP4qC3D;;AO1qCI;EAAoC,+BAAsC;EAAtC,sCAAsC;AP8qC9E;;AO7qCI;EAAoC,6BAAoC;EAApC,oCAAoC;APirC5E;;AOhrCI;EAAoC,gCAAkC;EAAlC,kCAAkC;APorC1E;;AOnrCI;EAAoC,iCAAyC;EAAzC,yCAAyC;APurCjF;;AOtrCI;EAAoC,oCAAwC;EAAxC,wCAAwC;AP0rChF;;AOxrCI;EAAiC,gCAAkC;EAAlC,kCAAkC;AP4rCvE;;AO3rCI;EAAiC,8BAAgC;EAAhC,gCAAgC;AP+rCrE;;AO9rCI;EAAiC,iCAA8B;EAA9B,8BAA8B;APksCnE;;AOjsCI;EAAiC,mCAAgC;EAAhC,gCAAgC;APqsCrE;;AOpsCI;EAAiC,kCAA+B;EAA/B,+BAA+B;APwsCpE;;AOtsCI;EAAkC,oCAAoC;EAApC,oCAAoC;AP0sC1E;;AOzsCI;EAAkC,kCAAkC;EAAlC,kCAAkC;AP6sCxE;;AO5sCI;EAAkC,qCAAgC;EAAhC,gCAAgC;APgtCtE;;AO/sCI;EAAkC,sCAAuC;EAAvC,uCAAuC;APmtC7E;;AOltCI;EAAkC,yCAAsC;EAAtC,sCAAsC;APstC5E;;AOrtCI;EAAkC,sCAAiC;EAAjC,iCAAiC;APytCvE;;AOvtCI;EAAgC,oCAA2B;EAA3B,2BAA2B;AP2tC/D;;AO1tCI;EAAgC,qCAAiC;EAAjC,iCAAiC;AP8tCrE;;AO7tCI;EAAgC,mCAA+B;EAA/B,+BAA+B;APiuCnE;;AOhuCI;EAAgC,sCAA6B;EAA7B,6BAA6B;APouCjE;;AOnuCI;EAAgC,wCAA+B;EAA/B,+BAA+B;APuuCnE;;AOtuCI;EAAgC,uCAA8B;EAA9B,8BAA8B;AP0uClE;;AG9tCI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EPqxChE;EOpxCE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPuxCnE;EOtxCE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPyxCxE;EOxxCE;IAAgC,6CAAyC;IAAzC,yCAAyC;EP2xC3E;EOzxCE;IAA8B,8BAA0B;IAA1B,0BAA0B;EP4xC1D;EO3xCE;IAA8B,gCAA4B;IAA5B,4BAA4B;EP8xC5D;EO7xCE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPgyClE;EO/xCE;IAA8B,6BAAyB;IAAzB,yBAAyB;EPkyCzD;EOjyCE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPoyCvD;EOnyCE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPsyCvD;EOryCE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPwyCzD;EOvyCE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP0yCzD;EOxyCE;IAAoC,+BAAsC;IAAtC,sCAAsC;EP2yC5E;EO1yCE;IAAoC,6BAAoC;IAApC,oCAAoC;EP6yC1E;EO5yCE;IAAoC,gCAAkC;IAAlC,kCAAkC;EP+yCxE;EO9yCE;IAAoC,iCAAyC;IAAzC,yCAAyC;EPizC/E;EOhzCE;IAAoC,oCAAwC;IAAxC,wCAAwC;EPmzC9E;EOjzCE;IAAiC,gCAAkC;IAAlC,kCAAkC;EPozCrE;EOnzCE;IAAiC,8BAAgC;IAAhC,gCAAgC;EPszCnE;EOrzCE;IAAiC,iCAA8B;IAA9B,8BAA8B;EPwzCjE;EOvzCE;IAAiC,mCAAgC;IAAhC,gCAAgC;EP0zCnE;EOzzCE;IAAiC,kCAA+B;IAA/B,+BAA+B;EP4zClE;EO1zCE;IAAkC,oCAAoC;IAApC,oCAAoC;EP6zCxE;EO5zCE;IAAkC,kCAAkC;IAAlC,kCAAkC;EP+zCtE;EO9zCE;IAAkC,qCAAgC;IAAhC,gCAAgC;EPi0CpE;EOh0CE;IAAkC,sCAAuC;IAAvC,uCAAuC;EPm0C3E;EOl0CE;IAAkC,yCAAsC;IAAtC,sCAAsC;EPq0C1E;EOp0CE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPu0CrE;EOr0CE;IAAgC,oCAA2B;IAA3B,2BAA2B;EPw0C7D;EOv0CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EP00CnE;EOz0CE;IAAgC,mCAA+B;IAA/B,+BAA+B;EP40CjE;EO30CE;IAAgC,sCAA6B;IAA7B,6BAA6B;EP80C/D;EO70CE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPg1CjE;EO/0CE;IAAgC,uCAA8B;IAA9B,8BAA8B;EPk1ChE;AACF;;AGv0CI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EP83ChE;EO73CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPg4CnE;EO/3CE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPk4CxE;EOj4CE;IAAgC,6CAAyC;IAAzC,yCAAyC;EPo4C3E;EOl4CE;IAA8B,8BAA0B;IAA1B,0BAA0B;EPq4C1D;EOp4CE;IAA8B,gCAA4B;IAA5B,4BAA4B;EPu4C5D;EOt4CE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPy4ClE;EOx4CE;IAA8B,6BAAyB;IAAzB,yBAAyB;EP24CzD;EO14CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP64CvD;EO54CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP+4CvD;EO94CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPi5CzD;EOh5CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPm5CzD;EOj5CE;IAAoC,+BAAsC;IAAtC,sCAAsC;EPo5C5E;EOn5CE;IAAoC,6BAAoC;IAApC,oCAAoC;EPs5C1E;EOr5CE;IAAoC,gCAAkC;IAAlC,kCAAkC;EPw5CxE;EOv5CE;IAAoC,iCAAyC;IAAzC,yCAAyC;EP05C/E;EOz5CE;IAAoC,oCAAwC;IAAxC,wCAAwC;EP45C9E;EO15CE;IAAiC,gCAAkC;IAAlC,kCAAkC;EP65CrE;EO55CE;IAAiC,8BAAgC;IAAhC,gCAAgC;EP+5CnE;EO95CE;IAAiC,iCAA8B;IAA9B,8BAA8B;EPi6CjE;EOh6CE;IAAiC,mCAAgC;IAAhC,gCAAgC;EPm6CnE;EOl6CE;IAAiC,kCAA+B;IAA/B,+BAA+B;EPq6ClE;EOn6CE;IAAkC,oCAAoC;IAApC,oCAAoC;EPs6CxE;EOr6CE;IAAkC,kCAAkC;IAAlC,kCAAkC;EPw6CtE;EOv6CE;IAAkC,qCAAgC;IAAhC,gCAAgC;EP06CpE;EOz6CE;IAAkC,sCAAuC;IAAvC,uCAAuC;EP46C3E;EO36CE;IAAkC,yCAAsC;IAAtC,sCAAsC;EP86C1E;EO76CE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPg7CrE;EO96CE;IAAgC,oCAA2B;IAA3B,2BAA2B;EPi7C7D;EOh7CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPm7CnE;EOl7CE;IAAgC,mCAA+B;IAA/B,+BAA+B;EPq7CjE;EOp7CE;IAAgC,sCAA6B;IAA7B,6BAA6B;EPu7C/D;EOt7CE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPy7CjE;EOx7CE;IAAgC,uCAA8B;IAA9B,8BAA8B;EP27ChE;AACF;;AGh7CI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EPu+ChE;EOt+CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPy+CnE;EOx+CE;IAAgC,0CAAsC;IAAtC,sCAAsC;EP2+CxE;EO1+CE;IAAgC,6CAAyC;IAAzC,yCAAyC;EP6+C3E;EO3+CE;IAA8B,8BAA0B;IAA1B,0BAA0B;EP8+C1D;EO7+CE;IAA8B,gCAA4B;IAA5B,4BAA4B;EPg/C5D;EO/+CE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPk/ClE;EOj/CE;IAA8B,6BAAyB;IAAzB,yBAAyB;EPo/CzD;EOn/CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPs/CvD;EOr/CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPw/CvD;EOv/CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP0/CzD;EOz/CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP4/CzD;EO1/CE;IAAoC,+BAAsC;IAAtC,sCAAsC;EP6/C5E;EO5/CE;IAAoC,6BAAoC;IAApC,oCAAoC;EP+/C1E;EO9/CE;IAAoC,gCAAkC;IAAlC,kCAAkC;EPigDxE;EOhgDE;IAAoC,iCAAyC;IAAzC,yCAAyC;EPmgD/E;EOlgDE;IAAoC,oCAAwC;IAAxC,wCAAwC;EPqgD9E;EOngDE;IAAiC,gCAAkC;IAAlC,kCAAkC;EPsgDrE;EOrgDE;IAAiC,8BAAgC;IAAhC,gCAAgC;EPwgDnE;EOvgDE;IAAiC,iCAA8B;IAA9B,8BAA8B;EP0gDjE;EOzgDE;IAAiC,mCAAgC;IAAhC,gCAAgC;EP4gDnE;EO3gDE;IAAiC,kCAA+B;IAA/B,+BAA+B;EP8gDlE;EO5gDE;IAAkC,oCAAoC;IAApC,oCAAoC;EP+gDxE;EO9gDE;IAAkC,kCAAkC;IAAlC,kCAAkC;EPihDtE;EOhhDE;IAAkC,qCAAgC;IAAhC,gCAAgC;EPmhDpE;EOlhDE;IAAkC,sCAAuC;IAAvC,uCAAuC;EPqhD3E;EOphDE;IAAkC,yCAAsC;IAAtC,sCAAsC;EPuhD1E;EOthDE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPyhDrE;EOvhDE;IAAgC,oCAA2B;IAA3B,2BAA2B;EP0hD7D;EOzhDE;IAAgC,qCAAiC;IAAjC,iCAAiC;EP4hDnE;EO3hDE;IAAgC,mCAA+B;IAA/B,+BAA+B;EP8hDjE;EO7hDE;IAAgC,sCAA6B;IAA7B,6BAA6B;EPgiD/D;EO/hDE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPkiDjE;EOjiDE;IAAgC,uCAA8B;IAA9B,8BAA8B;EPoiDhE;AACF;;AGzhDI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EPglDhE;EO/kDE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPklDnE;EOjlDE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPolDxE;EOnlDE;IAAgC,6CAAyC;IAAzC,yCAAyC;EPslD3E;EOplDE;IAA8B,8BAA0B;IAA1B,0BAA0B;EPulD1D;EOtlDE;IAA8B,gCAA4B;IAA5B,4BAA4B;EPylD5D;EOxlDE;IAA8B,sCAAkC;IAAlC,kCAAkC;EP2lDlE;EO1lDE;IAA8B,6BAAyB;IAAzB,yBAAyB;EP6lDzD;EO5lDE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP+lDvD;EO9lDE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPimDvD;EOhmDE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPmmDzD;EOlmDE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPqmDzD;EOnmDE;IAAoC,+BAAsC;IAAtC,sCAAsC;EPsmD5E;EOrmDE;IAAoC,6BAAoC;IAApC,oCAAoC;EPwmD1E;EOvmDE;IAAoC,gCAAkC;IAAlC,kCAAkC;EP0mDxE;EOzmDE;IAAoC,iCAAyC;IAAzC,yCAAyC;EP4mD/E;EO3mDE;IAAoC,oCAAwC;IAAxC,wCAAwC;EP8mD9E;EO5mDE;IAAiC,gCAAkC;IAAlC,kCAAkC;EP+mDrE;EO9mDE;IAAiC,8BAAgC;IAAhC,gCAAgC;EPinDnE;EOhnDE;IAAiC,iCAA8B;IAA9B,8BAA8B;EPmnDjE;EOlnDE;IAAiC,mCAAgC;IAAhC,gCAAgC;EPqnDnE;EOpnDE;IAAiC,kCAA+B;IAA/B,+BAA+B;EPunDlE;EOrnDE;IAAkC,oCAAoC;IAApC,oCAAoC;EPwnDxE;EOvnDE;IAAkC,kCAAkC;IAAlC,kCAAkC;EP0nDtE;EOznDE;IAAkC,qCAAgC;IAAhC,gCAAgC;EP4nDpE;EO3nDE;IAAkC,sCAAuC;IAAvC,uCAAuC;EP8nD3E;EO7nDE;IAAkC,yCAAsC;IAAtC,sCAAsC;EPgoD1E;EO/nDE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPkoDrE;EOhoDE;IAAgC,oCAA2B;IAA3B,2BAA2B;EPmoD7D;EOloDE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPqoDnE;EOpoDE;IAAgC,mCAA+B;IAA/B,+BAA+B;EPuoDjE;EOtoDE;IAAgC,sCAA6B;IAA7B,6BAA6B;EPyoD/D;EOxoDE;IAAgC,wCAA+B;IAA/B,+BAA+B;EP2oDjE;EO1oDE;IAAgC,uCAA8B;IAA9B,8BAA8B;EP6oDhE;AACF;;AQprDQ;EAAgC,oBAA4B;ARwrDpE;;AQvrDQ;;EAEE,wBAAoC;AR0rD9C;;AQxrDQ;;EAEE,0BAAwC;AR2rDlD;;AQzrDQ;;EAEE,2BAA0C;AR4rDpD;;AQ1rDQ;;EAEE,yBAAsC;AR6rDhD;;AQ5sDQ;EAAgC,0BAA4B;ARgtDpE;;AQ/sDQ;;EAEE,8BAAoC;ARktD9C;;AQhtDQ;;EAEE,gCAAwC;ARmtDlD;;AQjtDQ;;EAEE,iCAA0C;ARotDpD;;AQltDQ;;EAEE,+BAAsC;ARqtDhD;;AQpuDQ;EAAgC,yBAA4B;ARwuDpE;;AQvuDQ;;EAEE,6BAAoC;AR0uD9C;;AQxuDQ;;EAEE,+BAAwC;AR2uDlD;;AQzuDQ;;EAEE,gCAA0C;AR4uDpD;;AQ1uDQ;;EAEE,8BAAsC;AR6uDhD;;AQ5vDQ;EAAgC,uBAA4B;ARgwDpE;;AQ/vDQ;;EAEE,2BAAoC;ARkwD9C;;AQhwDQ;;EAEE,6BAAwC;ARmwDlD;;AQjwDQ;;EAEE,8BAA0C;ARowDpD;;AQlwDQ;;EAEE,4BAAsC;ARqwDhD;;AQpxDQ;EAAgC,yBAA4B;ARwxDpE;;AQvxDQ;;EAEE,6BAAoC;AR0xD9C;;AQxxDQ;;EAEE,+BAAwC;AR2xDlD;;AQzxDQ;;EAEE,gCAA0C;AR4xDpD;;AQ1xDQ;;EAEE,8BAAsC;AR6xDhD;;AQ5yDQ;EAAgC,uBAA4B;ARgzDpE;;AQ/yDQ;;EAEE,2BAAoC;ARkzD9C;;AQhzDQ;;EAEE,6BAAwC;ARmzDlD;;AQjzDQ;;EAEE,8BAA0C;ARozDpD;;AQlzDQ;;EAEE,4BAAsC;ARqzDhD;;AQp0DQ;EAAgC,qBAA4B;ARw0DpE;;AQv0DQ;;EAEE,yBAAoC;AR00D9C;;AQx0DQ;;EAEE,2BAAwC;AR20DlD;;AQz0DQ;;EAEE,4BAA0C;AR40DpD;;AQ10DQ;;EAEE,0BAAsC;AR60DhD;;AQ51DQ;EAAgC,2BAA4B;ARg2DpE;;AQ/1DQ;;EAEE,+BAAoC;ARk2D9C;;AQh2DQ;;EAEE,iCAAwC;ARm2DlD;;AQj2DQ;;EAEE,kCAA0C;ARo2DpD;;AQl2DQ;;EAEE,gCAAsC;ARq2DhD;;AQp3DQ;EAAgC,0BAA4B;ARw3DpE;;AQv3DQ;;EAEE,8BAAoC;AR03D9C;;AQx3DQ;;EAEE,gCAAwC;AR23DlD;;AQz3DQ;;EAEE,iCAA0C;AR43DpD;;AQ13DQ;;EAEE,+BAAsC;AR63DhD;;AQ54DQ;EAAgC,wBAA4B;ARg5DpE;;AQ/4DQ;;EAEE,4BAAoC;ARk5D9C;;AQh5DQ;;EAEE,8BAAwC;ARm5DlD;;AQj5DQ;;EAEE,+BAA0C;ARo5DpD;;AQl5DQ;;EAEE,6BAAsC;ARq5DhD;;AQp6DQ;EAAgC,0BAA4B;ARw6DpE;;AQv6DQ;;EAEE,8BAAoC;AR06D9C;;AQx6DQ;;EAEE,gCAAwC;AR26DlD;;AQz6DQ;;EAEE,iCAA0C;AR46DpD;;AQ16DQ;;EAEE,+BAAsC;AR66DhD;;AQ57DQ;EAAgC,wBAA4B;ARg8DpE;;AQ/7DQ;;EAEE,4BAAoC;ARk8D9C;;AQh8DQ;;EAEE,8BAAwC;ARm8DlD;;AQj8DQ;;EAEE,+BAA0C;ARo8DpD;;AQl8DQ;;EAEE,6BAAsC;ARq8DhD;;AQ77DQ;EAAwB,2BAA2B;ARi8D3D;;AQh8DQ;;EAEE,+BAA+B;ARm8DzC;;AQj8DQ;;EAEE,iCAAiC;ARo8D3C;;AQl8DQ;;EAEE,kCAAkC;ARq8D5C;;AQn8DQ;;EAEE,gCAAgC;ARs8D1C;;AQr9DQ;EAAwB,0BAA2B;ARy9D3D;;AQx9DQ;;EAEE,8BAA+B;AR29DzC;;AQz9DQ;;EAEE,gCAAiC;AR49D3C;;AQ19DQ;;EAEE,iCAAkC;AR69D5C;;AQ39DQ;;EAEE,+BAAgC;AR89D1C;;AQ7+DQ;EAAwB,wBAA2B;ARi/D3D;;AQh/DQ;;EAEE,4BAA+B;ARm/DzC;;AQj/DQ;;EAEE,8BAAiC;ARo/D3C;;AQl/DQ;;EAEE,+BAAkC;ARq/D5C;;AQn/DQ;;EAEE,6BAAgC;ARs/D1C;;AQrgEQ;EAAwB,0BAA2B;ARygE3D;;AQxgEQ;;EAEE,8BAA+B;AR2gEzC;;AQzgEQ;;EAEE,gCAAiC;AR4gE3C;;AQ1gEQ;;EAEE,iCAAkC;AR6gE5C;;AQ3gEQ;;EAEE,+BAAgC;AR8gE1C;;AQ7hEQ;EAAwB,wBAA2B;ARiiE3D;;AQhiEQ;;EAEE,4BAA+B;ARmiEzC;;AQjiEQ;;EAEE,8BAAiC;ARoiE3C;;AQliEQ;;EAEE,+BAAkC;ARqiE5C;;AQniEQ;;EAEE,6BAAgC;ARsiE1C;;AQhiEI;EAAmB,uBAAuB;ARoiE9C;;AQniEI;;EAEE,2BAA2B;ARsiEjC;;AQpiEI;;EAEE,6BAA6B;ARuiEnC;;AQriEI;;EAEE,8BAA8B;ARwiEpC;;AQtiEI;;EAEE,4BAA4B;ARyiElC;;AGljEI;EKlDI;IAAgC,oBAA4B;ERymElE;EQxmEM;;IAEE,wBAAoC;ER0mE5C;EQxmEM;;IAEE,0BAAwC;ER0mEhD;EQxmEM;;IAEE,2BAA0C;ER0mElD;EQxmEM;;IAEE,yBAAsC;ER0mE9C;EQznEM;IAAgC,0BAA4B;ER4nElE;EQ3nEM;;IAEE,8BAAoC;ER6nE5C;EQ3nEM;;IAEE,gCAAwC;ER6nEhD;EQ3nEM;;IAEE,iCAA0C;ER6nElD;EQ3nEM;;IAEE,+BAAsC;ER6nE9C;EQ5oEM;IAAgC,yBAA4B;ER+oElE;EQ9oEM;;IAEE,6BAAoC;ERgpE5C;EQ9oEM;;IAEE,+BAAwC;ERgpEhD;EQ9oEM;;IAEE,gCAA0C;ERgpElD;EQ9oEM;;IAEE,8BAAsC;ERgpE9C;EQ/pEM;IAAgC,uBAA4B;ERkqElE;EQjqEM;;IAEE,2BAAoC;ERmqE5C;EQjqEM;;IAEE,6BAAwC;ERmqEhD;EQjqEM;;IAEE,8BAA0C;ERmqElD;EQjqEM;;IAEE,4BAAsC;ERmqE9C;EQlrEM;IAAgC,yBAA4B;ERqrElE;EQprEM;;IAEE,6BAAoC;ERsrE5C;EQprEM;;IAEE,+BAAwC;ERsrEhD;EQprEM;;IAEE,gCAA0C;ERsrElD;EQprEM;;IAEE,8BAAsC;ERsrE9C;EQrsEM;IAAgC,uBAA4B;ERwsElE;EQvsEM;;IAEE,2BAAoC;ERysE5C;EQvsEM;;IAEE,6BAAwC;ERysEhD;EQvsEM;;IAEE,8BAA0C;ERysElD;EQvsEM;;IAEE,4BAAsC;ERysE9C;EQxtEM;IAAgC,qBAA4B;ER2tElE;EQ1tEM;;IAEE,yBAAoC;ER4tE5C;EQ1tEM;;IAEE,2BAAwC;ER4tEhD;EQ1tEM;;IAEE,4BAA0C;ER4tElD;EQ1tEM;;IAEE,0BAAsC;ER4tE9C;EQ3uEM;IAAgC,2BAA4B;ER8uElE;EQ7uEM;;IAEE,+BAAoC;ER+uE5C;EQ7uEM;;IAEE,iCAAwC;ER+uEhD;EQ7uEM;;IAEE,kCAA0C;ER+uElD;EQ7uEM;;IAEE,gCAAsC;ER+uE9C;EQ9vEM;IAAgC,0BAA4B;ERiwElE;EQhwEM;;IAEE,8BAAoC;ERkwE5C;EQhwEM;;IAEE,gCAAwC;ERkwEhD;EQhwEM;;IAEE,iCAA0C;ERkwElD;EQhwEM;;IAEE,+BAAsC;ERkwE9C;EQjxEM;IAAgC,wBAA4B;ERoxElE;EQnxEM;;IAEE,4BAAoC;ERqxE5C;EQnxEM;;IAEE,8BAAwC;ERqxEhD;EQnxEM;;IAEE,+BAA0C;ERqxElD;EQnxEM;;IAEE,6BAAsC;ERqxE9C;EQpyEM;IAAgC,0BAA4B;ERuyElE;EQtyEM;;IAEE,8BAAoC;ERwyE5C;EQtyEM;;IAEE,gCAAwC;ERwyEhD;EQtyEM;;IAEE,iCAA0C;ERwyElD;EQtyEM;;IAEE,+BAAsC;ERwyE9C;EQvzEM;IAAgC,wBAA4B;ER0zElE;EQzzEM;;IAEE,4BAAoC;ER2zE5C;EQzzEM;;IAEE,8BAAwC;ER2zEhD;EQzzEM;;IAEE,+BAA0C;ER2zElD;EQzzEM;;IAEE,6BAAsC;ER2zE9C;EQnzEM;IAAwB,2BAA2B;ERszEzD;EQrzEM;;IAEE,+BAA+B;ERuzEvC;EQrzEM;;IAEE,iCAAiC;ERuzEzC;EQrzEM;;IAEE,kCAAkC;ERuzE1C;EQrzEM;;IAEE,gCAAgC;ERuzExC;EQt0EM;IAAwB,0BAA2B;ERy0EzD;EQx0EM;;IAEE,8BAA+B;ER00EvC;EQx0EM;;IAEE,gCAAiC;ER00EzC;EQx0EM;;IAEE,iCAAkC;ER00E1C;EQx0EM;;IAEE,+BAAgC;ER00ExC;EQz1EM;IAAwB,wBAA2B;ER41EzD;EQ31EM;;IAEE,4BAA+B;ER61EvC;EQ31EM;;IAEE,8BAAiC;ER61EzC;EQ31EM;;IAEE,+BAAkC;ER61E1C;EQ31EM;;IAEE,6BAAgC;ER61ExC;EQ52EM;IAAwB,0BAA2B;ER+2EzD;EQ92EM;;IAEE,8BAA+B;ERg3EvC;EQ92EM;;IAEE,gCAAiC;ERg3EzC;EQ92EM;;IAEE,iCAAkC;ERg3E1C;EQ92EM;;IAEE,+BAAgC;ERg3ExC;EQ/3EM;IAAwB,wBAA2B;ERk4EzD;EQj4EM;;IAEE,4BAA+B;ERm4EvC;EQj4EM;;IAEE,8BAAiC;ERm4EzC;EQj4EM;;IAEE,+BAAkC;ERm4E1C;EQj4EM;;IAEE,6BAAgC;ERm4ExC;EQ73EE;IAAmB,uBAAuB;ERg4E5C;EQ/3EE;;IAEE,2BAA2B;ERi4E/B;EQ/3EE;;IAEE,6BAA6B;ERi4EjC;EQ/3EE;;IAEE,8BAA8B;ERi4ElC;EQ/3EE;;IAEE,4BAA4B;ERi4EhC;AACF;;AG34EI;EKlDI;IAAgC,oBAA4B;ERk8ElE;EQj8EM;;IAEE,wBAAoC;ERm8E5C;EQj8EM;;IAEE,0BAAwC;ERm8EhD;EQj8EM;;IAEE,2BAA0C;ERm8ElD;EQj8EM;;IAEE,yBAAsC;ERm8E9C;EQl9EM;IAAgC,0BAA4B;ERq9ElE;EQp9EM;;IAEE,8BAAoC;ERs9E5C;EQp9EM;;IAEE,gCAAwC;ERs9EhD;EQp9EM;;IAEE,iCAA0C;ERs9ElD;EQp9EM;;IAEE,+BAAsC;ERs9E9C;EQr+EM;IAAgC,yBAA4B;ERw+ElE;EQv+EM;;IAEE,6BAAoC;ERy+E5C;EQv+EM;;IAEE,+BAAwC;ERy+EhD;EQv+EM;;IAEE,gCAA0C;ERy+ElD;EQv+EM;;IAEE,8BAAsC;ERy+E9C;EQx/EM;IAAgC,uBAA4B;ER2/ElE;EQ1/EM;;IAEE,2BAAoC;ER4/E5C;EQ1/EM;;IAEE,6BAAwC;ER4/EhD;EQ1/EM;;IAEE,8BAA0C;ER4/ElD;EQ1/EM;;IAEE,4BAAsC;ER4/E9C;EQ3gFM;IAAgC,yBAA4B;ER8gFlE;EQ7gFM;;IAEE,6BAAoC;ER+gF5C;EQ7gFM;;IAEE,+BAAwC;ER+gFhD;EQ7gFM;;IAEE,gCAA0C;ER+gFlD;EQ7gFM;;IAEE,8BAAsC;ER+gF9C;EQ9hFM;IAAgC,uBAA4B;ERiiFlE;EQhiFM;;IAEE,2BAAoC;ERkiF5C;EQhiFM;;IAEE,6BAAwC;ERkiFhD;EQhiFM;;IAEE,8BAA0C;ERkiFlD;EQhiFM;;IAEE,4BAAsC;ERkiF9C;EQjjFM;IAAgC,qBAA4B;ERojFlE;EQnjFM;;IAEE,yBAAoC;ERqjF5C;EQnjFM;;IAEE,2BAAwC;ERqjFhD;EQnjFM;;IAEE,4BAA0C;ERqjFlD;EQnjFM;;IAEE,0BAAsC;ERqjF9C;EQpkFM;IAAgC,2BAA4B;ERukFlE;EQtkFM;;IAEE,+BAAoC;ERwkF5C;EQtkFM;;IAEE,iCAAwC;ERwkFhD;EQtkFM;;IAEE,kCAA0C;ERwkFlD;EQtkFM;;IAEE,gCAAsC;ERwkF9C;EQvlFM;IAAgC,0BAA4B;ER0lFlE;EQzlFM;;IAEE,8BAAoC;ER2lF5C;EQzlFM;;IAEE,gCAAwC;ER2lFhD;EQzlFM;;IAEE,iCAA0C;ER2lFlD;EQzlFM;;IAEE,+BAAsC;ER2lF9C;EQ1mFM;IAAgC,wBAA4B;ER6mFlE;EQ5mFM;;IAEE,4BAAoC;ER8mF5C;EQ5mFM;;IAEE,8BAAwC;ER8mFhD;EQ5mFM;;IAEE,+BAA0C;ER8mFlD;EQ5mFM;;IAEE,6BAAsC;ER8mF9C;EQ7nFM;IAAgC,0BAA4B;ERgoFlE;EQ/nFM;;IAEE,8BAAoC;ERioF5C;EQ/nFM;;IAEE,gCAAwC;ERioFhD;EQ/nFM;;IAEE,iCAA0C;ERioFlD;EQ/nFM;;IAEE,+BAAsC;ERioF9C;EQhpFM;IAAgC,wBAA4B;ERmpFlE;EQlpFM;;IAEE,4BAAoC;ERopF5C;EQlpFM;;IAEE,8BAAwC;ERopFhD;EQlpFM;;IAEE,+BAA0C;ERopFlD;EQlpFM;;IAEE,6BAAsC;ERopF9C;EQ5oFM;IAAwB,2BAA2B;ER+oFzD;EQ9oFM;;IAEE,+BAA+B;ERgpFvC;EQ9oFM;;IAEE,iCAAiC;ERgpFzC;EQ9oFM;;IAEE,kCAAkC;ERgpF1C;EQ9oFM;;IAEE,gCAAgC;ERgpFxC;EQ/pFM;IAAwB,0BAA2B;ERkqFzD;EQjqFM;;IAEE,8BAA+B;ERmqFvC;EQjqFM;;IAEE,gCAAiC;ERmqFzC;EQjqFM;;IAEE,iCAAkC;ERmqF1C;EQjqFM;;IAEE,+BAAgC;ERmqFxC;EQlrFM;IAAwB,wBAA2B;ERqrFzD;EQprFM;;IAEE,4BAA+B;ERsrFvC;EQprFM;;IAEE,8BAAiC;ERsrFzC;EQprFM;;IAEE,+BAAkC;ERsrF1C;EQprFM;;IAEE,6BAAgC;ERsrFxC;EQrsFM;IAAwB,0BAA2B;ERwsFzD;EQvsFM;;IAEE,8BAA+B;ERysFvC;EQvsFM;;IAEE,gCAAiC;ERysFzC;EQvsFM;;IAEE,iCAAkC;ERysF1C;EQvsFM;;IAEE,+BAAgC;ERysFxC;EQxtFM;IAAwB,wBAA2B;ER2tFzD;EQ1tFM;;IAEE,4BAA+B;ER4tFvC;EQ1tFM;;IAEE,8BAAiC;ER4tFzC;EQ1tFM;;IAEE,+BAAkC;ER4tF1C;EQ1tFM;;IAEE,6BAAgC;ER4tFxC;EQttFE;IAAmB,uBAAuB;ERytF5C;EQxtFE;;IAEE,2BAA2B;ER0tF/B;EQxtFE;;IAEE,6BAA6B;ER0tFjC;EQxtFE;;IAEE,8BAA8B;ER0tFlC;EQxtFE;;IAEE,4BAA4B;ER0tFhC;AACF;;AGpuFI;EKlDI;IAAgC,oBAA4B;ER2xFlE;EQ1xFM;;IAEE,wBAAoC;ER4xF5C;EQ1xFM;;IAEE,0BAAwC;ER4xFhD;EQ1xFM;;IAEE,2BAA0C;ER4xFlD;EQ1xFM;;IAEE,yBAAsC;ER4xF9C;EQ3yFM;IAAgC,0BAA4B;ER8yFlE;EQ7yFM;;IAEE,8BAAoC;ER+yF5C;EQ7yFM;;IAEE,gCAAwC;ER+yFhD;EQ7yFM;;IAEE,iCAA0C;ER+yFlD;EQ7yFM;;IAEE,+BAAsC;ER+yF9C;EQ9zFM;IAAgC,yBAA4B;ERi0FlE;EQh0FM;;IAEE,6BAAoC;ERk0F5C;EQh0FM;;IAEE,+BAAwC;ERk0FhD;EQh0FM;;IAEE,gCAA0C;ERk0FlD;EQh0FM;;IAEE,8BAAsC;ERk0F9C;EQj1FM;IAAgC,uBAA4B;ERo1FlE;EQn1FM;;IAEE,2BAAoC;ERq1F5C;EQn1FM;;IAEE,6BAAwC;ERq1FhD;EQn1FM;;IAEE,8BAA0C;ERq1FlD;EQn1FM;;IAEE,4BAAsC;ERq1F9C;EQp2FM;IAAgC,yBAA4B;ERu2FlE;EQt2FM;;IAEE,6BAAoC;ERw2F5C;EQt2FM;;IAEE,+BAAwC;ERw2FhD;EQt2FM;;IAEE,gCAA0C;ERw2FlD;EQt2FM;;IAEE,8BAAsC;ERw2F9C;EQv3FM;IAAgC,uBAA4B;ER03FlE;EQz3FM;;IAEE,2BAAoC;ER23F5C;EQz3FM;;IAEE,6BAAwC;ER23FhD;EQz3FM;;IAEE,8BAA0C;ER23FlD;EQz3FM;;IAEE,4BAAsC;ER23F9C;EQ14FM;IAAgC,qBAA4B;ER64FlE;EQ54FM;;IAEE,yBAAoC;ER84F5C;EQ54FM;;IAEE,2BAAwC;ER84FhD;EQ54FM;;IAEE,4BAA0C;ER84FlD;EQ54FM;;IAEE,0BAAsC;ER84F9C;EQ75FM;IAAgC,2BAA4B;ERg6FlE;EQ/5FM;;IAEE,+BAAoC;ERi6F5C;EQ/5FM;;IAEE,iCAAwC;ERi6FhD;EQ/5FM;;IAEE,kCAA0C;ERi6FlD;EQ/5FM;;IAEE,gCAAsC;ERi6F9C;EQh7FM;IAAgC,0BAA4B;ERm7FlE;EQl7FM;;IAEE,8BAAoC;ERo7F5C;EQl7FM;;IAEE,gCAAwC;ERo7FhD;EQl7FM;;IAEE,iCAA0C;ERo7FlD;EQl7FM;;IAEE,+BAAsC;ERo7F9C;EQn8FM;IAAgC,wBAA4B;ERs8FlE;EQr8FM;;IAEE,4BAAoC;ERu8F5C;EQr8FM;;IAEE,8BAAwC;ERu8FhD;EQr8FM;;IAEE,+BAA0C;ERu8FlD;EQr8FM;;IAEE,6BAAsC;ERu8F9C;EQt9FM;IAAgC,0BAA4B;ERy9FlE;EQx9FM;;IAEE,8BAAoC;ER09F5C;EQx9FM;;IAEE,gCAAwC;ER09FhD;EQx9FM;;IAEE,iCAA0C;ER09FlD;EQx9FM;;IAEE,+BAAsC;ER09F9C;EQz+FM;IAAgC,wBAA4B;ER4+FlE;EQ3+FM;;IAEE,4BAAoC;ER6+F5C;EQ3+FM;;IAEE,8BAAwC;ER6+FhD;EQ3+FM;;IAEE,+BAA0C;ER6+FlD;EQ3+FM;;IAEE,6BAAsC;ER6+F9C;EQr+FM;IAAwB,2BAA2B;ERw+FzD;EQv+FM;;IAEE,+BAA+B;ERy+FvC;EQv+FM;;IAEE,iCAAiC;ERy+FzC;EQv+FM;;IAEE,kCAAkC;ERy+F1C;EQv+FM;;IAEE,gCAAgC;ERy+FxC;EQx/FM;IAAwB,0BAA2B;ER2/FzD;EQ1/FM;;IAEE,8BAA+B;ER4/FvC;EQ1/FM;;IAEE,gCAAiC;ER4/FzC;EQ1/FM;;IAEE,iCAAkC;ER4/F1C;EQ1/FM;;IAEE,+BAAgC;ER4/FxC;EQ3gGM;IAAwB,wBAA2B;ER8gGzD;EQ7gGM;;IAEE,4BAA+B;ER+gGvC;EQ7gGM;;IAEE,8BAAiC;ER+gGzC;EQ7gGM;;IAEE,+BAAkC;ER+gG1C;EQ7gGM;;IAEE,6BAAgC;ER+gGxC;EQ9hGM;IAAwB,0BAA2B;ERiiGzD;EQhiGM;;IAEE,8BAA+B;ERkiGvC;EQhiGM;;IAEE,gCAAiC;ERkiGzC;EQhiGM;;IAEE,iCAAkC;ERkiG1C;EQhiGM;;IAEE,+BAAgC;ERkiGxC;EQjjGM;IAAwB,wBAA2B;ERojGzD;EQnjGM;;IAEE,4BAA+B;ERqjGvC;EQnjGM;;IAEE,8BAAiC;ERqjGzC;EQnjGM;;IAEE,+BAAkC;ERqjG1C;EQnjGM;;IAEE,6BAAgC;ERqjGxC;EQ/iGE;IAAmB,uBAAuB;ERkjG5C;EQjjGE;;IAEE,2BAA2B;ERmjG/B;EQjjGE;;IAEE,6BAA6B;ERmjGjC;EQjjGE;;IAEE,8BAA8B;ERmjGlC;EQjjGE;;IAEE,4BAA4B;ERmjGhC;AACF;;AG7jGI;EKlDI;IAAgC,oBAA4B;ERonGlE;EQnnGM;;IAEE,wBAAoC;ERqnG5C;EQnnGM;;IAEE,0BAAwC;ERqnGhD;EQnnGM;;IAEE,2BAA0C;ERqnGlD;EQnnGM;;IAEE,yBAAsC;ERqnG9C;EQpoGM;IAAgC,0BAA4B;ERuoGlE;EQtoGM;;IAEE,8BAAoC;ERwoG5C;EQtoGM;;IAEE,gCAAwC;ERwoGhD;EQtoGM;;IAEE,iCAA0C;ERwoGlD;EQtoGM;;IAEE,+BAAsC;ERwoG9C;EQvpGM;IAAgC,yBAA4B;ER0pGlE;EQzpGM;;IAEE,6BAAoC;ER2pG5C;EQzpGM;;IAEE,+BAAwC;ER2pGhD;EQzpGM;;IAEE,gCAA0C;ER2pGlD;EQzpGM;;IAEE,8BAAsC;ER2pG9C;EQ1qGM;IAAgC,uBAA4B;ER6qGlE;EQ5qGM;;IAEE,2BAAoC;ER8qG5C;EQ5qGM;;IAEE,6BAAwC;ER8qGhD;EQ5qGM;;IAEE,8BAA0C;ER8qGlD;EQ5qGM;;IAEE,4BAAsC;ER8qG9C;EQ7rGM;IAAgC,yBAA4B;ERgsGlE;EQ/rGM;;IAEE,6BAAoC;ERisG5C;EQ/rGM;;IAEE,+BAAwC;ERisGhD;EQ/rGM;;IAEE,gCAA0C;ERisGlD;EQ/rGM;;IAEE,8BAAsC;ERisG9C;EQhtGM;IAAgC,uBAA4B;ERmtGlE;EQltGM;;IAEE,2BAAoC;ERotG5C;EQltGM;;IAEE,6BAAwC;ERotGhD;EQltGM;;IAEE,8BAA0C;ERotGlD;EQltGM;;IAEE,4BAAsC;ERotG9C;EQnuGM;IAAgC,qBAA4B;ERsuGlE;EQruGM;;IAEE,yBAAoC;ERuuG5C;EQruGM;;IAEE,2BAAwC;ERuuGhD;EQruGM;;IAEE,4BAA0C;ERuuGlD;EQruGM;;IAEE,0BAAsC;ERuuG9C;EQtvGM;IAAgC,2BAA4B;ERyvGlE;EQxvGM;;IAEE,+BAAoC;ER0vG5C;EQxvGM;;IAEE,iCAAwC;ER0vGhD;EQxvGM;;IAEE,kCAA0C;ER0vGlD;EQxvGM;;IAEE,gCAAsC;ER0vG9C;EQzwGM;IAAgC,0BAA4B;ER4wGlE;EQ3wGM;;IAEE,8BAAoC;ER6wG5C;EQ3wGM;;IAEE,gCAAwC;ER6wGhD;EQ3wGM;;IAEE,iCAA0C;ER6wGlD;EQ3wGM;;IAEE,+BAAsC;ER6wG9C;EQ5xGM;IAAgC,wBAA4B;ER+xGlE;EQ9xGM;;IAEE,4BAAoC;ERgyG5C;EQ9xGM;;IAEE,8BAAwC;ERgyGhD;EQ9xGM;;IAEE,+BAA0C;ERgyGlD;EQ9xGM;;IAEE,6BAAsC;ERgyG9C;EQ/yGM;IAAgC,0BAA4B;ERkzGlE;EQjzGM;;IAEE,8BAAoC;ERmzG5C;EQjzGM;;IAEE,gCAAwC;ERmzGhD;EQjzGM;;IAEE,iCAA0C;ERmzGlD;EQjzGM;;IAEE,+BAAsC;ERmzG9C;EQl0GM;IAAgC,wBAA4B;ERq0GlE;EQp0GM;;IAEE,4BAAoC;ERs0G5C;EQp0GM;;IAEE,8BAAwC;ERs0GhD;EQp0GM;;IAEE,+BAA0C;ERs0GlD;EQp0GM;;IAEE,6BAAsC;ERs0G9C;EQ9zGM;IAAwB,2BAA2B;ERi0GzD;EQh0GM;;IAEE,+BAA+B;ERk0GvC;EQh0GM;;IAEE,iCAAiC;ERk0GzC;EQh0GM;;IAEE,kCAAkC;ERk0G1C;EQh0GM;;IAEE,gCAAgC;ERk0GxC;EQj1GM;IAAwB,0BAA2B;ERo1GzD;EQn1GM;;IAEE,8BAA+B;ERq1GvC;EQn1GM;;IAEE,gCAAiC;ERq1GzC;EQn1GM;;IAEE,iCAAkC;ERq1G1C;EQn1GM;;IAEE,+BAAgC;ERq1GxC;EQp2GM;IAAwB,wBAA2B;ERu2GzD;EQt2GM;;IAEE,4BAA+B;ERw2GvC;EQt2GM;;IAEE,8BAAiC;ERw2GzC;EQt2GM;;IAEE,+BAAkC;ERw2G1C;EQt2GM;;IAEE,6BAAgC;ERw2GxC;EQv3GM;IAAwB,0BAA2B;ER03GzD;EQz3GM;;IAEE,8BAA+B;ER23GvC;EQz3GM;;IAEE,gCAAiC;ER23GzC;EQz3GM;;IAEE,iCAAkC;ER23G1C;EQz3GM;;IAEE,+BAAgC;ER23GxC;EQ14GM;IAAwB,wBAA2B;ER64GzD;EQ54GM;;IAEE,4BAA+B;ER84GvC;EQ54GM;;IAEE,8BAAiC;ER84GzC;EQ54GM;;IAEE,+BAAkC;ER84G1C;EQ54GM;;IAEE,6BAAgC;ER84GxC;EQx4GE;IAAmB,uBAAuB;ER24G5C;EQ14GE;;IAEE,2BAA2B;ER44G/B;EQ14GE;;IAEE,6BAA6B;ER44GjC;EQ14GE;;IAEE,8BAA8B;ER44GlC;EQ14GE;;IAEE,4BAA4B;ER44GhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n (\"(\",\"%28\"),\n (\")\",\"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css b/vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css
index 6533f319a..b40eb5f71 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap Grid v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.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:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.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:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;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:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!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}}
+ */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.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:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.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:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;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:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!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}}
/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css.map b/vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css.map
index 1b393db3e..613224248 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css.map
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap-grid.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css b/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css
index 91b0fc4c8..aa9fd2bea 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
@@ -155,6 +155,7 @@ pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
+ -ms-overflow-style: scrollbar;
}
figure {
@@ -222,6 +223,10 @@ select {
text-transform: none;
}
+[role="button"] {
+ cursor: pointer;
+}
+
select {
word-wrap: normal;
}
@@ -254,13 +259,6 @@ input[type="checkbox"] {
padding: 0;
}
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-input[type="month"] {
- -webkit-appearance: listbox;
-}
-
textarea {
overflow: auto;
resize: vertical;
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css.map b/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css.map
index 701f6715c..5d3e152c1 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css.map
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n (\"(\",\"%28\"),\n (\")\",\"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css b/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css
index 5308df61a..f6f244a35 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css
@@ -1,8 +1,8 @@
/*!
- * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
- */*,::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:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.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:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):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}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:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}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}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}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}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}
+ */*,::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:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.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:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):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:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}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}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css.map b/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css.map
index b8551f7c0..3baf07bc2 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css.map
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap-reboot.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap.css b/vendor/twbs/bootstrap/dist/css/bootstrap.css
index 8eac957a5..e461d3fb9 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap.css
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
:root {
@@ -185,6 +185,7 @@ pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
+ -ms-overflow-style: scrollbar;
}
figure {
@@ -252,6 +253,10 @@ select {
text-transform: none;
}
+[role="button"] {
+ cursor: pointer;
+}
+
select {
word-wrap: normal;
}
@@ -284,13 +289,6 @@ input[type="checkbox"] {
padding: 0;
}
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-input[type="month"] {
- -webkit-appearance: listbox;
-}
-
textarea {
overflow: auto;
resize: vertical;
@@ -642,6 +640,7 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
@@ -885,6 +884,7 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
.row-cols-sm-1 > * {
@@ -1087,6 +1087,7 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
.row-cols-md-1 > * {
@@ -1289,6 +1290,7 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
.row-cols-lg-1 > * {
@@ -1491,6 +1493,7 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
+ min-width: 0;
max-width: 100%;
}
.row-cols-xl-1 > * {
@@ -2100,6 +2103,15 @@ pre code {
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: #495057;
background-color: #fff;
@@ -2517,7 +2529,6 @@ textarea.form-control {
color: #212529;
text-align: center;
vertical-align: middle;
- cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
@@ -2551,6 +2562,10 @@ textarea.form-control {
opacity: 0.65;
}
+.btn:not(:disabled):not(.disabled) {
+ cursor: pointer;
+}
+
a.btn.disabled,
fieldset:disabled a.btn {
pointer-events: none;
@@ -3121,7 +3136,6 @@ fieldset:disabled a.btn {
.btn-link:focus, .btn-link.focus {
text-decoration: underline;
- box-shadow: none;
}
.btn-link:disabled, .btn-link.disabled {
@@ -3580,8 +3594,9 @@ input[type="button"].btn-block {
.input-group > .custom-select,
.input-group > .custom-file {
position: relative;
- -ms-flex: 1 1 0%;
- flex: 1 1 0%;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ width: 1%;
min-width: 0;
margin-bottom: 0;
}
@@ -4661,7 +4676,7 @@ input[type="button"].btn-block {
}
.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(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+ 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 {
@@ -4709,7 +4724,7 @@ input[type="button"].btn-block {
}
.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(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+ 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 {
@@ -4743,14 +4758,21 @@ input[type="button"].btn-block {
margin-left: 0;
}
-.card > .list-group:first-child .list-group-item:first-child {
- border-top-left-radius: 0.25rem;
- border-top-right-radius: 0.25rem;
+.card > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
}
-.card > .list-group:last-child .list-group-item:last-child {
- border-bottom-right-radius: 0.25rem;
- border-bottom-left-radius: 0.25rem;
+.card > .list-group:first-child {
+ border-top-width: 0;
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.card > .list-group:last-child {
+ border-bottom-width: 0;
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
}
.card-body {
@@ -4968,6 +4990,11 @@ input[type="button"].btn-block {
border-radius: 0.25rem;
}
+.breadcrumb-item {
+ display: -ms-flexbox;
+ display: flex;
+}
+
.breadcrumb-item + .breadcrumb-item {
padding-left: 0.5rem;
}
@@ -5422,6 +5449,7 @@ a.badge-dark:focus, a.badge-dark.focus {
display: flex;
height: 1rem;
overflow: hidden;
+ line-height: 0;
font-size: 0.75rem;
background-color: #e9ecef;
border-radius: 0.25rem;
@@ -5484,6 +5512,7 @@ a.badge-dark:focus, a.badge-dark.focus {
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
+ border-radius: 0.25rem;
}
.list-group-item-action {
@@ -5513,13 +5542,13 @@ a.badge-dark:focus, a.badge-dark.focus {
}
.list-group-item:first-child {
- border-top-left-radius: 0.25rem;
- border-top-right-radius: 0.25rem;
+ border-top-left-radius: inherit;
+ border-top-right-radius: inherit;
}
.list-group-item:last-child {
- border-bottom-right-radius: 0.25rem;
- border-bottom-left-radius: 0.25rem;
+ border-bottom-right-radius: inherit;
+ border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
@@ -5549,26 +5578,26 @@ a.badge-dark:focus, a.badge-dark.focus {
flex-direction: row;
}
-.list-group-horizontal .list-group-item:first-child {
+.list-group-horizontal > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
-.list-group-horizontal .list-group-item:last-child {
+.list-group-horizontal > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
-.list-group-horizontal .list-group-item.active {
+.list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
-.list-group-horizontal .list-group-item + .list-group-item {
+.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 {
+.list-group-horizontal > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
@@ -5578,22 +5607,22 @@ a.badge-dark:focus, a.badge-dark.focus {
-ms-flex-direction: row;
flex-direction: row;
}
- .list-group-horizontal-sm .list-group-item:first-child {
+ .list-group-horizontal-sm > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
- .list-group-horizontal-sm .list-group-item:last-child {
+ .list-group-horizontal-sm > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
- .list-group-horizontal-sm .list-group-item.active {
+ .list-group-horizontal-sm > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-sm .list-group-item + .list-group-item {
+ .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 {
+ .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
@@ -5604,22 +5633,22 @@ a.badge-dark:focus, a.badge-dark.focus {
-ms-flex-direction: row;
flex-direction: row;
}
- .list-group-horizontal-md .list-group-item:first-child {
+ .list-group-horizontal-md > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
- .list-group-horizontal-md .list-group-item:last-child {
+ .list-group-horizontal-md > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
- .list-group-horizontal-md .list-group-item.active {
+ .list-group-horizontal-md > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-md .list-group-item + .list-group-item {
+ .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 {
+ .list-group-horizontal-md > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
@@ -5630,22 +5659,22 @@ a.badge-dark:focus, a.badge-dark.focus {
-ms-flex-direction: row;
flex-direction: row;
}
- .list-group-horizontal-lg .list-group-item:first-child {
+ .list-group-horizontal-lg > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
- .list-group-horizontal-lg .list-group-item:last-child {
+ .list-group-horizontal-lg > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
- .list-group-horizontal-lg .list-group-item.active {
+ .list-group-horizontal-lg > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-lg .list-group-item + .list-group-item {
+ .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 {
+ .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
@@ -5656,38 +5685,36 @@ a.badge-dark:focus, a.badge-dark.focus {
-ms-flex-direction: row;
flex-direction: row;
}
- .list-group-horizontal-xl .list-group-item:first-child {
+ .list-group-horizontal-xl > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
- .list-group-horizontal-xl .list-group-item:last-child {
+ .list-group-horizontal-xl > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
- .list-group-horizontal-xl .list-group-item.active {
+ .list-group-horizontal-xl > .list-group-item.active {
margin-top: 0;
}
- .list-group-horizontal-xl .list-group-item + .list-group-item {
+ .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 {
+ .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
}
-.list-group-flush .list-group-item {
- border-right-width: 0;
- border-left-width: 0;
+.list-group-flush {
border-radius: 0;
}
-.list-group-flush .list-group-item:first-child {
- border-top-width: 0;
+.list-group-flush > .list-group-item {
+ border-width: 0 0 1px;
}
-.list-group-flush:last-child .list-group-item:last-child {
+.list-group-flush > .list-group-item:last-child {
border-bottom-width: 0;
}
@@ -5842,9 +5869,6 @@ button.close {
padding: 0;
background-color: transparent;
border: 0;
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
}
a.close.disabled {
@@ -5982,6 +6006,9 @@ a.close.disabled {
.modal-dialog-centered::before {
display: block;
height: calc(100vh - 1rem);
+ height: -webkit-min-content;
+ height: -moz-min-content;
+ height: min-content;
content: "";
}
@@ -6107,6 +6134,9 @@ a.close.disabled {
}
.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;
@@ -6638,6 +6668,8 @@ a.close.disabled {
}
50% {
opacity: 1;
+ -webkit-transform: none;
+ transform: none;
}
}
@@ -6648,6 +6680,8 @@ a.close.disabled {
}
50% {
opacity: 1;
+ -webkit-transform: none;
+ transform: none;
}
}
@@ -7933,6 +7967,27 @@ button.bg-dark:focus {
}
}
+.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;
}
@@ -8088,18 +8143,6 @@ button.bg-dark:focus {
height: 100vh !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);
-}
-
.m-0 {
margin: 0 !important;
}
@@ -9912,6 +9955,18 @@ button.bg-dark:focus {
}
}
+.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;
}
@@ -10127,8 +10182,7 @@ a.text-dark:hover, a.text-dark:focus {
}
.text-break {
- word-break: break-word !important;
- overflow-wrap: break-word !important;
+ word-wrap: break-word !important;
}
.text-reset {
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap.css.map b/vendor/twbs/bootstrap/dist/css/bootstrap.css.map
index 521afc5be..1ee30ac6b 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap.css.map
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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AAwB;AFpH1B;;AE4HA;EACE,aAAa;EACb,0BAA0B;AFzH5B;;AEgIA;EACE,qBAAqB;AF7HvB;;AEgIA;EACE,kBAAkB;EAClB,eAAe;AF7HjB;;AEgIA;EACE,aAAa;AF7Hf;;AAEA;EEiIE,wBAAwB;AF/H1B;;AM3VA;;EAEE,qBHySuC;EGvSvC,gBHyS+B;EGxS/B,gBHyS+B;AHoDjC;;AMzVA;EFgHM,iBAtCY;AJmRlB;;AM5VA;EF+GM,eAtCY;AJuRlB;;AM/VA;EF8GM,kBAtCY;AJ2RlB;;AMlWA;EF6GM,iBAtCY;AJ+RlB;;AMrWA;EF4GM,kBAtCY;AJmSlB;;AMxWA;EF2GM,eAtCY;AJuSlB;;AM1WA;EFyGM,kBAtCY;EEjEhB,gBH2S+B;AHkEjC;;AMzWA;EFmGM,eAtCY;EE3DhB,gBH8R+B;EG7R/B,gBHqR+B;AHuFjC;;AM1WA;EF8FM,iBAtCY;EEtDhB,gBH0R+B;EGzR/B,gBHgR+B;AH6FjC;;AM3WA;EFyFM,iBAtCY;EEjDhB,gBHsR+B;EGrR/B,gBH2Q+B;AHmGjC;;AM5WA;EFoFM,iBAtCY;EE5ChB,gBHkR+B;EGjR/B,gBHsQ+B;AHyGjC;;AElVA;EIpBE,gBHiFW;EGhFX,mBHgFW;EG/EX,SAAS;EACT,wCHzCa;AHmZf;;AMlWA;;EFMI,cAAW;EEHb,gBH8N+B;AHuIjC;;AMlWA;;EAEE,cHsQgC;EGrQhC,yBH8QmC;AHuFrC;;AM7VA;EC/EE,eAAe;EACf,gBAAgB;APgblB;;AM7VA;ECpFE,eAAe;EACf,gBAAgB;APqblB;;AM/VA;EACE,qBAAqB;ANkWvB;;AMnWA;EAII,oBHwP+B;AH2GnC;;AMzVA;EFjCI,cAAW;EEmCb,yBAAyB;AN4V3B;;AMxVA;EACE,mBHwBW;ECTP,kBAtCY;AJmXlB;;AMxVA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHqclB;;AM9VA;EAMI,qBAAqB;AN4VzB;;AQ/cA;ECIE,eAAe;EAGf,YAAY;AT6cd;;AQ9cA;EACE,gBLigCwC;EKhgCxC,sBLRa;EKSb,yBLNgB;EOLd,sBP6OgC;EMvOlC,eAAe;EAGf,YAAY;ATsdd;;AQxcA;EAEE,qBAAqB;AR0cvB;;AQvcA;EACE,qBAA0B;EAC1B,cAAc;AR0chB;;AQvcA;EJkCI,cAAW;EIhCb,cL3BgB;AHqelB;;AWjfA;EPuEI,gBAAW;EOrEb,cRoCe;EQnCf,qBAAqB;AXofvB;;AWjfE;EACE,cAAc;AXoflB;;AW/eA;EACE,sBRqlCuC;EC3hCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOXd,qBP+O+B;AHgRnC;;AWvfA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBR4Q6B;AHsOjC;;AE1SA;ESjME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AHggBlB;;AWlfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AX+etB;;AW1eA;EACE,iBR4jCuC;EQ3jCvC,kBAAkB;AX6epB;;AYrhBE;ECDA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab0hBnB;;AcveI;EFtDF;ICWI,gBVqMK;EHkVT;AACF;;Ac7eI;EFtDF;ICWI,gBVsMK;EHuVT;AACF;;AcnfI;EFtDF;ICWI,gBVuMK;EH4VT;AACF;;AczfI;EFtDF;ICWI,iBVwMM;EHiWV;AACF;;AY/iBE;ECPA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab0jBnB;;AcvgBI;EFrCE;IACE,gBT8LG;EHkXT;AACF;;Ac7gBI;EFrCE;IACE,gBT+LG;EHuXT;AACF;;AcnhBI;EFrCE;IACE,gBTgMG;EH4XT;AACF;;AczhBI;EFrCE;IACE,iBTiMI;EHiYV;AACF;;AY/iBE;ECrBA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbwkB3B;;AYhjBE;EACE,eAAe;EACf,cAAc;AZmjBlB;;AYrjBE;;EAMI,gBAAgB;EAChB,eAAe;AZojBrB;;AetmBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;Af8mB7B;;Ae3lBM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;Af8lBvB;;Ae1lBQ;EF4BJ,kBAAuB;EAA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en5CQ;IFRR,uBAA8C;Eb85C9C;Eet5CQ;IFRR,gBAA8C;Ebi6C9C;Eez5CQ;IFRR,uBAA8C;Ebo6C9C;Ee55CQ;IFRR,uBAA8C;Ebu6C9C;AACF;;AgB39CA;EACE,WAAW;EACX,mBbkIW;EajIX,cbSgB;AHq9ClB;;AgBj+CA;;EAQI,gBbsVgC;EarVhC,mBAAmB;EACnB,6BbJc;AHk+ClB;;AgBx+CA;EAcI,sBAAsB;EACtB,gCbTc;AHu+ClB;;AgB7+CA;EAmBI,6Bbbc;AH2+ClB;;AgBr9CA;;EAGI,ebgU+B;AHupCnC;;AgB98CA;EACE,yBbnCgB;AHo/ClB;;AgBl9CA;;EAKI,yBbvCc;AHy/ClB;;AgBv9CA;;EAWM,wBAA4C;AhBi9ClD;;AgB58CA;;;;EAKI,SAAS;AhB88Cb;;AgBt8CA;EAEI,qCb1DW;AHkgDf;;AKvgDE;EW2EI,cbvEY;EawEZ,sCbvES;AHugDf;;AiBnhDE;;;EAII,yBCsF4D;AlB+7ClE;;AiBzhDE;;;;EAYM,qBC8E0D;AlBs8ClE;;AKzhDE;EYiBM,yBAJsC;AjBghD9C;;AiBjhDE;;EASQ,yBARoC;AjBqhD9C;;AiBziDE;;;EAII,yBCsF4D;AlBq9ClE;;AiB/iDE;;;;EAYM,qBC8E0D;AlB49ClE;;AK/iDE;EYiBM,yBAJsC;AjBsiD9C;;AiBviDE;;EASQ,yBARoC;AjB2iD9C;;AiB/jDE;;;EAII,yBCsF4D;AlB2+ClE;;AiBrkDE;;;;EAYM,qBC8E0D;AlBk/ClE;;AKrkDE;EYiBM,yBAJsC;AjB4jD9C;;AiB7jDE;;EASQ,yBARoC;AjBikD9C;;AiBrlDE;;;EAII,yBCsF4D;AlBigDlE;;AiB3lDE;;;;EAYM,qBC8E0D;AlBwgDlE;;AK3lDE;EYiBM,yBAJsC;AjBklD9C;;AiBnlDE;;EASQ,yBARoC;AjBulD9C;;AiB3mDE;;;EAII,yBCsF4D;AlBuhDlE;;AiBjnDE;;;;EAYM,qBC8E0D;AlB8hDlE;;AKjnDE;EYiBM,yBAJsC;AjBwmD9C;;AiBzmDE;;EASQ,yBARoC;AjB6mD9C;;AiBjoDE;;;EAII,yBCsF4D;AlB6iDlE;;AiBvoDE;;;;EAYM,qBC8E0D;AlBojDlE;;AKvoDE;EYiBM,yBAJsC;AjB8nD9C;;AiB/nDE;;EASQ,yBARoC;AjBmoD9C;;AiBvpDE;;;EAII,yBCsF4D;AlBmkDlE;;AiB7pDE;;;;EAYM,qBC8E0D;AlB0kDlE;;AK7pDE;EYiBM,yBAJsC;AjBopD9C;;AiBrpDE;;EASQ,yBARoC;AjBypD9C;;AiB7qDE;;;EAII,yBCsF4D;AlBylDlE;;AiBnrDE;;;;EAYM,qBC8E0D;AlBgmDlE;;AKnrDE;EYiBM,yBAJsC;AjB0qD9C;;AiB3qDE;;EASQ,yBARoC;AjB+qD9C;;AiBnsDE;;;EAII,sCdQS;AH6rDf;;AKlsDE;EYiBM,sCAJsC;AjByrD9C;;AiB1rDE;;EASQ,sCARoC;AjB8rD9C;;AgBxmDA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBbmQqD;AHs2C3D;;AgB9mDA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AHytDlB;;AgBlmDA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AHytDlB;;AgBvmDA;;;EAOI,qBb+OuD;AHu3C3D;;AgB7mDA;EAWI,SAAS;AhBsmDb;;AgBjnDA;EAgBM,2Cb1IS;AH+uDf;;AK1uDE;EW4IM,WbjJO;EakJP,4CblJO;AHovDf;;AclrDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBolDvC;EgBzlDG;IASK,SAAS;EhBmlDjB;AACF;;Ac9rDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBgmDvC;EgBrmDG;IASK,SAAS;EhB+lDjB;AACF;;Ac1sDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB4mDvC;EgBjnDG;IASK,SAAS;EhB2mDjB;AACF;;ActtDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBwnDvC;EgB7nDG;IASK,SAAS;EhBunDjB;AACF;;AgBtoDA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBmoDzC;;AgB7oDA;EAcU,SAAS;AhBmoDnB;;AmBhzDA;EACE,cAAc;EACd,WAAW;EACX,mCDuG8D;ECtG9D,yBhB4XkC;ECvQ9B,eAtCY;Ee5EhB,gBhBsR+B;EgBrR/B,gBhB0R+B;EgBzR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EONd,sBP6OgC;EiB5O9B,wEjBof4F;AH40ClG;;AoB3zDI;EDLJ;ICMM,gBAAgB;EpB+zDpB;AACF;;AmBt0DA;EAsBI,6BAA6B;EAC7B,SAAS;AnBozDb;;AmB30DA;EA4BI,kBAAkB;EAClB,0BhBrBc;AHw0DlB;;AqBz0DE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBwdsE;EkBvdtE,UAAU;EAKR,gDlBcW;AH0zDjB;;AmBx1DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAiDI,yBhB9Cc;EgBgDd,UAAU;AnB+yDd;;AmB3yDA;EAOI,chBtDc;EgBuDd,sBhB9DW;AHs2Df;;AmBnyDA;;EAEE,cAAc;EACd,WAAW;AnBsyDb;;AmB5xDA;EACE,iCDwB8D;ECvB9D,oCDuB8D;ECtB9D,gBAAgB;EflBd,kBAAW;EeoBb,gBhB4M+B;AHmlDjC;;AmB5xDA;EACE,+BDgB8D;ECf9D,kCDe8D;Ede1D,kBAtCY;EeUhB,gBhByI+B;AHspDjC;;AmB5xDA;EACE,gCDS8D;ECR9D,mCDQ8D;Ede1D,mBAtCY;EeiBhB,gBhBmI+B;AH4pDjC;;AmBtxDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EfQZ,eAtCY;EegChB,gBhB+K+B;EgB9K/B,chB1GgB;EgB2GhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnByxDrC;;AmBnyDA;EAcI,gBAAgB;EAChB,eAAe;AnByxDnB;;AmB7wDA;EACE,kCD/B8D;ECgC9D,uBhBgQiC;ECjR7B,mBAtCY;EeyDhB,gBhB2F+B;EOxO7B,qBP+O+B;AH+qDnC;;AmB7wDA;EACE,gCDvC8D;ECwC9D,oBhB6PgC;ECtR5B,kBAtCY;EeiEhB,gBhBkF+B;EOvO7B,qBP8O+B;AHwrDnC;;AmB5wDA;EAGI,YAAY;AnB6wDhB;;AmBzwDA;EACE,YAAY;AnB4wDd;;AmBpwDA;EACE,mBhBsV0C;AHi7C5C;;AmBpwDA;EACE,cAAc;EACd,mBhBuU4C;AHg8C9C;;AmB/vDA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBkwD3C;;AmBtwDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBmwD7C;;AmB1vDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhB4S6C;AHi9C/C;;AmB1vDA;EACE,kBAAkB;EAClB,kBhBwS2C;EgBvS3C,qBhBsS6C;AHu9C/C;;AmBhwDA;;EAQI,chBhNc;AH68DlB;;AmBzvDA;EACE,gBAAgB;AnB4vDlB;;AmBzvDA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,sBAAmB;EAAnB,mBAAmB;EACnB,eAAe;EACf,qBhByR4C;AHm+C9C;;AmBhwDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBoR4C;EgBnR5C,cAAc;AnB4vDlB;;AqBh8DE;EACE,aAAa;EACb,WAAW;EACX,mBlB6c0C;ECpb1C,cAAW;EiBvBX,clBNa;AHy8DjB;;AqBh8DE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBmyBqC;EkBlyBrC,iBAAiB;EjBoEf,mBAtCY;EiB5Bd,gBlB2O6B;EkB1O7B,WlBvDW;EkBwDX,wClBpBa;EOtCb,sBP6OgC;AHixDpC;;AqBn+DI;;;;EAsCE,cAAc;ArBo8DpB;;AqB1+DI;EA4CE,qBlBjCW;EkBoCT,oCHiCwD;EGhCxD,iRHpCmI;EGqCnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gEH6BwD;AlBm6DhE;;AqBn/DI;EAuDI,qBlB5CS;EkB6CT,gDlB7CS;AH6+DjB;;AqBx/DI;EAiEI,oCHewD;EGdxD,kFHcwD;AlB66DhE;;AqB7/DI;EAyEE,qBlB9DW;EkBiET,uCHIwD;EGHxD,ujBAA8J;ArBs7DtK;;AqBngEI;EAiFI,qBlBtES;EkBuET,gDlBvES;AH6/DjB;;AqBxgEI;EA0FI,clB/ES;AHigEjB;;AqB5gEI;;;EA+FI,cAAc;ArBm7DtB;;AqBlhEI;EAuGI,clB5FS;AH2gEjB;;AqBthEI;EA0GM,qBlB/FO;AH+gEjB;;AqB1hEI;EAgHM,qBAAkC;EC1IxC,yBD2I+C;ArB86DnD;;AqB/hEI;EAuHM,gDlB5GO;AHwhEjB;;AqBniEI;EA2HM,qBlBhHO;AH4hEjB;;AqBviEI;EAqII,qBlB1HS;AHgiEjB;;AqB3iEI;EA0IM,qBlB/HO;EkBgIP,gDlBhIO;AHqiEjB;;AqBpiEE;EACE,aAAa;EACb,WAAW;EACX,mBlB6c0C;ECpb1C,cAAW;EiBvBX,clBTa;AHgjEjB;;AqBpiEE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBmyBqC;EkBlyBrC,iBAAiB;EjBoEf,mBAtCY;EiB5Bd,gBlB2O6B;EkB1O7B,WlBvDW;EkBwDX,wClBvBa;EOnCb,sBP6OgC;AHq3DpC;;AqBvkEI;;;;EAsCE,cAAc;ArBwiEpB;;AqB9kEI;EA4CE,qBlBpCW;EkBuCT,oCHiCwD;EGhCxD,4UHpCmI;EGqCnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gEH6BwD;AlBugEhE;;AqBvlEI;EAuDI,qBlB/CS;EkBgDT,gDlBhDS;AHolEjB;;AqB5lEI;EAiEI,oCHewD;EGdxD,kFHcwD;AlBihEhE;;AqBjmEI;EAyEE,qBlBjEW;EkBoET,uCHIwD;EGHxD,knBAA8J;ArB0hEtK;;AqBvmEI;EAiFI,qBlBzES;EkB0ET,gDlB1ES;AHomEjB;;AqB5mEI;EA0FI,clBlFS;AHwmEjB;;AqBhnEI;;;EA+FI,cAAc;ArBuhEtB;;AqBtnEI;EAuGI,clB/FS;AHknEjB;;AqB1nEI;EA0GM,qBlBlGO;AHsnEjB;;AqB9nEI;EAgHM,qBAAkC;EC1IxC,yBD2I+C;ArBkhEnD;;AqBnoEI;EAuHM,gDlB/GO;AH+nEjB;;AqBvoEI;EA2HM,qBlBnHO;AHmoEjB;;AqB3oEI;EAqII,qBlB7HS;AHuoEjB;;AqB/oEI;EA0IM,qBlBlIO;EkBmIP,gDlBnIO;AH4oEjB;;AmB36DA;EACE,oBAAa;EAAb,aAAa;EACb,uBAAmB;EAAnB,mBAAmB;EACnB,sBAAmB;EAAnB,mBAAmB;AnB86DrB;;AmBj7DA;EASI,WAAW;AnB46Df;;AcloEI;EK6MJ;IAeM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,gBAAgB;EnB26DpB;EmB77DF;IAuBM,oBAAa;IAAb,aAAa;IACb,kBAAc;IAAd,cAAc;IACd,uBAAmB;IAAnB,mBAAmB;IACnB,sBAAmB;IAAnB,mBAAmB;IACnB,gBAAgB;EnBy6DpB;EmBp8DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBu6D1B;EmBz8DF;IAuCM,qBAAqB;EnBq6DzB;EmB58DF;;IA4CM,WAAW;EnBo6Df;EmBh9DF;IAkDM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnBi6DnB;EmBv9DF;IAyDM,kBAAkB;IAClB,oBAAc;IAAd,cAAc;IACd,aAAa;IACb,qBhB2LwC;IgB1LxC,cAAc;EnBi6DlB;EmB99DF;IAiEM,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;EnBg6D3B;EmBl+DF;IAqEM,gBAAgB;EnBg6DpB;AACF;;AuBzuEA;EACE,qBAAqB;EAErB,gBpB0R+B;EoBzR/B,cpBMgB;EoBLhB,kBAAkB;EAElB,sBAAsB;EACtB,eAAsD;EACtD,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yBrB8RkC;ECvQ9B,eAtCY;EoBiBhB,gBrB8L+B;EOnS7B,sBP6OgC;EiB5O9B,qIjB6b6I;AH6zDnJ;;AoBrvEI;EGLJ;IHMM,gBAAgB;EpByvEpB;AACF;;AK1vEE;EkBUE,cpBNc;EoBOd,qBAAqB;AvBovEzB;;AuBrwEA;EAsBI,UAAU;EACV,gDpBOa;AH4uEjB;;AuB1wEA;EA6BI,apBoZ6B;AH61DjC;;AuBluEA;;EAEE,oBAAoB;AvBquEtB;;AuB5tEE;ECvDA,WrBCa;EmBDX,yBnB8Ba;EqB5Bf,qBrB4Be;AH2vEjB;;AKnxEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBgyE7H;;AwBpxEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBkxEvF;;AwB7wEE;EAEE,WrB1BW;EqB2BX,yBrBEa;EqBDb,qBrBCa;AH8wEjB;;AwBxwEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBozEnN;;AwBrwEI;;EAKI,gDAAiF;AxBqwEzF;;AuBjwEE;ECvDA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHuzElB;;AKxzEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBq0E7H;;AwBzzEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBuzEvF;;AwBlzEE;EAEE,WrB1BW;EqB2BX,yBrBrBc;EqBsBd,qBrBtBc;AH00ElB;;AwB7yEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBy1EnN;;AwB1yEI;;EAKI,iDAAiF;AxB0yEzF;;AuBtyEE;ECvDA,WrBCa;EmBDX,yBnBqCa;EqBnCf,qBrBmCe;AH8zEjB;;AK71EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB02E7H;;AwB91EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxB41EvF;;AwBv1EE;EAEE,WrB1BW;EqB2BX,yBrBSa;EqBRb,qBrBQa;AHi1EjB;;AwBl1EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB83EnN;;AwB/0EI;;EAKI,+CAAiF;AxB+0EzF;;AuB30EE;ECvDA,WrBCa;EmBDX,yBnBuCa;EqBrCf,qBrBqCe;AHi2EjB;;AKl4EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB+4E7H;;AwBn4EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBi4EvF;;AwB53EE;EAEE,WrB1BW;EqB2BX,yBrBWa;EqBVb,qBrBUa;AHo3EjB;;AwBv3EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBm6EnN;;AwBp3EI;;EAKI,gDAAiF;AxBo3EzF;;AuBh3EE;ECvDA,crBUgB;EmBVd,yBnBoCa;EqBlCf,qBrBkCe;AHy4EjB;;AKv6EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBo7E7H;;AwBx6EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBs6EvF;;AwBj6EE;EAEE,crBjBc;EqBkBd,yBrBQa;EqBPb,qBrBOa;AH45EjB;;AwB55EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBw8EnN;;AwBz5EI;;EAKI,gDAAiF;AxBy5EzF;;AuBr5EE;ECvDA,WrBCa;EmBDX,yBnBkCa;EqBhCf,qBrBgCe;AHg7EjB;;AK58EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBy9E7H;;AwB78EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxB28EvF;;AwBt8EE;EAEE,WrB1BW;EqB2BX,yBrBMa;EqBLb,qBrBKa;AHm8EjB;;AwBj8EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB6+EnN;;AwB97EI;;EAKI,+CAAiF;AxB87EzF;;AuB17EE;ECvDA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHq/ElB;;AKj/EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB8/E7H;;AwBl/EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBg/EvF;;AwB3+EE;EAEE,crBjBc;EqBkBd,yBrB1Bc;EqB2Bd,qBrB3Bc;AHwgFlB;;AwBt+EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBkhFnN;;AwBn+EI;;EAKI,iDAAiF;AxBm+EzF;;AuB/9EE;ECvDA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHmhFlB;;AKthFE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBmiF7H;;AwBvhFE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;AxBqhFvF;;AwBhhFE;EAEE,WrB1BW;EqB2BX,yBrBnBc;EqBoBd,qBrBpBc;AHsiFlB;;AwB3gFE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBujFnN;;AwBxgFI;;EAKI,8CAAiF;AxBwgFzF;;AuB9/EE;ECHA,crB5Be;EqB6Bf,qBrB7Be;AHkiFjB;;AK1jFE;EmBwDE,WrB7DW;EqB8DX,yBrBjCa;EqBkCb,qBrBlCa;AHwiFjB;;AwBngFE;EAEE,+CrBvCa;AH4iFjB;;AwBlgFE;EAEE,crB5Ca;EqB6Cb,6BAA6B;AxBogFjC;;AwBjgFE;;EAGE,WrBhFW;EqBiFX,yBrBpDa;EqBqDb,qBrBrDa;AHwjFjB;;AwBjgFI;;EAKI,+CrB5DS;AH6jFjB;;AuB9hFE;ECHA,crBnDgB;EqBoDhB,qBrBpDgB;AHylFlB;;AK1lFE;EmBwDE,WrB7DW;EqB8DX,yBrBxDc;EqByDd,qBrBzDc;AH+lFlB;;AwBniFE;EAEE,iDrB9Dc;AHmmFlB;;AwBliFE;EAEE,crBnEc;EqBoEd,6BAA6B;AxBoiFjC;;AwBjiFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ec;EqB4Ed,qBrB5Ec;AH+mFlB;;AwBjiFI;;EAKI,iDrBnFU;AHonFlB;;AuB9jFE;ECHA,crBrBe;EqBsBf,qBrBtBe;AH2lFjB;;AK1nFE;EmBwDE,WrB7DW;EqB8DX,yBrB1Ba;EqB2Bb,qBrB3Ba;AHimFjB;;AwBnkFE;EAEE,+CrBhCa;AHqmFjB;;AwBlkFE;EAEE,crBrCa;EqBsCb,6BAA6B;AxBokFjC;;AwBjkFE;;EAGE,WrBhFW;EqBiFX,yBrB7Ca;EqB8Cb,qBrB9Ca;AHinFjB;;AwBjkFI;;EAKI,+CrBrDS;AHsnFjB;;AuB9lFE;ECHA,crBnBe;EqBoBf,qBrBpBe;AHynFjB;;AK1pFE;EmBwDE,WrB7DW;EqB8DX,yBrBxBa;EqByBb,qBrBzBa;AH+nFjB;;AwBnmFE;EAEE,gDrB9Ba;AHmoFjB;;AwBlmFE;EAEE,crBnCa;EqBoCb,6BAA6B;AxBomFjC;;AwBjmFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ca;EqB4Cb,qBrB5Ca;AH+oFjB;;AwBjmFI;;EAKI,gDrBnDS;AHopFjB;;AuB9nFE;ECHA,crBtBe;EqBuBf,qBrBvBe;AH4pFjB;;AK1rFE;EmBwDE,crBpDc;EqBqDd,yBrB3Ba;EqB4Bb,qBrB5Ba;AHkqFjB;;AwBnoFE;EAEE,+CrBjCa;AHsqFjB;;AwBloFE;EAEE,crBtCa;EqBuCb,6BAA6B;AxBooFjC;;AwBjoFE;;EAGE,crBvEc;EqBwEd,yBrB9Ca;EqB+Cb,qBrB/Ca;AHkrFjB;;AwBjoFI;;EAKI,+CrBtDS;AHurFjB;;AuB9pFE;ECHA,crBxBe;EqByBf,qBrBzBe;AH8rFjB;;AK1tFE;EmBwDE,WrB7DW;EqB8DX,yBrB7Ba;EqB8Bb,qBrB9Ba;AHosFjB;;AwBnqFE;EAEE,+CrBnCa;AHwsFjB;;AwBlqFE;EAEE,crBxCa;EqByCb,6BAA6B;AxBoqFjC;;AwBjqFE;;EAGE,WrBhFW;EqBiFX,yBrBhDa;EqBiDb,qBrBjDa;AHotFjB;;AwBjqFI;;EAKI,+CrBxDS;AHytFjB;;AuB9rFE;ECHA,crBxDgB;EqByDhB,qBrBzDgB;AH8vFlB;;AK1vFE;EmBwDE,crBpDc;EqBqDd,yBrB7Dc;EqB8Dd,qBrB9Dc;AHowFlB;;AwBnsFE;EAEE,iDrBnEc;AHwwFlB;;AwBlsFE;EAEE,crBxEc;EqByEd,6BAA6B;AxBosFjC;;AwBjsFE;;EAGE,crBvEc;EqBwEd,yBrBhFc;EqBiFd,qBrBjFc;AHoxFlB;;AwBjsFI;;EAKI,iDrBxFU;AHyxFlB;;AuB9tFE;ECHA,crBjDgB;EqBkDhB,qBrBlDgB;AHuxFlB;;AK1xFE;EmBwDE,WrB7DW;EqB8DX,yBrBtDc;EqBuDd,qBrBvDc;AH6xFlB;;AwBnuFE;EAEE,8CrB5Dc;AHiyFlB;;AwBluFE;EAEE,crBjEc;EqBkEd,6BAA6B;AxBouFjC;;AwBjuFE;;EAGE,WrBhFW;EqBiFX,yBrBzEc;EqB0Ed,qBrB1Ec;AH6yFlB;;AwBjuFI;;EAKI,8CrBjFU;AHkzFlB;;AuBnvFA;EACE,gBpBoN+B;EoBnN/B,cpB5Ce;EoB6Cf,qBpBkG4C;AHopF9C;;AK3zFE;EkBwEE,cpBgG8D;EoB/F9D,0BpBgG+C;AHupFnD;;AuB9vFA;EAYI,0BpB2F+C;EoB1F/C,gBAAgB;AvBsvFpB;;AuBnwFA;EAkBI,cpBnFc;EoBoFd,oBAAoB;AvBqvFxB;;AuB1uFA;ECJE,oBrB6SgC;ECtR5B,kBAtCY;EoBiBhB,gBrBkI+B;EOvO7B,qBP8O+B;AH0mFnC;;AuB7uFA;ECRE,uBrBwSiC;ECjR7B,mBAtCY;EoBiBhB,gBrBmI+B;EOxO7B,qBP+O+B;AHgnFnC;;AuB3uFA;EACE,cAAc;EACd,WAAW;AvB8uFb;;AuBhvFA;EAMI,kBpB6T+B;AHi7EnC;;AuBzuFA;;;EAII,WAAW;AvB2uFf;;AyBn3FA;ELMM,gCjB8P2C;AHmnFjD;;AoB52FI;EKXJ;ILYM,gBAAgB;EpBg3FpB;AACF;;AyB73FA;EAII,UAAU;AzB63Fd;;AyBz3FA;EAEI,aAAa;AzB23FjB;;AyBv3FA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;ELXZ,6BjB+PwC;AHuoF9C;;AoBj4FI;EKGJ;ILFM,gBAAgB;EpBq4FpB;AACF;;A0Bj5FA;;;;EAIE,kBAAkB;A1Bo5FpB;;A0Bj5FA;EACE,mBAAmB;A1Bo5FrB;;A2Bh4FI;EACE,qBAAqB;EACrB,oBxBkO0C;EwBjO1C,uBxBgO0C;EwB/N1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;A3Bo6F7C;;A2B/2FI;EACE,cAAc;A3Bk3FpB;;A0B55FA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,avB4pBsC;EuB3pBtC,aAAa;EACb,WAAW;EACX,gBvBkuBuC;EuBjuBvC,iBAA8B;EAC9B,oBAA4B;EtBsGxB,eAtCY;EsB9DhB,cvBXgB;EuBYhB,gBAAgB;EACh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uB,kB3BqJU;AHwnGjC;;A8B5wGA;EAAsB,iB3BoJW;AH4nGjC;;A8BxwGA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,yB3BgSkC;E2B/RlC,gBAAgB;E1BwBZ,eAtCY;E0BgBhB,gB3B0L+B;E2BzL/B,gB3B8L+B;E2B7L/B,c3B7FgB;E2B8FhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BrGgB;E2BsGhB,yB3BpGgB;EONd,sBP6OgC;AHyoGpC;;A8BxxGA;;EAkBI,aAAa;A9B2wGjB;;A8BjwGA;;EAEE,gCZjB8D;AlBqxGhE;;A8BjwGA;;;;;;EAME,oB3B2QgC;ECtR5B,kBAtCY;E0BmDhB,gB3BgG+B;EOvO7B,qBP8O+B;AH8pGnC;;A8BjwGA;;EAEE,kCZlC8D;AlBsyGhE;;A8BjwGA;;;;;;EAME,uB3BqPiC;ECjR7B,mBAtCY;E0BoEhB,gB3BgF+B;EOxO7B,qBP+O+B;AH8qGnC;;A8BjwGA;;EAEE,sBAA0E;A9BowG5E;;A8BzvGA;;;;;;EpBzJI,0BoB+J4B;EpB9J5B,6BoB8J4B;A9B6vGhC;;A8B1vGA;;;;;;EpBpJI,yBoB0J2B;EpBzJ3B,4BoByJ2B;A9B8vG/B;;A+Bl7GA;EACE,kBAAkB;EAClB,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;A/Bq7GvE;;A+Bl7GA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,kB5B6f0C;AHw7F5C;;A+Bl7GA;EACE,kBAAkB;EAClB,OAAO;EACP,WAAW;EACX,W5Byf0C;E4Bxf1C,eAAkF;EAClF,UAAU;A/Bq7GZ;;A+B37GA;EASI,W5BvBW;E4BwBX,qB5BKa;EmB9Bb,yBnB8Ba;AHk7GjB;;A+Bj8GA;EAoBM,gD5BLW;AHs7GjB;;A+Br8GA;EAyBI,qB5B0bsE;AHs/F1E;;A+Bz8GA;EA6BI,W5B3CW;E4B4CX,yB5Bsf8E;E4Brf9E,qB5Bqf8E;AH27FlF;;A+B/8GA;EAuCM,c5B/CY;AH29GlB;;A+Bn9GA;EA0CQ,yB5BtDU;AHm+GlB;;A+Bn6GA;EACE,kBAAkB;EAClB,gBAAgB;EAEhB,mBAAmB;A/Bq6GrB;;A+Bz6GA;EASI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B4bwC;E4B3bxC,Y5B2bwC;E4B1bxC,oBAAoB;EACpB,WAAW;EACX,sB5BnFW;E4BoFX,yB5BoJ6B;AHgxGjC;;A+Bt7GA;EAwBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B6awC;E4B5axC,Y5B4awC;E4B3axC,WAAW;EACX,mCAAgE;A/Bk6GpE;;A+Bz5GA;ErB5GI,sBP6OgC;AH4xGpC;;A+B75GA;EAOM,kOb5EqI;AlBs+G3I;;A+Bj6GA;EAaM,qB5B1FW;EmB9Bb,yBnB8Ba;AHm/GjB;;A+Bt6GA;EAkBM,+KbvFqI;AlB++G3I;;A+B16GA;EAwBM,wC5BrGW;AH2/GjB;;A+B96GA;EA2BM,wC5BxGW;AH+/GjB;;A+B94GA;EAGI,kB5B8Z+C;AHi/FnD;;A+Bl5GA;EAQM,8KbjHqI;AlB+/G3I;;A+Bt5GA;EAcM,wC5B/HW;AH2gHjB;;A+Bl4GA;EACE,qBAA2D;A/Bq4G7D;;A+Bt4GA;EAKM,cAAqD;EACrD,c5BsY+E;E4BrY/E,mBAAmB;EAEnB,qB5BoY4E;AHggGlF;;A+B74GA;EAaM,wBb1E0D;Ea2E1D,0Bb3E0D;Ea4E1D,uBbxD0D;EayD1D,wBbzD0D;Ea0D1D,yB5BlLY;E4BoLZ,qB5B0X4E;EiBpjB5E,iJjBsgB+H;EiBtgB/H,yIjBsgB+H;EiBtgB/H,8KjBsgB+H;AHwjGrI;;AoBzjHI;EWkKJ;IXjKM,gBAAgB;EpB6jHpB;AACF;;A+B75GA;EA0BM,sB5BhMS;E4BiMT,sCAA4E;EAA5E,8BAA4E;A/Bu4GlF;;A+Bl6GA;EAiCM,wC5B1KW;AH+iHjB;;A+Bz3GA;EACE,qBAAqB;EACrB,WAAW;EACX,mCb7G8D;Ea8G9D,0C5BwKkC;ECvQ9B,eAtCY;E2BwIhB,gB5BkE+B;E4BjE/B,gB5BsE+B;E4BrE/B,c5BrNgB;E4BsNhB,sBAAsB;EACtB,uO5BuW+I;E4BtW/I,yB5B3NgB;EONd,sBP6OgC;E4BTlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B03GlB;;A+Bz4GA;EAkBI,qB5B4PsE;E4B3PtE,UAAU;EAIR,gD5B7MW;AHqkHjB;;A+B/4GA;EAgCM,c5B5OY;E4B6OZ,sB5BpPS;AHumHf;;A+Bp5GA;EAuCI,YAAY;EACZ,sB5BoIgC;E4BnIhC,sBAAsB;A/Bi3G1B;;A+B15GA;EA6CI,c5B1Pc;E4B2Pd,yB5B/Pc;AHgnHlB;;A+B/5GA;EAmDI,aAAa;A/Bg3GjB;;A+Bn6GA;EAwDI,kBAAkB;EAClB,0B5BrQc;AHonHlB;;A+B32GA;EACE,kCbxK8D;EayK9D,oB5BsHkC;E4BrHlC,uB5BqHkC;E4BpHlC,oB5BqHiC;ECjR7B,mBAtCY;AJijHlB;;A+B32GA;EACE,gCbhL8D;EaiL9D,mB5BmHiC;E4BlHjC,sB5BkHiC;E4BjHjC,kB5BkHgC;ECtR5B,kBAtCY;AJyjHlB;;A+Bt2GA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCbhM8D;EaiM9D,gBAAgB;A/By2GlB;;A+Bt2GA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCbxM8D;EayM9D,SAAS;EACT,UAAU;A/By2GZ;;A+B/2GA;EASI,qB5B2KsE;E4B1KtE,gD5B1Ra;AHooHjB;;A+Bp3GA;;EAgBI,yB5B3Tc;AHoqHlB;;A+Bz3GA;EAqBM,iB5BkUQ;AHsiGd;;A+B73GA;EA0BI,0BAA0B;A/Bu2G9B;;A+Bn2GA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mCbxO8D;EayO9D,yB5B6CkC;E4B3ClC,gB5BxD+B;E4ByD/B,gB5BpD+B;E4BqD/B,c5B/UgB;E4BgVhB,sB5BvVa;E4BwVb,yB5BpVgB;EONd,sBP6OgC;AHm9GpC;;A+Bn3GA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6Bb1P4D;Ea2P5D,yB5B2BgC;E4B1BhC,gB5BpE6B;E4BqE7B,c5B/Vc;E4BgWd,iBAAiB;ETxWjB,yBnBGc;E4BuWd,oBAAoB;ErB3WpB,kCqB4WgF;A/Bq2GpF;;A+B31GA;EACE,WAAW;EACX,cbhR2B;EaiR3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B81GlB;;A+Bn2GA;EAQI,aAAa;A/B+1GjB;;A+Bv2GA;EAY8B,gE5BnWb;AHksHjB;;A+B32GA;EAa8B,gE5BpWb;AHssHjB;;A+B/2GA;EAc8B,gE5BrWb;AH0sHjB;;A+Bn3GA;EAkBI,SAAS;A/Bq2Gb;;A+Bv3GA;EAsBI,W5B2N6C;E4B1N7C,Y5B0N6C;E4BzN7C,oBAAyE;ET7YzE,yBnB8Ba;E4BiXb,S5B0N0C;EO1mB1C,mBP2mB6C;EiB1mB3C,oHjBsgB+H;EiBtgB/H,4GjBsgB+H;E4BnHjI,wBAAgB;EAAhB,gBAAgB;A/Bo2GpB;;AoBlvHI;EWgXJ;IX/WM,wBAAgB;IAAhB,gBAAgB;EpBsvHpB;AACF;;A+Bx4GA;ETrXI,yBnB8mB2E;AHmpG/E;;A+B54GA;EAsCI,W5BoMoC;E4BnMpC,c5BoMqC;E4BnMrC,kBAAkB;EAClB,e5BmMuC;E4BlMvC,yB5B3Zc;E4B4Zd,yBAAyB;ErBjazB,mBPomBoC;AHwqGxC;;A+Bt5GA;EAiDI,W5BgM6C;E4B/L7C,Y5B+L6C;EmBtmB7C,yBnB8Ba;E4B2Yb,S5BgM0C;EO1mB1C,mBP2mB6C;EiB1mB3C,iHjBsgB+H;EiBtgB/H,4GjBsgB+H;E4BzFjI,qBAAgB;EAAhB,gBAAgB;A/Bw2GpB;;AoBhxHI;EWgXJ;IX/WM,qBAAgB;IAAhB,gBAAgB;EpBoxHpB;AACF;;A+Bt6GA;ETrXI,yBnB8mB2E;AHirG/E;;A+B16GA;EAgEI,W5B0KoC;E4BzKpC,c5B0KqC;E4BzKrC,kBAAkB;EAClB,e5ByKuC;E4BxKvC,yB5Brbc;E4Bsbd,yBAAyB;ErB3bzB,mBPomBoC;AHssGxC;;A+Bp7GA;EA2EI,W5BsK6C;E4BrK7C,Y5BqK6C;E4BpK7C,aAAa;EACb,oB5B9D+B;E4B+D/B,mB5B/D+B;EmBrY/B,yBnB8Ba;E4Bwab,S5BmK0C;EO1mB1C,mBP2mB6C;EiB1mB3C,gHjBsgB+H;EiBtgB/H,4GjBsgB+H;E4B5DjI,gBAAgB;A/B42GpB;;AoBjzHI;EWgXJ;IX/WM,oBAAgB;IAAhB,gBAAgB;EpBqzHpB;AACF;;A+Bv8GA;ETrXI,yBnB8mB2E;AHktG/E;;A+B38GA;EA6FI,W5B6IoC;E4B5IpC,c5B6IqC;E4B5IrC,kBAAkB;EAClB,e5B4IuC;E4B3IvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/Bk3GhD;;A+Br9GA;EAwGI,yB5Bzdc;EOLd,mBPomBoC;AH4uGxC;;A+B19GA;EA6GI,kBAAkB;EAClB,yB5B/dc;EOLd,mBPomBoC;AHkvGxC;;A+Bh+GA;EAoHM,yB5BneY;AHm1HlB;;A+Bp+GA;EAwHM,eAAe;A/Bg3GrB;;A+Bx+GA;EA4HM,yB5B3eY;AH21HlB;;A+B5+GA;EAgIM,eAAe;A/Bg3GrB;;A+Bh/GA;EAoIM,yB5BnfY;AHm2HlB;;A+B32GA;;;EX9fM,4GjBsgB+H;AHy2GrI;;AoB12HI;EWyfJ;;;IXxfM,gBAAgB;EpBg3HpB;AACF;;AgCx3HA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhC23HlB;;AgCx3HA;EACE,cAAc;EACd,oB7B6qBsC;AH8sGxC;;AK13HE;E2BEE,qBAAqB;AhC43HzB;;AgCj4HA;EAUI,c7BVc;E6BWd,oBAAoB;EACpB,eAAe;AhC23HnB;;AgCn3HA;EACE,gC7BxBgB;AH84HlB;;AgCv3HA;EAII,mB7B0M6B;AH6qHjC;;AgC33HA;EAQI,6BAAgD;EtB3BhD,+BPoOgC;EOnOhC,gCPmOgC;AHgrHpC;;AKl5HE;E2B6BI,qC7BnCY;AH45HlB;;AgCr4HA;EAgBM,c7BpCY;E6BqCZ,6BAA6B;EAC7B,yBAAyB;AhCy3H/B;;AgC34HA;;EAwBI,c7B3Cc;E6B4Cd,sB7BnDW;E6BoDX,kC7BpDW;AH46Hf;;AgCl5HA;EA+BI,gB7B+K6B;EOjO7B,yBsBoD4B;EtBnD5B,0BsBmD4B;AhCu3HhC;;AgC92HA;EtBtEI,sBP6OgC;AH2sHpC;;AgCl3HA;;EAOI,W7B3EW;E6B4EX,yB7B/Ca;AH+5HjB;;AgCv2HA;EAEI,kBAAc;EAAd,cAAc;EACd,kBAAkB;AhCy2HtB;;AgCr2HA;EAEI,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,kBAAkB;AhCu2HtB;;AgC91HA;EAEI,aAAa;AhCg2HjB;;AgCl2HA;EAKI,cAAc;AhCi2HlB;;AiCr8HA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,sBAA8B;EAA9B,8BAA8B;EAC9B,oB9BiHW;AHu1Hb;;AiC98HA;;EAWI,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,sBAA8B;EAA9B,8BAA8B;AjCw8HlC;;AiCp7HA;EACE,qBAAqB;EACrB,sB9BqqB+E;E8BpqB/E,yB9BoqB+E;E8BnqB/E,kB9BiFW;ECTP,kBAtCY;E6BhChB,oBAAoB;EACpB,mBAAmB;AjCu7HrB;;AKj+HE;E4B6CE,qBAAqB;AjCw7HzB;;AiC/6HA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AjCk7HlB;;AiCv7HA;EAQI,gBAAgB;EAChB,eAAe;AjCm7HnB;;AiC57HA;EAaI,gBAAgB;EAChB,WAAW;AjCm7Hf;;AiC16HA;EACE,qBAAqB;EACrB,mB9B4lBuC;E8B3lBvC,sB9B2lBuC;AHk1GzC;;AiCj6HA;EACE,6BAAgB;EAAhB,gBAAgB;EAChB,oBAAY;EAAZ,YAAY;EAGZ,sBAAmB;EAAnB,mBAAmB;AjCk6HrB;;AiC95HA;EACE,wB9BumBwC;EC9lBpC,kBAtCY;E6B+BhB,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;EvBrHrC,sBP6OgC;AH0yHpC;;AK5gIE;E4B8GE,qBAAqB;AjCk6HzB;;AiC55HA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,mCAAmC;EACnC,0BAA0B;AjC+5H5B;;Acj+HI;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCw5HvB;AACF;;Act/HI;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjC84HjC;EiCn6HG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjC84H3B;EiCt6HG;IA2BO,kBAAkB;EjC84H5B;EiCz6HG;IA+BO,qB9BgiB6B;I8B/hB7B,oB9B+hB6B;EH82GvC;EiC76HG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjC24HzB;EiCj7HG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjC63HxB;EiCr7HG;IA4DK,aAAa;EjC43HrB;AACF;;AcrgII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjC47HvB;AACF;;Ac1hII;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCk7HjC;EiCv8HG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjCk7H3B;EiC18HG;IA2BO,kBAAkB;EjCk7H5B;EiC78HG;IA+BO,qB9BgiB6B;I8B/hB7B,oB9B+hB6B;EHk5GvC;EiCj9HG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjC+6HzB;EiCr9HG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCi6HxB;EiCz9HG;IA4DK,aAAa;EjCg6HrB;AACF;;AcziII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCg+HvB;AACF;;Ac9jII;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCs9HjC;EiC3+HG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjCs9H3B;EiC9+HG;IA2BO,kBAAkB;EjCs9H5B;EiCj/HG;IA+BO,qB9BgiB6B;I8B/hB7B,oB9B+hB6B;EHs7GvC;EiCr/HG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjCm9HzB;EiCz/HG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCq8HxB;EiC7/HG;IA4DK,aAAa;EjCo8HrB;AACF;;Ac7kII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCogIvB;AACF;;AclmII;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjC0/HjC;EiC/gIG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjC0/H3B;EiClhIG;IA2BO,kBAAkB;EjC0/H5B;EiCrhIG;IA+BO,qB9BgiB6B;I8B/hB7B,oB9B+hB6B;EH09GvC;EiCzhIG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjCu/HzB;EiC7hIG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCy+HxB;EiCjiIG;IA4DK,aAAa;EjCw+HrB;AACF;;AiC1iIA;EAyBQ,yBAAqB;EAArB,qBAAqB;EACrB,oBAA2B;EAA3B,2BAA2B;AjCqhInC;;AiC/iIA;;EAQU,gBAAgB;EAChB,eAAe;AjC4iIzB;;AiCrjIA;EA6BU,uBAAmB;EAAnB,mBAAmB;AjC4hI7B;;AiCzjIA;EAgCY,kBAAkB;AjC6hI9B;;AiC7jIA;EAoCY,qB9BgiB6B;E8B/hB7B,oB9B+hB6B;AH8/GzC;;AiClkIA;;EA2CU,qBAAiB;EAAjB,iBAAiB;AjC4hI3B;;AiCvkIA;EA0DU,+BAAwB;EAAxB,wBAAwB;EAGxB,6BAAgB;EAAhB,gBAAgB;AjC+gI1B;;AiC5kIA;EAiEU,aAAa;AjC+gIvB;;AiClgIA;EAEI,yB9B/MW;AHmtIf;;AKptIE;E4BmNI,yB9BlNS;AHutIf;;AiC1gIA;EAWM,yB9BxNS;AH2tIf;;AK5tIE;E4B4NM,yB9B3NO;AH+tIf;;AiClhIA;EAkBQ,yB9B/NO;AHmuIf;;AiCthIA;;;;EA0BM,yB9BvOS;AH0uIf;;AiC7hIA;EA+BI,yB9B5OW;E8B6OX,gC9B7OW;AH+uIf;;AiCliIA;EAoCI,+QftNuI;AlBwtI3I;;AiCtiIA;EAwCI,yB9BrPW;AHuvIf;;AiC1iIA;EA0CM,yB9BvPS;AH2vIf;;AK5vIE;E4B2PM,yB9B1PO;AH+vIf;;AiC9/HA;EAEI,W9B7QW;AH6wIf;;AKpwIE;E4BuQI,W9BhRS;AHixIf;;AiCtgIA;EAWM,+B9BtRS;AHqxIf;;AK5wIE;E4BgRM,gC9BzRO;AHyxIf;;AiC9gIA;EAkBQ,gC9B7RO;AH6xIf;;AiClhIA;;;;EA0BM,W9BrSS;AHoyIf;;AiCzhIA;EA+BI,+B9B1SW;E8B2SX,sC9B3SW;AHyyIf;;AiC9hIA;EAoCI,qRf1QuI;AlBwwI3I;;AiCliIA;EAwCI,+B9BnTW;AHizIf;;AiCtiIA;EA0CM,W9BrTS;AHqzIf;;AK5yIE;E4B+SM,W9BxTO;AHyzIf;;AkC5zIA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sB/BJa;E+BKb,2BAA2B;EAC3B,sC/BIa;EOZX,sBP6OgC;AH0lIpC;;AkCx0IA;EAaI,eAAe;EACf,cAAc;AlC+zIlB;;AkC70IA;ExBUI,+BPoOgC;EOnOhC,gCPmOgC;AHomIpC;;AkCl1IA;ExBwBI,mCPsNgC;EOrNhC,kCPqNgC;AHymIpC;;AkCzzIA;EAGE,kBAAc;EAAd,cAAc;EAGd,eAAe;EACf,gB/BsxByC;AHkiH3C;;AkCpzIA;EACE,sB/BgxBwC;AHuiH1C;;AkCpzIA;EACE,qBAA+B;EAC/B,gBAAgB;AlCuzIlB;;AkCpzIA;EACE,gBAAgB;AlCuzIlB;;AKl2IE;E6BgDE,qBAAqB;AlCszIzB;;AkCxzIA;EAMI,oB/B+vBuC;AHujH3C;;AkC9yIA;EACE,wB/BsvByC;E+BrvBzC,gBAAgB;EAEhB,qC/B3Da;E+B4Db,6C/B5Da;AH42If;;AkCrzIA;ExBnEI,0DwB2E8E;AlCizIlF;;AkCzzIA;EAaM,aAAa;AlCgzInB;;AkC3yIA;EACE,wB/BouByC;E+BnuBzC,qC/B3Ea;E+B4Eb,0C/B5Ea;AH03If;;AkCjzIA;ExBrFI,0DQ+H4D;AlB2wIhE;;AkCtyIA;EACE,uBAAiC;EACjC,uB/BmtBwC;E+BltBxC,sBAAgC;EAChC,gBAAgB;AlCyyIlB;;AkCtyIA;EACE,uBAAiC;EACjC,sBAAgC;AlCyyIlC;;AkCryIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/B8sByC;AH0lH3C;;AkCryIA;;;EAGE,oBAAc;EAAd,cAAc;EACd,WAAW;AlCwyIb;;AkCryIA;;ExBxHI,2CQsH4D;ERrH5D,4CQqH4D;AlB6yIhE;;AkCtyIA;;ExB/GI,+CQwG4D;ERvG5D,8CQuG4D;AlBmzIhE;;AkCpyIA;EAEI,mB/BurBsD;AH+mH1D;;Ac/3II;EoBuFJ;IAMI,oBAAa;IAAb,aAAa;IACb,uBAAmB;IAAnB,mBAAmB;IACnB,mB/BirBsD;I+BhrBtD,kB/BgrBsD;EHunHxD;EkChzIF;IAaM,gBAAY;IAAZ,YAAY;IACZ,kB/B2qBoD;I+B1qBpD,gBAAgB;IAChB,iB/ByqBoD;EH6nHxD;AACF;;AkC7xIA;EAII,mB/B2pBsD;AHkoH1D;;Acl5II;EoBiHJ;IAQI,oBAAa;IAAb,aAAa;IACb,uBAAmB;IAAnB,mBAAmB;ElC8xIrB;EkCvyIF;IAcM,gBAAY;IAAZ,YAAY;IACZ,gBAAgB;ElC4xIpB;EkC3yIF;IAkBQ,cAAc;IACd,cAAc;ElC4xIpB;EkC/yIF;IxBxJI,0BwBiLoC;IxBhLpC,6BwBgLoC;ElC0xItC;EkCnzIF;;IA8BY,0BAA0B;ElCyxIpC;EkCvzIF;;IAmCY,6BAA6B;ElCwxIvC;EkC3zIF;IxB1II,yBwBkLmC;IxBjLnC,4BwBiLmC;ElCuxIrC;EkC/zIF;;IA6CY,yBAAyB;ElCsxInC;EkCn0IF;;IAkDY,4BAA4B;ElCqxItC;AACF;;AkCzwIA;EAEI,sB/BglBsC;AH2rH1C;;Ac77II;EoBgLJ;IAMI,uB/B6lBiC;I+B7lBjC,oB/B6lBiC;I+B7lBjC,e/B6lBiC;I+B5lBjC,2B/B6lBuC;I+B7lBvC,wB/B6lBuC;I+B7lBvC,mB/B6lBuC;I+B5lBvC,UAAU;IACV,SAAS;ElC4wIX;EkCrxIF;IAYM,qBAAqB;IACrB,WAAW;ElC4wIf;AACF;;AkCnwIA;EAEI,gBAAgB;AlCqwIpB;;AkCvwIA;EAKM,gBAAgB;ExB5OlB,6BwB6OiC;ExB5OjC,4BwB4OiC;AlCuwIrC;;AkC7wIA;ExBrPI,yBwB+P8B;ExB9P9B,0BwB8P8B;AlCwwIlC;;AkClxIA;ExB9PI,gBwB4Q0B;EACxB,mB/BnC2B;AH2yIjC;;AmC1hJA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,qBhC+hCsC;EgC9hCtC,mBhCiiCsC;EgC/hCtC,gBAAgB;EAChB,yBhCEgB;EOJd,sBP6OgC;AHkzIpC;;AmCzhJA;EAGI,oBhCqhCqC;AHqgHzC;;AmC7hJA;EAMM,qBAAqB;EACrB,qBhCihCmC;EgChhCnC,chCNY;EgCOZ,YhCshCuC;AHqgH7C;;AmCpiJA;EAoBI,0BAA0B;AnCohJ9B;;AmCxiJA;EAwBI,qBAAqB;AnCohJzB;;AmC5iJA;EA4BI,chC1Bc;AH8iJlB;;AoC3jJA;EACE,oBAAa;EAAb,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGAd,sBP6OgC;AHg1IpC;;AoC5jJA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCgxBwC;EiC/wBxC,iBjCqO+B;EiCpO/B,iBjCmxBsC;EiClxBtC,cjCwBe;EiCvBf,sBjCNa;EiCOb,yBjCJgB;AHmkJlB;;AoCvkJA;EAWI,UAAU;EACV,cjCkK8D;EiCjK9D,qBAAqB;EACrB,yBjCXc;EiCYd,qBjCXc;AH2kJlB;;AoC/kJA;EAmBI,UAAU;EACV,UjC4wBiC;EiC3wBjC,gDjCSa;AHujJjB;;AoC5jJA;EAGM,cAAc;E1BChB,+BP+MgC;EO9MhC,kCP8MgC;AH+2IpC;;AoClkJA;E1BVI,gCP6NgC;EO5NhC,mCP4NgC;AHo3IpC;;AoCvkJA;EAcI,UAAU;EACV,WjCvCW;EiCwCX,yBjCXa;EiCYb,qBjCZa;AHykJjB;;AoC9kJA;EAqBI,cjCvCc;EiCwCd,oBAAoB;EAEpB,YAAY;EACZ,sBjCjDW;EiCkDX,qBjC/Cc;AH2mJlB;;AqClnJE;EACE,uBlCyxBsC;EC9pBpC,kBAtCY;EiCnFd,gBlCsO6B;AH+4IjC;;AqChnJM;E3BwBF,8BPgN+B;EO/M/B,iCP+M+B;AH64InC;;AqChnJM;E3BKF,+BP8N+B;EO7N/B,kCP6N+B;AHk5InC;;AqCloJE;EACE,uBlCuxBqC;EC5pBnC,mBAtCY;EiCnFd,gBlCuO6B;AH85IjC;;AqChoJM;E3BwBF,8BPiN+B;EOhN/B,iCPgN+B;AH45InC;;AqChoJM;E3BKF,+BP+N+B;EO9N/B,kCP8N+B;AHi6InC;;AsChpJA;EACE,qBAAqB;EACrB,qBnCw5BsC;ECv1BpC,cAAW;EkC/Db,gBnC2R+B;EmC1R/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BRtB,sBP6OgC;EiB5O9B,qIjB6b6I;AH+tInJ;;AoBvpJI;EkBNJ;IlBOM,gBAAgB;EpB2pJpB;AACF;;AKxpJE;EiCGI,qBAAqB;AtCypJ3B;;AsCvqJA;EAoBI,aAAa;AtCupJjB;;AsClpJA;EACE,kBAAkB;EAClB,SAAS;AtCqpJX;;AsC9oJA;EACE,oBnC63BsC;EmC53BtC,mBnC43BsC;EOh6BpC,oBPm6BqC;AHmxHzC;;AsCzoJE;ECjDA,WpCMa;EoCLb,yBpCkCe;AH4pJjB;;AKhrJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC8rJxC;;AuCjsJU;EAQJ,UAAU;EACV,+CpCuBW;AHsqJjB;;AsCxpJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHksJlB;;AK/rJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC6sJxC;;AuChtJU;EAQJ,UAAU;EACV,iDpCAY;AH4sJlB;;AsCvqJE;ECjDA,WpCMa;EoCLb,yBpCyCe;AHmrJjB;;AK9sJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC4tJxC;;AuC/tJU;EAQJ,UAAU;EACV,+CpC8BW;AH6rJjB;;AsCtrJE;ECjDA,WpCMa;EoCLb,yBpC2Ce;AHgsJjB;;AK7tJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC2uJxC;;AuC9uJU;EAQJ,UAAU;EACV,gDpCgCW;AH0sJjB;;AsCrsJE;ECjDA,cpCegB;EoCdhB,yBpCwCe;AHktJjB;;AK5uJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC0vJxC;;AuC7vJU;EAQJ,UAAU;EACV,+CpC6BW;AH4tJjB;;AsCptJE;ECjDA,WpCMa;EoCLb,yBpCsCe;AHmuJjB;;AK3vJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCywJxC;;AuC5wJU;EAQJ,UAAU;EACV,+CpC2BW;AH6uJjB;;AsCnuJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHkxJlB;;AK1wJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvCwxJxC;;AuC3xJU;EAQJ,UAAU;EACV,iDpCLY;AH4xJlB;;AsClvJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH0xJlB;;AKzxJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCuyJxC;;AuC1yJU;EAQJ,UAAU;EACV,8CpCEY;AHoyJlB;;AwCnzJA;EACE,kBAAoD;EACpD,mBrCqzBsC;EqCnzBtC,yBrCKgB;EOJd,qBP8O+B;AHukJnC;;Ac9vJI;E0B5DJ;IAQI,kBrC+yBoC;EHwgItC;AACF;;AwCpzJA;EACE,gBAAgB;EAChB,eAAe;E9BTb,gB8BUsB;AxCuzJ1B;;AyCl0JA;EACE,kBAAkB;EAClB,wBtCq9ByC;EsCp9BzC,mBtCq9BsC;EsCp9BtC,6BAA6C;E/BH3C,sBP6OgC;AH4lJpC;;AyCj0JA;EAEE,cAAc;AzCm0JhB;;AyC/zJA;EACE,gBtCgR+B;AHkjJjC;;AyC1zJA;EACE,mBAAsD;AzC6zJxD;;AyC9zJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtCu7BuC;EsCt7BvC,cAAc;AzC6zJlB;;AyCnzJE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBywJlE;;A0Cn2JE;EACE,yBAAqC;A1Cs2JzC;;A0Cn2JE;EACE,cAA0B;A1Cs2J9B;;AyCj0JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBuxJlE;;A0Cj3JE;EACE,yBAAqC;A1Co3JzC;;A0Cj3JE;EACE,cAA0B;A1Co3J9B;;AyC/0JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBqyJlE;;A0C/3JE;EACE,yBAAqC;A1Ck4JzC;;A0C/3JE;EACE,cAA0B;A1Ck4J9B;;AyC71JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBmzJlE;;A0C74JE;EACE,yBAAqC;A1Cg5JzC;;A0C74JE;EACE,cAA0B;A1Cg5J9B;;AyC32JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBi0JlE;;A0C35JE;EACE,yBAAqC;A1C85JzC;;A0C35JE;EACE,cAA0B;A1C85J9B;;AyCz3JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlB+0JlE;;A0Cz6JE;EACE,yBAAqC;A1C46JzC;;A0Cz6JE;EACE,cAA0B;A1C46J9B;;AyCv4JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlB61JlE;;A0Cv7JE;EACE,yBAAqC;A1C07JzC;;A0Cv7JE;EACE,cAA0B;A1C07J9B;;AyCr5JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlB22JlE;;A0Cr8JE;EACE,yBAAqC;A1Cw8JzC;;A0Cr8JE;EACE,cAA0B;A1Cw8J9B;;A2Ch9JE;EACE;IAAO,2BAAuC;E3Co9JhD;E2Cn9JE;IAAK,wBAAwB;E3Cs9J/B;AACF;;A2Cz9JE;EACE;IAAO,2BAAuC;E3Co9JhD;E2Cn9JE;IAAK,wBAAwB;E3Cs9J/B;AACF;;A2Cn9JA;EACE,oBAAa;EAAb,aAAa;EACb,YxC89BsC;EwC79BtC,gBAAgB;EvCoHZ,kBAtCY;EuC5EhB,yBxCJgB;EOJd,sBP6OgC;AHkvJpC;;A2Cl9JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,gBAAgB;EAChB,WxChBa;EwCiBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCUe;EiB9BX,2BjB0+B4C;AHggIlD;;AoBr+JI;EuBOJ;IvBNM,gBAAgB;EpBy+JpB;AACF;;A2Cx9JA;ErBaE,qMAA6I;EqBX7I,0BxCw8BsC;AHmhIxC;;A2Cv9JE;EACE,0DxC08BkD;EwC18BlD,kDxC08BkD;AHghItD;;A2Cv9JM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3C29JrB;AACF;;A4CrgKA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;A5CwgKzB;;A4CrgKA;EACE,WAAO;EAAP,OAAO;A5CwgKT;;A6C1gKA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A7C2gKlB;;A6ClgKA;EACE,WAAW;EACX,c1CPgB;E0CQhB,mBAAmB;A7CqgKrB;;AK3gKE;EwCUE,UAAU;EACV,c1Cbc;E0Ccd,qBAAqB;EACrB,yB1CrBc;AH0hKlB;;A6C/gKA;EAcI,c1CjBc;E0CkBd,yB1CzBc;AH8hKlB;;A6C5/JA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C88ByC;E0C58BzC,sB1CzCa;E0C0Cb,sC1ChCa;AH8hKf;;A6CpgKA;EnC7BI,+BPoOgC;EOnOhC,gCPmOgC;AHk0JpC;;A6CzgKA;EnCfI,mCPsNgC;EOrNhC,kCPqNgC;AHu0JpC;;A6C9gKA;EAkBI,c1ChDc;E0CiDd,oBAAoB;EACpB,sB1CxDW;AHwjKf;;A6CphKA;EAyBI,UAAU;EACV,W1C9DW;E0C+DX,yB1ClCa;E0CmCb,qB1CnCa;AHkiKjB;;A6C3hKA;EAgCI,mBAAmB;A7C+/JvB;;A6C/hKA;EAmCM,gB1CiK2B;E0ChK3B,qB1CgK2B;AHg2JjC;;A6Cl/JI;EACE,uBAAmB;EAAnB,mBAAmB;A7Cq/JzB;;A6Ct/JI;EnCjCA,kCPsLgC;EOlMhC,0BmCmDwC;A7Cq/J5C;;A6C3/JI;EnC7CA,gCPkMgC;EOtLhC,4BmC4C0C;A7Cq/J9C;;A6ChgKI;EAeM,aAAa;A7Cq/JvB;;A6CpgKI;EAmBM,qB1C+HuB;E0C9HvB,oBAAoB;A7Cq/J9B;;A6CzgKI;EAuBQ,iB1C2HqB;E0C1HrB,sB1C0HqB;AH43JjC;;Ac/iKI;E+BiCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CkhKvB;E6CnhKE;InCjCA,kCPsLgC;IOlMhC,0BmCmDwC;E7CihK1C;E6CvhKE;InC7CA,gCPkMgC;IOtLhC,4BmC4C0C;E7CghK5C;E6C3hKE;IAeM,aAAa;E7C+gKrB;E6C9hKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7C8gK5B;E6CliKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EHo5J/B;AACF;;AcxkKI;E+BiCA;IACE,uBAAmB;IAAnB,mBAAmB;E7C2iKvB;E6C5iKE;InCjCA,kCPsLgC;IOlMhC,0BmCmDwC;E7C0iK1C;E6ChjKE;InC7CA,gCPkMgC;IOtLhC,4BmC4C0C;E7CyiK5C;E6CpjKE;IAeM,aAAa;E7CwiKrB;E6CvjKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CuiK5B;E6C3jKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EH66J/B;AACF;;AcjmKI;E+BiCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CokKvB;E6CrkKE;InCjCA,kCPsLgC;IOlMhC,0BmCmDwC;E7CmkK1C;E6CzkKE;InC7CA,gCPkMgC;IOtLhC,4BmC4C0C;E7CkkK5C;E6C7kKE;IAeM,aAAa;E7CikKrB;E6ChlKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CgkK5B;E6CplKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EHs8J/B;AACF;;Ac1nKI;E+BiCA;IACE,uBAAmB;IAAnB,mBAAmB;E7C6lKvB;E6C9lKE;InCjCA,kCPsLgC;IOlMhC,0BmCmDwC;E7C4lK1C;E6ClmKE;InC7CA,gCPkMgC;IOtLhC,4BmC4C0C;E7C2lK5C;E6CtmKE;IAeM,aAAa;E7C0lKrB;E6CzmKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CylK5B;E6C7mKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EH+9J/B;AACF;;A6C5kKA;EAEI,qBAAqB;EACrB,oBAAoB;EnCjIpB,gBmCkIwB;A7C8kK5B;;A6CllKA;EAOM,mBAAmB;A7C+kKzB;;A6CtlKA;EAaM,sBAAsB;A7C6kK5B;;A8C1tKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmoKlE;;AKltKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6tKjD;;A8CpuKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8oKlE;;A8C1uKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmpKlE;;AKluKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6uKjD;;A8CpvKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8pKlE;;A8C1vKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmqKlE;;AKlvKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6vKjD;;A8CpwKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8qKlE;;A8C1wKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmrKlE;;AKlwKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6wKjD;;A8CpxKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8rKlE;;A8C1xKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmsKlE;;AKlxKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6xKjD;;A8CpyKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8sKlE;;A8C1yKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmtKlE;;AKlyKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6yKjD;;A8CpzKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8tKlE;;A8C1zKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmuKlE;;AKlzKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6zKjD;;A8Cp0KE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8uKlE;;A8C10KE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmvKlE;;AKl0KE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C60KjD;;A8Cp1KE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8vKlE;;A+C71KA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5CiS+B;E4ChS/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/Cg2Kb;;AK31KE;E0CDE,W5CMW;E4CLX,qBAAqB;A/Cg2KzB;;AK51KE;E0CCI,YAAY;A/C+1KlB;;A+Cp1KA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;EACT,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/Cu1KlB;;A+Cj1KA;EACE,oBAAoB;A/Co1KtB;;AgD33KA;EACE,gB7Cy4BuC;E6Cx4BvC,gBAAgB;E5C6HZ,mBAtCY;E4CpFhB,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7C04BmD;E6Cz4BnD,gD7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;EtCLR,sBP64BsC;AHs/I1C;;AgDx4KA;EAcI,sB7C63BsC;AHigJ1C;;AgD54KA;EAkBI,UAAU;AhD83Kd;;AgDh5KA;EAsBI,cAAc;EACd,UAAU;AhD83Kd;;AgDr5KA;EA2BI,aAAa;AhD83KjB;;AgD13KA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,wB7Cy2BwC;E6Cx2BxC,c7CtBgB;E6CuBhB,2C7C7Ba;E6C8Bb,4BAA4B;EAC5B,4C7Ci3BoD;AH4gJtD;;AgD13KA;EACE,gB7Ci2BwC;AH4hJ1C;;AiDj6KA;EAEE,gBAAgB;AjDm6KlB;;AiDr6KA;EAKI,kBAAkB;EAClB,gBAAgB;AjDo6KpB;;AiD/5KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C+pBsC;E8C9pBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjDg6KZ;;AiDz5KA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C64BuC;E8C34BvC,oBAAoB;AjD25KtB;;AiDx5KE;E7BrCI,2CjB48BoD;EiB58BpD,mCjB48BoD;EiB58BpD,oEjB48BoD;E8Cr6BtD,sC9Cm6BmD;E8Cn6BnD,8B9Cm6BmD;AHw/IvD;;AoB77KI;E6BgCF;I7B/BI,gBAAgB;EpBi8KpB;AACF;;AiD/5KE;EACE,uB9Ci6BoC;E8Cj6BpC,e9Ci6BoC;AHigJxC;;AiD95KE;EACE,8B9C85B2C;E8C95B3C,sB9C85B2C;AHmgJ/C;;AiD75KA;EACE,oBAAa;EAAb,aAAa;EACb,6B/ByE8D;AlBu1KhE;;AiDl6KA;EAKI,8B/BsE4D;E+BrE5D,gBAAgB;AjDi6KpB;;AiDv6KA;;EAWI,oBAAc;EAAd,cAAc;AjDi6KlB;;AiD56KA;EAeI,gBAAgB;AjDi6KpB;;AiD75KA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,6B/BqD8D;AlB22KhE;;AiDn6KA;EAOI,cAAc;EACd,0B/BgD4D;E+B/C5D,WAAW;AjDg6Kf;;AiDz6KA;EAcI,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,YAAY;AjD+5KhB;;AiD/6KA;EAmBM,gBAAgB;AjDg6KtB;;AiDn7KA;EAuBM,aAAa;AjDg6KnB;;AiD15KA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,WAAW;EAGX,oBAAoB;EACpB,sB9C1Ga;E8C2Gb,4BAA4B;EAC5B,oC9ClGa;EOZX,qBP8O+B;E8C5HjC,UAAU;AjDy5KZ;;AiDr5KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9CojBsC;E8CnjBtC,YAAY;EACZ,aAAa;EACb,sB9CjHa;AHygLf;;AiD/5KA;EAUW,UAAU;AjDy5KrB;;AiDn6KA;EAWW,Y9C4zB2B;AHgmJtC;;AiDv5KA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;EACvB,sBAA8B;EAA9B,8BAA8B;EAC9B,kB9CyzBsC;E8CxzBtC,gC9CtIgB;EOId,0CQsH4D;ERrH5D,2CQqH4D;AlBw6KhE;;AiDj6KA;EASI,kB9CozBoC;E8ClzBpC,8BAA6F;AjD25KjG;;AiDt5KA;EACE,gBAAgB;EAChB,gB9C2I+B;AH8wKjC;;AiDp5KA;EACE,kBAAkB;EAGlB,kBAAc;EAAd,cAAc;EACd,a9CuwBsC;AH8oJxC;;AiDj5KA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,kBAAyB;EAAzB,yBAAyB;EACzB,gBAAgE;EAChE,6B9CvKgB;EOkBd,8CQwG4D;ERvG5D,6CQuG4D;AlBm8KhE;;AiD55KA;EAcI,eAAwC;AjDk5K5C;;AiD74KA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,gBAAgB;AjDg5KlB;;AcvhLI;EmCzBJ;IAuKI,gB9CmwBqC;I8ClwBrC,oBAAyC;EjD84K3C;EiDhiLF;IAsJI,+B/B3E4D;ElBw9K9D;EiDniLF;IAyJM,gC/B9E0D;ElB29K9D;EiDnhLF;IA2II,+B/BnF4D;ElB89K9D;EiDthLF;IA8IM,4B/BtF0D;ElBi+K9D;EiDn4KA;IAAY,gB9C4uB2B;EH0pJvC;AACF;;Ac7iLI;EmC0KF;;IAEE,gB9CouBqC;EHmqJvC;AACF;;AcpjLI;EmCiLF;IAAY,iB9C8tB4B;EH0qJxC;AACF;;AkDrnLA;EACE,kBAAkB;EAClB,a/CmrBsC;E+ClrBtC,cAAc;EACd,S/Cy1BmC;EgD71BnC,kMhDuRiN;EgDrRjN,kBAAkB;EAClB,gBhD+R+B;EgD9R/B,gBhDmS+B;EgDlS/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;E8C9EhB,qBAAqB;EACrB,UAAU;AlDkoLZ;;AkD7oLA;EAaW,Y/C60B2B;AHuzJtC;;AkDjpLA;EAgBI,kBAAkB;EAClB,cAAc;EACd,a/C60BqC;E+C50BrC,c/C60BqC;AHwzJzC;;AkDxpLA;EAsBM,kBAAkB;EAClB,WAAW;EACX,yBAAyB;EACzB,mBAAmB;AlDsoLzB;;AkDjoLA;EACE,iBAAgC;AlDooLlC;;AkDroLA;EAII,SAAS;AlDqoLb;;AkDzoLA;EAOM,MAAM;EACN,6BAAgE;EAChE,sB/CvBS;AH6pLf;;AkDjoLA;EACE,iB/CmzBuC;AHi1JzC;;AkDroLA;EAII,OAAO;EACP,a/C+yBqC;E+C9yBrC,c/C6yBqC;AHw1JzC;;AkD3oLA;EASM,QAAQ;EACR,oCAA2F;EAC3F,wB/CvCS;AH6qLf;;AkDjoLA;EACE,iBAAgC;AlDooLlC;;AkDroLA;EAII,MAAM;AlDqoLV;;AkDzoLA;EAOM,SAAS;EACT,6B/C4xBmC;E+C3xBnC,yB/CrDS;AH2rLf;;AkDjoLA;EACE,iB/CqxBuC;AH+2JzC;;AkDroLA;EAII,QAAQ;EACR,a/CixBqC;E+ChxBrC,c/C+wBqC;AHs3JzC;;AkD3oLA;EASM,OAAO;EACP,oC/C4wBmC;E+C3wBnC,uB/CrES;AH2sLf;;AkDjnLA;EACE,gB/C2uBuC;E+C1uBvC,uB/CgvBuC;E+C/uBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOZX,sBP6OgC;AHm/KpC;;AoDruLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajDirBsC;EiDhrBtC,cAAc;EACd,gBjD22BuC;EgDh3BvC,kMhDuRiN;EgDrRjN,kBAAkB;EAClB,gBhD+R+B;EgD9R/B,gBhDmS+B;EgDlS/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOZX,qBP8O+B;AH+gLnC;;AoDlwLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjD22BoC;EiD12BpC,cjD22BqC;EiD12BrC,gBjD2N+B;AHuhLnC;;AoD1wLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApDkvLzB;;AoD7uLA;EACE,qBjD41BuC;AHo5JzC;;AoDjvLA;EAII,2BlC2F4D;AlBspLhE;;AoDrvLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjDu1BiE;AH25JvE;;AoD3vLA;EAaM,WjD6L2B;EiD5L3B,6BAAgE;EAChE,sBjD7CS;AH+xLf;;AoD7uLA;EACE,mBjDw0BuC;AHw6JzC;;AoDjvLA;EAII,yBlCuE4D;EkCtE5D,ajDo0BqC;EiDn0BrC,YjDk0BoC;EiDj0BpC,gBAAgC;ApDivLpC;;AoDxvLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDg0BiE;AHk7JvE;;AoD9vLA;EAgBM,SjDsK2B;EiDrK3B,oCAA2F;EAC3F,wBjDpES;AHszLf;;AoD7uLA;EACE,kBjDizBuC;AH+7JzC;;AoDjvLA;EAII,wBlCgD4D;AlBisLhE;;AoDrvLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD4yBiE;AHs8JvE;;AoD3vLA;EAaM,QjDkJ2B;EiDjJ3B,oCAA2F;EAC3F,yBjDxFS;AH00Lf;;AoDjwLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjDwxBoC;EiDvxBpC,oBAAsC;EACtC,WAAW;EACX,gCjD4wBuD;AHo+J3D;;AoD5uLA;EACE,oBjDixBuC;AH89JzC;;AoDhvLA;EAII,0BlCgB4D;EkCf5D,ajD6wBqC;EiD5wBrC,YjD2wBoC;EiD1wBpC,gBAAgC;ApDgvLpC;;AoDvvLA;EAUM,QAAQ;EACR,oCjDuwBmC;EiDtwBnC,sCjDywBiE;AHw+JvE;;AoD7vLA;EAgBM,UjD+G2B;EiD9G3B,oCjDiwBmC;EiDhwBnC,uBjD3HS;AH42Lf;;AoD3tLA;EACE,uBjDkuBwC;EiDjuBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjD2tByD;EiD1tBzD,gCAAyE;E1ChJvE,0CQsH4D;ERrH5D,2CQqH4D;AlByvLhE;;AoDruLA;EAUI,aAAa;ApD+tLjB;;AoD3tLA;EACE,uBjDotBwC;EiDntBxC,cjDxJgB;AHs3LlB;;AqDz3LA;EACE,kBAAkB;ArD43LpB;;AqDz3LA;EACE,uBAAmB;EAAnB,mBAAmB;ArD43LrB;;AqDz3LA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArD43LlB;;AsDn5LE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDs5Lf;;AqD93LA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjC5BvB,8CjBikCkF;EiBjkClF,sCjBikCkF;EiBjkClF,0EjBikCkF;AH61JxF;;AoBz5LI;EiCiBJ;IjChBM,gBAAgB;EpB65LpB;AACF;;AqDp4LA;;;EAGE,cAAc;ArDu4LhB;;AqDp4LA;;EAEE,mCAA2B;EAA3B,2BAA2B;ArDu4L7B;;AqDp4LA;;EAEE,oCAA4B;EAA5B,4BAA4B;ArDu4L9B;;AqD/3LA;EAEI,UAAU;EACV,4BAA4B;EAC5B,uBAAe;EAAf,eAAe;ArDi4LnB;;AqDr4LA;;;EAUI,UAAU;EACV,UAAU;ArDi4Ld;;AqD54LA;;EAgBI,UAAU;EACV,UAAU;EjCtER,2BjBgkCkC;AHw4JxC;;AoBn8LI;EiCgDJ;;IjC/CM,gBAAgB;EpBw8LpB;AACF;;AqD/3LA;;EAEE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,UAAU;EAEV,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,qBAAuB;EAAvB,uBAAuB;EACvB,UlDk9BsC;EkDj9BtC,WlD1Fa;EkD2Fb,kBAAkB;EAClB,YlDg9BqC;EiB7iCjC,8BjB+iCgD;AHg7JtD;;AoB19LI;EiC2EJ;;IjC1EM,gBAAgB;EpB+9LpB;AACF;;AK59LE;;;EgDwFE,WlDjGW;EkDkGX,qBAAqB;EACrB,UAAU;EACV,YlDy8BmC;AHi8JvC;;AqDv4LA;EACE,OAAO;ArD04LT;;AqDr4LA;EACE,QAAQ;ArDw4LV;;AqDj4LA;;EAEE,qBAAqB;EACrB,WlDk8BuC;EkDj8BvC,YlDi8BuC;EkDh8BvC,qCAAqC;ArDo4LvC;;AqDl4LA;EACE,sNnCxFyI;AlB69L3I;;AqDn4LA;EACE,uNnC3FyI;AlBi+L3I;;AqD73LA;EACE,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,OAAO;EACP,WAAW;EACX,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;EACvB,eAAe;EAEf,iBlDw5BsC;EkDv5BtC,gBlDu5BsC;EkDt5BtC,gBAAgB;ArD+3LlB;;AqD34LA;EAeI,uBAAuB;EACvB,kBAAc;EAAd,cAAc;EACd,WlDs5BqC;EkDr5BrC,WlDs5BoC;EkDr5BpC,iBlDu5BoC;EkDt5BpC,gBlDs5BoC;EkDr5BpC,mBAAmB;EACnB,eAAe;EACf,sBlDhKW;EkDiKX,4BAA4B;EAE5B,kCAAiE;EACjE,qCAAoE;EACpE,WAAW;EjCtKT,6BjBsjC+C;AHg/JrD;;AoBjiMI;EiCqIJ;IjCpIM,gBAAgB;EpBqiMpB;AACF;;AqDl6LA;EAiCI,UAAU;ArDq4Ld;;AqD53LA;EACE,kBAAkB;EAClB,UAA2C;EAC3C,YAAY;EACZ,SAA0C;EAC1C,WAAW;EACX,iBAAiB;EACjB,oBAAoB;EACpB,WlD3La;EkD4Lb,kBAAkB;ArD+3LpB;;AuD9jMA;EACE;IAAK,iCAAyB;IAAzB,yBAAyB;EvDkkM9B;AACF;;AuDpkMA;EACE;IAAK,iCAAyB;IAAzB,yBAAyB;EvDkkM9B;AACF;;AuDhkMA;EACE,qBAAqB;EACrB,WpDkkC0B;EoDjkC1B,YpDikC0B;EoDhkC1B,2BAA2B;EAC3B,iCAAgD;EAChD,+BAA+B;EAE/B,kBAAkB;EAClB,sDAA8C;EAA9C,8CAA8C;AvDkkMhD;;AuD/jMA;EACE,WpD2jC4B;EoD1jC5B,YpD0jC4B;EoDzjC5B,mBpD2jC4B;AHugK9B;;AuD3jMA;EACE;IACE,2BAAmB;IAAnB,mBAAmB;EvD8jMrB;EuD5jMA;IACE,UAAU;EvD8jMZ;AACF;;AuDpkMA;EACE;IACE,2BAAmB;IAAnB,mBAAmB;EvD8jMrB;EuD5jMA;IACE,UAAU;EvD8jMZ;AACF;;AuD3jMA;EACE,qBAAqB;EACrB,WpDmiC0B;EoDliC1B,YpDkiC0B;EoDjiC1B,2BAA2B;EAC3B,8BAA8B;EAE9B,kBAAkB;EAClB,UAAU;EACV,oDAA4C;EAA5C,4CAA4C;AvD6jM9C;;AuD1jMA;EACE,WpD4hC4B;EoD3hC5B,YpD2hC4B;AHkiK9B;;AwDhnMA;EAAqB,mCAAmC;AxDonMxD;;AwDnnMA;EAAqB,8BAA8B;AxDunMnD;;AwDtnMA;EAAqB,iCAAiC;AxD0nMtD;;AwDznMA;EAAqB,iCAAiC;AxD6nMtD;;AwD5nMA;EAAqB,sCAAsC;AxDgoM3D;;AwD/nMA;EAAqB,mCAAmC;AxDmoMxD;;AyDroME;EACE,oCAAmC;AzDwoMvC;;AK9nME;;;EoDLI,oCAAgD;AzDyoMtD;;AyD/oME;EACE,oCAAmC;AzDkpMvC;;AKxoME;;;EoDLI,oCAAgD;AzDmpMtD;;AyDzpME;EACE,oCAAmC;AzD4pMvC;;AKlpME;;;EoDLI,oCAAgD;AzD6pMtD;;AyDnqME;EACE,oCAAmC;AzDsqMvC;;AK5pME;;;EoDLI,oCAAgD;AzDuqMtD;;AyD7qME;EACE,oCAAmC;AzDgrMvC;;AKtqME;;;EoDLI,oCAAgD;AzDirMtD;;AyDvrME;EACE,oCAAmC;AzD0rMvC;;AKhrME;;;EoDLI,oCAAgD;AzD2rMtD;;AyDjsME;EACE,oCAAmC;AzDosMvC;;AK1rME;;;EoDLI,oCAAgD;AzDqsMtD;;AyD3sME;EACE,oCAAmC;AzD8sMvC;;AKpsME;;;EoDLI,oCAAgD;AzD+sMtD;;A0D9sMA;EACE,iCAAmC;A1DitMrC;;A0D9sMA;EACE,wCAAwC;A1DitM1C;;A2D5tMA;EAAkB,oCAAoD;A3DguMtE;;A2D/tMA;EAAkB,wCAAwD;A3DmuM1E;;A2DluMA;EAAkB,0CAA0D;A3DsuM5E;;A2DruMA;EAAkB,2CAA2D;A3DyuM7E;;A2DxuMA;EAAkB,yCAAyD;A3D4uM3E;;A2D1uMA;EAAmB,oBAAoB;A3D8uMvC;;A2D7uMA;EAAmB,wBAAwB;A3DivM3C;;A2DhvMA;EAAmB,0BAA0B;A3DovM7C;;A2DnvMA;EAAmB,2BAA2B;A3DuvM9C;;A2DtvMA;EAAmB,yBAAyB;A3D0vM5C;;A2DvvME;EACE,gCAA+B;A3D0vMnC;;A2D3vME;EACE,gCAA+B;A3D8vMnC;;A2D/vME;EACE,gCAA+B;A3DkwMnC;;A2DnwME;EACE,gCAA+B;A3DswMnC;;A2DvwME;EACE,gCAA+B;A3D0wMnC;;A2D3wME;EACE,gCAA+B;A3D8wMnC;;A2D/wME;EACE,gCAA+B;A3DkxMnC;;A2DnxME;EACE,gCAA+B;A3DsxMnC;;A2DlxMA;EACE,6BAA+B;A3DqxMjC;;A2D9wMA;EACE,gCAA2C;A3DixM7C;;A2D9wMA;EACE,iCAAwC;A3DixM1C;;A2D9wMA;EACE,0CAAiD;EACjD,2CAAkD;A3DixMpD;;A2D9wMA;EACE,2CAAkD;EAClD,8CAAqD;A3DixMvD;;A2D9wMA;EACE,8CAAqD;EACrD,6CAAoD;A3DixMtD;;A2D9wMA;EACE,0CAAiD;EACjD,6CAAoD;A3DixMtD;;A2D9wMA;EACE,gCAA2C;A3DixM7C;;A2D9wMA;EACE,6BAA6B;A3DixM/B;;A2D9wMA;EACE,+BAAuC;A3DixMzC;;A2D9wMA;EACE,2BAA2B;A3DixM7B;;AsDz1ME;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtD41Mf;;A4Dr1MM;EAAwB,wBAA0B;A5Dy1MxD;;A4Dz1MM;EAAwB,0BAA0B;A5D61MxD;;A4D71MM;EAAwB,gCAA0B;A5Di2MxD;;A4Dj2MM;EAAwB,yBAA0B;A5Dq2MxD;;A4Dr2MM;EAAwB,yBAA0B;A5Dy2MxD;;A4Dz2MM;EAAwB,6BAA0B;A5D62MxD;;A4D72MM;EAAwB,8BAA0B;A5Di3MxD;;A4Dj3MM;EAAwB,+BAA0B;EAA1B,wBAA0B;A5Dq3MxD;;A4Dr3MM;EAAwB,sCAA0B;EAA1B,+BAA0B;A5Dy3MxD;;Acx0MI;E8CjDE;IAAwB,wBAA0B;E5D83MtD;E4D93MI;IAAwB,0BAA0B;E5Di4MtD;E4Dj4MI;IAAwB,gCAA0B;E5Do4MtD;E4Dp4MI;IAAwB,yBAA0B;E5Du4MtD;E4Dv4MI;IAAwB,yBAA0B;E5D04MtD;E4D14MI;IAAwB,6BAA0B;E5D64MtD;E4D74MI;IAAwB,8BAA0B;E5Dg5MtD;E4Dh5MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5Dm5MtD;E4Dn5MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5Ds5MtD;AACF;;Act2MI;E8CjDE;IAAwB,wBAA0B;E5D45MtD;E4D55MI;IAAwB,0BAA0B;E5D+5MtD;E4D/5MI;IAAwB,gCAA0B;E5Dk6MtD;E4Dl6MI;IAAwB,yBAA0B;E5Dq6MtD;E4Dr6MI;IAAwB,yBAA0B;E5Dw6MtD;E4Dx6MI;IAAwB,6BAA0B;E5D26MtD;E4D36MI;IAAwB,8BAA0B;E5D86MtD;E4D96MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5Di7MtD;E4Dj7MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5Do7MtD;AACF;;Acp4MI;E8CjDE;IAAwB,wBAA0B;E5D07MtD;E4D17MI;IAAwB,0BAA0B;E5D67MtD;E4D77MI;IAAwB,gCAA0B;E5Dg8MtD;E4Dh8MI;IAAwB,yBAA0B;E5Dm8MtD;E4Dn8MI;IAAwB,yBAA0B;E5Ds8MtD;E4Dt8MI;IAAwB,6BAA0B;E5Dy8MtD;E4Dz8MI;IAAwB,8BAA0B;E5D48MtD;E4D58MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5D+8MtD;E4D/8MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5Dk9MtD;AACF;;Acl6MI;E8CjDE;IAAwB,wBAA0B;E5Dw9MtD;E4Dx9MI;IAAwB,0BAA0B;E5D29MtD;E4D39MI;IAAwB,gCAA0B;E5D89MtD;E4D99MI;IAAwB,yBAA0B;E5Di+MtD;E4Dj+MI;IAAwB,yBAA0B;E5Do+MtD;E4Dp+MI;IAAwB,6BAA0B;E5Du+MtD;E4Dv+MI;IAAwB,8BAA0B;E5D0+MtD;E4D1+MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5D6+MtD;E4D7+MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5Dg/MtD;AACF;;A4Dv+MA;EAEI;IAAqB,wBAA0B;E5D0+MjD;E4D1+ME;IAAqB,0BAA0B;E5D6+MjD;E4D7+ME;IAAqB,gCAA0B;E5Dg/MjD;E4Dh/ME;IAAqB,yBAA0B;E5Dm/MjD;E4Dn/ME;IAAqB,yBAA0B;E5Ds/MjD;E4Dt/ME;IAAqB,6BAA0B;E5Dy/MjD;E4Dz/ME;IAAqB,8BAA0B;E5D4/MjD;E4D5/ME;IAAqB,+BAA0B;IAA1B,wBAA0B;E5D+/MjD;E4D//ME;IAAqB,sCAA0B;IAA1B,+BAA0B;E5DkgNjD;AACF;;A6DxhNA;EACE,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,UAAU;EACV,gBAAgB;A7D2hNlB;;A6DhiNA;EAQI,cAAc;EACd,WAAW;A7D4hNf;;A6DriNA;;;;;EAiBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,WAAW;EACX,YAAY;EACZ,SAAS;A7D4hNb;;A6DphNE;EAEI,uBAA4F;A7DshNlG;;A6DxhNE;EAEI,mBAA4F;A7D0hNlG;;A6D5hNE;EAEI,gBAA4F;A7D8hNlG;;A6DhiNE;EAEI,iBAA4F;A7DkiNlG;;A8D3jNI;EAAgC,kCAA8B;EAA9B,8BAA8B;A9D+jNlE;;A8D9jNI;EAAgC,qCAAiC;EAAjC,iCAAiC;A9DkkNrE;;A8DjkNI;EAAgC,0CAAsC;EAAtC,sCAAsC;A9DqkN1E;;A8DpkNI;EAAgC,6CAAyC;EAAzC,yCAAyC;A9DwkN7E;;A8DtkNI;EAA8B,8BAA0B;EAA1B,0BAA0B;A9D0kN5D;;A8DzkNI;EAA8B,gCAA4B;EAA5B,4BAA4B;A9D6kN9D;;A8D5kNI;EAA8B,sCAAkC;EAAlC,kCAAkC;A9DglNpE;;A8D/kNI;EAA8B,6BAAyB;EAAzB,yBAAyB;A9DmlN3D;;A8DllNI;EAA8B,+BAAuB;EAAvB,uBAAuB;A9DslNzD;;A8DrlNI;EAA8B,+BAAuB;EAAvB,uBAAuB;A9DylNzD;;A8DxlNI;EAA8B,+BAAyB;EAAzB,yBAAyB;A9D4lN3D;;A8D3lNI;EAA8B,+BAAyB;EAAzB,yBAAyB;A9D+lN3D;;A8D7lNI;EAAoC,+BAAsC;EAAtC,sCAAsC;A9DimN9E;;A8DhmNI;EAAoC,6BAAoC;EAApC,oCAAoC;A9DomN5E;;A8DnmNI;EAAoC,gCAAkC;EAAlC,kCAAkC;A9DumN1E;;A8DtmNI;EAAoC,iCAAyC;EAAzC,yCAAyC;A9D0mNjF;;A8DzmNI;EAAoC,oCAAwC;EAAxC,wCAAwC;A9D6mNhF;;A8D3mNI;EAAiC,gCAAkC;EAAlC,kCAAkC;A9D+mNvE;;A8D9mNI;EAAiC,8BAAgC;EAAhC,gCAAgC;A9DknNrE;;A8DjnNI;EAAiC,iCAA8B;EAA9B,8BAA8B;A9DqnNnE;;A8DpnNI;EAAiC,mCAAgC;EAAhC,gCAAgC;A9DwnNrE;;A8DvnNI;EAAiC,kCAA+B;EAA/B,+BAA+B;A9D2nNpE;;A8DznNI;EAAkC,oCAAoC;EAApC,oCAAoC;A9D6nN1E;;A8D5nNI;EAAkC,kCAAkC;EAAlC,kCAAkC;A9DgoNxE;;A8D/nNI;EAAkC,qCAAgC;EAAhC,gCAAgC;A9DmoNtE;;A8DloNI;EAAkC,sCAAuC;EAAvC,uCAAuC;A9DsoN7E;;A8DroNI;EAAkC,yCAAsC;EAAtC,sCAAsC;A9DyoN5E;;A8DxoNI;EAAkC,sCAAiC;EAAjC,iCAAiC;A9D4oNvE;;A8D1oNI;EAAgC,oCAA2B;EAA3B,2BAA2B;A9D8oN/D;;A8D7oNI;EAAgC,qCAAiC;EAAjC,iCAAiC;A9DipNrE;;A8DhpNI;EAAgC,mCAA+B;EAA/B,+BAA+B;A9DopNnE;;A8DnpNI;EAAgC,sCAA6B;EAA7B,6BAA6B;A9DupNjE;;A8DtpNI;EAAgC,wCAA+B;EAA/B,+BAA+B;A9D0pNnE;;A8DzpNI;EAAgC,uCAA8B;EAA9B,8BAA8B;A9D6pNlE;;AcjpNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9DwsNhE;E8DvsNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D0sNnE;E8DzsNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9D4sNxE;E8D3sNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9D8sN3E;E8D5sNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9D+sN1D;E8D9sNE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9DitN5D;E8DhtNE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9DmtNlE;E8DltNE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9DqtNzD;E8DptNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DutNvD;E8DttNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DytNvD;E8DxtNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D2tNzD;E8D1tNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D6tNzD;E8D3tNE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9D8tN5E;E8D7tNE;IAAoC,6BAAoC;IAApC,oCAAoC;E9DguN1E;E8D/tNE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9DkuNxE;E8DjuNE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9DouN/E;E8DnuNE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9DsuN9E;E8DpuNE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9DuuNrE;E8DtuNE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9DyuNnE;E8DxuNE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9D2uNjE;E8D1uNE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9D6uNnE;E8D5uNE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9D+uNlE;E8D7uNE;IAAkC,oCAAoC;IAApC,oCAAoC;E9DgvNxE;E8D/uNE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9DkvNtE;E8DjvNE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9DovNpE;E8DnvNE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9DsvN3E;E8DrvNE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9DwvN1E;E8DvvNE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9D0vNrE;E8DxvNE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9D2vN7D;E8D1vNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D6vNnE;E8D5vNE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9D+vNjE;E8D9vNE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9DiwN/D;E8DhwNE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9DmwNjE;E8DlwNE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9DqwNhE;AACF;;Ac1vNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9DizNhE;E8DhzNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DmzNnE;E8DlzNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9DqzNxE;E8DpzNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9DuzN3E;E8DrzNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9DwzN1D;E8DvzNE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9D0zN5D;E8DzzNE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9D4zNlE;E8D3zNE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9D8zNzD;E8D7zNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Dg0NvD;E8D/zNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Dk0NvD;E8Dj0NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9Do0NzD;E8Dn0NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9Ds0NzD;E8Dp0NE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9Du0N5E;E8Dt0NE;IAAoC,6BAAoC;IAApC,oCAAoC;E9Dy0N1E;E8Dx0NE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9D20NxE;E8D10NE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9D60N/E;E8D50NE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9D+0N9E;E8D70NE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9Dg1NrE;E8D/0NE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9Dk1NnE;E8Dj1NE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9Do1NjE;E8Dn1NE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9Ds1NnE;E8Dr1NE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9Dw1NlE;E8Dt1NE;IAAkC,oCAAoC;IAApC,oCAAoC;E9Dy1NxE;E8Dx1NE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9D21NtE;E8D11NE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9D61NpE;E8D51NE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9D+1N3E;E8D91NE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9Di2N1E;E8Dh2NE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9Dm2NrE;E8Dj2NE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9Do2N7D;E8Dn2NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9Ds2NnE;E8Dr2NE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9Dw2NjE;E8Dv2NE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9D02N/D;E8Dz2NE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9D42NjE;E8D32NE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9D82NhE;AACF;;Acn2NI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9D05NhE;E8Dz5NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D45NnE;E8D35NE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9D85NxE;E8D75NE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9Dg6N3E;E8D95NE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9Di6N1D;E8Dh6NE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9Dm6N5D;E8Dl6NE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9Dq6NlE;E8Dp6NE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9Du6NzD;E8Dt6NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Dy6NvD;E8Dx6NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D26NvD;E8D16NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D66NzD;E8D56NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D+6NzD;E8D76NE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9Dg7N5E;E8D/6NE;IAAoC,6BAAoC;IAApC,oCAAoC;E9Dk7N1E;E8Dj7NE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9Do7NxE;E8Dn7NE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9Ds7N/E;E8Dr7NE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9Dw7N9E;E8Dt7NE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9Dy7NrE;E8Dx7NE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9D27NnE;E8D17NE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9D67NjE;E8D57NE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9D+7NnE;E8D97NE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9Di8NlE;E8D/7NE;IAAkC,oCAAoC;IAApC,oCAAoC;E9Dk8NxE;E8Dj8NE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9Do8NtE;E8Dn8NE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9Ds8NpE;E8Dr8NE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9Dw8N3E;E8Dv8NE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9D08N1E;E8Dz8NE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9D48NrE;E8D18NE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9D68N7D;E8D58NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D+8NnE;E8D98NE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9Di9NjE;E8Dh9NE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9Dm9N/D;E8Dl9NE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9Dq9NjE;E8Dp9NE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9Du9NhE;AACF;;Ac58NI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9DmgOhE;E8DlgOE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DqgOnE;E8DpgOE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9DugOxE;E8DtgOE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9DygO3E;E8DvgOE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9D0gO1D;E8DzgOE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9D4gO5D;E8D3gOE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9D8gOlE;E8D7gOE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9DghOzD;E8D/gOE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DkhOvD;E8DjhOE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DohOvD;E8DnhOE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DshOzD;E8DrhOE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DwhOzD;E8DthOE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9DyhO5E;E8DxhOE;IAAoC,6BAAoC;IAApC,oCAAoC;E9D2hO1E;E8D1hOE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9D6hOxE;E8D5hOE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9D+hO/E;E8D9hOE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9DiiO9E;E8D/hOE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9DkiOrE;E8DjiOE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9DoiOnE;E8DniOE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9DsiOjE;E8DriOE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9DwiOnE;E8DviOE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9D0iOlE;E8DxiOE;IAAkC,oCAAoC;IAApC,oCAAoC;E9D2iOxE;E8D1iOE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9D6iOtE;E8D5iOE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9D+iOpE;E8D9iOE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9DijO3E;E8DhjOE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9DmjO1E;E8DljOE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9DqjOrE;E8DnjOE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9DsjO7D;E8DrjOE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DwjOnE;E8DvjOE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9D0jOjE;E8DzjOE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9D4jO/D;E8D3jOE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9D8jOjE;E8D7jOE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9DgkOhE;AACF;;A+D3mOI;EAAwB,sBAAsB;A/D+mOlD;;A+D9mOI;EAAwB,uBAAuB;A/DknOnD;;A+DjnOI;EAAwB,sBAAsB;A/DqnOlD;;AcjkOI;EiDtDA;IAAwB,sBAAsB;E/D4nOhD;E+D3nOE;IAAwB,uBAAuB;E/D8nOjD;E+D7nOE;IAAwB,sBAAsB;E/DgoOhD;AACF;;Ac7kOI;EiDtDA;IAAwB,sBAAsB;E/DwoOhD;E+DvoOE;IAAwB,uBAAuB;E/D0oOjD;E+DzoOE;IAAwB,sBAAsB;E/D4oOhD;AACF;;AczlOI;EiDtDA;IAAwB,sBAAsB;E/DopOhD;E+DnpOE;IAAwB,uBAAuB;E/DspOjD;E+DrpOE;IAAwB,sBAAsB;E/DwpOhD;AACF;;AcrmOI;EiDtDA;IAAwB,sBAAsB;E/DgqOhD;E+D/pOE;IAAwB,uBAAuB;E/DkqOjD;E+DjqOE;IAAwB,sBAAsB;E/DoqOhD;AACF;;AgE1qOE;EAAsB,yBAA2B;AhE8qOnD;;AgE9qOE;EAAsB,2BAA2B;AhEkrOnD;;AiEjrOE;EAAyB,2BAA8B;AjEqrOzD;;AiErrOE;EAAyB,6BAA8B;AjEyrOzD;;AiEzrOE;EAAyB,6BAA8B;AjE6rOzD;;AiE7rOE;EAAyB,0BAA8B;AjEisOzD;;AiEjsOE;EAAyB,mCAA8B;EAA9B,2BAA8B;AjEqsOzD;;AiEhsOA;EACE,eAAe;EACf,MAAM;EACN,QAAQ;EACR,OAAO;EACP,a9DoqBsC;AH+hNxC;;AiEhsOA;EACE,eAAe;EACf,QAAQ;EACR,SAAS;EACT,OAAO;EACP,a9D4pBsC;AHuiNxC;;AiE/rO8B;EAD9B;IAEI,wBAAgB;IAAhB,gBAAgB;IAChB,MAAM;IACN,a9DopBoC;EH+iNtC;AACF;;AkE7tOA;ECEE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,SAAS;AnE+tOX;;AmErtOE;EAEE,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,mBAAmB;AnEutOvB;;AoEpvOA;EAAa,8DAAqC;ApEwvOlD;;AoEvvOA;EAAU,wDAAkC;ApE2vO5C;;AoE1vOA;EAAa,uDAAqC;ApE8vOlD;;AoE7vOA;EAAe,2BAA2B;ApEiwO1C;;AqEhwOI;EAAuB,qBAA4B;ArEowOvD;;AqEpwOI;EAAuB,qBAA4B;ArEwwOvD;;AqExwOI;EAAuB,qBAA4B;ArE4wOvD;;AqE5wOI;EAAuB,sBAA4B;ArEgxOvD;;AqEhxOI;EAAuB,sBAA4B;ArEoxOvD;;AqEpxOI;EAAuB,sBAA4B;ArEwxOvD;;AqExxOI;EAAuB,sBAA4B;ArE4xOvD;;AqE5xOI;EAAuB,sBAA4B;ArEgyOvD;;AqEhyOI;EAAuB,uBAA4B;ArEoyOvD;;AqEpyOI;EAAuB,uBAA4B;ArEwyOvD;;AqEpyOA;EAAU,0BAA0B;ArEwyOpC;;AqEvyOA;EAAU,2BAA2B;ArE2yOrC;;AqEvyOA;EAAc,2BAA2B;ArE2yOzC;;AqE1yOA;EAAc,4BAA4B;ArE8yO1C;;AqE5yOA;EAAU,uBAAuB;ArEgzOjC;;AqE/yOA;EAAU,wBAAwB;ArEmzOlC;;AsEl0OA;EAEI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,UAAU;EAEV,oBAAoB;EACpB,WAAW;EAEX,kCAAkC;AtEk0OtC;;AuEx0OQ;EAAgC,oBAA4B;AvE40OpE;;AuE30OQ;;EAEE,wBAAoC;AvE80O9C;;AuE50OQ;;EAEE,0BAAwC;AvE+0OlD;;AuE70OQ;;EAEE,2BAA0C;AvEg1OpD;;AuE90OQ;;EAEE,yBAAsC;AvEi1OhD;;AuEh2OQ;EAAgC,0BAA4B;AvEo2OpE;;AuEn2OQ;;EAEE,8BAAoC;AvEs2O9C;;AuEp2OQ;;EAEE,gCAAwC;AvEu2OlD;;AuEr2OQ;;EAEE,iCAA0C;AvEw2OpD;;AuEt2OQ;;EAEE,+BAAsC;AvEy2OhD;;AuEx3OQ;EAAgC,yBAA4B;AvE43OpE;;AuE33OQ;;EAEE,6BAAoC;AvE83O9C;;AuE53OQ;;EAEE,+BAAwC;AvE+3OlD;;AuE73OQ;;EAEE,gCAA0C;AvEg4OpD;;AuE93OQ;;EAEE,8BAAsC;AvEi4OhD;;AuEh5OQ;EAAgC,uBAA4B;AvEo5OpE;;AuEn5OQ;;EAEE,2BAAoC;AvEs5O9C;;AuEp5OQ;;EAEE,6BAAwC;AvEu5OlD;;AuEr5OQ;;EAEE,8BAA0C;AvEw5OpD;;AuEt5OQ;;EAEE,4BAAsC;AvEy5OhD;;AuEx6OQ;EAAgC,yBAA4B;AvE46OpE;;AuE36OQ;;EAEE,6BAAoC;AvE86O9C;;AuE56OQ;;EAEE,+BAAwC;AvE+6OlD;;AuE76OQ;;EAEE,gCAA0C;AvEg7OpD;;AuE96OQ;;EAEE,8BAAsC;AvEi7OhD;;AuEh8OQ;EAAgC,uBAA4B;AvEo8OpE;;AuEn8OQ;;EAEE,2BAAoC;AvEs8O9C;;AuEp8OQ;;EAEE,6BAAwC;AvEu8OlD;;AuEr8OQ;;EAEE,8BAA0C;AvEw8OpD;;AuEt8OQ;;EAEE,4BAAsC;AvEy8OhD;;AuEx9OQ;EAAgC,qBAA4B;AvE49OpE;;AuE39OQ;;EAEE,yBAAoC;AvE89O9C;;AuE59OQ;;EAEE,2BAAwC;AvE+9OlD;;AuE79OQ;;EAEE,4BAA0C;AvEg+OpD;;AuE99OQ;;EAEE,0BAAsC;AvEi+OhD;;AuEh/OQ;EAAgC,2BAA4B;AvEo/OpE;;AuEn/OQ;;EAEE,+BAAoC;AvEs/O9C;;AuEp/OQ;;EAEE,iCAAwC;AvEu/OlD;;AuEr/OQ;;EAEE,kCAA0C;AvEw/OpD;;AuEt/OQ;;EAEE,gCAAsC;AvEy/OhD;;AuExgPQ;EAAgC,0BAA4B;AvE4gPpE;;AuE3gPQ;;EAEE,8BAAoC;AvE8gP9C;;AuE5gPQ;;EAEE,gCAAwC;AvE+gPlD;;AuE7gPQ;;EAEE,iCAA0C;AvEghPpD;;AuE9gPQ;;EAEE,+BAAsC;AvEihPhD;;AuEhiPQ;EAAgC,wBAA4B;AvEoiPpE;;AuEniPQ;;EAEE,4BAAoC;AvEsiP9C;;AuEpiPQ;;EAEE,8BAAwC;AvEuiPlD;;AuEriPQ;;EAEE,+BAA0C;AvEwiPpD;;AuEtiPQ;;EAEE,6BAAsC;AvEyiPhD;;AuExjPQ;EAAgC,0BAA4B;AvE4jPpE;;AuE3jPQ;;EAEE,8BAAoC;AvE8jP9C;;AuE5jPQ;;EAEE,gCAAwC;AvE+jPlD;;AuE7jPQ;;EAEE,iCAA0C;AvEgkPpD;;AuE9jPQ;;EAEE,+BAAsC;AvEikPhD;;AuEhlPQ;EAAgC,wBAA4B;AvEolPpE;;AuEnlPQ;;EAEE,4BAAoC;AvEslP9C;;AuEplPQ;;EAEE,8BAAwC;AvEulPlD;;AuErlPQ;;EAEE,+BAA0C;AvEwlPpD;;AuEtlPQ;;EAEE,6BAAsC;AvEylPhD;;AuEjlPQ;EAAwB,2BAA2B;AvEqlP3D;;AuEplPQ;;EAEE,+BAA+B;AvEulPzC;;AuErlPQ;;EAEE,iCAAiC;AvEwlP3C;;AuEtlPQ;;EAEE,kCAAkC;AvEylP5C;;AuEvlPQ;;EAEE,gCAAgC;AvE0lP1C;;AuEzmPQ;EAAwB,0BAA2B;AvE6mP3D;;AuE5mPQ;;EAEE,8BAA+B;AvE+mPzC;;AuE7mPQ;;EAEE,gCAAiC;AvEgnP3C;;AuE9mPQ;;EAEE,iCAAkC;AvEinP5C;;AuE/mPQ;;EAEE,+BAAgC;AvEknP1C;;AuEjoPQ;EAAwB,wBAA2B;AvEqoP3D;;AuEpoPQ;;EAEE,4BAA+B;AvEuoPzC;;AuEroPQ;;EAEE,8BAAiC;AvEwoP3C;;AuEtoPQ;;EAEE,+BAAkC;AvEyoP5C;;AuEvoPQ;;EAEE,6BAAgC;AvE0oP1C;;AuEzpPQ;EAAwB,0BAA2B;AvE6pP3D;;AuE5pPQ;;EAEE,8BAA+B;AvE+pPzC;;AuE7pPQ;;EAEE,gCAAiC;AvEgqP3C;;AuE9pPQ;;EAEE,iCAAkC;AvEiqP5C;;AuE/pPQ;;EAEE,+BAAgC;AvEkqP1C;;AuEjrPQ;EAAwB,wBAA2B;AvEqrP3D;;AuEprPQ;;EAEE,4BAA+B;AvEurPzC;;AuErrPQ;;EAEE,8BAAiC;AvEwrP3C;;AuEtrPQ;;EAEE,+BAAkC;AvEyrP5C;;AuEvrPQ;;EAEE,6BAAgC;AvE0rP1C;;AuEprPI;EAAmB,uBAAuB;AvEwrP9C;;AuEvrPI;;EAEE,2BAA2B;AvE0rPjC;;AuExrPI;;EAEE,6BAA6B;AvE2rPnC;;AuEzrPI;;EAEE,8BAA8B;AvE4rPpC;;AuE1rPI;;EAEE,4BAA4B;AvE6rPlC;;ActsPI;EyDlDI;IAAgC,oBAA4B;EvE6vPlE;EuE5vPM;;IAEE,wBAAoC;EvE8vP5C;EuE5vPM;;IAEE,0BAAwC;EvE8vPhD;EuE5vPM;;IAEE,2BAA0C;EvE8vPlD;EuE5vPM;;IAEE,yBAAsC;EvE8vP9C;EuE7wPM;IAAgC,0BAA4B;EvEgxPlE;EuE/wPM;;IAEE,8BAAoC;EvEixP5C;EuE/wPM;;IAEE,gCAAwC;EvEixPhD;EuE/wPM;;IAEE,iCAA0C;EvEixPlD;EuE/wPM;;IAEE,+BAAsC;EvEixP9C;EuEhyPM;IAAgC,yBAA4B;EvEmyPlE;EuElyPM;;IAEE,6BAAoC;EvEoyP5C;EuElyPM;;IAEE,+BAAwC;EvEoyPhD;EuElyPM;;IAEE,gCAA0C;EvEoyPlD;EuElyPM;;IAEE,8BAAsC;EvEoyP9C;EuEnzPM;IAAgC,uBAA4B;EvEszPlE;EuErzPM;;IAEE,2BAAoC;EvEuzP5C;EuErzPM;;IAEE,6BAAwC;EvEuzPhD;EuErzPM;;IAEE,8BAA0C;EvEuzPlD;EuErzPM;;IAEE,4BAAsC;EvEuzP9C;EuEt0PM;IAAgC,yBAA4B;EvEy0PlE;EuEx0PM;;IAEE,6BAAoC;EvE00P5C;EuEx0PM;;IAEE,+BAAwC;EvE00PhD;EuEx0PM;;IAEE,gCAA0C;EvE00PlD;EuEx0PM;;IAEE,8BAAsC;EvE00P9C;EuEz1PM;IAAgC,uBAA4B;EvE41PlE;EuE31PM;;IAEE,2BAAoC;EvE61P5C;EuE31PM;;IAEE,6BAAwC;EvE61PhD;EuE31PM;;IAEE,8BAA0C;EvE61PlD;EuE31PM;;IAEE,4BAAsC;EvE61P9C;EuE52PM;IAAgC,qBAA4B;EvE+2PlE;EuE92PM;;IAEE,yBAAoC;EvEg3P5C;EuE92PM;;IAEE,2BAAwC;EvEg3PhD;EuE92PM;;IAEE,4BAA0C;EvEg3PlD;EuE92PM;;IAEE,0BAAsC;EvEg3P9C;EuE/3PM;IAAgC,2BAA4B;EvEk4PlE;EuEj4PM;;IAEE,+BAAoC;EvEm4P5C;EuEj4PM;;IAEE,iCAAwC;EvEm4PhD;EuEj4PM;;IAEE,kCAA0C;EvEm4PlD;EuEj4PM;;IAEE,gCAAsC;EvEm4P9C;EuEl5PM;IAAgC,0BAA4B;EvEq5PlE;EuEp5PM;;IAEE,8BAAoC;EvEs5P5C;EuEp5PM;;IAEE,gCAAwC;EvEs5PhD;EuEp5PM;;IAEE,iCAA0C;EvEs5PlD;EuEp5PM;;IAEE,+BAAsC;EvEs5P9C;EuEr6PM;IAAgC,wBAA4B;EvEw6PlE;EuEv6PM;;IAEE,4BAAoC;EvEy6P5C;EuEv6PM;;IAEE,8BAAwC;EvEy6PhD;EuEv6PM;;IAEE,+BAA0C;EvEy6PlD;EuEv6PM;;IAEE,6BAAsC;EvEy6P9C;EuEx7PM;IAAgC,0BAA4B;EvE27PlE;EuE17PM;;IAEE,8BAAoC;EvE47P5C;EuE17PM;;IAEE,gCAAwC;EvE47PhD;EuE17PM;;IAEE,iCAA0C;EvE47PlD;EuE17PM;;IAEE,+BAAsC;EvE47P9C;EuE38PM;IAAgC,wBAA4B;EvE88PlE;EuE78PM;;IAEE,4BAAoC;EvE+8P5C;EuE78PM;;IAEE,8BAAwC;EvE+8PhD;EuE78PM;;IAEE,+BAA0C;EvE+8PlD;EuE78PM;;IAEE,6BAAsC;EvE+8P9C;EuEv8PM;IAAwB,2BAA2B;EvE08PzD;EuEz8PM;;IAEE,+BAA+B;EvE28PvC;EuEz8PM;;IAEE,iCAAiC;EvE28PzC;EuEz8PM;;IAEE,kCAAkC;EvE28P1C;EuEz8PM;;IAEE,gCAAgC;EvE28PxC;EuE19PM;IAAwB,0BAA2B;EvE69PzD;EuE59PM;;IAEE,8BAA+B;EvE89PvC;EuE59PM;;IAEE,gCAAiC;EvE89PzC;EuE59PM;;IAEE,iCAAkC;EvE89P1C;EuE59PM;;IAEE,+BAAgC;EvE89PxC;EuE7+PM;IAAwB,wBAA2B;EvEg/PzD;EuE/+PM;;IAEE,4BAA+B;EvEi/PvC;EuE/+PM;;IAEE,8BAAiC;EvEi/PzC;EuE/+PM;;IAEE,+BAAkC;EvEi/P1C;EuE/+PM;;IAEE,6BAAgC;EvEi/PxC;EuEhgQM;IAAwB,0BAA2B;EvEmgQzD;EuElgQM;;IAEE,8BAA+B;EvEogQvC;EuElgQM;;IAEE,gCAAiC;EvEogQzC;EuElgQM;;IAEE,iCAAkC;EvEogQ1C;EuElgQM;;IAEE,+BAAgC;EvEogQxC;EuEnhQM;IAAwB,wBAA2B;EvEshQzD;EuErhQM;;IAEE,4BAA+B;EvEuhQvC;EuErhQM;;IAEE,8BAAiC;EvEuhQzC;EuErhQM;;IAEE,+BAAkC;EvEuhQ1C;EuErhQM;;IAEE,6BAAgC;EvEuhQxC;EuEjhQE;IAAmB,uBAAuB;EvEohQ5C;EuEnhQE;;IAEE,2BAA2B;EvEqhQ/B;EuEnhQE;;IAEE,6BAA6B;EvEqhQjC;EuEnhQE;;IAEE,8BAA8B;EvEqhQlC;EuEnhQE;;IAEE,4BAA4B;EvEqhQhC;AACF;;Ac/hQI;EyDlDI;IAAgC,oBAA4B;EvEslQlE;EuErlQM;;IAEE,wBAAoC;EvEulQ5C;EuErlQM;;IAEE,0BAAwC;EvEulQhD;EuErlQM;;IAEE,2BAA0C;EvEulQlD;EuErlQM;;IAEE,yBAAsC;EvEulQ9C;EuEtmQM;IAAgC,0BAA4B;EvEymQlE;EuExmQM;;IAEE,8BAAoC;EvE0mQ5C;EuExmQM;;IAEE,gCAAwC;EvE0mQhD;EuExmQM;;IAEE,iCAA0C;EvE0mQlD;EuExmQM;;IAEE,+BAAsC;EvE0mQ9C;EuEznQM;IAAgC,yBAA4B;EvE4nQlE;EuE3nQM;;IAEE,6BAAoC;EvE6nQ5C;EuE3nQM;;IAEE,+BAAwC;EvE6nQhD;EuE3nQM;;IAEE,gCAA0C;EvE6nQlD;EuE3nQM;;IAEE,8BAAsC;EvE6nQ9C;EuE5oQM;IAAgC,uBAA4B;EvE+oQlE;EuE9oQM;;IAEE,2BAAoC;EvEgpQ5C;EuE9oQM;;IAEE,6BAAwC;EvEgpQhD;EuE9oQM;;IAEE,8BAA0C;EvEgpQlD;EuE9oQM;;IAEE,4BAAsC;EvEgpQ9C;EuE/pQM;IAAgC,yBAA4B;EvEkqQlE;EuEjqQM;;IAEE,6BAAoC;EvEmqQ5C;EuEjqQM;;IAEE,+BAAwC;EvEmqQhD;EuEjqQM;;IAEE,gCAA0C;EvEmqQlD;EuEjqQM;;IAEE,8BAAsC;EvEmqQ9C;EuElrQM;IAAgC,uBAA4B;EvEqrQlE;EuEprQM;;IAEE,2BAAoC;EvEsrQ5C;EuEprQM;;IAEE,6BAAwC;EvEsrQhD;EuEprQM;;IAEE,8BAA0C;EvEsrQlD;EuEprQM;;IAEE,4BAAsC;EvEsrQ9C;EuErsQM;IAAgC,qBAA4B;EvEwsQlE;EuEvsQM;;IAEE,yBAAoC;EvEysQ5C;EuEvsQM;;IAEE,2BAAwC;EvEysQhD;EuEvsQM;;IAEE,4BAA0C;EvEysQlD;EuEvsQM;;IAEE,0BAAsC;EvEysQ9C;EuExtQM;IAAgC,2BAA4B;EvE2tQlE;EuE1tQM;;IAEE,+BAAoC;EvE4tQ5C;EuE1tQM;;IAEE,iCAAwC;EvE4tQhD;EuE1tQM;;IAEE,kCAA0C;EvE4tQlD;EuE1tQM;;IAEE,gCAAsC;EvE4tQ9C;EuE3uQM;IAAgC,0BAA4B;EvE8uQlE;EuE7uQM;;IAEE,8BAAoC;EvE+uQ5C;EuE7uQM;;IAEE,gCAAwC;EvE+uQhD;EuE7uQM;;IAEE,iCAA0C;EvE+uQlD;EuE7uQM;;IAEE,+BAAsC;EvE+uQ9C;EuE9vQM;IAAgC,wBAA4B;EvEiwQlE;EuEhwQM;;IAEE,4BAAoC;EvEkwQ5C;EuEhwQM;;IAEE,8BAAwC;EvEkwQhD;EuEhwQM;;IAEE,+BAA0C;EvEkwQlD;EuEhwQM;;IAEE,6BAAsC;EvEkwQ9C;EuEjxQM;IAAgC,0BAA4B;EvEoxQlE;EuEnxQM;;IAEE,8BAAoC;EvEqxQ5C;EuEnxQM;;IAEE,gCAAwC;EvEqxQhD;EuEnxQM;;IAEE,iCAA0C;EvEqxQlD;EuEnxQM;;IAEE,+BAAsC;EvEqxQ9C;EuEpyQM;IAAgC,wBAA4B;EvEuyQlE;EuEtyQM;;IAEE,4BAAoC;EvEwyQ5C;EuEtyQM;;IAEE,8BAAwC;EvEwyQhD;EuEtyQM;;IAEE,+BAA0C;EvEwyQlD;EuEtyQM;;IAEE,6BAAsC;EvEwyQ9C;EuEhyQM;IAAwB,2BAA2B;EvEmyQzD;EuElyQM;;IAEE,+BAA+B;EvEoyQvC;EuElyQM;;IAEE,iCAAiC;EvEoyQzC;EuElyQM;;IAEE,kCAAkC;EvEoyQ1C;EuElyQM;;IAEE,gCAAgC;EvEoyQxC;EuEnzQM;IAAwB,0BAA2B;EvEszQzD;EuErzQM;;IAEE,8BAA+B;EvEuzQvC;EuErzQM;;IAEE,gCAAiC;EvEuzQzC;EuErzQM;;IAEE,iCAAkC;EvEuzQ1C;EuErzQM;;IAEE,+BAAgC;EvEuzQxC;EuEt0QM;IAAwB,wBAA2B;EvEy0QzD;EuEx0QM;;IAEE,4BAA+B;EvE00QvC;EuEx0QM;;IAEE,8BAAiC;EvE00QzC;EuEx0QM;;IAEE,+BAAkC;EvE00Q1C;EuEx0QM;;IAEE,6BAAgC;EvE00QxC;EuEz1QM;IAAwB,0BAA2B;EvE41QzD;EuE31QM;;IAEE,8BAA+B;EvE61QvC;EuE31QM;;IAEE,gCAAiC;EvE61QzC;EuE31QM;;IAEE,iCAAkC;EvE61Q1C;EuE31QM;;IAEE,+BAAgC;EvE61QxC;EuE52QM;IAAwB,wBAA2B;EvE+2QzD;EuE92QM;;IAEE,4BAA+B;EvEg3QvC;EuE92QM;;IAEE,8BAAiC;EvEg3QzC;EuE92QM;;IAEE,+BAAkC;EvEg3Q1C;EuE92QM;;IAEE,6BAAgC;EvEg3QxC;EuE12QE;IAAmB,uBAAuB;EvE62Q5C;EuE52QE;;IAEE,2BAA2B;EvE82Q/B;EuE52QE;;IAEE,6BAA6B;EvE82QjC;EuE52QE;;IAEE,8BAA8B;EvE82QlC;EuE52QE;;IAEE,4BAA4B;EvE82QhC;AACF;;Acx3QI;EyDlDI;IAAgC,oBAA4B;EvE+6QlE;EuE96QM;;IAEE,wBAAoC;EvEg7Q5C;EuE96QM;;IAEE,0BAAwC;EvEg7QhD;EuE96QM;;IAEE,2BAA0C;EvEg7QlD;EuE96QM;;IAEE,yBAAsC;EvEg7Q9C;EuE/7QM;IAAgC,0BAA4B;EvEk8QlE;EuEj8QM;;IAEE,8BAAoC;EvEm8Q5C;EuEj8QM;;IAEE,gCAAwC;EvEm8QhD;EuEj8QM;;IAEE,iCAA0C;EvEm8QlD;EuEj8QM;;IAEE,+BAAsC;EvEm8Q9C;EuEl9QM;IAAgC,yBAA4B;EvEq9QlE;EuEp9QM;;IAEE,6BAAoC;EvEs9Q5C;EuEp9QM;;IAEE,+BAAwC;EvEs9QhD;EuEp9QM;;IAEE,gCAA0C;EvEs9QlD;EuEp9QM;;IAEE,8BAAsC;EvEs9Q9C;EuEr+QM;IAAgC,uBAA4B;EvEw+QlE;EuEv+QM;;IAEE,2BAAoC;EvEy+Q5C;EuEv+QM;;IAEE,6BAAwC;EvEy+QhD;EuEv+QM;;IAEE,8BAA0C;EvEy+QlD;EuEv+QM;;IAEE,4BAAsC;EvEy+Q9C;EuEx/QM;IAAgC,yBAA4B;EvE2/QlE;EuE1/QM;;IAEE,6BAAoC;EvE4/Q5C;EuE1/QM;;IAEE,+BAAwC;EvE4/QhD;EuE1/QM;;IAEE,gCAA0C;EvE4/QlD;EuE1/QM;;IAEE,8BAAsC;EvE4/Q9C;EuE3gRM;IAAgC,uBAA4B;EvE8gRlE;EuE7gRM;;IAEE,2BAAoC;EvE+gR5C;EuE7gRM;;IAEE,6BAAwC;EvE+gRhD;EuE7gRM;;IAEE,8BAA0C;EvE+gRlD;EuE7gRM;;IAEE,4BAAsC;EvE+gR9C;EuE9hRM;IAAgC,qBAA4B;EvEiiRlE;EuEhiRM;;IAEE,yBAAoC;EvEkiR5C;EuEhiRM;;IAEE,2BAAwC;EvEkiRhD;EuEhiRM;;IAEE,4BAA0C;EvEkiRlD;EuEhiRM;;IAEE,0BAAsC;EvEkiR9C;EuEjjRM;IAAgC,2BAA4B;EvEojRlE;EuEnjRM;;IAEE,+BAAoC;EvEqjR5C;EuEnjRM;;IAEE,iCAAwC;EvEqjRhD;EuEnjRM;;IAEE,kCAA0C;EvEqjRlD;EuEnjRM;;IAEE,gCAAsC;EvEqjR9C;EuEpkRM;IAAgC,0BAA4B;EvEukRlE;EuEtkRM;;IAEE,8BAAoC;EvEwkR5C;EuEtkRM;;IAEE,gCAAwC;EvEwkRhD;EuEtkRM;;IAEE,iCAA0C;EvEwkRlD;EuEtkRM;;IAEE,+BAAsC;EvEwkR9C;EuEvlRM;IAAgC,wBAA4B;EvE0lRlE;EuEzlRM;;IAEE,4BAAoC;EvE2lR5C;EuEzlRM;;IAEE,8BAAwC;EvE2lRhD;EuEzlRM;;IAEE,+BAA0C;EvE2lRlD;EuEzlRM;;IAEE,6BAAsC;EvE2lR9C;EuE1mRM;IAAgC,0BAA4B;EvE6mRlE;EuE5mRM;;IAEE,8BAAoC;EvE8mR5C;EuE5mRM;;IAEE,gCAAwC;EvE8mRhD;EuE5mRM;;IAEE,iCAA0C;EvE8mRlD;EuE5mRM;;IAEE,+BAAsC;EvE8mR9C;EuE7nRM;IAAgC,wBAA4B;EvEgoRlE;EuE/nRM;;IAEE,4BAAoC;EvEioR5C;EuE/nRM;;IAEE,8BAAwC;EvEioRhD;EuE/nRM;;IAEE,+BAA0C;EvEioRlD;EuE/nRM;;IAEE,6BAAsC;EvEioR9C;EuEznRM;IAAwB,2BAA2B;EvE4nRzD;EuE3nRM;;IAEE,+BAA+B;EvE6nRvC;EuE3nRM;;IAEE,iCAAiC;EvE6nRzC;EuE3nRM;;IAEE,kCAAkC;EvE6nR1C;EuE3nRM;;IAEE,gCAAgC;EvE6nRxC;EuE5oRM;IAAwB,0BAA2B;EvE+oRzD;EuE9oRM;;IAEE,8BAA+B;EvEgpRvC;EuE9oRM;;IAEE,gCAAiC;EvEgpRzC;EuE9oRM;;IAEE,iCAAkC;EvEgpR1C;EuE9oRM;;IAEE,+BAAgC;EvEgpRxC;EuE/pRM;IAAwB,wBAA2B;EvEkqRzD;EuEjqRM;;IAEE,4BAA+B;EvEmqRvC;EuEjqRM;;IAEE,8BAAiC;EvEmqRzC;EuEjqRM;;IAEE,+BAAkC;EvEmqR1C;EuEjqRM;;IAEE,6BAAgC;EvEmqRxC;EuElrRM;IAAwB,0BAA2B;EvEqrRzD;EuEprRM;;IAEE,8BAA+B;EvEsrRvC;EuEprRM;;IAEE,gCAAiC;EvEsrRzC;EuEprRM;;IAEE,iCAAkC;EvEsrR1C;EuEprRM;;IAEE,+BAAgC;EvEsrRxC;EuErsRM;IAAwB,wBAA2B;EvEwsRzD;EuEvsRM;;IAEE,4BAA+B;EvEysRvC;EuEvsRM;;IAEE,8BAAiC;EvEysRzC;EuEvsRM;;IAEE,+BAAkC;EvEysR1C;EuEvsRM;;IAEE,6BAAgC;EvEysRxC;EuEnsRE;IAAmB,uBAAuB;EvEssR5C;EuErsRE;;IAEE,2BAA2B;EvEusR/B;EuErsRE;;IAEE,6BAA6B;EvEusRjC;EuErsRE;;IAEE,8BAA8B;EvEusRlC;EuErsRE;;IAEE,4BAA4B;EvEusRhC;AACF;;AcjtRI;EyDlDI;IAAgC,oBAA4B;EvEwwRlE;EuEvwRM;;IAEE,wBAAoC;EvEywR5C;EuEvwRM;;IAEE,0BAAwC;EvEywRhD;EuEvwRM;;IAEE,2BAA0C;EvEywRlD;EuEvwRM;;IAEE,yBAAsC;EvEywR9C;EuExxRM;IAAgC,0BAA4B;EvE2xRlE;EuE1xRM;;IAEE,8BAAoC;EvE4xR5C;EuE1xRM;;IAEE,gCAAwC;EvE4xRhD;EuE1xRM;;IAEE,iCAA0C;EvE4xRlD;EuE1xRM;;IAEE,+BAAsC;EvE4xR9C;EuE3yRM;IAAgC,yBAA4B;EvE8yRlE;EuE7yRM;;IAEE,6BAAoC;EvE+yR5C;EuE7yRM;;IAEE,+BAAwC;EvE+yRhD;EuE7yRM;;IAEE,gCAA0C;EvE+yRlD;EuE7yRM;;IAEE,8BAAsC;EvE+yR9C;EuE9zRM;IAAgC,uBAA4B;EvEi0RlE;EuEh0RM;;IAEE,2BAAoC;EvEk0R5C;EuEh0RM;;IAEE,6BAAwC;EvEk0RhD;EuEh0RM;;IAEE,8BAA0C;EvEk0RlD;EuEh0RM;;IAEE,4BAAsC;EvEk0R9C;EuEj1RM;IAAgC,yBAA4B;EvEo1RlE;EuEn1RM;;IAEE,6BAAoC;EvEq1R5C;EuEn1RM;;IAEE,+BAAwC;EvEq1RhD;EuEn1RM;;IAEE,gCAA0C;EvEq1RlD;EuEn1RM;;IAEE,8BAAsC;EvEq1R9C;EuEp2RM;IAAgC,uBAA4B;EvEu2RlE;EuEt2RM;;IAEE,2BAAoC;EvEw2R5C;EuEt2RM;;IAEE,6BAAwC;EvEw2RhD;EuEt2RM;;IAEE,8BAA0C;EvEw2RlD;EuEt2RM;;IAEE,4BAAsC;EvEw2R9C;EuEv3RM;IAAgC,qBAA4B;EvE03RlE;EuEz3RM;;IAEE,yBAAoC;EvE23R5C;EuEz3RM;;IAEE,2BAAwC;EvE23RhD;EuEz3RM;;IAEE,4BAA0C;EvE23RlD;EuEz3RM;;IAEE,0BAAsC;EvE23R9C;EuE14RM;IAAgC,2BAA4B;EvE64RlE;EuE54RM;;IAEE,+BAAoC;EvE84R5C;EuE54RM;;IAEE,iCAAwC;EvE84RhD;EuE54RM;;IAEE,kCAA0C;EvE84RlD;EuE54RM;;IAEE,gCAAsC;EvE84R9C;EuE75RM;IAAgC,0BAA4B;EvEg6RlE;EuE/5RM;;IAEE,8BAAoC;EvEi6R5C;EuE/5RM;;IAEE,gCAAwC;EvEi6RhD;EuE/5RM;;IAEE,iCAA0C;EvEi6RlD;EuE/5RM;;IAEE,+BAAsC;EvEi6R9C;EuEh7RM;IAAgC,wBAA4B;EvEm7RlE;EuEl7RM;;IAEE,4BAAoC;EvEo7R5C;EuEl7RM;;IAEE,8BAAwC;EvEo7RhD;EuEl7RM;;IAEE,+BAA0C;EvEo7RlD;EuEl7RM;;IAEE,6BAAsC;EvEo7R9C;EuEn8RM;IAAgC,0BAA4B;EvEs8RlE;EuEr8RM;;IAEE,8BAAoC;EvEu8R5C;EuEr8RM;;IAEE,gCAAwC;EvEu8RhD;EuEr8RM;;IAEE,iCAA0C;EvEu8RlD;EuEr8RM;;IAEE,+BAAsC;EvEu8R9C;EuEt9RM;IAAgC,wBAA4B;EvEy9RlE;EuEx9RM;;IAEE,4BAAoC;EvE09R5C;EuEx9RM;;IAEE,8BAAwC;EvE09RhD;EuEx9RM;;IAEE,+BAA0C;EvE09RlD;EuEx9RM;;IAEE,6BAAsC;EvE09R9C;EuEl9RM;IAAwB,2BAA2B;EvEq9RzD;EuEp9RM;;IAEE,+BAA+B;EvEs9RvC;EuEp9RM;;IAEE,iCAAiC;EvEs9RzC;EuEp9RM;;IAEE,kCAAkC;EvEs9R1C;EuEp9RM;;IAEE,gCAAgC;EvEs9RxC;EuEr+RM;IAAwB,0BAA2B;EvEw+RzD;EuEv+RM;;IAEE,8BAA+B;EvEy+RvC;EuEv+RM;;IAEE,gCAAiC;EvEy+RzC;EuEv+RM;;IAEE,iCAAkC;EvEy+R1C;EuEv+RM;;IAEE,+BAAgC;EvEy+RxC;EuEx/RM;IAAwB,wBAA2B;EvE2/RzD;EuE1/RM;;IAEE,4BAA+B;EvE4/RvC;EuE1/RM;;IAEE,8BAAiC;EvE4/RzC;EuE1/RM;;IAEE,+BAAkC;EvE4/R1C;EuE1/RM;;IAEE,6BAAgC;EvE4/RxC;EuE3gSM;IAAwB,0BAA2B;EvE8gSzD;EuE7gSM;;IAEE,8BAA+B;EvE+gSvC;EuE7gSM;;IAEE,gCAAiC;EvE+gSzC;EuE7gSM;;IAEE,iCAAkC;EvE+gS1C;EuE7gSM;;IAEE,+BAAgC;EvE+gSxC;EuE9hSM;IAAwB,wBAA2B;EvEiiSzD;EuEhiSM;;IAEE,4BAA+B;EvEkiSvC;EuEhiSM;;IAEE,8BAAiC;EvEkiSzC;EuEhiSM;;IAEE,+BAAkC;EvEkiS1C;EuEhiSM;;IAEE,6BAAgC;EvEkiSxC;EuE5hSE;IAAmB,uBAAuB;EvE+hS5C;EuE9hSE;;IAEE,2BAA2B;EvEgiS/B;EuE9hSE;;IAEE,6BAA6B;EvEgiSjC;EuE9hSE;;IAEE,8BAA8B;EvEgiSlC;EuE9hSE;;IAEE,4BAA4B;EvEgiShC;AACF;;AwEhmSA;EAAkB,4GAA8C;AxEomShE;;AwEhmSA;EAAiB,8BAA8B;AxEomS/C;;AwEnmSA;EAAiB,8BAA8B;AxEumS/C;;AwEtmSA;EAAiB,8BAA8B;AxE0mS/C;;AwEzmSA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AzEsnSrB;;AwEvmSI;EAAwB,2BAA2B;AxE2mSvD;;AwE1mSI;EAAwB,4BAA4B;AxE8mSxD;;AwE7mSI;EAAwB,6BAA6B;AxEinSzD;;Ac5kSI;E0DvCA;IAAwB,2BAA2B;ExEwnSrD;EwEvnSE;IAAwB,4BAA4B;ExE0nStD;EwEznSE;IAAwB,6BAA6B;ExE4nSvD;AACF;;AcxlSI;E0DvCA;IAAwB,2BAA2B;ExEooSrD;EwEnoSE;IAAwB,4BAA4B;ExEsoStD;EwEroSE;IAAwB,6BAA6B;ExEwoSvD;AACF;;AcpmSI;E0DvCA;IAAwB,2BAA2B;ExEgpSrD;EwE/oSE;IAAwB,4BAA4B;ExEkpStD;EwEjpSE;IAAwB,6BAA6B;ExEopSvD;AACF;;AchnSI;E0DvCA;IAAwB,2BAA2B;ExE4pSrD;EwE3pSE;IAAwB,4BAA4B;ExE8pStD;EwE7pSE;IAAwB,6BAA6B;ExEgqSvD;AACF;;AwE3pSA;EAAmB,oCAAoC;AxE+pSvD;;AwE9pSA;EAAmB,oCAAoC;AxEkqSvD;;AwEjqSA;EAAmB,qCAAqC;AxEqqSxD;;AwEjqSA;EAAuB,2BAA0C;AxEqqSjE;;AwEpqSA;EAAuB,+BAA4C;AxEwqSnE;;AwEvqSA;EAAuB,2BAA2C;AxE2qSlE;;AwE1qSA;EAAuB,2BAAyC;AxE8qShE;;AwE7qSA;EAAuB,8BAA2C;AxEirSlE;;AwEhrSA;EAAuB,6BAA6B;AxEorSpD;;AwEhrSA;EAAc,sBAAwB;AxEorStC;;A0E3tSE;EACE,yBAAwB;A1E8tS5B;;AKptSE;EqELM,yBAA0E;A1E6tSlF;;A0EnuSE;EACE,yBAAwB;A1EsuS5B;;AK5tSE;EqELM,yBAA0E;A1EquSlF;;A0E3uSE;EACE,yBAAwB;A1E8uS5B;;AKpuSE;EqELM,yBAA0E;A1E6uSlF;;A0EnvSE;EACE,yBAAwB;A1EsvS5B;;AK5uSE;EqELM,yBAA0E;A1EqvSlF;;A0E3vSE;EACE,yBAAwB;A1E8vS5B;;AKpvSE;EqELM,yBAA0E;A1E6vSlF;;A0EnwSE;EACE,yBAAwB;A1EswS5B;;AK5vSE;EqELM,yBAA0E;A1EqwSlF;;A0E3wSE;EACE,yBAAwB;A1E8wS5B;;AKpwSE;EqELM,yBAA0E;A1E6wSlF;;A0EnxSE;EACE,yBAAwB;A1EsxS5B;;AK5wSE;EqELM,yBAA0E;A1EqxSlF;;AwE9uSA;EAAa,yBAA6B;AxEkvS1C;;AwEjvSA;EAAc,yBAA6B;AxEqvS3C;;AwEnvSA;EAAiB,oCAAkC;AxEuvSnD;;AwEtvSA;EAAiB,0CAAkC;AxE0vSnD;;AwEtvSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A3EizSX;;AwE1vSA;EAAwB,gCAAgC;AxE8vSxD;;AwE5vSA;EACE,iCAAiC;EACjC,oCAAoC;AxE+vStC;;AwE1vSA;EAAc,yBAAyB;AxE8vSvC;;A4E/zSA;EACE,8BAA8B;A5Ek0ShC;;A4E/zSA;EACE,6BAA6B;A5Ek0S/B;;A6El0SE;E3EOF;;;I2EDM,4BAA4B;IAE5B,2BAA2B;E7Ek0S/B;E6E/zSE;IAEI,0BAA0B;E7Eg0ShC;E6EvzSE;IACE,6BAA6B;E7EyzSjC;EE3nSF;I2E/KM,gCAAgC;E7E6ySpC;E6E3ySE;;IAEE,yB1EzCY;I0E0CZ,wBAAwB;E7E6yS5B;E6ErySE;IACE,2BAA2B;E7EuyS/B;E6EpySE;;IAEE,wBAAwB;E7EsyS5B;E6EnySE;;;IAGE,UAAU;IACV,SAAS;E7EqySb;E6ElySE;;IAEE,uBAAuB;E7EoyS3B;E6E5xSE;IACE,Q1E4hCgC;EHkwQpC;EE10SF;I2E+CM,2BAA2C;E7E8xS/C;EYp3SA;IiEyFI,2BAA2C;E7E8xS/C;EiC52SF;I4CmFM,aAAa;E7E4xSjB;EsC33SF;IuCkGM,sB1EtFS;EHk3Sb;EgB/3SF;I6DuGM,oCAAoC;E7E2xSxC;E6E5xSE;;IAKI,iCAAmC;E7E2xSzC;EgB91SF;;I6D0EQ,oCAAsC;E7EwxS5C;EgB7wSF;I6DNM,cAAc;E7EsxSlB;EiB54SA;;;;I4D4HM,qB1EvHU;EH64ShB;EgBxySF;I6DuBM,cAAc;IACd,qB1E7HY;EHi5ShB;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.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 {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.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 {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n 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(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n 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\");\n}\n\n.carousel-control-next-icon {\n 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\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n $string: str-replace($string, $char, $encoded);\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow;\n } @else {\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height / 2;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n // stylelint-disable-next-line selector-max-universal\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable property-blacklist, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // IE & < Edge 18\n overflow-wrap: break-word !important;\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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EsHE,wBAAwB;AFpH1B;;AE4HA;EACE,aAAa;EACb,0BAA0B;AFzH5B;;AEgIA;EACE,qBAAqB;AF7HvB;;AEgIA;EACE,kBAAkB;EAClB,eAAe;AF7HjB;;AEgIA;EACE,aAAa;AF7Hf;;AAEA;EEiIE,wBAAwB;AF/H1B;;AMzVA;;EAEE,qBH2SuC;EGzSvC,gBH2S+B;EG1S/B,gBH2S+B;AHgDjC;;AMvVA;EFgHM,iBAtCY;AJiRlB;;AM1VA;EF+GM,eAtCY;AJqRlB;;AM7VA;EF8GM,kBAtCY;AJyRlB;;AMhWA;EF6GM,iBAtCY;AJ6RlB;;AMnWA;EF4GM,kBAtCY;AJiSlB;;AMtWA;EF2GM,eAtCY;AJqSlB;;AMxWA;EFyGM,kBAtCY;EEjEhB,gBH6S+B;AH8DjC;;AMvWA;EFmGM,eAtCY;EE3DhB,gBHgS+B;EG/R/B,gBHuR+B;AHmFjC;;AMxWA;EF8FM,iBAtCY;EEtDhB,gBH4R+B;EG3R/B,gBHkR+B;AHyFjC;;AMzWA;EFyFM,iBAtCY;EEjDhB,gBHwR+B;EGvR/B,gBH6Q+B;AH+FjC;;AM1WA;EFoFM,iBAtCY;EE5ChB,gBHoR+B;EGnR/B,gBHwQ+B;AHqGjC;;AEhVA;EIpBE,gBHmFW;EGlFX,mBHkFW;EGjFX,SAAS;EACT,wCHzCa;AHiZf;;AMhWA;;EFMI,cAAW;EEHb,gBHgO+B;AHmIjC;;AMhWA;;EAEE,cHwQgC;EGvQhC,yBHgRmC;AHmFrC;;AM3VA;EC/EE,eAAe;EACf,gBAAgB;AP8alB;;AM3VA;ECpFE,eAAe;EACf,gBAAgB;APmblB;;AM7VA;EACE,qBAAqB;ANgWvB;;AMjWA;EAII,oBH0P+B;AHuGnC;;AMvVA;EFjCI,cAAW;EEmCb,yBAAyB;AN0V3B;;AMtVA;EACE,mBH0BW;ECXP,kBAtCY;AJiXlB;;AMtVA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHmclB;;AM5VA;EAMI,qBAAqB;AN0VzB;;AQ7cA;ECIE,eAAe;EAGf,YAAY;AT2cd;;AQ5cA;EACE,gBLogCwC;EKngCxC,sBLRa;EKSb,yBLNgB;EOQd,sBPkOgC;EMzOlC,eAAe;EAGf,YAAY;ATodd;;AQtcA;EAEE,qBAAqB;ARwcvB;;AQrcA;EACE,qBAA0B;EAC1B,cAAc;ARwchB;;AQrcA;EJkCI,cAAW;EIhCb,cL3BgB;AHmelB;;AW/eA;EPuEI,gBAAW;EOrEb,cRoCe;EQnCf,qBAAqB;AXkfvB;;AW/eE;EACE,cAAc;AXkflB;;AW7eA;EACE,sBRwlCuC;EC9hCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOEd,qBPoO+B;AH4QnC;;AWrfA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBR8Q6B;AHkOjC;;AExSA;ESjME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AH8flB;;AWhfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AX6etB;;AWxeA;EACE,iBR+jCuC;EQ9jCvC,kBAAkB;AX2epB;;AYnhBE;ECDA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AbwhBnB;;AcreI;EFtDF;ICWI,gBVuMK;EH8UT;AACF;;Ac3eI;EFtDF;ICWI,gBVwMK;EHmVT;AACF;;AcjfI;EFtDF;ICWI,gBVyMK;EHwVT;AACF;;AcvfI;EFtDF;ICWI,iBV0MM;EH6VV;AACF;;AY7iBE;ECPA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AbwjBnB;;AcrgBI;EFrCE;IACE,gBTgMG;EH8WT;AACF;;Ac3gBI;EFrCE;IACE,gBTiMG;EHmXT;AACF;;AcjhBI;EFrCE;IACE,gBTkMG;EHwXT;AACF;;AcvhBI;EFrCE;IACE,iBTmMI;EH6XV;AACF;;AYriBE;EC7BA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbskB3B;;AYtiBE;EACE,eAAe;EACf,cAAc;AZyiBlB;;AY3iBE;;EAMI,gBAAgB;EAChB,eAAe;AZ0iBrB;;AepmBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;Af4mB7B;;AetlBM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,YAAY;EACZ,eAAe;AfylBvB;;AeplBU;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j4CU;IFjBV,uBAA8C;Ebq5C9C;Eep4CU;IFjBV,uBAA8C;Ebw5C9C;Eev4CU;IFjBV,gBAA8C;Eb25C9C;Ee14CU;IFjBV,uBAA8C;Eb85C9C;Ee74CU;IFjBV,uBAA8C;Ebi6C9C;Eeh5CU;IFjBV,gBAA8C;Ebo6C9C;Een5CU;IFjBV,uBAA8C;Ebu6C9C;Eet5CU;IFjBV,uBAA8C;Eb06C9C;AACF;;AgB99CA;EACE,WAAW;EACX,mBboIW;EanIX,cbSgB;AHw9ClB;;AgBp+CA;;EAQI,gBbwVgC;EavVhC,mBAAmB;EACnB,6BbJc;AHq+ClB;;AgB3+CA;EAcI,sBAAsB;EACtB,gCbTc;AH0+ClB;;AgBh/CA;EAmBI,6Bbbc;AH8+ClB;;AgBx9CA;;EAGI,ebkU+B;AHwpCnC;;AgBj9CA;EACE,yBbnCgB;AHu/ClB;;AgBr9CA;;EAKI,yBbvCc;AH4/ClB;;AgB19CA;;EAWM,wBAA4C;AhBo9ClD;;AgB/8CA;;;;EAKI,SAAS;AhBi9Cb;;AgBz8CA;EAEI,qCb1DW;AHqgDf;;AK1gDE;EW2EI,cbvEY;EawEZ,sCbvES;AH0gDf;;AiBthDE;;;EAII,yBC6F4D;AlB27ClE;;AiB5hDE;;;;EAYM,qBCqF0D;AlBk8ClE;;AK5hDE;EYiBM,yBAJsC;AjBmhD9C;;AiBphDE;;EASQ,yBARoC;AjBwhD9C;;AiB5iDE;;;EAII,yBC6F4D;AlBi9ClE;;AiBljDE;;;;EAYM,qBCqF0D;AlBw9ClE;;AKljDE;EYiBM,yBAJsC;AjByiD9C;;AiB1iDE;;EASQ,yBARoC;AjB8iD9C;;AiBlkDE;;;EAII,yBC6F4D;AlBu+ClE;;AiBxkDE;;;;EAYM,qBCqF0D;AlB8+ClE;;AKxkDE;EYiBM,yBAJsC;AjB+jD9C;;AiBhkDE;;EASQ,yBARoC;AjBokD9C;;AiBxlDE;;;EAII,yBC6F4D;AlB6/ClE;;AiB9lDE;;;;EAYM,qBCqF0D;AlBogDlE;;AK9lDE;EYiBM,yBAJsC;AjBqlD9C;;AiBtlDE;;EASQ,yBARoC;AjB0lD9C;;AiB9mDE;;;EAII,yBC6F4D;AlBmhDlE;;AiBpnDE;;;;EAYM,qBCqF0D;AlB0hDlE;;AKpnDE;EYiBM,yBAJsC;AjB2mD9C;;AiB5mDE;;EASQ,yBARoC;AjBgnD9C;;AiBpoDE;;;EAII,yBC6F4D;AlByiDlE;;AiB1oDE;;;;EAYM,qBCqF0D;AlBgjDlE;;AK1oDE;EYiBM,yBAJsC;AjBioD9C;;AiBloDE;;EASQ,yBARoC;AjBsoD9C;;AiB1pDE;;;EAII,yBC6F4D;AlB+jDlE;;AiBhqDE;;;;EAYM,qBCqF0D;AlBskDlE;;AKhqDE;EYiBM,yBAJsC;AjBupD9C;;AiBxpDE;;EASQ,yBARoC;AjB4pD9C;;AiBhrDE;;;EAII,yBC6F4D;AlBqlDlE;;AiBtrDE;;;;EAYM,qBCqF0D;AlB4lDlE;;AKtrDE;EYiBM,yBAJsC;AjB6qD9C;;AiB9qDE;;EASQ,yBARoC;AjBkrD9C;;AiBtsDE;;;EAII,sCdQS;AHgsDf;;AKrsDE;EYiBM,sCAJsC;AjB4rD9C;;AiB7rDE;;EASQ,sCARoC;AjBisD9C;;AgB3mDA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBbqQqD;AHu2C3D;;AgBjnDA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AH4tDlB;;AgBrmDA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AH4tDlB;;AgB1mDA;;;EAOI,qBbiPuD;AHw3C3D;;AgBhnDA;EAWI,SAAS;AhBymDb;;AgBpnDA;EAgBM,2Cb1IS;AHkvDf;;AK7uDE;EW4IM,WbjJO;EakJP,4CblJO;AHuvDf;;AcrrDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBulDvC;EgB5lDG;IASK,SAAS;EhBslDjB;AACF;;AcjsDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBmmDvC;EgBxmDG;IASK,SAAS;EhBkmDjB;AACF;;Ac7sDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB+mDvC;EgBpnDG;IASK,SAAS;EhB8mDjB;AACF;;AcztDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB2nDvC;EgBhoDG;IASK,SAAS;EhB0nDjB;AACF;;AgBzoDA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBsoDzC;;AgBhpDA;EAcU,SAAS;AhBsoDnB;;AmBnzDA;EACE,cAAc;EACd,WAAW;EACX,mCD8G8D;EC7G9D,yBhB8XkC;ECzQ9B,eAtCY;Ee5EhB,gBhBwR+B;EgBvR/B,gBhB4R+B;EgB3R/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EOOd,sBPkOgC;EiBpO9B,wEjB4e4F;AH60ClG;;AoBrzDM;EDdN;ICeQ,gBAAgB;EpByzDtB;AACF;;AmBz0DA;EAsBI,6BAA6B;EAC7B,SAAS;AnBuzDb;;AmB90DA;EA4BI,kBAAkB;EAClB,0BhBrBc;AH20DlB;;AqB50DE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlB0dsE;EkBzdtE,UAAU;EAKR,gDlBcW;AH6zDjB;;AmB31DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByzDd;;AmBh2DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByzDd;;AmBh2DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByzDd;;AmBh2DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByzDd;;AmBh2DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByzDd;;AmBh2DA;EAiDI,yBhB9Cc;EgBgDd,UAAU;AnBkzDd;;AmB9yDA;;;;EAKI,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AnBgzDpB;;AmB5yDA;EAOI,chB/Dc;EgBgEd,sBhBvEW;AHg3Df;;AmBpyDA;;EAEE,cAAc;EACd,WAAW;AnBuyDb;;AmB7xDA;EACE,iCDsB8D;ECrB9D,oCDqB8D;ECpB9D,gBAAgB;Ef3Bd,kBAAW;Ee6Bb,gBhBqM+B;AH2lDjC;;AmB7xDA;EACE,+BDc8D;ECb9D,kCDa8D;EdQ1D,kBAtCY;EemBhB,gBhBkI+B;AH8pDjC;;AmB7xDA;EACE,gCDO8D;ECN9D,mCDM8D;EdQ1D,mBAtCY;Ee0BhB,gBhB4H+B;AHoqDjC;;AmBvxDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EfDZ,eAtCY;EeyChB,gBhBwK+B;EgBvK/B,chBnHgB;EgBoHhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnB0xDrC;;AmBpyDA;EAcI,gBAAgB;EAChB,eAAe;AnB0xDnB;;AmB9wDA;EACE,kCDjC8D;ECkC9D,uBhByPiC;ECnR7B,mBAtCY;EekEhB,gBhBoF+B;EO7N7B,qBPoO+B;AHurDnC;;AmB9wDA;EACE,gCDzC8D;EC0C9D,oBhBsPgC;ECxR5B,kBAtCY;Ee0EhB,gBhB2E+B;EO5N7B,qBPmO+B;AHgsDnC;;AmB7wDA;EAGI,YAAY;AnB8wDhB;;AmB1wDA;EACE,YAAY;AnB6wDd;;AmBrwDA;EACE,mBhB+U0C;AHy7C5C;;AmBrwDA;EACE,cAAc;EACd,mBhBgU4C;AHw8C9C;;AmBhwDA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBmwD3C;;AmBvwDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBowD7C;;AmB3vDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhBqS6C;AHy9C/C;;AmB3vDA;EACE,kBAAkB;EAClB,kBhBiS2C;EgBhS3C,qBhB+R6C;AH+9C/C;;AmBjwDA;;EAQI,chBzNc;AHu9DlB;;AmB1vDA;EACE,gBAAgB;AnB6vDlB;;AmB1vDA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,sBAAmB;EAAnB,mBAAmB;EACnB,eAAe;EACf,qBhBkR4C;AH2+C9C;;AmBjwDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhB6Q4C;EgB5Q5C,cAAc;AnB6vDlB;;AqB18DE;EACE,aAAa;EACb,WAAW;EACX,mBlB+c0C;ECtb1C,cAAW;EiBvBX,clBNa;AHm9DjB;;AqB18DE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBoEf,mBAtCY;EiB5Bd,gBlB6O6B;EkB5O7B,WlBvDW;EkBwDX,wClBpBa;EOzBb,sBPkOgC;AHyxDpC;;AqB7+DI;;;;EAsCE,cAAc;ArB88DpB;;AqBp/DI;EA4CE,qBlBjCW;EkBoCT,oCHwCwD;EGvCxD,iRHtB0E;EGuB1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEHoCwD;AlBs6DhE;;AqB7/DI;EAuDI,qBlB5CS;EkB6CT,gDlB7CS;AHu/DjB;;AqBlgEI;EAiEI,oCHsBwD;EGrBxD,kFHqBwD;AlBg7DhE;;AqBvgEI;EAyEE,qBlB9DW;EkBiET,uCHWwD;EGVxD,ujBAA8J;ArBg8DtK;;AqB7gEI;EAiFI,qBlBtES;EkBuET,gDlBvES;AHugEjB;;AqBlhEI;EA0FI,clB/ES;AH2gEjB;;AqBthEI;;;EA+FI,cAAc;ArB67DtB;;AqB5hEI;EAuGI,clB5FS;AHqhEjB;;AqBhiEI;EA0GM,qBlB/FO;AHyhEjB;;AqBpiEI;EAgHM,qBAAkC;EC1IxC,yBD2I+C;ArBw7DnD;;AqBziEI;EAuHM,gDlB5GO;AHkiEjB;;AqB7iEI;EA2HM,qBlBhHO;AHsiEjB;;AqBjjEI;EAqII,qBlB1HS;AH0iEjB;;AqBrjEI;EA0IM,qBlB/HO;EkBgIP,gDlBhIO;AH+iEjB;;AqB9iEE;EACE,aAAa;EACb,WAAW;EACX,mBlB+c0C;ECtb1C,cAAW;EiBvBX,clBTa;AH0jEjB;;AqB9iEE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBoEf,mBAtCY;EiB5Bd,gBlB6O6B;EkB5O7B,WlBvDW;EkBwDX,wClBvBa;EOtBb,sBPkOgC;AH63DpC;;AqBjlEI;;;;EAsCE,cAAc;ArBkjEpB;;AqBxlEI;EA4CE,qBlBpCW;EkBuCT,oCHwCwD;EGvCxD,4UHtB0E;EGuB1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEHoCwD;AlB0gEhE;;AqBjmEI;EAuDI,qBlB/CS;EkBgDT,gDlBhDS;AH8lEjB;;AqBtmEI;EAiEI,oCHsBwD;EGrBxD,kFHqBwD;AlBohEhE;;AqB3mEI;EAyEE,qBlBjEW;EkBoET,uCHWwD;EGVxD,knBAA8J;ArBoiEtK;;AqBjnEI;EAiFI,qBlBzES;EkB0ET,gDlB1ES;AH8mEjB;;AqBtnEI;EA0FI,clBlFS;AHknEjB;;AqB1nEI;;;EA+FI,cAAc;ArBiiEtB;;AqBhoEI;EAuGI,clB/FS;AH4nEjB;;AqBpoEI;EA0GM,qBlBlGO;AHgoEjB;;AqBxoEI;EAgHM,qBAAkC;EC1IxC,yBD2I+C;ArB4hEnD;;AqB7oEI;EAuHM,gDlB/GO;AHyoEjB;;AqBjpEI;EA2HM,qBlBnHO;AH6oEjB;;AqBrpEI;EAqII,qBlB7HS;AHipEjB;;AqBzpEI;EA0IM,qBlBlIO;EkBmIP,gDlBnIO;AHspEjB;;AmB56DA;EACE,oBAAa;EAAb,aAAa;EACb,uBAAmB;EAAnB,mBAAmB;EACnB,sBAAmB;EAAnB,mBAAmB;AnB+6DrB;;AmBl7DA;EASI,WAAW;AnB66Df;;Ac5oEI;EKsNJ;IAeM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,gBAAgB;EnB46DpB;EmB97DF;IAuBM,oBAAa;IAAb,aAAa;IACb,kBAAc;IAAd,cAAc;IACd,uBAAmB;IAAnB,mBAAmB;IACnB,sBAAmB;IAAnB,mBAAmB;IACnB,gBAAgB;EnB06DpB;EmBr8DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBw6D1B;EmB18DF;IAuCM,qBAAqB;EnBs6DzB;EmB78DF;;IA4CM,WAAW;EnBq6Df;EmBj9DF;IAkDM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnBk6DnB;EmBx9DF;IAyDM,kBAAkB;IAClB,oBAAc;IAAd,cAAc;IACd,aAAa;IACb,qBhBoLwC;IgBnLxC,cAAc;EnBk6DlB;EmB/9DF;IAiEM,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;EnBi6D3B;EmBn+DF;IAqEM,gBAAgB;EnBi6DpB;AACF;;AuBnvEA;EACE,qBAAqB;EAErB,gBpB4R+B;EoB3R/B,cpBMgB;EoBLhB,kBAAkB;EAGlB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yBrBgSkC;ECzQ9B,eAtCY;EoBiBhB,gBrBgM+B;EOxR7B,sBPkOgC;EiBpO9B,qIjBqb6I;AHo0DnJ;;AoBrvEM;EGdN;IHeQ,gBAAgB;EpByvEtB;AACF;;AKnwEE;EkBUE,cpBNc;EoBOd,qBAAqB;AvB6vEzB;;AuB9wEA;EAsBI,UAAU;EACV,gDpBOa;AHqvEjB;;AuBnxEA;EA6BI,apBsZ6B;AHo2DjC;;AuBvxEA;EAkCI,eAAsD;AvByvE1D;;AuB3uEA;;EAEE,oBAAoB;AvB8uEtB;;AuBruEE;EC3DA,WrBCa;EmBDX,yBnB8Ba;EqB5Bf,qBrB4Be;AHwwEjB;;AKhyEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB6yE7H;;AwBjyEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxB+xEvF;;AwB1xEE;EAEE,WrB1BW;EqB2BX,yBrBEa;EqBDb,qBrBCa;AH2xEjB;;AwBrxEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBi0EnN;;AwBlxEI;;EAKI,gDAAiF;AxBkxEzF;;AuB1wEE;EC3DA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHo0ElB;;AKr0EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBk1E7H;;AwBt0EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBo0EvF;;AwB/zEE;EAEE,WrB1BW;EqB2BX,yBrBrBc;EqBsBd,qBrBtBc;AHu1ElB;;AwB1zEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBs2EnN;;AwBvzEI;;EAKI,iDAAiF;AxBuzEzF;;AuB/yEE;EC3DA,WrBCa;EmBDX,yBnBqCa;EqBnCf,qBrBmCe;AH20EjB;;AK12EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBu3E7H;;AwB32EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxBy2EvF;;AwBp2EE;EAEE,WrB1BW;EqB2BX,yBrBSa;EqBRb,qBrBQa;AH81EjB;;AwB/1EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB24EnN;;AwB51EI;;EAKI,+CAAiF;AxB41EzF;;AuBp1EE;EC3DA,WrBCa;EmBDX,yBnBuCa;EqBrCf,qBrBqCe;AH82EjB;;AK/4EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB45E7H;;AwBh5EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxB84EvF;;AwBz4EE;EAEE,WrB1BW;EqB2BX,yBrBWa;EqBVb,qBrBUa;AHi4EjB;;AwBp4EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBg7EnN;;AwBj4EI;;EAKI,gDAAiF;AxBi4EzF;;AuBz3EE;EC3DA,crBUgB;EmBVd,yBnBoCa;EqBlCf,qBrBkCe;AHs5EjB;;AKp7EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBi8E7H;;AwBr7EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBm7EvF;;AwB96EE;EAEE,crBjBc;EqBkBd,yBrBQa;EqBPb,qBrBOa;AHy6EjB;;AwBz6EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBq9EnN;;AwBt6EI;;EAKI,gDAAiF;AxBs6EzF;;AuB95EE;EC3DA,WrBCa;EmBDX,yBnBkCa;EqBhCf,qBrBgCe;AH67EjB;;AKz9EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBs+E7H;;AwB19EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxBw9EvF;;AwBn9EE;EAEE,WrB1BW;EqB2BX,yBrBMa;EqBLb,qBrBKa;AHg9EjB;;AwB98EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB0/EnN;;AwB38EI;;EAKI,+CAAiF;AxB28EzF;;AuBn8EE;EC3DA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHkgFlB;;AK9/EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB2gF7H;;AwB//EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxB6/EvF;;AwBx/EE;EAEE,crBjBc;EqBkBd,yBrB1Bc;EqB2Bd,qBrB3Bc;AHqhFlB;;AwBn/EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxB+hFnN;;AwBh/EI;;EAKI,iDAAiF;AxBg/EzF;;AuBx+EE;EC3DA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHgiFlB;;AKniFE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBgjF7H;;AwBpiFE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;AxBkiFvF;;AwB7hFE;EAEE,WrB1BW;EqB2BX,yBrBnBc;EqBoBd,qBrBpBc;AHmjFlB;;AwBxhFE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBokFnN;;AwBrhFI;;EAKI,8CAAiF;AxBqhFzF;;AuBvgFE;ECPA,crB5Be;EqB6Bf,qBrB7Be;AH+iFjB;;AKvkFE;EmBwDE,WrB7DW;EqB8DX,yBrBjCa;EqBkCb,qBrBlCa;AHqjFjB;;AwBhhFE;EAEE,+CrBvCa;AHyjFjB;;AwB/gFE;EAEE,crB5Ca;EqB6Cb,6BAA6B;AxBihFjC;;AwB9gFE;;EAGE,WrBhFW;EqBiFX,yBrBpDa;EqBqDb,qBrBrDa;AHqkFjB;;AwB9gFI;;EAKI,+CrB5DS;AH0kFjB;;AuBviFE;ECPA,crBnDgB;EqBoDhB,qBrBpDgB;AHsmFlB;;AKvmFE;EmBwDE,WrB7DW;EqB8DX,yBrBxDc;EqByDd,qBrBzDc;AH4mFlB;;AwBhjFE;EAEE,iDrB9Dc;AHgnFlB;;AwB/iFE;EAEE,crBnEc;EqBoEd,6BAA6B;AxBijFjC;;AwB9iFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ec;EqB4Ed,qBrB5Ec;AH4nFlB;;AwB9iFI;;EAKI,iDrBnFU;AHioFlB;;AuBvkFE;ECPA,crBrBe;EqBsBf,qBrBtBe;AHwmFjB;;AKvoFE;EmBwDE,WrB7DW;EqB8DX,yBrB1Ba;EqB2Bb,qBrB3Ba;AH8mFjB;;AwBhlFE;EAEE,+CrBhCa;AHknFjB;;AwB/kFE;EAEE,crBrCa;EqBsCb,6BAA6B;AxBilFjC;;AwB9kFE;;EAGE,WrBhFW;EqBiFX,yBrB7Ca;EqB8Cb,qBrB9Ca;AH8nFjB;;AwB9kFI;;EAKI,+CrBrDS;AHmoFjB;;AuBvmFE;ECPA,crBnBe;EqBoBf,qBrBpBe;AHsoFjB;;AKvqFE;EmBwDE,WrB7DW;EqB8DX,yBrBxBa;EqByBb,qBrBzBa;AH4oFjB;;AwBhnFE;EAEE,gDrB9Ba;AHgpFjB;;AwB/mFE;EAEE,crBnCa;EqBoCb,6BAA6B;AxBinFjC;;AwB9mFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ca;EqB4Cb,qBrB5Ca;AH4pFjB;;AwB9mFI;;EAKI,gDrBnDS;AHiqFjB;;AuBvoFE;ECPA,crBtBe;EqBuBf,qBrBvBe;AHyqFjB;;AKvsFE;EmBwDE,crBpDc;EqBqDd,yBrB3Ba;EqB4Bb,qBrB5Ba;AH+qFjB;;AwBhpFE;EAEE,+CrBjCa;AHmrFjB;;AwB/oFE;EAEE,crBtCa;EqBuCb,6BAA6B;AxBipFjC;;AwB9oFE;;EAGE,crBvEc;EqBwEd,yBrB9Ca;EqB+Cb,qBrB/Ca;AH+rFjB;;AwB9oFI;;EAKI,+CrBtDS;AHosFjB;;AuBvqFE;ECPA,crBxBe;EqByBf,qBrBzBe;AH2sFjB;;AKvuFE;EmBwDE,WrB7DW;EqB8DX,yBrB7Ba;EqB8Bb,qBrB9Ba;AHitFjB;;AwBhrFE;EAEE,+CrBnCa;AHqtFjB;;AwB/qFE;EAEE,crBxCa;EqByCb,6BAA6B;AxBirFjC;;AwB9qFE;;EAGE,WrBhFW;EqBiFX,yBrBhDa;EqBiDb,qBrBjDa;AHiuFjB;;AwB9qFI;;EAKI,+CrBxDS;AHsuFjB;;AuBvsFE;ECPA,crBxDgB;EqByDhB,qBrBzDgB;AH2wFlB;;AKvwFE;EmBwDE,crBpDc;EqBqDd,yBrB7Dc;EqB8Dd,qBrB9Dc;AHixFlB;;AwBhtFE;EAEE,iDrBnEc;AHqxFlB;;AwB/sFE;EAEE,crBxEc;EqByEd,6BAA6B;AxBitFjC;;AwB9sFE;;EAGE,crBvEc;EqBwEd,yBrBhFc;EqBiFd,qBrBjFc;AHiyFlB;;AwB9sFI;;EAKI,iDrBxFU;AHsyFlB;;AuBvuFE;ECPA,crBjDgB;EqBkDhB,qBrBlDgB;AHoyFlB;;AKvyFE;EmBwDE,WrB7DW;EqB8DX,yBrBtDc;EqBuDd,qBrBvDc;AH0yFlB;;AwBhvFE;EAEE,8CrB5Dc;AH8yFlB;;AwB/uFE;EAEE,crBjEc;EqBkEd,6BAA6B;AxBivFjC;;AwB9uFE;;EAGE,WrBhFW;EqBiFX,yBrBzEc;EqB0Ed,qBrB1Ec;AH0zFlB;;AwB9uFI;;EAKI,8CrBjFU;AH+zFlB;;AuB5vFA;EACE,gBpBkN+B;EoBjN/B,cpBhDe;EoBiDf,qBpBgG4C;AH+pF9C;;AKx0FE;EkB4EE,cpB8F8D;EoB7F9D,0BpB8F+C;AHkqFnD;;AuBvwFA;EAYI,0BpByF+C;AHsqFnD;;AuB3wFA;EAiBI,cpBtFc;EoBuFd,oBAAoB;AvB8vFxB;;AuBnvFA;ECPE,oBrB+SgC;ECxR5B,kBAtCY;EoBiBhB,gBrBoI+B;EO5N7B,qBPmO+B;AHonFnC;;AuBtvFA;ECXE,uBrB0SiC;ECnR7B,mBAtCY;EoBiBhB,gBrBqI+B;EO7N7B,qBPoO+B;AH0nFnC;;AuBpvFA;EACE,cAAc;EACd,WAAW;AvBuvFb;;AuBzvFA;EAMI,kBpB4T+B;AH27EnC;;AuBlvFA;;;EAII,WAAW;AvBovFf;;AyB/3FA;ELgBM,gCjBsP2C;AH6nFjD;;AoB/2FM;EKpBN;ILqBQ,gBAAgB;EpBm3FtB;AACF;;AyBz4FA;EAII,UAAU;AzBy4Fd;;AyBr4FA;EAEI,aAAa;AzBu4FjB;;AyBn4FA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;ELDZ,6BjBuPwC;AHipF9C;;AoBp4FM;EKNN;ILOQ,gBAAgB;EpBw4FtB;AACF;;A0B75FA;;;;EAIE,kBAAkB;A1Bg6FpB;;A0B75FA;EACE,mBAAmB;A1Bg6FrB;;A2B54FI;EACE,qBAAqB;EACrB,oBxBoO0C;EwBnO1C,uBxBkO0C;EwBjO1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;A3Bg7F7C;;A2B33FI;EACE,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;;A6BppGA;;EAII,iB1BwM6B;AH68FjC;;A6BzpGA;;EnBHI,0BmBa8B;EnBZ9B,6BmBY8B;A7BqpGlC;;A6B/pGA;;EnBWI,yBmBI6B;EnBH7B,4BmBG6B;A7BspGjC;;A6BtoGA;EACE,wBAAmC;EACnC,uBAAkC;A7ByoGpC;;A6B3oGA;;;EAOI,cAAc;A7B0oGlB;;A6BvoGE;EACE,eAAe;A7B0oGnB;;A6BtoGA;EACE,uBAAsC;EACtC,sBAAqC;A7ByoGvC;;A6BtoGA;EACE,sBAAsC;EACtC,qBAAqC;A7ByoGvC;;A6BrnGA;EACE,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,qBAAuB;EAAvB,uBAAuB;A7BwnGzB;;A6B3nGA;;EAOI,WAAW;A7BynGf;;A6BhoGA;;EAYI,gB1BuH6B;AHkgGjC;;A6BroGA;;EnBrEI,6BmBuF+B;EnBtF/B,4BmBsF+B;A7BynGnC;;A6B3oGA;;EnBnFI,yBmB0G4B;EnBzG5B,0BmByG4B;A7B0nGhC;;A6BzmGA;;EAGI,gBAAgB;A7B2mGpB;;A6B9mGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;A7B8mG1B;;A8BvwGA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,uBAAoB;EAApB,oBAAoB;EACpB,WAAW;A9B0wGb;;A8B/wGA;;;;EAWI,kBAAkB;EAClB,kBAAc;EAAd,cAAc;EACd,SAAS;EACT,YAAY;EACZ,gBAAgB;A9B2wGpB;;A8B1xGA;;;;;;;;;;;;EAoBM,iB3BuN2B;AH8jGjC;;A8BzyGA;;;EA4BI,UAAU;A9BmxGd;;A8B/yGA;EAiCI,UAAU;A9BkxGd;;A8BnzGA;;EpB4BI,0BoBUmD;EpBTnD,6BoBSmD;A9BmxGvD;;A8BzzGA;;EpB0CI,yBoBHmD;EpBInD,4BoBJmD;A9BwxGvD;;A8B/zGA;EA6CI,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;A9BsxGvB;;A8Bp0GA;;EpB4BI,0BoBqB6E;EpBpB7E,6BoBoB6E;A9ByxGjF;;A8B10GA;EpB0CI,yBoBQsE;EpBPtE,4BoBOsE;A9B6xG1E;;A8BlxGA;;EAEE,oBAAa;EAAb,aAAa;A9BqxGf;;A8BvxGA;;EAQI,kBAAkB;EAClB,UAAU;A9BoxGd;;A8B7xGA;;EAYM,UAAU;A9BsxGhB;;A8BlyGA;;;;;;;;EAoBI,iB3B0J6B;AH+nGjC;;A8BrxGA;EAAuB,kB3BsJU;AHmoGjC;;A8BxxGA;EAAsB,iB3BqJW;AHuoGjC;;A8BpxGA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,yB3BiSkC;E2BhSlC,gBAAgB;E1BuBZ,eAtCY;E0BiBhB,gB3B2L+B;E2B1L/B,gB3B+L+B;E2B9L/B,c3B9FgB;E2B+FhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BtGgB;E2BuGhB,yB3BrGgB;EOOd,sBPkOgC;AHopGpC;;A8BpyGA;;EAkBI,aAAa;A9BuxGjB;;A8B7wGA;;EAEE,gCZX8D;AlB2xGhE;;A8B7wGA;;;;;;EAME,oB3B4QgC;ECxR5B,kBAtCY;E0BoDhB,gB3BiG+B;EO5N7B,qBPmO+B;AHyqGnC;;A8B7wGA;;EAEE,kCZ5B8D;AlB4yGhE;;A8B7wGA;;;;;;EAME,uB3BsPiC;ECnR7B,mBAtCY;E0BqEhB,gB3BiF+B;EO7N7B,qBPoO+B;AHyrGnC;;A8B7wGA;;EAEE,sBAA0E;A9BgxG5E;;A8BrwGA;;;;;;EpB7II,0BoBmJ4B;EpBlJ5B,6BoBkJ4B;A9BywGhC;;A8BtwGA;;;;;;EpBxII,yBoB8I2B;EpB7I3B,4BoB6I2B;A9B0wG/B;;A+B/7GA;EACE,kBAAkB;EAClB,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;A/Bk8GvE;;A+B/7GA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,kB5B+f0C;AHm8F5C;;A+B/7GA;EACE,kBAAkB;EAClB,OAAO;EACP,WAAW;EACX,W5B2f0C;E4B1f1C,eAAkF;EAClF,UAAU;A/Bk8GZ;;A+Bx8GA;EASI,W5BvBW;E4BwBX,qB5BKa;EmB9Bb,yBnB8Ba;AH+7GjB;;A+B98GA;EAoBM,gD5BLW;AHm8GjB;;A+Bl9GA;EAyBI,qB5B4bsE;AHigG1E;;A+Bt9GA;EA6BI,W5B3CW;E4B4CX,yB5Bwf8E;E4Bvf9E,qB5Buf8E;AHs8FlF;;A+B59GA;EAuCM,c5B/CY;AHw+GlB;;A+Bh+GA;EA0CQ,yB5BtDU;AHg/GlB;;A+Bh7GA;EACE,kBAAkB;EAClB,gBAAgB;EAEhB,mBAAmB;A/Bk7GrB;;A+Bt7GA;EASI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B8bwC;E4B7bxC,Y5B6bwC;E4B5bxC,oBAAoB;EACpB,WAAW;EACX,sB5BnFW;E4BoFX,yB5BsJ6B;AH2xGjC;;A+Bn8GA;EAwBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B+awC;E4B9axC,Y5B8awC;E4B7axC,WAAW;EACX,mCAAgE;A/B+6GpE;;A+Bt6GA;ErB/FI,sBPkOgC;AHuyGpC;;A+B16GA;EAOM,kOb9D4E;AlBq+GlF;;A+B96GA;EAaM,qB5B1FW;EmB9Bb,yBnB8Ba;AHggHjB;;A+Bn7GA;EAkBM,+KbzE4E;AlB8+GlF;;A+Bv7GA;EAwBM,wC5BrGW;AHwgHjB;;A+B37GA;EA2BM,wC5BxGW;AH4gHjB;;A+B35GA;EAGI,kB5Bga+C;AH4/FnD;;A+B/5GA;EAQM,8KbnG4E;AlB8/GlF;;A+Bn6GA;EAcM,wC5B/HW;AHwhHjB;;A+B/4GA;EACE,qBAA2D;A/Bk5G7D;;A+Bn5GA;EAKM,cAAqD;EACrD,c5BwY+E;E4BvY/E,mBAAmB;EAEnB,qB5BsY4E;AH2gGlF;;A+B15GA;EAaM,wBbnE0D;EaoE1D,0BbpE0D;EaqE1D,uBbjD0D;EakD1D,wBblD0D;EamD1D,yB5BlLY;E4BoLZ,qB5B4X4E;EiB5iB5E,iJjB8f+H;EiB9f/H,yIjB8f+H;EiB9f/H,8KjB8f+H;AHmkGrI;;AoB7jHM;EWyJN;IXxJQ,gBAAgB;EpBikHtB;AACF;;A+B16GA;EA0BM,sB5BhMS;E4BiMT,sCAA4E;EAA5E,8BAA4E;A/Bo5GlF;;A+B/6GA;EAiCM,wC5B1KW;AH4jHjB;;A+Bt4GA;EACE,qBAAqB;EACrB,WAAW;EACX,mCbtG8D;EauG9D,0C5B0KkC;ECzQ9B,eAtCY;E2BwIhB,gB5BoE+B;E4BnE/B,gB5BwE+B;E4BvE/B,c5BrNgB;E4BsNhB,sBAAsB;EACtB,uO5ByW+I;E4BxW/I,yB5B3NgB;EOOd,sBPkOgC;E4BXlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/Bu4GlB;;A+Bt5GA;EAkBI,qB5B8PsE;E4B7PtE,UAAU;EAKR,gD5B9MW;AHklHjB;;A+B55GA;EAiCM,c5B7OY;E4B8OZ,sB5BrPS;AHonHf;;A+Bj6GA;EAwCI,YAAY;EACZ,sB5BqIgC;E4BpIhC,sBAAsB;A/B63G1B;;A+Bv6GA;EA8CI,c5B3Pc;E4B4Pd,yB5BhQc;AH6nHlB;;A+B56GA;EAoDI,aAAa;A/B43GjB;;A+Bh7GA;EAyDI,kBAAkB;EAClB,0B5BtQc;AHioHlB;;A+Bv3GA;EACE,kCblK8D;EamK9D,oB5BuHkC;E4BtHlC,uB5BsHkC;E4BrHlC,oB5BsHiC;ECnR7B,mBAtCY;AJ8jHlB;;A+Bv3GA;EACE,gCb1K8D;Ea2K9D,mB5BoHiC;E4BnHjC,sB5BmHiC;E4BlHjC,kB5BmHgC;ECxR5B,kBAtCY;AJskHlB;;A+Bl3GA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCb1L8D;Ea2L9D,gBAAgB;A/Bq3GlB;;A+Bl3GA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCblM8D;EamM9D,SAAS;EACT,UAAU;A/Bq3GZ;;A+B33GA;EASI,qB5B4KsE;E4B3KtE,gD5B3Ra;AHipHjB;;A+Bh4GA;;EAgBI,yB5B5Tc;AHirHlB;;A+Br4GA;EAqBM,iB5BmUQ;AHijGd;;A+Bz4GA;EA0BI,0BAA0B;A/Bm3G9B;;A+B/2GA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mCblO8D;EamO9D,yB5B8CkC;E4B5ClC,gB5BvD+B;E4BwD/B,gB5BnD+B;E4BoD/B,c5BhVgB;E4BiVhB,sB5BxVa;E4ByVb,yB5BrVgB;EOOd,sBPkOgC;AH89GpC;;A+B/3GA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6BbpP4D;EaqP5D,yB5B4BgC;E4B3BhC,gB5BnE6B;E4BoE7B,c5BhWc;E4BiWd,iBAAiB;ETzWjB,yBnBGc;E4BwWd,oBAAoB;ErB/VpB,kCqBgWgF;A/Bi3GpF;;A+Bv2GA;EACE,WAAW;EACX,cb1Q2B;Ea2Q3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B02GlB;;A+B/2GA;EAQI,aAAa;A/B22GjB;;A+Bn3GA;EAY8B,gE5BpWb;AH+sHjB;;A+Bv3GA;EAa8B,gE5BrWb;AHmtHjB;;A+B33GA;EAc8B,gE5BtWb;AHutHjB;;A+B/3GA;EAkBI,SAAS;A/Bi3Gb;;A+Bn4GA;EAsBI,W5B4N6C;E4B3N7C,Y5B2N6C;E4B1N7C,oBAAyE;ET9YzE,yBnB8Ba;E4BkXb,S5B2N0C;EO/lB1C,mBPgmB6C;EiBlmB3C,oHjB8f+H;EiB9f/H,4GjB8f+H;E4BpHjI,wBAAgB;EAAhB,gBAAgB;A/Bg3GpB;;AoBtvHM;EWwWN;IXvWQ,wBAAgB;IAAhB,gBAAgB;EpB0vHtB;AACF;;A+Bp5GA;ETtXI,yBnBgnB2E;AH8pG/E;;A+Bx5GA;EAsCI,W5BqMoC;E4BpMpC,c5BqMqC;E4BpMrC,kBAAkB;EAClB,e5BoMuC;E4BnMvC,yB5B5Zc;E4B6Zd,yBAAyB;ErBrZzB,mBPylBoC;AHmrGxC;;A+Bl6GA;EAiDI,W5BiM6C;E4BhM7C,Y5BgM6C;EmBxmB7C,yBnB8Ba;E4B4Yb,S5BiM0C;EO/lB1C,mBPgmB6C;EiBlmB3C,iHjB8f+H;EiB9f/H,4GjB8f+H;E4B1FjI,qBAAgB;EAAhB,gBAAgB;A/Bo3GpB;;AoBpxHM;EWwWN;IXvWQ,qBAAgB;IAAhB,gBAAgB;EpBwxHtB;AACF;;A+Bl7GA;ETtXI,yBnBgnB2E;AH4rG/E;;A+Bt7GA;EAgEI,W5B2KoC;E4B1KpC,c5B2KqC;E4B1KrC,kBAAkB;EAClB,e5B0KuC;E4BzKvC,yB5Btbc;E4Bubd,yBAAyB;ErB/azB,mBPylBoC;AHitGxC;;A+Bh8GA;EA2EI,W5BuK6C;E4BtK7C,Y5BsK6C;E4BrK7C,aAAa;EACb,oB5B7D+B;E4B8D/B,mB5B9D+B;EmBvY/B,yBnB8Ba;E4Byab,S5BoK0C;EO/lB1C,mBPgmB6C;EiBlmB3C,gHjB8f+H;EiB9f/H,4GjB8f+H;E4B7DjI,gBAAgB;A/Bw3GpB;;AoBrzHM;EWwWN;IXvWQ,oBAAgB;IAAhB,gBAAgB;EpByzHtB;AACF;;A+Bn9GA;ETtXI,yBnBgnB2E;AH6tG/E;;A+Bv9GA;EA6FI,W5B8IoC;E4B7IpC,c5B8IqC;E4B7IrC,kBAAkB;EAClB,e5B6IuC;E4B5IvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/B83GhD;;A+Bj+GA;EAwGI,yB5B1dc;EOQd,mBPylBoC;AHuvGxC;;A+Bt+GA;EA6GI,kBAAkB;EAClB,yB5Bhec;EOQd,mBPylBoC;AH6vGxC;;A+B5+GA;EAoHM,yB5BpeY;AHg2HlB;;A+Bh/GA;EAwHM,eAAe;A/B43GrB;;A+Bp/GA;EA4HM,yB5B5eY;AHw2HlB;;A+Bx/GA;EAgIM,eAAe;A/B43GrB;;A+B5/GA;EAoIM,yB5BpfY;AHg3HlB;;A+Bv3GA;;;EXrfM,4GjB8f+H;AHo3GrI;;AoB92HM;EWifN;;;IXhfQ,gBAAgB;EpBo3HtB;AACF;;AgCr4HA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhCw4HlB;;AgCr4HA;EACE,cAAc;EACd,oB7B+qBsC;AHytGxC;;AKv4HE;E2BGE,qBAAqB;AhCw4HzB;;AgC94HA;EAWI,c7BXc;E6BYd,oBAAoB;EACpB,eAAe;AhCu4HnB;;AgC/3HA;EACE,gC7BzBgB;AH25HlB;;AgCn4HA;EAII,mB7B2M6B;AHwrHjC;;AgCv4HA;EAQI,6BAAgD;EtBfhD,+BPyNgC;EOxNhC,gCPwNgC;AH2rHpC;;AK/5HE;E2B8BI,qC7BpCY;AHy6HlB;;AgCj5HA;EAgBM,c7BrCY;E6BsCZ,6BAA6B;EAC7B,yBAAyB;AhCq4H/B;;AgCv5HA;;EAwBI,c7B5Cc;E6B6Cd,sB7BpDW;E6BqDX,kC7BrDW;AHy7Hf;;AgC95HA;EA+BI,gB7BgL6B;EOtN7B,yBsBwC4B;EtBvC5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Ck9HxB;EiC1gIG;IA4DK,aAAa;EjCi9HrB;AACF;;Ac1lII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCihIvB;AACF;;Ac/mII;EmByFA;IAoBI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCugIjC;EiC5hIG;IAwBK,uBAAmB;IAAnB,mBAAmB;EjCugI3B;EiC/hIG;IA2BO,kBAAkB;EjCugI5B;EiCliIG;IA+BO,qB9BkiB6B;I8BjiB7B,oB9BiiB6B;EHq+GvC;EiCtiIG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjCogIzB;EiC1iIG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCs/HxB;EiC9iIG;IA4DK,aAAa;EjCq/HrB;AACF;;AiCvjIA;EAyBQ,yBAAqB;EAArB,qBAAqB;EACrB,oBAA2B;EAA3B,2BAA2B;AjCkiInC;;AiC5jIA;;EAQU,gBAAgB;EAChB,eAAe;AjCyjIzB;;AiClkIA;EA6BU,uBAAmB;EAAnB,mBAAmB;AjCyiI7B;;AiCtkIA;EAgCY,kBAAkB;AjC0iI9B;;AiC1kIA;EAoCY,qB9BkiB6B;E8BjiB7B,oB9BiiB6B;AHygHzC;;AiC/kIA;;EA2CU,qBAAiB;EAAjB,iBAAiB;AjCyiI3B;;AiCplIA;EA0DU,+BAAwB;EAAxB,wBAAwB;EAGxB,6BAAgB;EAAhB,gBAAgB;AjC4hI1B;;AiCzlIA;EAiEU,aAAa;AjC4hIvB;;AiC/gIA;EAEI,yB9B/MW;AHguIf;;AKjuIE;E4BmNI,yB9BlNS;AHouIf;;AiCvhIA;EAWM,yB9BxNS;AHwuIf;;AKzuIE;E4B4NM,yB9B3NO;AH4uIf;;AiC/hIA;EAkBQ,yB9B/NO;AHgvIf;;AiCniIA;;;;EA0BM,yB9BvOS;AHuvIf;;AiC1iIA;EA+BI,yB9B5OW;E8B6OX,gC9B7OW;AH4vIf;;AiC/iIA;EAoCI,mRfxM8E;AlButIlF;;AiCnjIA;EAwCI,yB9BrPW;AHowIf;;AiCvjIA;EA0CM,yB9BvPS;AHwwIf;;AKzwIE;E4B2PM,yB9B1PO;AH4wIf;;AiC3gIA;EAEI,W9B7QW;AH0xIf;;AKjxIE;E4BuQI,W9BhRS;AH8xIf;;AiCnhIA;EAWM,+B9BtRS;AHkyIf;;AKzxIE;E4BgRM,gC9BzRO;AHsyIf;;AiC3hIA;EAkBQ,gC9B7RO;AH0yIf;;AiC/hIA;;;;EA0BM,W9BrSS;AHizIf;;AiCtiIA;EA+BI,+B9B1SW;E8B2SX,sC9B3SW;AHszIf;;AiC3iIA;EAoCI,yRf5P8E;AlBuwIlF;;AiC/iIA;EAwCI,+B9BnTW;AH8zIf;;AiCnjIA;EA0CM,W9BrTS;AHk0If;;AKzzIE;E4B+SM,W9BxTO;AHs0If;;AkCz0IA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sB/BJa;E+BKb,2BAA2B;EAC3B,sC/BIa;EOCX,sBPkOgC;AHqmIpC;;AkCr1IA;EAaI,eAAe;EACf,cAAc;AlC40IlB;;AkC11IA;EAkBI,mBAAmB;EACnB,sBAAsB;AlC40I1B;;AkC/1IA;EAsBM,mBAAmB;ExBCrB,2CQgH4D;ER/G5D,4CQ+G4D;AlB8tIhE;;AkCr2IA;EA2BM,sBAAsB;ExBUxB,+CQkG4D;ERjG5D,8CQiG4D;AlBouIhE;;AkC10IA;EAGE,kBAAc;EAAd,cAAc;EAGd,eAAe;EACf,gB/BsxByC;AHmjH3C;;AkCr0IA;EACE,sB/BgxBwC;AHwjH1C;;AkCr0IA;EACE,qBAA+B;EAC/B,gBAAgB;AlCw0IlB;;AkCr0IA;EACE,gBAAgB;AlCw0IlB;;AKt3IE;E6BmDE,qBAAqB;AlCu0IzB;;AkCz0IA;EAMI,oB/B+vBuC;AHwkH3C;;AkC/zIA;EACE,wB/BsvByC;E+BrvBzC,gBAAgB;EAEhB,qC/B9Da;E+B+Db,6C/B/Da;AHg4If;;AkCt0IA;ExBzDI,0DwBiE8E;AlCk0IlF;;AkC10IA;EAaM,aAAa;AlCi0InB;;AkC5zIA;EACE,wB/BouByC;E+BluBzC,qC/B/Ea;E+BgFb,0C/BhFa;AH84If;;AkCl0IA;ExB3EI,0DQyH4D;AlBwxIhE;;AkCtzIA;EACE,uBAAiC;EACjC,uB/BktBwC;E+BjtBxC,sBAAgC;EAChC,gBAAgB;AlCyzIlB;;AkCtzIA;EACE,uBAAiC;EACjC,sBAAgC;AlCyzIlC;;AkCrzIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/B6sByC;AH2mH3C;;AkCrzIA;;;EAGE,oBAAc;EAAd,cAAc;EACd,WAAW;AlCwzIb;;AkCrzIA;;ExB/GI,2CQgH4D;ER/G5D,4CQ+G4D;AlB0zIhE;;AkCtzIA;;ExBtGI,+CQkG4D;ERjG5D,8CQiG4D;AlBg0IhE;;AkCpzIA;EAEI,mB/BsrBsD;AHgoH1D;;Acn5II;EoB2FJ;IAMI,oBAAa;IAAb,aAAa;IACb,uBAAmB;IAAnB,mBAAmB;IACnB,mB/BgrBsD;I+B/qBtD,kB/B+qBsD;EHwoHxD;EkCh0IF;IAaM,gBAAY;IAAZ,YAAY;IACZ,kB/B0qBoD;I+BzqBpD,gBAAgB;IAChB,iB/BwqBoD;EH8oHxD;AACF;;AkC7yIA;EAII,mB/B0pBsD;AHmpH1D;;Act6II;EoBqHJ;IAQI,oBAAa;IAAb,aAAa;IACb,uBAAmB;IAAnB,mBAAmB;ElC8yIrB;EkCvzIF;IAcM,gBAAY;IAAZ,YAAY;IACZ,gBAAgB;ElC4yIpB;EkC3zIF;IAkBQ,cAAc;IACd,cAAc;ElC4yIpB;EkC/zIF;IxB/II,0BwBwKoC;IxBvKpC,6BwBuKoC;ElC0yItC;EkCn0IF;;IA8BY,0BAA0B;ElCyyIpC;EkCv0IF;;IAmCY,6BAA6B;ElCwyIvC;EkC30IF;IxBjII,yBwByKmC;IxBxKnC,4BwBwKmC;ElCuyIrC;EkC/0IF;;IA6CY,yBAAyB;ElCsyInC;EkCn1IF;;IAkDY,4BAA4B;ElCqyItC;AACF;;AkCzxIA;EAEI,sB/B+kBsC;AH4sH1C;;Acj9II;EoBoLJ;IAMI,uB/B4lBiC;I+B5lBjC,oB/B4lBiC;I+B5lBjC,e/B4lBiC;I+B3lBjC,2B/B4lBuC;I+B5lBvC,wB/B4lBuC;I+B5lBvC,mB/B4lBuC;I+B3lBvC,UAAU;IACV,SAAS;ElC4xIX;EkCryIF;IAYM,qBAAqB;IACrB,WAAW;ElC4xIf;AACF;;AkCnxIA;EAEI,gBAAgB;AlCqxIpB;;AkCvxIA;EAKM,gBAAgB;ExBnOlB,6BwBoOiC;ExBnOjC,4BwBmOiC;AlCuxIrC;;AkC7xIA;ExB5OI,yBwBsP8B;ExBrP9B,0BwBqP8B;AlCwxIlC;;AkClyIA;ExBrPI,gBwBmQ0B;EACxB,mB/BrC2B;AH6zIjC;;AmC9iJA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,qBhCkiCsC;EgCjiCtC,mBhCoiCsC;EgCliCtC,gBAAgB;EAChB,yBhCEgB;EOSd,sBPkOgC;AHo0IpC;;AmC7iJA;EACE,oBAAa;EAAb,aAAa;AnCgjJf;;AmCjjJA;EAKI,oBhCshCqC;AH0hHzC;;AmCrjJA;EAQM,qBAAqB;EACrB,qBhCkhCmC;EgCjhCnC,chCRY;EgCSZ,YhCuhCuC;AH0hH7C;;AmC5jJA;EAsBI,0BAA0B;AnC0iJ9B;;AmChkJA;EA0BI,qBAAqB;AnC0iJzB;;AmCpkJA;EA8BI,chC5Bc;AHskJlB;;AoCnlJA;EACE,oBAAa;EAAb,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGad,sBPkOgC;AHs2IpC;;AoCplJA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCmxBwC;EiClxBxC,iBjCuO+B;EiCtO/B,iBjCsxBsC;EiCrxBtC,cjCwBe;EiCtBf,sBjCPa;EiCQb,yBjCLgB;AH2lJlB;;AoC/lJA;EAYI,UAAU;EACV,cjCmK8D;EiClK9D,qBAAqB;EACrB,yBjCZc;EiCad,qBjCZc;AHmmJlB;;AoCvmJA;EAoBI,UAAU;EACV,UjC8wBiC;EiC7wBjC,gDjCQa;AH+kJjB;;AoCnlJA;EAGM,cAAc;E1BahB,+BPoMgC;EOnMhC,kCPmMgC;AHq4IpC;;AoCzlJA;E1BEI,gCPkNgC;EOjNhC,mCPiNgC;AH04IpC;;AoC9lJA;EAcI,UAAU;EACV,WjCxCW;EiCyCX,yBjCZa;EiCab,qBjCba;AHimJjB;;AoCrmJA;EAqBI,cjCxCc;EiCyCd,oBAAoB;EAEpB,YAAY;EACZ,sBjClDW;EiCmDX,qBjChDc;AHmoJlB;;AqC1oJE;EACE,uBlC4xBsC;ECjqBpC,kBAtCY;EiCnFd,gBlCwO6B;AHq6IjC;;AqCxoJM;E3BqCF,8BPqM+B;EOpM/B,iCPoM+B;AHm6InC;;AqCxoJM;E3BkBF,+BPmN+B;EOlN/B,kCPkN+B;AHw6InC;;AqC1pJE;EACE,uBlC0xBqC;EC/pBnC,mBAtCY;EiCnFd,gBlCyO6B;AHo7IjC;;AqCxpJM;E3BqCF,8BPsM+B;EOrM/B,iCPqM+B;AHk7InC;;AqCxpJM;E3BkBF,+BPoN+B;EOnN/B,kCPmN+B;AHu7InC;;AsCxqJA;EACE,qBAAqB;EACrB,qBnC25BsC;EC11BpC,cAAW;EkC/Db,gBnC6R+B;EmC5R/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BKtB,sBPkOgC;EiBpO9B,qIjBqb6I;AHqvInJ;;AoBtqJM;EkBfN;IlBgBQ,gBAAgB;EpB0qJtB;AACF;;AKhrJE;EiCGI,qBAAqB;AtCirJ3B;;AsC/rJA;EAoBI,aAAa;AtC+qJjB;;AsC1qJA;EACE,kBAAkB;EAClB,SAAS;AtC6qJX;;AsCtqJA;EACE,oBnCg4BsC;EmC/3BtC,mBnC+3BsC;EOt5BpC,oBPy5BqC;AHwyHzC;;AsCjqJE;ECjDA,WpCMa;EoCLb,yBpCkCe;AHorJjB;;AKxsJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCstJxC;;AuCztJU;EAQJ,UAAU;EACV,+CpCuBW;AH8rJjB;;AsChrJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AH0tJlB;;AKvtJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCquJxC;;AuCxuJU;EAQJ,UAAU;EACV,iDpCAY;AHouJlB;;AsC/rJE;ECjDA,WpCMa;EoCLb,yBpCyCe;AH2sJjB;;AKtuJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCovJxC;;AuCvvJU;EAQJ,UAAU;EACV,+CpC8BW;AHqtJjB;;AsC9sJE;ECjDA,WpCMa;EoCLb,yBpC2Ce;AHwtJjB;;AKrvJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCmwJxC;;AuCtwJU;EAQJ,UAAU;EACV,gDpCgCW;AHkuJjB;;AsC7tJE;ECjDA,cpCegB;EoCdhB,yBpCwCe;AH0uJjB;;AKpwJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvCkxJxC;;AuCrxJU;EAQJ,UAAU;EACV,+CpC6BW;AHovJjB;;AsC5uJE;ECjDA,WpCMa;EoCLb,yBpCsCe;AH2vJjB;;AKnxJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCiyJxC;;AuCpyJU;EAQJ,UAAU;EACV,+CpC2BW;AHqwJjB;;AsC3vJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AH0yJlB;;AKlyJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvCgzJxC;;AuCnzJU;EAQJ,UAAU;EACV,iDpCLY;AHozJlB;;AsC1wJE;ECjDA,WpCMa;EoCLb,yBpCagB;AHkzJlB;;AKjzJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC+zJxC;;AuCl0JU;EAQJ,UAAU;EACV,8CpCEY;AH4zJlB;;AwC30JA;EACE,kBAAoD;EACpD,mBrCwzBsC;EqCtzBtC,yBrCKgB;EOSd,qBPmO+B;AH6lJnC;;ActxJI;E0B5DJ;IAQI,kBrCkzBoC;EH6hItC;AACF;;AwC50JA;EACE,gBAAgB;EAChB,eAAe;E9BIb,gB8BHsB;AxC+0J1B;;AyC11JA;EACE,kBAAkB;EAClB,wBtCw9ByC;EsCv9BzC,mBtCw9BsC;EsCv9BtC,6BAA6C;E/BU3C,sBPkOgC;AHknJpC;;AyCz1JA;EAEE,cAAc;AzC21JhB;;AyCv1JA;EACE,gBtCkR+B;AHwkJjC;;AyCl1JA;EACE,mBAAsD;AzCq1JxD;;AyCt1JA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtC07BuC;EsCz7BvC,cAAc;AzCq1JlB;;AyC30JE;EC9CA,cxBqGgE;EIhG9D,yBJgG8D;EwBnGhE,qBxBmGgE;AlB0xJlE;;A0C33JE;EACE,yBAAqC;A1C83JzC;;A0C33JE;EACE,cAA0B;A1C83J9B;;AyCz1JE;EC9CA,cxBqGgE;EIhG9D,yBJgG8D;EwBnGhE,qBxBmGgE;AlBwyJlE;;A0Cz4JE;EACE,yBAAqC;A1C44JzC;;A0Cz4JE;EACE,cAA0B;A1C44J9B;;AyCv2JE;EC9CA,cxBqGgE;EIhG9D,yBJgG8D;EwBnGhE,qBxBmGgE;AlBszJlE;;A0Cv5JE;EACE,yBAAqC;A1C05JzC;;A0Cv5JE;EACE,cAA0B;A1C05J9B;;AyCr3JE;EC9CA,cxBqGgE;EIhG9D,yBJgG8D;EwBnGhE,qBxBmGgE;AlBo0JlE;;A0Cr6JE;EACE,yBAAqC;A1Cw6JzC;;A0Cr6JE;EACE,cAA0B;A1Cw6J9B;;AyCn4JE;EC9CA,cxBqGgE;EIhG9D,yBJgG8D;EwBnGhE,qBxBmGgE;AlBk1JlE;;A0Cn7JE;EACE,yBAAqC;A1Cs7JzC;;A0Cn7JE;EACE,cAA0B;A1Cs7J9B;;AyCj5JE;EC9CA,cxBqGgE;EIhG9D,yBJgG8D;EwBnGhE,qBxBmGgE;AlBg2JlE;;A0Cj8JE;EACE,yBAAqC;A1Co8JzC;;A0Cj8JE;EACE,cAA0B;A1Co8J9B;;AyC/5JE;EC9CA,cxBqGgE;EIhG9D,yBJgG8D;EwBnGhE,qBxBmGgE;AlB82JlE;;A0C/8JE;EACE,yBAAqC;A1Ck9JzC;;A0C/8JE;EACE,cAA0B;A1Ck9J9B;;AyC76JE;EC9CA,cxBqGgE;EIhG9D,yBJgG8D;EwBnGhE,qBxBmGgE;AlB43JlE;;A0C79JE;EACE,yBAAqC;A1Cg+JzC;;A0C79JE;EACE,cAA0B;A1Cg+J9B;;A2Cx+JE;EACE;IAAO,2BAAuC;E3C4+JhD;E2C3+JE;IAAK,wBAAwB;E3C8+J/B;AACF;;A2Cj/JE;EACE;IAAO,2BAAuC;E3C4+JhD;E2C3+JE;IAAK,wBAAwB;E3C8+J/B;AACF;;A2C3+JA;EACE,oBAAa;EAAb,aAAa;EACb,YxCi+BsC;EwCh+BtC,gBAAgB;EAChB,cAAc;EvCmHV,kBAtCY;EuC3EhB,yBxCLgB;EOSd,sBPkOgC;AHywJpC;;A2C1+JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,gBAAgB;EAChB,WxCjBa;EwCkBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCSe;EiBpBX,2BjBm+B4C;AHshIlD;;AoBr/JM;EuBDN;IvBEQ,gBAAgB;EpBy/JtB;AACF;;A2Ch/JA;ErBYE,qMAA6I;EqBV7I,0BxC08BsC;AHyiIxC;;A2C/+JE;EACE,0DxC48BkD;EwC58BlD,kDxC48BkD;AHsiItD;;A2C/+JM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3Cm/JrB;AACF;;A4C9hKA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;A5CiiKzB;;A4C9hKA;EACE,WAAO;EAAP,OAAO;A5CiiKT;;A6CniKA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;EnCQd,sBPkOgC;AH2zJpC;;A6C3hKA;EACE,WAAW;EACX,c1CRgB;E0CShB,mBAAmB;A7C8hKrB;;AKriKE;EwCWE,UAAU;EACV,c1Cdc;E0Ced,qBAAqB;EACrB,yB1CtBc;AHojKlB;;A6CxiKA;EAcI,c1ClBc;E0CmBd,yB1C1Bc;AHwjKlB;;A6CrhKA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1Cg9ByC;E0C78BzC,sB1C3Ca;E0C4Cb,sC1ClCa;AHwjKf;;A6C7hKA;EnCjBI,+BmC2BkC;EnC1BlC,gCmC0BkC;A7CwhKtC;;A6CliKA;EnCHI,mCmCiBqC;EnChBrC,kCmCgBqC;A7CyhKzC;;A6CviKA;EAmBI,c1ClDc;E0CmDd,oBAAoB;EACpB,sB1C1DW;AHklKf;;A6C7iKA;EA0BI,UAAU;EACV,W1ChEW;E0CiEX,yB1CpCa;E0CqCb,qB1CrCa;AH4jKjB;;A6CpjKA;EAiCI,mBAAmB;A7CuhKvB;;A6CxjKA;EAoCM,gB1CiK2B;E0ChK3B,qB1CgK2B;AHw3JjC;;A6C1gKI;EACE,uBAAmB;EAAnB,mBAAmB;A7C6gKzB;;A6C9gKI;EnCtBA,kCP2KgC;EOvLhC,0BmCwCwC;A7C6gK5C;;A6CnhKI;EnClCA,gCPuLgC;EO3KhC,4BmCiC0C;A7C6gK9C;;A6CxhKI;EAeM,aAAa;A7C6gKvB;;A6C5hKI;EAmBM,qB1C+HuB;E0C9HvB,oBAAoB;A7C6gK9B;;A6CjiKI;EAuBQ,iB1C2HqB;E0C1HrB,sB1C0HqB;AHo5JjC;;AczkKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7C0iKvB;E6C3iKE;InCtBA,kCP2KgC;IOvLhC,0BmCwCwC;E7CyiK1C;E6C/iKE;InClCA,gCPuLgC;IO3KhC,4BmCiC0C;E7CwiK5C;E6CnjKE;IAeM,aAAa;E7CuiKrB;E6CtjKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CsiK5B;E6C1jKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EH46J/B;AACF;;AclmKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CmkKvB;E6CpkKE;InCtBA,kCP2KgC;IOvLhC,0BmCwCwC;E7CkkK1C;E6CxkKE;InClCA,gCPuLgC;IO3KhC,4BmCiC0C;E7CikK5C;E6C5kKE;IAeM,aAAa;E7CgkKrB;E6C/kKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7C+jK5B;E6CnlKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EHq8J/B;AACF;;Ac3nKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7C4lKvB;E6C7lKE;InCtBA,kCP2KgC;IOvLhC,0BmCwCwC;E7C2lK1C;E6CjmKE;InClCA,gCPuLgC;IO3KhC,4BmCiC0C;E7C0lK5C;E6CrmKE;IAeM,aAAa;E7CylKrB;E6CxmKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CwlK5B;E6C5mKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EH89J/B;AACF;;AcppKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CqnKvB;E6CtnKE;InCtBA,kCP2KgC;IOvLhC,0BmCwCwC;E7ConK1C;E6C1nKE;InClCA,gCPuLgC;IO3KhC,4BmCiC0C;E7CmnK5C;E6C9nKE;IAeM,aAAa;E7CknKrB;E6CjoKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CinK5B;E6CroKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EHu/J/B;AACF;;A6CpmKA;EnCnHI,gBmCoHsB;A7CumK1B;;A6CxmKA;EAII,qB1CwG6B;AHggKjC;;A6C5mKA;EAOM,sBAAsB;A7CymK5B;;A8ClvKE;EACE,c5BkG8D;E4BjG9D,yB5BiG8D;AlBopKlE;;AK1uKE;EyCPM,c5B6F0D;E4B5F1D,yBAAyC;A9CqvKjD;;A8C5vKE;EAWM,W3CPO;E2CQP,yB5BuF0D;E4BtF1D,qB5BsF0D;AlB+pKlE;;A8ClwKE;EACE,c5BkG8D;E4BjG9D,yB5BiG8D;AlBoqKlE;;AK1vKE;EyCPM,c5B6F0D;E4B5F1D,yBAAyC;A9CqwKjD;;A8C5wKE;EAWM,W3CPO;E2CQP,yB5BuF0D;E4BtF1D,qB5BsF0D;AlB+qKlE;;A8ClxKE;EACE,c5BkG8D;E4BjG9D,yB5BiG8D;AlBorKlE;;AK1wKE;EyCPM,c5B6F0D;E4B5F1D,yBAAyC;A9CqxKjD;;A8C5xKE;EAWM,W3CPO;E2CQP,yB5BuF0D;E4BtF1D,qB5BsF0D;AlB+rKlE;;A8ClyKE;EACE,c5BkG8D;E4BjG9D,yB5BiG8D;AlBosKlE;;AK1xKE;EyCPM,c5B6F0D;E4B5F1D,yBAAyC;A9CqyKjD;;A8C5yKE;EAWM,W3CPO;E2CQP,yB5BuF0D;E4BtF1D,qB5BsF0D;AlB+sKlE;;A8ClzKE;EACE,c5BkG8D;E4BjG9D,yB5BiG8D;AlBotKlE;;AK1yKE;EyCPM,c5B6F0D;E4B5F1D,yBAAyC;A9CqzKjD;;A8C5zKE;EAWM,W3CPO;E2CQP,yB5BuF0D;E4BtF1D,qB5BsF0D;AlB+tKlE;;A8Cl0KE;EACE,c5BkG8D;E4BjG9D,yB5BiG8D;AlBouKlE;;AK1zKE;EyCPM,c5B6F0D;E4B5F1D,yBAAyC;A9Cq0KjD;;A8C50KE;EAWM,W3CPO;E2CQP,yB5BuF0D;E4BtF1D,qB5BsF0D;AlB+uKlE;;A8Cl1KE;EACE,c5BkG8D;E4BjG9D,yB5BiG8D;AlBovKlE;;AK10KE;EyCPM,c5B6F0D;E4B5F1D,yBAAyC;A9Cq1KjD;;A8C51KE;EAWM,W3CPO;E2CQP,yB5BuF0D;E4BtF1D,qB5BsF0D;AlB+vKlE;;A8Cl2KE;EACE,c5BkG8D;E4BjG9D,yB5BiG8D;AlBowKlE;;AK11KE;EyCPM,c5B6F0D;E4B5F1D,yBAAyC;A9Cq2KjD;;A8C52KE;EAWM,W3CPO;E2CQP,yB5BuF0D;E4BtF1D,qB5BsF0D;AlB+wKlE;;A+Cr3KA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5CmS+B;E4ClS/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/Cw3Kb;;AKn3KE;E0CDE,W5CMW;E4CLX,qBAAqB;A/Cw3KzB;;AKp3KE;E0CCI,YAAY;A/Cu3KlB;;A+C52KA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;A/C+2KX;;A+Cz2KA;EACE,oBAAoB;A/C42KtB;;AgDl5KA;EACE,gB7C44BuC;E6C34BvC,gBAAgB;E5C6HZ,mBAtCY;E4CpFhB,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7C64BmD;E6C54BnD,gD7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;EtCQR,sBPm4BsC;AH0gJ1C;;AgD/5KA;EAcI,sB7Cg4BsC;AHqhJ1C;;AgDn6KA;EAkBI,UAAU;AhDq5Kd;;AgDv6KA;EAsBI,cAAc;EACd,UAAU;AhDq5Kd;;AgD56KA;EA2BI,aAAa;AhDq5KjB;;AgDj5KA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,wB7C42BwC;E6C32BxC,c7CtBgB;E6CuBhB,2C7C7Ba;E6C8Bb,4BAA4B;EAC5B,4C7Co3BoD;AHgiJtD;;AgDj5KA;EACE,gB7Co2BwC;AHgjJ1C;;AiDx7KA;EAEE,gBAAgB;AjD07KlB;;AiD57KA;EAKI,kBAAkB;EAClB,gBAAgB;AjD27KpB;;AiDt7KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9CiqBsC;E8ChqBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjDu7KZ;;AiDh7KA;EACE,kBAAkB;EAClB,WAAW;EACX,c9Cg5BuC;E8C94BvC,oBAAoB;AjDk7KtB;;AiD/6KE;E7B3BI,2CjBq8BoD;EiBr8BpD,mCjBq8BoD;EiBr8BpD,oEjBq8BoD;E8Cx6BtD,sC9Cs6BmD;E8Ct6BnD,8B9Cs6BmD;AH4gJvD;;AoB38KM;E6BuBJ;I7BtBM,gBAAgB;EpB+8KtB;AACF;;AiDt7KE;EACE,uB9Co6BoC;E8Cp6BpC,e9Co6BoC;AHqhJxC;;AiDr7KE;EACE,8B9Ci6B2C;E8Cj6B3C,sB9Ci6B2C;AHuhJ/C;;AiDp7KA;EACE,oBAAa;EAAb,aAAa;EACb,6B/BgF8D;AlBu2KhE;;A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vCS;AHssLf;;AkD1pLA;EACE,iBAAgC;AlD6pLlC;;AkD9pLA;EAII,MAAM;AlD8pLV;;AkDlqLA;EAOM,SAAS;EACT,6B/C+xBmC;E+C9xBnC,yB/CrDS;AHotLf;;AkD1pLA;EACE,iB/CwxBuC;AHq4JzC;;AkD9pLA;EAII,QAAQ;EACR,a/CoxBqC;E+CnxBrC,c/CkxBqC;AH44JzC;;AkDpqLA;EASM,OAAO;EACP,oC/C+wBmC;E+C9wBnC,uB/CrES;AHouLf;;AkD1oLA;EACE,gB/C8uBuC;E+C7uBvC,uB/CmvBuC;E+ClvBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOCX,sBPkOgC;AH0gLpC;;AoD9vLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajDmrBsC;EiDlrBtC,cAAc;EACd,gBjD82BuC;EgDn3BvC,kMhDyRiN;EgDvRjN,kBAAkB;EAClB,gBhDiS+B;EgDhS/B,gBhDqS+B;EgDpS/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOCX,qBPmO+B;AHsiLnC;;AoD3xLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjD82BoC;EiD72BpC,cjD82BqC;EiD72BrC,gBjD6N+B;AH8iLnC;;AoDnyLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApD2wLzB;;AoDtwLA;EACE,qBjD+1BuC;AH06JzC;;AoD1wLA;EAII,2BlCkG4D;AlBwqLhE;;AoD9wLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjD01BiE;AHi7JvE;;AoDpxLA;EAaM,WjD+L2B;EiD9L3B,6BAAgE;EAChE,sBjD7CS;AHwzLf;;AoDtwLA;EACE,mBjD20BuC;AH87JzC;;AoD1wLA;EAII,yBlC8E4D;EkC7E5D,ajDu0BqC;EiDt0BrC,YjDq0BoC;EiDp0BpC,gBAAgC;ApD0wLpC;;AoDjxLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDm0BiE;AHw8JvE;;AoDvxLA;EAgBM,SjDwK2B;EiDvK3B,oCAA2F;EAC3F,wBjDpES;AH+0Lf;;AoDtwLA;EACE,kBjDozBuC;AHq9JzC;;AoD1wLA;EAII,wBlCuD4D;AlBmtLhE;;AoD9wLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD+yBiE;AH49JvE;;AoDpxLA;EAaM,QjDoJ2B;EiDnJ3B,oCAA2F;EAC3F,yBjDxFS;AHm2Lf;;AoD1xLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjD2xBoC;EiD1xBpC,oBAAsC;EACtC,WAAW;EACX,gCjD+wBuD;AH0/J3D;;AoDrwLA;EACE,oBjDoxBuC;AHo/JzC;;AoDzwLA;EAII,0BlCuB4D;EkCtB5D,ajDgxBqC;EiD/wBrC,YjD8wBoC;EiD7wBpC,gBAAgC;ApDywLpC;;AoDhxLA;EAUM,QAAQ;EACR,oCjD0wBmC;EiDzwBnC,sCjD4wBiE;AH8/JvE;;AoDtxLA;EAgBM,UjDiH2B;EiDhH3B,oCjDowBmC;EiDnwBnC,uBjD3HS;AHq4Lf;;AoDpvLA;EACE,uBjDquBwC;EiDpuBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjD8tByD;EiD7tBzD,gCAAyE;E1CnIvE,0CQgH4D;ER/G5D,2CQ+G4D;AlB2wLhE;;AoD9vLA;EAUI,aAAa;ApDwvLjB;;AoDpvLA;EACE,uBjDutBwC;EiDttBxC,cjDxJgB;AH+4LlB;;AqDl5LA;EACE,kBAAkB;ArDq5LpB;;AqDl5LA;EACE,uBAAmB;EAAnB,mBAAmB;ArDq5LrB;;AqDl5LA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDq5LlB;;AsD56LE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtD+6Lf;;AqDv5LA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjClBvB,8CjB0jCkF;EiB1jClF,sCjB0jCkF;EiB1jClF,0EjB0jCkF;AHm3JxF;;AoBz6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AAmC;AzDkqMvC;;AKxpME;;;EoDLI,oCAAgD;AzDmqMtD;;AyDzqME;EACE,oCAAmC;AzD4qMvC;;AKlqME;;;EoDLI,oCAAgD;AzD6qMtD;;AyDnrME;EACE,oCAAmC;AzDsrMvC;;AK5qME;;;EoDLI,oCAAgD;AzDurMtD;;AyD7rME;EACE,oCAAmC;AzDgsMvC;;AKtrME;;;EoDLI,oCAAgD;AzDisMtD;;AyDvsME;EACE,oCAAmC;AzD0sMvC;;AKhsME;;;EoDLI,oCAAgD;AzD2sMtD;;AyDjtME;EACE,oCAAmC;AzDotMvC;;AK1sME;;;EoDLI,oCAAgD;AzDqtMtD;;AyD3tME;EACE,oCAAmC;AzD8tMvC;;AKptME;;;EoDLI,oCAAgD;AzD+tMtD;;AyDruME;EACE,oCAAmC;AzDwuMvC;;AK9tME;;;EoDLI,oCAAgD;AzDyuMtD;;A0DxuMA;EACE,iCAAmC;A1D2uMrC;;A0DxuMA;EACE,wCAAwC;A1D2uM1C;;A2DtvMA;EAAkB,oCAAoD;A3D0vMtE;;A2DzvMA;EAAkB,wCAAwD;A3D6vM1E;;A2D5vMA;EAAkB,0CAA0D;A3DgwM5E;;A2D/vMA;EAAkB,2CAA2D;A3DmwM7E;;A2DlwMA;EAAkB,yCAAyD;A3DswM3E;;A2DpwMA;EAAmB,oBAAoB;A3DwwMvC;;A2DvwMA;EAAmB,wBAAwB;A3D2wM3C;;A2D1wMA;EAAmB,0BAA0B;A3D8wM7C;;A2D7wMA;EAAmB,2BAA2B;A3DixM9C;;A2DhxMA;EAAmB,yBAAyB;A3DoxM5C;;A2DjxME;EACE,gCAA+B;A3DoxMnC;;A2DrxME;EACE,gCAA+B;A3DwxMnC;;A2DzxME;EACE,gCAA+B;A3D4xMnC;;A2D7xME;EACE,gCAA+B;A3DgyMnC;;A2DjyME;EACE,gCAA+B;A3DoyMnC;;A2DryME;EACE,gCAA+B;A3DwyMnC;;A2DzyME;EACE,gCAA+B;A3D4yMnC;;A2D7yME;EACE,gCAA+B;A3DgzMnC;;A2D5yMA;EACE,6BAA+B;A3D+yMjC;;A2DxyMA;EACE,gCAA2C;A3D2yM7C;;A2DxyMA;EACE,iCAAwC;A3D2yM1C;;A2DxyMA;EACE,0CAAiD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sC;AvE22OhD;;AuE13OQ;EAAgC,0BAA4B;AvE83OpE;;AuE73OQ;;EAEE,8BAAoC;AvEg4O9C;;AuE93OQ;;EAEE,gCAAwC;AvEi4OlD;;AuE/3OQ;;EAEE,iCAA0C;AvEk4OpD;;AuEh4OQ;;EAEE,+BAAsC;AvEm4OhD;;AuEl5OQ;EAAgC,yBAA4B;AvEs5OpE;;AuEr5OQ;;EAEE,6BAAoC;AvEw5O9C;;AuEt5OQ;;EAEE,+BAAwC;AvEy5OlD;;AuEv5OQ;;EAEE,gCAA0C;AvE05OpD;;AuEx5OQ;;EAEE,8BAAsC;AvE25OhD;;AuE16OQ;EAAgC,uBAA4B;AvE86OpE;;AuE76OQ;;EAEE,2BAAoC;AvEg7O9C;;AuE96OQ;;EAEE,6BAAwC;AvEi7OlD;;AuE/6OQ;;EAEE,8BAA0C;AvEk7OpD;;AuEh7OQ;;EAEE,4BAAsC;AvEm7OhD;;AuEl8OQ;EAAgC,yBAA4B;AvEs8OpE;;AuEr8OQ;;EAEE,6BAAoC;AvEw8O9C;;AuEt8OQ;;EAEE,+BAAwC;AvEy8OlD;;AuEv8OQ;;EAEE,gCAA0C;AvE08OpD;;AuEx8OQ;;EAEE,8BAAsC;AvE28OhD;;AuE19OQ;EAAgC,uBAA4B;AvE89OpE;;AuE79OQ;;EAEE,2BAAoC;AvEg+O9C;;AuE99OQ;;EAEE,6BAAwC;AvEi+OlD;;AuE/9OQ;;EAEE,8BAA0C;AvEk+OpD;;AuEh+OQ;;EAEE,4BAAsC;AvEm+OhD;;AuEl/OQ;EAAgC,qBAA4B;AvEs/OpE;;AuEr/OQ;;EAEE,yBAAoC;AvEw/O9C;;AuEt/OQ;;EAEE,2BAAwC;AvEy/OlD;;AuEv/OQ;;EAEE,4BAA0C;AvE0/OpD;;AuEx/OQ;;EAEE,0BAAsC;AvE2/OhD;;AuE1gPQ;EAAgC,2BAA4B;AvE8gPpE;;AuE7gPQ;;EAEE,+BAAoC;AvEghP9C;;AuE9gPQ;;EAEE,iCAAwC;AvEihPlD;;AuE/gPQ;;EAEE,kCAA0C;AvEkhPpD;;AuEhhPQ;;EAEE,gCAAsC;AvEmhPhD;;AuEliPQ;EAAgC,0BAA4B;AvEsiPpE;;AuEriPQ;;EAEE,8BAAoC;AvEwiP9C;;AuEtiPQ;;EAEE,gCAAwC;AvEyiPlD;;AuEviPQ;;EAEE,iCAA0C;AvE0iPpD;;AuExiPQ;;EAEE,+BAAsC;AvE2iPhD;;AuE1jPQ;EAAgC,wBAA4B;AvE8jPpE;;AuE7jPQ;;EAEE,4BAAoC;AvEgkP9C;;AuE9jPQ;;EAEE,8BAAwC;AvEikPlD;;AuE/jPQ;;EAEE,+BAA0C;AvEkkPpD;;AuEhkPQ;;EAEE,6BAAsC;AvEmkPhD;;AuEllPQ;EAAgC,0BAA4B;AvEslPpE;;AuErlPQ;;EAEE,8BAAoC;AvEwlP9C;;AuEtlPQ;;EAEE,gCAAwC;AvEylPlD;;AuEvlPQ;;EAEE,iCAA0C;AvE0lPpD;;AuExlPQ;;EAEE,+BAAsC;AvE2lPhD;;AuE1mPQ;EAAgC,wBAA4B;AvE8mPpE;;AuE7mPQ;;EAEE,4BAAoC;AvEgnP9C;;AuE9mPQ;;EAEE,8BAAwC;AvEinPlD;;AuE/mPQ;;EAEE,+BAA0C;AvEknPpD;;AuEhnPQ;;EAEE,6BAAsC;AvEmnPhD;;AuE3mPQ;EAAwB,2BAA2B;AvE+mP3D;;AuE9mPQ;;EAEE,+BAA+B;AvEinPzC;;AuE/mPQ;;EAEE,iCAAiC;AvEknP3C;;AuEhnPQ;;EAEE,kCAAkC;AvEmnP5C;;AuEjnPQ;;EAEE,gCAAgC;AvEonP1C;;AuEnoPQ;EAAwB,0BAA2B;AvEuoP3D;;AuEtoPQ;;EAEE,8BAA+B;AvEyoPzC;;AuEvoPQ;;EAEE,gCAAiC;AvE0oP3C;;AuExoPQ;;EAEE,iCAAkC;AvE2oP5C;;AuEzoPQ;;EAEE,+BAAgC;AvE4oP1C;;AuE3pPQ;EAAwB,wBAA2B;AvE+pP3D;;AuE9pPQ;;EAEE,4BAA+B;AvEiqPzC;;AuE/pPQ;;EAEE,8BAAiC;AvEkqP3C;;AuEhqPQ;;EAEE,+BAAkC;AvEmqP5C;;AuEjqPQ;;EAEE,6BAAgC;AvEoqP1C;;AuEnrPQ;EAAwB,0BAA2B;AvEurP3D;;AuEtrPQ;;EAEE,8BAA+B;AvEyrPzC;;AuEvrPQ;;EAEE,gCAAiC;AvE0rP3C;;AuExrPQ;;EAEE,iCAAkC;AvE2rP5C;;AuEzrPQ;;EAEE,+BAAgC;AvE4rP1C;;AuE3sPQ;EAAwB,wBAA2B;AvE+sP3D;;AuE9sPQ;;EAEE,4BAA+B;AvEitPzC;;AuE/sPQ;;EAEE,8BAAiC;AvEktP3C;;AuEhtPQ;;EAEE,+BAAkC;AvEmtP5C;;AuEjtPQ;;EAEE,6BAAgC;AvEotP1C;;AuE9sPI;EAAmB,uBAAuB;AvEktP9C;;AuEjtPI;;EAEE,2BAA2B;AvEotPjC;;AuEltPI;;EAEE,6BAA6B;AvEqtPnC;;AuEntPI;;EAEE,8BAA8B;AvEstPpC;;AuEptPI;;EAEE,4BAA4B;AvEutPlC;;AchuPI;EyDlDI;IAAgC,oBAA4B;EvEuxPlE;EuEtxPM;;IAEE,wBAAoC;EvEwxP5C;EuEtxPM;;IAEE,0BAAwC;EvEwxPhD;EuEtxPM;;IAEE,2BAA0C;EvEwxPlD;EuEtxPM;;IAEE,yBAAsC;EvEwxP9C;EuEvyPM;IAAgC,0BAA4B;EvE0yPlE;EuEzyPM;;IAEE,8BAAoC;EvE2yP5C;EuEzyPM;;IAEE,gCAAwC;EvE2yPhD;EuEzyPM;;IAEE,iCAA0C;EvE2yPlD;EuEzyPM;;IAEE,+BAAsC;EvE2yP9C;EuE1zPM;IAAgC,yBAA4B;EvE6zPlE;EuE5zPM;;IAEE,6BAAoC;EvE8zP5C;EuE5zPM;;IAEE,+BAAwC;EvE8zPhD;EuE5zPM;;IAEE,gCAA0C;EvE8zPlD;EuE5zPM;;IAEE,8BAAsC;EvE8zP9C;EuE70PM;IAAgC,uBAA4B;EvEg1PlE;EuE/0PM;;IAEE,2BAAoC;EvEi1P5C;EuE/0PM;;IAEE,6BAAwC;EvEi1PhD;EuE/0PM;;IAEE,8BAA0C;EvEi1PlD;EuE/0PM;;IAEE,4BAAsC;EvEi1P9C;EuEh2PM;IAAgC,yBAA4B;EvEm2PlE;EuEl2PM;;IAEE,6BAAoC;EvEo2P5C;EuEl2PM;;IAEE,+BAAwC;EvEo2PhD;EuEl2PM;;IAEE,gCAA0C;EvEo2PlD;EuEl2PM;;IAEE,8BAAsC;EvEo2P9C;EuEn3PM;IAAgC,uBAA4B;EvEs3PlE;EuEr3PM;;IAEE,2BAAoC;EvEu3P5C;EuEr3PM;;IAEE,6BAAwC;EvEu3PhD;EuEr3PM;;IAEE,8BAA0C;EvEu3PlD;EuEr3PM;;IAEE,4BAAsC;EvEu3P9C;EuEt4PM;IAAgC,qBAA4B;EvEy4PlE;EuEx4PM;;IAEE,yBAAoC;EvE04P5C;EuEx4PM;;IAEE,2BAAwC;EvE04PhD;EuEx4PM;;IAEE,4BAA0C;EvE04PlD;EuEx4PM;;IAEE,0BAAsC;EvE04P9C;EuEz5PM;IAAgC,2BAA4B;EvE45PlE;EuE35PM;;IAEE,+BAAoC;EvE65P5C;EuE35PM;;IAEE,iCAAwC;EvE65PhD;EuE35PM;;IAEE,kCAA0C;EvE65PlD;EuE35PM;;IAEE,gCAAsC;EvE65P9C;EuE56PM;IAAgC,0BAA4B;EvE+6PlE;EuE96PM;;IAEE,8BAAoC;EvEg7P5C;EuE96PM;;IAEE,gCAAwC;EvEg7PhD;EuE96PM;;IAEE,iCAA0C;EvEg7PlD;EuE96PM;;IAEE,+BAAsC;EvEg7P9C;EuE/7PM;IAAgC,wBAA4B;EvEk8PlE;EuEj8PM;;IAEE,4BAAoC;EvEm8P5C;EuEj8PM;;IAEE,8BAAwC;EvEm8PhD;EuEj8PM;;IAEE,+BAA0C;EvEm8PlD;EuEj8PM;;IAEE,6BAAsC;EvEm8P9C;EuEl9PM;IAAgC,0BAA4B;EvEq9PlE;EuEp9PM;;IAEE,8BAAoC;EvEs9P5C;EuEp9PM;;IAEE,gCAAwC;EvEs9PhD;EuEp9PM;;IAEE,iCAA0C;EvEs9PlD;EuEp9PM;;IAEE,+BAAsC;EvEs9P9C;EuEr+PM;IAAgC,wBAA4B;EvEw+PlE;EuEv+PM;;IAEE,4BAAoC;EvEy+P5C;EuEv+PM;;IAEE,8BAAwC;EvEy+PhD;EuEv+PM;;IAEE,+BAA0C;EvEy+PlD;EuEv+PM;;IAEE,6BAAsC;EvEy+P9C;EuEj+PM;IAAwB,2BAA2B;EvEo+PzD;EuEn+PM;;IAEE,+BAA+B;EvEq+PvC;EuEn+PM;;IAEE,iCAAiC;EvEq+PzC;EuEn+PM;;IAEE,kCAAkC;EvEq+P1C;EuEn+PM;;IAEE,gCAAgC;EvEq+PxC;EuEp/PM;IAAwB,0BAA2B;EvEu/PzD;EuEt/PM;;IAEE,8BAA+B;EvEw/PvC;EuEt/PM;;IAEE,gCAAiC;EvEw/PzC;EuEt/PM;;IAEE,iCAAkC;EvEw/P1C;EuEt/PM;;IAEE,+BAAgC;EvEw/PxC;EuEvgQM;IAAwB,wBAA2B;EvE0gQzD;EuEzgQM;;IAEE,4BAA+B;EvE2gQvC;EuEzgQM;;IAEE,8BAAiC;EvE2gQzC;EuEzgQM;;IAEE,+BAAkC;EvE2gQ1C;EuEzgQM;;IAEE,6BAAgC;EvE2gQxC;EuE1hQM;IAAwB,0BAA2B;EvE6hQzD;EuE5hQM;;IAEE,8BAA+B;EvE8hQvC;EuE5hQM;;IAEE,gCAAiC;EvE8hQzC;EuE5hQM;;IAEE,iCAAkC;EvE8hQ1C;EuE5hQM;;IAEE,+BAAgC;EvE8hQxC;EuE7iQM;IAAwB,wBAA2B;EvEgjQzD;EuE/iQM;;IAEE,4BAA+B;EvEijQvC;EuE/iQM;;IAEE,8BAAiC;EvEijQzC;EuE/iQM;;IAEE,+BAAkC;EvEijQ1C;EuE/iQM;;IAEE,6BAAgC;EvEijQxC;EuE3iQE;IAAmB,uBAAuB;EvE8iQ5C;EuE7iQE;;IAEE,2BAA2B;EvE+iQ/B;EuE7iQE;;IAEE,6BAA6B;EvE+iQjC;EuE7iQE;;IAEE,8BAA8B;EvE+iQlC;EuE7iQE;;IAEE,4BAA4B;EvE+iQhC;AACF;;AczjQI;EyDlDI;IAAgC,oBAA4B;EvEgnQlE;EuE/mQM;;IAEE,wBAAoC;EvEinQ5C;EuE/mQM;;IAEE,0BAAwC;EvEinQhD;EuE/mQM;;IAEE,2BAA0C;EvEinQlD;EuE/mQM;;IAEE,yBAAsC;EvEinQ9C;EuEhoQM;IAAgC,0BAA4B;EvEmoQlE;EuEloQM;;IAEE,8BAAoC;EvEooQ5C;EuEloQM;;IAEE,gCAAwC;EvEooQhD;EuEloQM;;IAEE,iCAA0C;EvEooQlD;EuEloQM;;IAEE,+BAAsC;EvEooQ9C;EuEnpQM;IAAgC,yBAA4B;EvEspQlE;EuErpQM;;IAEE,6BAAoC;EvEupQ5C;EuErpQM;;IAEE,+BAAwC;EvEupQhD;EuErpQM;;IAEE,gCAA0C;EvEupQlD;EuErpQM;;IAEE,8BAAsC;EvEupQ9C;EuEtqQM;IAAgC,uBAA4B;EvEyqQlE;EuExqQM;;IAEE,2BAAoC;EvE0qQ5C;EuExqQM;;IAEE,6BAAwC;EvE0qQhD;EuExqQM;;IAEE,8BAA0C;EvE0qQlD;EuExqQM;;IAEE,4BAAsC;EvE0qQ9C;EuEzrQM;IAAgC,yBAA4B;EvE4rQlE;EuE3rQM;;IAEE,6BAAoC;EvE6rQ5C;EuE3rQM;;IAEE,+BAAwC;EvE6rQhD;EuE3rQM;;IAEE,gCAA0C;EvE6rQlD;EuE3rQM;;IAEE,8BAAsC;EvE6rQ9C;EuE5sQM;IAAgC,uBAA4B;EvE+sQlE;EuE9sQM;;IAEE,2BAAoC;EvEgtQ5C;EuE9sQM;;IAEE,6BAAwC;EvEgtQhD;EuE9sQM;;IAEE,8BAA0C;EvEgtQlD;EuE9sQM;;IAEE,4BAAsC;EvEgtQ9C;EuE/tQM;IAAgC,qBAA4B;EvEkuQlE;EuEjuQM;;IAEE,yBAAoC;EvEmuQ5C;EuEjuQM;;IAEE,2BAAwC;EvEmuQhD;EuEjuQM;;IAEE,4BAA0C;EvEmuQlD;EuEjuQM;;IAEE,0BAAsC;EvEmuQ9C;EuElvQM;IAAgC,2BAA4B;EvEqvQlE;EuEpvQM;;IAEE,+BAAoC;EvEsvQ5C;EuEpvQM;;IAEE,iCAAwC;EvEsvQhD;EuEpvQM;;IAEE,kCAA0C;EvEsvQlD;EuEpvQM;;IAEE,gCAAsC;EvEsvQ9C;EuErwQM;IAAgC,0BAA4B;EvEwwQlE;EuEvwQM;;IAEE,8BAAoC;EvEywQ5C;EuEvwQM;;IAEE,gCAAwC;EvEywQhD;EuEvwQM;;IAEE,iCAA0C;EvEywQlD;EuEvwQM;;IAEE,+BAAsC;EvEywQ9C;EuExxQM;IAAgC,wBAA4B;EvE2xQlE;EuE1xQM;;IAEE,4BAAoC;EvE4xQ5C;EuE1xQM;;IAEE,8BAAwC;EvE4xQhD;EuE1xQM;;IAEE,+BAA0C;EvE4xQlD;EuE1xQM;;IAEE,6BAAsC;EvE4xQ9C;EuE3yQM;IAAgC,0BAA4B;EvE8yQlE;EuE7yQM;;IAEE,8BAAoC;EvE+yQ5C;EuE7yQM;;IAEE,gCAAwC;EvE+yQhD;EuE7yQM;;IAEE,iCAA0C;EvE+yQlD;EuE7yQM;;IAEE,+BAAsC;EvE+yQ9C;EuE9zQM;IAAgC,wBAA4B;EvEi0QlE;EuEh0QM;;IAEE,4BAAoC;EvEk0Q5C;EuEh0QM;;IAEE,8BAAwC;EvEk0QhD;EuEh0QM;;IAEE,+BAA0C;EvEk0QlD;EuEh0QM;;IAEE,6BAAsC;EvEk0Q9C;EuE1zQM;IAAwB,2BAA2B;EvE6zQzD;EuE5zQM;;IAEE,+BAA+B;EvE8zQvC;EuE5zQM;;IAEE,iCAAiC;EvE8zQzC;EuE5zQM;;IAEE,kCAAkC;EvE8zQ1C;EuE5zQM;;IAEE,gCAAgC;EvE8zQxC;EuE70QM;IAAwB,0BAA2B;EvEg1QzD;EuE/0QM;;IAEE,8BAA+B;EvEi1QvC;EuE/0QM;;IAEE,gCAAiC;EvEi1QzC;EuE/0QM;;IAEE,iCAAkC;EvEi1Q1C;EuE/0QM;;IAEE,+BAAgC;EvEi1QxC;EuEh2QM;IAAwB,wBAA2B;EvEm2QzD;EuEl2QM;;IAEE,4BAA+B;EvEo2QvC;EuEl2QM;;IAEE,8BAAiC;EvEo2QzC;EuEl2QM;;IAEE,+BAAkC;EvEo2Q1C;EuEl2QM;;IAEE,6BAAgC;EvEo2QxC;EuEn3QM;IAAwB,0BAA2B;EvEs3QzD;EuEr3QM;;IAEE,8BAA+B;EvEu3QvC;EuEr3QM;;IAEE,gCAAiC;EvEu3QzC;EuEr3QM;;IAEE,iCAAkC;EvEu3Q1C;EuEr3QM;;IAEE,+BAAgC;EvEu3QxC;EuEt4QM;IAAwB,wBAA2B;EvEy4QzD;EuEx4QM;;IAEE,4BAA+B;EvE04QvC;EuEx4QM;;IAEE,8BAAiC;EvE04QzC;EuEx4QM;;IAEE,+BAAkC;EvE04Q1C;EuEx4QM;;IAEE,6BAAgC;EvE04QxC;EuEp4QE;IAAmB,uBAAuB;EvEu4Q5C;EuEt4QE;;IAEE,2BAA2B;EvEw4Q/B;EuEt4QE;;IAEE,6BAA6B;EvEw4QjC;EuEt4QE;;IAEE,8BAA8B;EvEw4QlC;EuEt4QE;;IAEE,4BAA4B;EvEw4QhC;AACF;;Acl5QI;EyDlDI;IAAgC,oBAA4B;EvEy8QlE;EuEx8QM;;IAEE,wBAAoC;EvE08Q5C;EuEx8QM;;IAEE,0BAAwC;EvE08QhD;EuEx8QM;;IAEE,2BAA0C;EvE08QlD;EuEx8QM;;IAEE,yBAAsC;EvE08Q9C;EuEz9QM;IAAgC,0BAA4B;EvE49QlE;EuE39QM;;IAEE,8BAAoC;EvE69Q5C;EuE39QM;;IAEE,gCAAwC;EvE69QhD;EuE39QM;;IAEE,iCAA0C;EvE69QlD;EuE39QM;;IAEE,+BAAsC;EvE69Q9C;EuE5+QM;IAAgC,yBAA4B;EvE++QlE;EuE9+QM;;IAEE,6BAAoC;EvEg/Q5C;EuE9+QM;;IAEE,+BAAwC;EvEg/QhD;EuE9+QM;;IAEE,gCAA0C;EvEg/QlD;EuE9+QM;;IAEE,8BAAsC;EvEg/Q9C;EuE//QM;IAAgC,uBAA4B;EvEkgRlE;EuEjgRM;;IAEE,2BAAoC;EvEmgR5C;EuEjgRM;;IAEE,6BAAwC;EvEmgRhD;EuEjgRM;;IAEE,8BAA0C;EvEmgRlD;EuEjgRM;;IAEE,4BAAsC;EvEmgR9C;EuElhRM;IAAgC,yBAA4B;EvEqhRlE;EuEphRM;;IAEE,6BAAoC;EvEshR5C;EuEphRM;;IAEE,+BAAwC;EvEshRhD;EuEphRM;;IAEE,gCAA0C;EvEshRlD;EuEphRM;;IAEE,8BAAsC;EvEshR9C;EuEriRM;IAAgC,uBAA4B;EvEwiRlE;EuEviRM;;IAEE,2BAAoC;EvEyiR5C;EuEviRM;;IAEE,6BAAwC;EvEyiRhD;EuEviRM;;IAEE,8BAA0C;EvEyiRlD;EuEviRM;;IAEE,4BAAsC;EvEyiR9C;EuExjRM;IAAgC,qBAA4B;EvE2jRlE;EuE1jRM;;IAEE,yBAAoC;EvE4jR5C;EuE1jRM;;IAEE,2BAAwC;EvE4jRhD;EuE1jRM;;IAEE,4BAA0C;EvE4jRlD;EuE1jRM;;IAEE,0BAAsC;EvE4jR9C;EuE3kRM;IAAgC,2BAA4B;EvE8kRlE;EuE7kRM;;IAEE,+BAAoC;EvE+kR5C;EuE7kRM;;IAEE,iCAAwC;EvE+kRhD;EuE7kRM;;IAEE,kCAA0C;EvE+kRlD;EuE7kRM;;IAEE,gCAAsC;EvE+kR9C;EuE9lRM;IAAgC,0BAA4B;EvEimRlE;EuEhmRM;;IAEE,8BAAoC;EvEkmR5C;EuEhmRM;;IAEE,gCAAwC;EvEkmRhD;EuEhmRM;;IAEE,iCAA0C;EvEkmRlD;EuEhmRM;;IAEE,+BAAsC;EvEkmR9C;EuEjnRM;IAAgC,wBAA4B;EvEonRlE;EuEnnRM;;IAEE,4BAAoC;EvEqnR5C;EuEnnRM;;IAEE,8BAAwC;EvEqnRhD;EuEnnRM;;IAEE,+BAA0C;EvEqnRlD;EuEnnRM;;IAEE,6BAAsC;EvEqnR9C;EuEpoRM;IAAgC,0BAA4B;EvEuoRlE;EuEtoRM;;IAEE,8BAAoC;EvEwoR5C;EuEtoRM;;IAEE,gCAAwC;EvEwoRhD;EuEtoRM;;IAEE,iCAA0C;EvEwoRlD;EuEtoRM;;IAEE,+BAAsC;EvEwoR9C;EuEvpRM;IAAgC,wBAA4B;EvE0pRlE;EuEzpRM;;IAEE,4BAAoC;EvE2pR5C;EuEzpRM;;IAEE,8BAAwC;EvE2pRhD;EuEzpRM;;IAEE,+BAA0C;EvE2pRlD;EuEzpRM;;IAEE,6BAAsC;EvE2pR9C;EuEnpRM;IAAwB,2BAA2B;EvEspRzD;EuErpRM;;IAEE,+BAA+B;EvEupRvC;EuErpRM;;IAEE,iCAAiC;EvEupRzC;EuErpRM;;IAEE,kCAAkC;EvEupR1C;EuErpRM;;IAEE,gCAAgC;EvEupRxC;EuEtqRM;IAAwB,0BAA2B;EvEyqRzD;EuExqRM;;IAEE,8BAA+B;EvE0qRvC;EuExqRM;;IAEE,gCAAiC;EvE0qRzC;EuExqRM;;IAEE,iCAAkC;EvE0qR1C;EuExqRM;;IAEE,+BAAgC;EvE0qRxC;EuEzrRM;IAAwB,wBAA2B;EvE4rRzD;EuE3rRM;;IAEE,4BAA+B;EvE6rRvC;EuE3rRM;;IAEE,8BAAiC;EvE6rRzC;EuE3rRM;;IAEE,+BAAkC;EvE6rR1C;EuE3rRM;;IAEE,6BAAgC;EvE6rRxC;EuE5sRM;IAAwB,0BAA2B;EvE+sRzD;EuE9sRM;;IAEE,8BAA+B;EvEgtRvC;EuE9sRM;;IAEE,gCAAiC;EvEgtRzC;EuE9sRM;;IAEE,iCAAkC;EvEgtR1C;EuE9sRM;;IAEE,+BAAgC;EvEgtRxC;EuE/tRM;IAAwB,wBAA2B;EvEkuRzD;EuEjuRM;;IAEE,4BAA+B;EvEmuRvC;EuEjuRM;;IAEE,8BAAiC;EvEmuRzC;EuEjuRM;;IAEE,+BAAkC;EvEmuR1C;EuEjuRM;;IAEE,6BAAgC;EvEmuRxC;EuE7tRE;IAAmB,uBAAuB;EvEguR5C;EuE/tRE;;IAEE,2BAA2B;EvEiuR/B;EuE/tRE;;IAEE,6BAA6B;EvEiuRjC;EuE/tRE;;IAEE,8BAA8B;EvEiuRlC;EuE/tRE;;IAEE,4BAA4B;EvEiuRhC;AACF;;Ac3uRI;EyDlDI;IAAgC,oBAA4B;EvEkyRlE;EuEjyRM;;IAEE,wBAAoC;EvEmyR5C;EuEjyRM;;IAEE,0BAAwC;EvEmyRhD;EuEjyRM;;IAEE,2BAA0C;EvEmyRlD;EuEjyRM;;IAEE,yBAAsC;EvEmyR9C;EuElzRM;IAAgC,0BAA4B;EvEqzRlE;EuEpzRM;;IAEE,8BAAoC;EvEszR5C;EuEpzRM;;IAEE,gCAAwC;EvEszRhD;EuEpzRM;;IAEE,iCAA0C;EvEszRlD;EuEpzRM;;IAEE,+BAAsC;EvEszR9C;EuEr0RM;IAAgC,yBAA4B;EvEw0RlE;EuEv0RM;;IAEE,6BAAoC;EvEy0R5C;EuEv0RM;;IAEE,+BAAwC;EvEy0RhD;EuEv0RM;;IAEE,gCAA0C;EvEy0RlD;EuEv0RM;;IAEE,8BAAsC;EvEy0R9C;EuEx1RM;IAAgC,uBAA4B;EvE21RlE;EuE11RM;;IAEE,2BAAoC;EvE41R5C;EuE11RM;;IAEE,6BAAwC;EvE41RhD;EuE11RM;;IAEE,8BAA0C;EvE41RlD;EuE11RM;;IAEE,4BAAsC;EvE41R9C;EuE32RM;IAAgC,yBAA4B;EvE82RlE;EuE72RM;;IAEE,6BAAoC;EvE+2R5C;EuE72RM;;IAEE,+BAAwC;EvE+2RhD;EuE72RM;;IAEE,gCAA0C;EvE+2RlD;EuE72RM;;IAEE,8BAAsC;EvE+2R9C;EuE93RM;IAAgC,uBAA4B;EvEi4RlE;EuEh4RM;;IAEE,2BAAoC;EvEk4R5C;EuEh4RM;;IAEE,6BAAwC;EvEk4RhD;EuEh4RM;;IAEE,8BAA0C;EvEk4RlD;EuEh4RM;;IAEE,4BAAsC;EvEk4R9C;EuEj5RM;IAAgC,qBAA4B;EvEo5RlE;EuEn5RM;;IAEE,yBAAoC;EvEq5R5C;EuEn5RM;;IAEE,2BAAwC;EvEq5RhD;EuEn5RM;;IAEE,4BAA0C;EvEq5RlD;EuEn5RM;;IAEE,0BAAsC;EvEq5R9C;EuEp6RM;IAAgC,2BAA4B;EvEu6RlE;EuEt6RM;;IAEE,+BAAoC;EvEw6R5C;EuEt6RM;;IAEE,iCAAwC;EvEw6RhD;EuEt6RM;;IAEE,kCAA0C;EvEw6RlD;EuEt6RM;;IAEE,gCAAsC;EvEw6R9C;EuEv7RM;IAAgC,0BAA4B;EvE07RlE;EuEz7RM;;IAEE,8BAAoC;EvE27R5C;EuEz7RM;;IAEE,gCAAwC;EvE27RhD;EuEz7RM;;IAEE,iCAA0C;EvE27RlD;EuEz7RM;;IAEE,+BAAsC;EvE27R9C;EuE18RM;IAAgC,wBAA4B;EvE68RlE;EuE58RM;;IAEE,4BAAoC;EvE88R5C;EuE58RM;;IAEE,8BAAwC;EvE88RhD;EuE58RM;;IAEE,+BAA0C;EvE88RlD;EuE58RM;;IAEE,6BAAsC;EvE88R9C;EuE79RM;IAAgC,0BAA4B;EvEg+RlE;EuE/9RM;;IAEE,8BAAoC;EvEi+R5C;EuE/9RM;;IAEE,gCAAwC;EvEi+RhD;EuE/9RM;;IAEE,iCAA0C;EvEi+RlD;EuE/9RM;;IAEE,+BAAsC;EvEi+R9C;EuEh/RM;IAAgC,wBAA4B;EvEm/RlE;EuEl/RM;;IAEE,4BAAoC;EvEo/R5C;EuEl/RM;;IAEE,8BAAwC;EvEo/RhD;EuEl/RM;;IAEE,+BAA0C;EvEo/RlD;EuEl/RM;;IAEE,6BAAsC;EvEo/R9C;EuE5+RM;IAAwB,2BAA2B;EvE++RzD;EuE9+RM;;IAEE,+BAA+B;EvEg/RvC;EuE9+RM;;IAEE,iCAAiC;EvEg/RzC;EuE9+RM;;IAEE,kCAAkC;EvEg/R1C;EuE9+RM;;IAEE,gCAAgC;EvEg/RxC;EuE//RM;IAAwB,0BAA2B;EvEkgSzD;EuEjgSM;;IAEE,8BAA+B;EvEmgSvC;EuEjgSM;;IAEE,gCAAiC;EvEmgSzC;EuEjgSM;;IAEE,iCAAkC;EvEmgS1C;EuEjgSM;;IAEE,+BAAgC;EvEmgSxC;EuElhSM;IAAwB,wBAA2B;EvEqhSzD;EuEphSM;;IAEE,4BAA+B;EvEshSvC;EuEphSM;;IAEE,8BAAiC;EvEshSzC;EuEphSM;;IAEE,+BAAkC;EvEshS1C;EuEphSM;;IAEE,6BAAgC;EvEshSxC;EuEriSM;IAAwB,0BAA2B;EvEwiSzD;EuEviSM;;IAEE,8BAA+B;EvEyiSvC;EuEviSM;;IAEE,gCAAiC;EvEyiSzC;EuEviSM;;IAEE,iCAAkC;EvEyiS1C;EuEviSM;;IAEE,+BAAgC;EvEyiSxC;EuExjSM;IAAwB,wBAA2B;EvE2jSzD;EuE1jSM;;IAEE,4BAA+B;EvE4jSvC;EuE1jSM;;IAEE,8BAAiC;EvE4jSzC;EuE1jSM;;IAEE,+BAAkC;EvE4jS1C;EuE1jSM;;IAEE,6BAAgC;EvE4jSxC;EuEtjSE;IAAmB,uBAAuB;EvEyjS5C;EuExjSE;;IAEE,2BAA2B;EvE0jS/B;EuExjSE;;IAEE,6BAA6B;EvE0jSjC;EuExjSE;;IAEE,8BAA8B;EvE0jSlC;EuExjSE;;IAEE,4BAA4B;EvE0jShC;AACF;;AwE5nSA;EAEI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,UAAU;EAEV,oBAAoB;EACpB,WAAW;EAEX,kCAAkC;AxE4nStC;;AyEtoSA;EAAkB,4GAA8C;AzE0oShE;;AyEtoSA;EAAiB,8BAA8B;AzE0oS/C;;AyEzoSA;EAAiB,8BAA8B;AzE6oS/C;;AyE5oSA;EAAiB,8BAA8B;AzEgpS/C;;AyE/oSA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;A1E4pSrB;;AyE7oSI;EAAwB,2BAA2B;AzEipSvD;;AyEhpSI;EAAwB,4BAA4B;AzEopSxD;;AyEnpSI;EAAwB,6BAA6B;AzEupSzD;;AclnSI;E2DvCA;IAAwB,2BAA2B;EzE8pSrD;EyE7pSE;IAAwB,4BAA4B;EzEgqStD;EyE/pSE;IAAwB,6BAA6B;EzEkqSvD;AACF;;Ac9nSI;E2DvCA;IAAwB,2BAA2B;EzE0qSrD;EyEzqSE;IAAwB,4BAA4B;EzE4qStD;EyE3qSE;IAAwB,6BAA6B;EzE8qSvD;AACF;;Ac1oSI;E2DvCA;IAAwB,2BAA2B;EzEsrSrD;EyErrSE;IAAwB,4BAA4B;EzEwrStD;EyEvrSE;IAAwB,6BAA6B;EzE0rSvD;AACF;;ActpSI;E2DvCA;IAAwB,2BAA2B;EzEksSrD;EyEjsSE;IAAwB,4BAA4B;EzEosStD;EyEnsSE;IAAwB,6BAA6B;EzEssSvD;AACF;;AyEjsSA;EAAmB,oCAAoC;AzEqsSvD;;AyEpsSA;EAAmB,oCAAoC;AzEwsSvD;;AyEvsSA;EAAmB,qCAAqC;AzE2sSxD;;AyEvsSA;EAAuB,2BAA0C;AzE2sSjE;;AyE1sSA;EAAuB,+BAA4C;AzE8sSnE;;AyE7sSA;EAAuB,2BAA2C;AzEitSlE;;AyEhtSA;EAAuB,2BAAyC;AzEotShE;;AyEntSA;EAAuB,8BAA2C;AzEutSlE;;AyEttSA;EAAuB,6BAA6B;AzE0tSpD;;AyEttSA;EAAc,sBAAwB;AzE0tStC;;A2EjwSE;EACE,yBAAwB;A3EowS5B;;AK1vSE;EsELM,yBAA0E;A3EmwSlF;;A2EzwSE;EACE,yBAAwB;A3E4wS5B;;AKlwSE;EsELM,yBAA0E;A3E2wSlF;;A2EjxSE;EACE,yBAAwB;A3EoxS5B;;AK1wSE;EsELM,yBAA0E;A3EmxSlF;;A2EzxSE;EACE,yBAAwB;A3E4xS5B;;AKlxSE;EsELM,yBAA0E;A3E2xSlF;;A2EjySE;EACE,yBAAwB;A3EoyS5B;;AK1xSE;EsELM,yBAA0E;A3EmySlF;;A2EzySE;EACE,yBAAwB;A3E4yS5B;;AKlySE;EsELM,yBAA0E;A3E2ySlF;;A2EjzSE;EACE,yBAAwB;A3EozS5B;;AK1ySE;EsELM,yBAA0E;A3EmzSlF;;A2EzzSE;EACE,yBAAwB;A3E4zS5B;;AKlzSE;EsELM,yBAA0E;A3E2zSlF;;AyEpxSA;EAAa,yBAA6B;AzEwxS1C;;AyEvxSA;EAAc,yBAA6B;AzE2xS3C;;AyEzxSA;EAAiB,oCAAkC;AzE6xSnD;;AyE5xSA;EAAiB,0CAAkC;AzEgySnD;;AyE5xSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A5Eu1SX;;AyEhySA;EAAwB,gCAAgC;AzEoySxD;;AyElySA;EACE,gCAAgC;AzEqySlC;;AyEhySA;EAAc,yBAAyB;AzEoySvC;;A6Ep2SA;EACE,8BAA8B;A7Eu2ShC;;A6Ep2SA;EACE,6BAA6B;A7Eu2S/B;;A8Ev2SE;E5EOF;;;I4EDM,4BAA4B;IAE5B,2BAA2B;E9Eu2S/B;E8Ep2SE;IAEI,0BAA0B;E9Eq2ShC;E8E51SE;IACE,6BAA6B;E9E81SjC;EEhqSF;I4E/KM,gCAAgC;E9Ek1SpC;E8Eh1SE;;IAEE,yB3EzCY;I2E0CZ,wBAAwB;E9Ek1S5B;E8E10SE;IACE,2BAA2B;E9E40S/B;E8Ez0SE;;IAEE,wBAAwB;E9E20S5B;E8Ex0SE;;;IAGE,UAAU;IACV,SAAS;E9E00Sb;E8Ev0SE;;IAEE,uBAAuB;E9Ey0S3B;E8Ej0SE;IACE,Q3EgiCgC;EHmyQpC;EE/2SF;I4E+CM,2BAA2C;E9Em0S/C;EYz5SA;IkEyFI,2BAA2C;E9Em0S/C;EiCj5SF;I6CmFM,aAAa;E9Ei0SjB;EsCh6SF;IwCkGM,sB3EtFS;EHu5Sb;EgBp6SF;I8DuGM,oCAAoC;E9Eg0SxC;E8Ej0SE;;IAKI,iCAAmC;E9Eg0SzC;EgBn4SF;;I8D0EQ,oCAAsC;E9E6zS5C;EgBlzSF;I8DNM,cAAc;E9E2zSlB;EiBj7SA;;;;I6D4HM,qB3EvHU;EHk7ShB;EgB70SF;I8DuBM,cAAc;IACd,qB3E7HY;EHs7ShB;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","/*!\n * Bootstrap v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.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 {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.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 {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%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\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n 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\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n 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\");\n}\n\n.carousel-control-next-icon {\n 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\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n (\"(\",\"%28\"),\n (\")\",\"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' 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'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height / 2;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n // stylelint-disable-next-line selector-max-universal\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate(\"The `bg-gradient-variant` mixin\", \"v4.5.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable property-blacklist, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap.min.css b/vendor/twbs/bootstrap/dist/css/bootstrap.min.css
index 86b6845bc..7d2a868f5 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap.min.css
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap.min.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::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:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.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:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):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}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:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}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}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}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}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:500;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:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}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:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.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:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.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:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.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:#fbfcfc}.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:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>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:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.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:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;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:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;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:#28a745}.valid-tooltip{position:absolute;top:100%;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(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;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='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.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:#28a745;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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.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:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.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(40,167,69,.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:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-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:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.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(220,53,69,.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:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-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:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.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(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.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(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.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(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.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(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.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(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.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(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.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(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;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:#007bff;border-color:#007bff}.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(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;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:#6c757d;border-color:#6c757d}.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(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;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:#28a745;border-color:#28a745}.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(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;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:#17a2b8;border-color:#17a2b8}.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(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;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:#212529;background-color:#ffc107;border-color:#ffc107}.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(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;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:#dc3545;border-color:#dc3545}.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(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.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,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;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 .35s 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:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-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 #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;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{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;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(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.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>.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-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.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;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.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:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.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(0,123,255,.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:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .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;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.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:#495057;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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .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;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.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:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 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(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;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:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;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:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;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:#007bff;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:#b3d7ff}.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:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;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{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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(0, 0, 0, 0.5)' 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(255, 255, 255, 0.5)' 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:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;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:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.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}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;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{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.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:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.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:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;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:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-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:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;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:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.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;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.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:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;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{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;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:-ms-flexbox;display:flex;-ms-flex-direction:column;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:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.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)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.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:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.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:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;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:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-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){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack: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:no-repeat 50%/100% 100%}.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:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;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{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);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:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!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:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;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:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;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.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.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 rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.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}.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)}.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}}.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{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:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!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;overflow-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 #adb5bd;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 #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::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:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.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:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):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:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}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:500;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:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}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:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.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:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.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:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.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:#fbfcfc}.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:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>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:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.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:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;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:#495057;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:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;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:#28a745}.valid-tooltip{position:absolute;top:100%;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(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;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='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.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:#28a745;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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.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:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.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(40,167,69,.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:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-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:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.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(220,53,69,.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:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;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:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.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:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.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(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.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(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.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(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.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(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.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(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.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(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.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(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;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:#007bff;border-color:#007bff}.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(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;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:#6c757d;border-color:#6c757d}.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(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;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:#28a745;border-color:#28a745}.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(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;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:#17a2b8;border-color:#17a2b8}.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(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;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:#212529;background-color:#ffc107;border-color:#ffc107}.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(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;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:#dc3545;border-color:#dc3545}.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(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.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,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;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 .35s 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:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-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 #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;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{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;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(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.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>.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-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.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;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.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:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.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(0,123,255,.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:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .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;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.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:#495057;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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .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;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.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:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 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(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;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:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;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:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;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:#007bff;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:#b3d7ff}.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:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;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{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-body{-ms-flex:1 1 auto;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:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.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}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;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{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.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:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.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:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;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:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-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:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;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:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.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:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.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:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.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{max-width:350px;overflow:hidden;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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.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:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;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{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;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{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;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:-ms-flexbox;display:flex;-ms-flex-direction:column;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:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.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:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.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:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.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:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;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:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-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){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack: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:no-repeat 50%/100% 100%}.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:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;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{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);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:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;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:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!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:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;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:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;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.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.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 rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.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}.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:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!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-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 #adb5bd;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 #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/css/bootstrap.min.css.map b/vendor/twbs/bootstrap/dist/css/bootstrap.min.css.map
index b939eb6f3..e6bc16cbf 100644
--- a/vendor/twbs/bootstrap/dist/css/bootstrap.min.css.map
+++ b/vendor/twbs/bootstrap/dist/css/bootstrap.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.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 {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.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 {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -ms-flex: 1 1 0%;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: -ms-flexbox;\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n 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;\n 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, -webkit-transform 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n -webkit-transform: translateX(0.75rem);\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n -ms-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .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 {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .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 {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .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 {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .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 {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n 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(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.media {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -50px);\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: none;\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n -webkit-transform: scale(1.02);\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: -ms-flexbox;\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n -webkit-transform: none;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n 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\");\n}\n\n.carousel-control-next-icon {\n 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\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.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 {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.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 {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n 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(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n 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\");\n}\n\n.carousel-control-next-icon {\n 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\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow;\n } @else {\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height / 2;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n // stylelint-disable-next-line selector-max-universal\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable property-blacklist, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // IE & < Edge 18\n overflow-wrap: break-word !important;\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.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 {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.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 {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: -ms-flexbox;\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n 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;\n 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, -webkit-transform 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n -webkit-transform: translateX(0.75rem);\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n -ms-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .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 {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .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 {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .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 {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .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 {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%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\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n 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\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: -ms-flexbox;\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.media {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -50px);\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: none;\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n -webkit-transform: scale(1.02);\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: -ms-flexbox;\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: -webkit-min-content;\n height: -moz-min-content;\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: -webkit-min-content;\n height: -moz-min-content;\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n -webkit-transform: none;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n 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\");\n}\n\n.carousel-control-next-icon {\n 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\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n -ms-user-select: all !important;\n user-select: all !important;\n}\n\n.user-select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n -ms-user-select: auto !important;\n user-select: auto !important;\n}\n\n.user-select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n -ms-user-select: none !important;\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.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 {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.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 {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .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 {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .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 {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%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\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n 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\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n 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;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n 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\");\n}\n\n.carousel-control-next-icon {\n 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\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height / 2;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n // stylelint-disable-next-line selector-max-universal\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate(\"The `bg-gradient-variant` mixin\", \"v4.5.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable property-blacklist, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js b/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js
index 534452210..d9236dace 100644
--- a/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js
+++ b/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,7 +9,7 @@
(global = global || self, factory(global.bootstrap = {}, global.jQuery));
}(this, (function (exports, $) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -84,7 +84,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): util.js
+ * Bootstrap (v4.5.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -99,6 +99,10 @@
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();
}
@@ -111,7 +115,7 @@
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
- return undefined; // eslint-disable-line no-undefined
+ return undefined;
}
};
}
@@ -261,33 +265,25 @@
*/
var NAME = 'alert';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var Selector = {
- DISMISS: '[data-dismiss="alert"]'
- };
- var Event = {
- CLOSE: "close" + EVENT_KEY,
- CLOSED: "closed" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- ALERT: 'alert',
- FADE: 'fade',
- SHOW: 'show'
- };
+ 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 () {
+ var Alert = /*#__PURE__*/function () {
function Alert(element) {
this._element = element;
} // Getters
@@ -327,14 +323,14 @@
}
if (!parent) {
- parent = $(element).closest("." + ClassName.ALERT)[0];
+ parent = $(element).closest("." + CLASS_NAME_ALERT)[0];
}
return parent;
};
_proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- var closeEvent = $.Event(Event.CLOSE);
+ var closeEvent = $.Event(EVENT_CLOSE);
$(element).trigger(closeEvent);
return closeEvent;
};
@@ -342,9 +338,9 @@
_proto._removeElement = function _removeElement(element) {
var _this = this;
- $(element).removeClass(ClassName.SHOW);
+ $(element).removeClass(CLASS_NAME_SHOW);
- if (!$(element).hasClass(ClassName.FADE)) {
+ if (!$(element).hasClass(CLASS_NAME_FADE)) {
this._destroyElement(element);
return;
@@ -357,7 +353,7 @@
};
_proto._destroyElement = function _destroyElement(element) {
- $(element).detach().trigger(Event.CLOSED).remove();
+ $(element).detach().trigger(EVENT_CLOSED).remove();
} // Static
;
@@ -403,7 +399,7 @@
*/
- $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
/**
* ------------------------------------------------------------------------
* jQuery
@@ -425,39 +421,31 @@
*/
var NAME$1 = 'button';
- var VERSION$1 = '4.4.1';
+ var VERSION$1 = '4.5.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 = $.fn[NAME$1];
- var ClassName$1 = {
- ACTIVE: 'active',
- BUTTON: 'btn',
- FOCUS: 'focus'
- };
- var Selector$1 = {
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
- DATA_TOGGLES: '[data-toggle="buttons"]',
- DATA_TOGGLE: '[data-toggle="button"]',
- DATA_TOGGLES_BUTTONS: '[data-toggle="buttons"] .btn',
- INPUT: 'input:not([type="hidden"])',
- ACTIVE: '.active',
- BUTTON: '.btn'
- };
- var Event$1 = {
- CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1),
- LOAD_DATA_API: "load" + EVENT_KEY$1 + DATA_API_KEY$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 () {
+ var Button = /*#__PURE__*/function () {
function Button(element) {
this._element = element;
} // Getters
@@ -469,33 +457,30 @@
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
- var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLES)[0];
+ var rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0];
if (rootElement) {
- var input = this._element.querySelector(Selector$1.INPUT);
+ var input = this._element.querySelector(SELECTOR_INPUT);
if (input) {
if (input.type === 'radio') {
- if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
+ if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
triggerChangeEvent = false;
} else {
- var activeElement = rootElement.querySelector(Selector$1.ACTIVE);
+ var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
if (activeElement) {
- $(activeElement).removeClass(ClassName$1.ACTIVE);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE);
}
}
- } else if (input.type === 'checkbox') {
- if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName$1.ACTIVE)) {
- triggerChangeEvent = false;
- }
- } else {
- // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
- triggerChangeEvent = false;
}
if (triggerChangeEvent) {
- input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
+ // 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);
+ }
+
$(input).trigger('change');
}
@@ -506,11 +491,11 @@
if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
}
if (triggerChangeEvent) {
- $(this._element).toggleClass(ClassName$1.ACTIVE);
+ $(this._element).toggleClass(CLASS_NAME_ACTIVE);
}
}
};
@@ -552,17 +537,18 @@
*/
- $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
var button = event.target;
+ var initialButton = button;
- if (!$(button).hasClass(ClassName$1.BUTTON)) {
- button = $(button).closest(Selector$1.BUTTON)[0];
+ if (!$(button).hasClass(CLASS_NAME_BUTTON)) {
+ button = $(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$1.INPUT);
+ var inputBtn = button.querySelector(SELECTOR_INPUT);
if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
event.preventDefault(); // work around Firefox bug #1540995
@@ -570,38 +556,42 @@
return;
}
+ if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {
+ event.preventDefault(); // work around event sent to label and input
+ }
+
Button._jQueryInterface.call($(button), 'toggle');
}
- }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
- var button = $(event.target).closest(Selector$1.BUTTON)[0];
- $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
+ }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = $(event.target).closest(SELECTOR_BUTTON)[0];
+ $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
});
- $(window).on(Event$1.LOAD_DATA_API, function () {
+ $(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$1.DATA_TOGGLES_BUTTONS));
+ 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$1.INPUT);
+ var input = button.querySelector(SELECTOR_INPUT);
if (input.checked || input.hasAttribute('checked')) {
- button.classList.add(ClassName$1.ACTIVE);
+ button.classList.add(CLASS_NAME_ACTIVE);
} else {
- button.classList.remove(ClassName$1.ACTIVE);
+ button.classList.remove(CLASS_NAME_ACTIVE);
}
} // find all button toggles
- buttons = [].slice.call(document.querySelectorAll(Selector$1.DATA_TOGGLE));
+ 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(ClassName$1.ACTIVE);
+ _button.classList.add(CLASS_NAME_ACTIVE);
} else {
- _button.classList.remove(ClassName$1.ACTIVE);
+ _button.classList.remove(CLASS_NAME_ACTIVE);
}
}
});
@@ -626,7 +616,7 @@
*/
var NAME$2 = 'carousel';
- var VERSION$2 = '4.4.1';
+ var VERSION$2 = '4.5.0';
var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api';
@@ -654,48 +644,39 @@
wrap: 'boolean',
touch: 'boolean'
};
- var Direction = {
- NEXT: 'next',
- PREV: 'prev',
- LEFT: 'left',
- RIGHT: 'right'
- };
- var Event$2 = {
- SLIDE: "slide" + EVENT_KEY$2,
- SLID: "slid" + EVENT_KEY$2,
- KEYDOWN: "keydown" + EVENT_KEY$2,
- MOUSEENTER: "mouseenter" + EVENT_KEY$2,
- MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
- TOUCHSTART: "touchstart" + EVENT_KEY$2,
- TOUCHMOVE: "touchmove" + EVENT_KEY$2,
- TOUCHEND: "touchend" + EVENT_KEY$2,
- POINTERDOWN: "pointerdown" + EVENT_KEY$2,
- POINTERUP: "pointerup" + EVENT_KEY$2,
- DRAG_START: "dragstart" + EVENT_KEY$2,
- LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
- CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
- };
- var ClassName$2 = {
- CAROUSEL: 'carousel',
- ACTIVE: 'active',
- SLIDE: 'slide',
- RIGHT: 'carousel-item-right',
- LEFT: 'carousel-item-left',
- NEXT: 'carousel-item-next',
- PREV: 'carousel-item-prev',
- ITEM: 'carousel-item',
- POINTER_EVENT: 'pointer-event'
- };
- var Selector$2 = {
- ACTIVE: '.active',
- ACTIVE_ITEM: '.active.carousel-item',
- ITEM: '.carousel-item',
- ITEM_IMG: '.carousel-item img',
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
- INDICATORS: '.carousel-indicators',
- DATA_SLIDE: '[data-slide], [data-slide-to]',
- DATA_RIDE: '[data-ride="carousel"]'
- };
+ 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'
@@ -706,9 +687,7 @@
* ------------------------------------------------------------------------
*/
- var Carousel =
- /*#__PURE__*/
- function () {
+ var Carousel = /*#__PURE__*/function () {
function Carousel(element, config) {
this._items = null;
this._interval = null;
@@ -720,7 +699,7 @@
this.touchDeltaX = 0;
this._config = this._getConfig(config);
this._element = element;
- this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
+ this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
@@ -733,7 +712,7 @@
// Public
_proto.next = function next() {
if (!this._isSliding) {
- this._slide(Direction.NEXT);
+ this._slide(DIRECTION_NEXT);
}
};
@@ -747,7 +726,7 @@
_proto.prev = function prev() {
if (!this._isSliding) {
- this._slide(Direction.PREV);
+ this._slide(DIRECTION_PREV);
}
};
@@ -756,7 +735,7 @@
this._isPaused = true;
}
- if (this._element.querySelector(Selector$2.NEXT_PREV)) {
+ if (this._element.querySelector(SELECTOR_NEXT_PREV)) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
@@ -783,7 +762,7 @@
_proto.to = function to(index) {
var _this = this;
- this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
+ this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
var activeIndex = this._getItemIndex(this._activeElement);
@@ -792,7 +771,7 @@
}
if (this._isSliding) {
- $(this._element).one(Event$2.SLID, function () {
+ $(this._element).one(EVENT_SLID, function () {
return _this.to(index);
});
return;
@@ -804,7 +783,7 @@
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
this._slide(direction, this._items[index]);
};
@@ -824,7 +803,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default), config);
Util.typeCheckConfig(NAME$2, config, DefaultType);
return config;
};
@@ -853,15 +832,15 @@
var _this2 = this;
if (this._config.keyboard) {
- $(this._element).on(Event$2.KEYDOWN, function (event) {
+ $(this._element).on(EVENT_KEYDOWN, function (event) {
return _this2._keydown(event);
});
}
if (this._config.pause === 'hover') {
- $(this._element).on(Event$2.MOUSEENTER, function (event) {
+ $(this._element).on(EVENT_MOUSEENTER, function (event) {
return _this2.pause(event);
- }).on(Event$2.MOUSELEAVE, function (event) {
+ }).on(EVENT_MOUSELEAVE, function (event) {
return _this2.cycle(event);
});
}
@@ -922,27 +901,27 @@
}
};
- $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {
+ $(this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {
return e.preventDefault();
});
if (this._pointerEvent) {
- $(this._element).on(Event$2.POINTERDOWN, function (event) {
+ $(this._element).on(EVENT_POINTERDOWN, function (event) {
return start(event);
});
- $(this._element).on(Event$2.POINTERUP, function (event) {
+ $(this._element).on(EVENT_POINTERUP, function (event) {
return end(event);
});
- this._element.classList.add(ClassName$2.POINTER_EVENT);
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
} else {
- $(this._element).on(Event$2.TOUCHSTART, function (event) {
+ $(this._element).on(EVENT_TOUCHSTART, function (event) {
return start(event);
});
- $(this._element).on(Event$2.TOUCHMOVE, function (event) {
+ $(this._element).on(EVENT_TOUCHMOVE, function (event) {
return move(event);
});
- $(this._element).on(Event$2.TOUCHEND, function (event) {
+ $(this._element).on(EVENT_TOUCHEND, function (event) {
return end(event);
});
}
@@ -967,13 +946,13 @@
};
_proto._getItemIndex = function _getItemIndex(element) {
- this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];
+ 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 isNextDirection = direction === DIRECTION_NEXT;
+ var isPrevDirection = direction === DIRECTION_PREV;
var activeIndex = this._getItemIndex(activeElement);
@@ -984,7 +963,7 @@
return activeElement;
}
- var delta = direction === Direction.PREV ? -1 : 1;
+ 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];
};
@@ -992,9 +971,9 @@
_proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var targetIndex = this._getItemIndex(relatedTarget);
- var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
+ var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));
- var slideEvent = $.Event(Event$2.SLIDE, {
+ var slideEvent = $.Event(EVENT_SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName,
from: fromIndex,
@@ -1006,13 +985,13 @@
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
- $(indicators).removeClass(ClassName$2.ACTIVE);
+ var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));
+ $(indicators).removeClass(CLASS_NAME_ACTIVE$1);
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
if (nextIndicator) {
- $(nextIndicator).addClass(ClassName$2.ACTIVE);
+ $(nextIndicator).addClass(CLASS_NAME_ACTIVE$1);
}
}
};
@@ -1020,7 +999,7 @@
_proto._slide = function _slide(direction, element) {
var _this4 = this;
- var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
+ var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
var activeElementIndex = this._getItemIndex(activeElement);
@@ -1033,17 +1012,17 @@
var orderClassName;
var eventDirectionName;
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName$2.LEFT;
- orderClassName = ClassName$2.NEXT;
- eventDirectionName = Direction.LEFT;
+ if (direction === DIRECTION_NEXT) {
+ directionalClassName = CLASS_NAME_LEFT;
+ orderClassName = CLASS_NAME_NEXT;
+ eventDirectionName = DIRECTION_LEFT;
} else {
- directionalClassName = ClassName$2.RIGHT;
- orderClassName = ClassName$2.PREV;
- eventDirectionName = Direction.RIGHT;
+ directionalClassName = CLASS_NAME_RIGHT;
+ orderClassName = CLASS_NAME_PREV;
+ eventDirectionName = DIRECTION_RIGHT;
}
- if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
+ if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE$1)) {
this._isSliding = false;
return;
}
@@ -1067,14 +1046,14 @@
this._setActiveIndicatorElement(nextElement);
- var slidEvent = $.Event(Event$2.SLID, {
+ var slidEvent = $.Event(EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
to: nextElementIndex
});
- if ($(this._element).hasClass(ClassName$2.SLIDE)) {
+ if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {
$(nextElement).addClass(orderClassName);
Util.reflow(nextElement);
$(activeElement).addClass(directionalClassName);
@@ -1090,16 +1069,16 @@
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
$(activeElement).one(Util.TRANSITION_END, function () {
- $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE);
- $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName);
+ $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$1);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE$1 + " " + orderClassName + " " + directionalClassName);
_this4._isSliding = false;
setTimeout(function () {
return $(_this4._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(transitionDuration);
} else {
- $(activeElement).removeClass(ClassName$2.ACTIVE);
- $(nextElement).addClass(ClassName$2.ACTIVE);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE$1);
+ $(nextElement).addClass(CLASS_NAME_ACTIVE$1);
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
@@ -1114,10 +1093,10 @@
return this.each(function () {
var data = $(this).data(DATA_KEY$2);
- var _config = _objectSpread2({}, Default, {}, $(this).data());
+ var _config = _objectSpread2(_objectSpread2({}, Default), $(this).data());
if (typeof config === 'object') {
- _config = _objectSpread2({}, _config, {}, config);
+ _config = _objectSpread2(_objectSpread2({}, _config), config);
}
var action = typeof config === 'string' ? config : _config.slide;
@@ -1151,11 +1130,11 @@
var target = $(selector)[0];
- if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
+ if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {
return;
}
- var config = _objectSpread2({}, $(target).data(), {}, $(this).data());
+ var config = _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
@@ -1193,9 +1172,9 @@
*/
- $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
- $(window).on(Event$2.LOAD_DATA_API, function () {
- var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
+ $(document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);
+ $(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 = $(carousels[i]);
@@ -1224,7 +1203,7 @@
*/
var NAME$3 = 'collapse';
- var VERSION$3 = '4.4.1';
+ var VERSION$3 = '4.5.0';
var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api';
@@ -1237,42 +1216,32 @@
toggle: 'boolean',
parent: '(string|element)'
};
- var Event$3 = {
- SHOW: "show" + EVENT_KEY$3,
- SHOWN: "shown" + EVENT_KEY$3,
- HIDE: "hide" + EVENT_KEY$3,
- HIDDEN: "hidden" + EVENT_KEY$3,
- CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
- };
- var ClassName$3 = {
- SHOW: 'show',
- COLLAPSE: 'collapse',
- COLLAPSING: 'collapsing',
- COLLAPSED: 'collapsed'
- };
- var Dimension = {
- WIDTH: 'width',
- HEIGHT: 'height'
- };
- var Selector$3 = {
- ACTIVES: '.show, .collapsing',
- DATA_TOGGLE: '[data-toggle="collapse"]'
- };
+ 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 () {
+ 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$3.DATA_TOGGLE));
+ var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));
for (var i = 0, len = toggleList.length; i < len; i++) {
var elem = toggleList[i];
@@ -1304,7 +1273,7 @@
// Public
_proto.toggle = function toggle() {
- if ($(this._element).hasClass(ClassName$3.SHOW)) {
+ if ($(this._element).hasClass(CLASS_NAME_SHOW$1)) {
this.hide();
} else {
this.show();
@@ -1314,7 +1283,7 @@
_proto.show = function show() {
var _this = this;
- if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {
+ if (this._isTransitioning || $(this._element).hasClass(CLASS_NAME_SHOW$1)) {
return;
}
@@ -1322,12 +1291,12 @@
var activesData;
if (this._parent) {
- actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {
+ 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(ClassName$3.COLLAPSE);
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
});
if (actives.length === 0) {
@@ -1343,7 +1312,7 @@
}
}
- var startEvent = $.Event(Event$3.SHOW);
+ var startEvent = $.Event(EVENT_SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
@@ -1360,22 +1329,22 @@
var dimension = this._getDimension();
- $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);
+ $(this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
- $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);
+ $(this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
}
this.setTransitioning(true);
var complete = function complete() {
- $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);
+ $(_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1);
_this._element.style[dimension] = '';
_this.setTransitioning(false);
- $(_this._element).trigger(Event$3.SHOWN);
+ $(_this._element).trigger(EVENT_SHOWN);
};
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
@@ -1388,11 +1357,11 @@
_proto.hide = function hide() {
var _this2 = this;
- if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {
+ if (this._isTransitioning || !$(this._element).hasClass(CLASS_NAME_SHOW$1)) {
return;
}
- var startEvent = $.Event(Event$3.HIDE);
+ var startEvent = $.Event(EVENT_HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
@@ -1403,7 +1372,7 @@
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
Util.reflow(this._element);
- $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);
+ $(this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1);
var triggerArrayLength = this._triggerArray.length;
if (triggerArrayLength > 0) {
@@ -1414,8 +1383,8 @@
if (selector !== null) {
var $elem = $([].slice.call(document.querySelectorAll(selector)));
- if (!$elem.hasClass(ClassName$3.SHOW)) {
- $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);
+ if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {
+ $(trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
}
}
}
@@ -1426,7 +1395,7 @@
var complete = function complete() {
_this2.setTransitioning(false);
- $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);
+ $(_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
};
this._element.style[dimension] = '';
@@ -1449,7 +1418,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default$1, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default$1), config);
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME$3, config, DefaultType$1);
@@ -1457,8 +1426,8 @@
};
_proto._getDimension = function _getDimension() {
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ var hasWidth = $(this._element).hasClass(DIMENSION_WIDTH);
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
};
_proto._getParent = function _getParent() {
@@ -1485,10 +1454,10 @@
};
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
- var isOpen = $(element).hasClass(ClassName$3.SHOW);
+ var isOpen = $(element).hasClass(CLASS_NAME_SHOW$1);
if (triggerArray.length) {
- $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ $(triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
} // Static
;
@@ -1503,9 +1472,9 @@
var $this = $(this);
var data = $this.data(DATA_KEY$3);
- var _config = _objectSpread2({}, Default$1, {}, $this.data(), {}, typeof config === 'object' && config ? config : {});
+ var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$1), $this.data()), typeof config === 'object' && config ? config : {});
- if (!data && _config.toggle && /show|hide/.test(config)) {
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
_config.toggle = false;
}
@@ -1545,7 +1514,7 @@
*/
- $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
if (event.currentTarget.tagName === 'A') {
event.preventDefault();
@@ -4197,7 +4166,7 @@
*/
var NAME$4 = 'dropdown';
- var VERSION$4 = '4.4.1';
+ var VERSION$4 = '4.5.0';
var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api';
@@ -4215,43 +4184,32 @@
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$4 = {
- HIDE: "hide" + EVENT_KEY$4,
- HIDDEN: "hidden" + EVENT_KEY$4,
- SHOW: "show" + EVENT_KEY$4,
- SHOWN: "shown" + EVENT_KEY$4,
- CLICK: "click" + EVENT_KEY$4,
- CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
- };
- var ClassName$4 = {
- DISABLED: 'disabled',
- SHOW: 'show',
- DROPUP: 'dropup',
- DROPRIGHT: 'dropright',
- DROPLEFT: 'dropleft',
- MENURIGHT: 'dropdown-menu-right',
- MENULEFT: 'dropdown-menu-left',
- POSITION_STATIC: 'position-static'
- };
- var Selector$4 = {
- DATA_TOGGLE: '[data-toggle="dropdown"]',
- FORM_CHILD: '.dropdown form',
- MENU: '.dropdown-menu',
- NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
- };
- var AttachmentMap = {
- TOP: 'top-start',
- TOPEND: 'top-end',
- BOTTOM: 'bottom-start',
- BOTTOMEND: 'bottom-end',
- RIGHT: 'right-start',
- RIGHTEND: 'right-end',
- LEFT: 'left-start',
- LEFTEND: 'left-end'
- };
+ 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,
@@ -4274,9 +4232,7 @@
* ------------------------------------------------------------------------
*/
- var Dropdown =
- /*#__PURE__*/
- function () {
+ var Dropdown = /*#__PURE__*/function () {
function Dropdown(element, config) {
this._element = element;
this._popper = null;
@@ -4292,11 +4248,11 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {
return;
}
- var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
+ var isActive = $(this._menu).hasClass(CLASS_NAME_SHOW$2);
Dropdown._clearMenus();
@@ -4312,14 +4268,14 @@
usePopper = false;
}
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW$2)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
- var showEvent = $.Event(Event$4.SHOW, relatedTarget);
+ var showEvent = $.Event(EVENT_SHOW$1, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
@@ -4355,7 +4311,7 @@
if (this._config.boundary !== 'scrollParent') {
- $(parent).addClass(ClassName$4.POSITION_STATIC);
+ $(parent).addClass(CLASS_NAME_POSITION_STATIC);
}
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
@@ -4365,7 +4321,7 @@
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
+ if ('ontouchstart' in document.documentElement && $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
$(document.body).children().on('mouseover', null, $.noop);
}
@@ -4373,19 +4329,19 @@
this._element.setAttribute('aria-expanded', true);
- $(this._menu).toggleClass(ClassName$4.SHOW);
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
+ $(this._menu).toggleClass(CLASS_NAME_SHOW$2);
+ $(parent).toggleClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_SHOWN$1, relatedTarget));
};
_proto.hide = function hide() {
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW$2)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
- var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
+ var hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
@@ -4399,8 +4355,8 @@
this._popper.destroy();
}
- $(this._menu).toggleClass(ClassName$4.SHOW);
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
+ $(this._menu).toggleClass(CLASS_NAME_SHOW$2);
+ $(parent).toggleClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_HIDDEN$1, relatedTarget));
};
_proto.dispose = function dispose() {
@@ -4428,7 +4384,7 @@
_proto._addEventListeners = function _addEventListeners() {
var _this = this;
- $(this._element).on(Event$4.CLICK, function (event) {
+ $(this._element).on(EVENT_CLICK, function (event) {
event.preventDefault();
event.stopPropagation();
@@ -4437,7 +4393,7 @@
};
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, this.constructor.Default, {}, $(this._element).data(), {}, config);
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), $(this._element).data()), config);
Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
return config;
};
@@ -4447,7 +4403,7 @@
var parent = Dropdown._getParentFromElement(this._element);
if (parent) {
- this._menu = parent.querySelector(Selector$4.MENU);
+ this._menu = parent.querySelector(SELECTOR_MENU);
}
}
@@ -4456,20 +4412,16 @@
_proto._getPlacement = function _getPlacement() {
var $parentDropdown = $(this._element.parentNode);
- var placement = AttachmentMap.BOTTOM; // Handle dropup
-
- if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
- placement = AttachmentMap.TOP;
+ var placement = PLACEMENT_BOTTOM; // Handle dropup
- if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
- }
- } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT;
- } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
- placement = AttachmentMap.LEFT;
- } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
+ if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
+ placement = $(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 ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_BOTTOMEND;
}
return placement;
@@ -4486,7 +4438,7 @@
if (typeof this._config.offset === 'function') {
offset.fn = function (data) {
- data.offsets = _objectSpread2({}, data.offsets, {}, _this2._config.offset(data.offsets, _this2._element) || {});
+ data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this2._config.offset(data.offsets, _this2._element) || {});
return data;
};
} else {
@@ -4516,7 +4468,7 @@
};
}
- return _objectSpread2({}, popperConfig, {}, this._config.popperConfig);
+ return _objectSpread2(_objectSpread2({}, popperConfig), this._config.popperConfig);
} // Static
;
@@ -4546,7 +4498,7 @@
return;
}
- var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
+ 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]);
@@ -4566,7 +4518,7 @@
var dropdownMenu = context._menu;
- if (!$(parent).hasClass(ClassName$4.SHOW)) {
+ if (!$(parent).hasClass(CLASS_NAME_SHOW$2)) {
continue;
}
@@ -4574,7 +4526,7 @@
continue;
}
- var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
+ var hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);
$(parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
@@ -4593,8 +4545,8 @@
context._popper.destroy();
}
- $(dropdownMenu).removeClass(ClassName$4.SHOW);
- $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
+ $(dropdownMenu).removeClass(CLASS_NAME_SHOW$2);
+ $(parent).removeClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_HIDDEN$1, relatedTarget));
}
};
@@ -4618,36 +4570,35 @@
// - 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 || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+ 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 || $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
return;
}
- event.preventDefault();
- event.stopPropagation();
-
- if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
+ if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {
return;
}
var parent = Dropdown._getParentFromElement(this);
- var isActive = $(parent).hasClass(ClassName$4.SHOW);
+ var isActive = $(parent).hasClass(CLASS_NAME_SHOW$2);
if (!isActive && event.which === ESCAPE_KEYCODE) {
return;
}
+ event.preventDefault();
+ event.stopPropagation();
+
if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
- var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
- $(toggle).trigger('focus');
+ $(parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');
}
$(this).trigger('click');
return;
}
- var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS)).filter(function (item) {
+ var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
return $(item).is(':visible');
});
@@ -4700,12 +4651,12 @@
*/
- $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
+ $(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($(this), 'toggle');
- }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
+ }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
e.stopPropagation();
});
/**
@@ -4729,7 +4680,7 @@
*/
var NAME$5 = 'modal';
- var VERSION$5 = '4.4.1';
+ var VERSION$5 = '4.5.0';
var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api';
@@ -4748,50 +4699,42 @@
focus: 'boolean',
show: 'boolean'
};
- var Event$5 = {
- HIDE: "hide" + EVENT_KEY$5,
- HIDE_PREVENTED: "hidePrevented" + EVENT_KEY$5,
- HIDDEN: "hidden" + EVENT_KEY$5,
- SHOW: "show" + EVENT_KEY$5,
- SHOWN: "shown" + EVENT_KEY$5,
- FOCUSIN: "focusin" + EVENT_KEY$5,
- RESIZE: "resize" + EVENT_KEY$5,
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
- CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
- };
- var ClassName$5 = {
- SCROLLABLE: 'modal-dialog-scrollable',
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
- BACKDROP: 'modal-backdrop',
- OPEN: 'modal-open',
- FADE: 'fade',
- SHOW: 'show',
- STATIC: 'modal-static'
- };
- var Selector$5 = {
- DIALOG: '.modal-dialog',
- MODAL_BODY: '.modal-body',
- DATA_TOGGLE: '[data-toggle="modal"]',
- DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT: '.sticky-top'
- };
+ 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 () {
+ var Modal = /*#__PURE__*/function () {
function Modal(element, config) {
this._config = this._getConfig(config);
this._element = element;
- this._dialog = element.querySelector(Selector$5.DIALOG);
+ this._dialog = element.querySelector(SELECTOR_DIALOG);
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
@@ -4815,11 +4758,11 @@
return;
}
- if ($(this._element).hasClass(ClassName$5.FADE)) {
+ if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {
this._isTransitioning = true;
}
- var showEvent = $.Event(Event$5.SHOW, {
+ var showEvent = $.Event(EVENT_SHOW$2, {
relatedTarget: relatedTarget
});
$(this._element).trigger(showEvent);
@@ -4840,11 +4783,11 @@
this._setResizeEvent();
- $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
+ $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
return _this.hide(event);
});
- $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
- $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
+ $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {
+ $(_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this._element)) {
_this._ignoreBackdropClick = true;
}
@@ -4867,7 +4810,7 @@
return;
}
- var hideEvent = $.Event(Event$5.HIDE);
+ var hideEvent = $.Event(EVENT_HIDE$2);
$(this._element).trigger(hideEvent);
if (!this._isShown || hideEvent.isDefaultPrevented()) {
@@ -4875,7 +4818,7 @@
}
this._isShown = false;
- var transition = $(this._element).hasClass(ClassName$5.FADE);
+ var transition = $(this._element).hasClass(CLASS_NAME_FADE$1);
if (transition) {
this._isTransitioning = true;
@@ -4885,10 +4828,10 @@
this._setResizeEvent();
- $(document).off(Event$5.FOCUSIN);
- $(this._element).removeClass(ClassName$5.SHOW);
- $(this._element).off(Event$5.CLICK_DISMISS);
- $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
+ $(document).off(EVENT_FOCUSIN);
+ $(this._element).removeClass(CLASS_NAME_SHOW$3);
+ $(this._element).off(EVENT_CLICK_DISMISS);
+ $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
if (transition) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
@@ -4905,12 +4848,12 @@
return $(htmlElement).off(EVENT_KEY$5);
});
/**
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+ * `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
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
*/
- $(document).off(Event$5.FOCUSIN);
+ $(document).off(EVENT_FOCUSIN);
$.removeData(this._element, DATA_KEY$5);
this._config = null;
this._element = null;
@@ -4929,7 +4872,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default$3, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default$3), config);
Util.typeCheckConfig(NAME$5, config, DefaultType$3);
return config;
};
@@ -4938,18 +4881,18 @@
var _this3 = this;
if (this._config.backdrop === 'static') {
- var hideEventPrevented = $.Event(Event$5.HIDE_PREVENTED);
+ var hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);
$(this._element).trigger(hideEventPrevented);
if (hideEventPrevented.defaultPrevented) {
return;
}
- this._element.classList.add(ClassName$5.STATIC);
+ this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
$(this._element).one(Util.TRANSITION_END, function () {
- _this3._element.classList.remove(ClassName$5.STATIC);
+ _this3._element.classList.remove(CLASS_NAME_STATIC);
}).emulateTransitionEnd(modalTransitionDuration);
this._element.focus();
@@ -4961,8 +4904,8 @@
_proto._showElement = function _showElement(relatedTarget) {
var _this4 = this;
- var transition = $(this._element).hasClass(ClassName$5.FADE);
- var modalBody = this._dialog ? this._dialog.querySelector(Selector$5.MODAL_BODY) : null;
+ var transition = $(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
@@ -4975,7 +4918,7 @@
this._element.setAttribute('aria-modal', true);
- if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE) && modalBody) {
+ if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
this._element.scrollTop = 0;
@@ -4985,13 +4928,13 @@
Util.reflow(this._element);
}
- $(this._element).addClass(ClassName$5.SHOW);
+ $(this._element).addClass(CLASS_NAME_SHOW$3);
if (this._config.focus) {
this._enforceFocus();
}
- var shownEvent = $.Event(Event$5.SHOWN, {
+ var shownEvent = $.Event(EVENT_SHOWN$2, {
relatedTarget: relatedTarget
});
@@ -5015,8 +4958,8 @@
_proto._enforceFocus = function _enforceFocus() {
var _this5 = this;
- $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
- .on(Event$5.FOCUSIN, function (event) {
+ $(document).off(EVENT_FOCUSIN) // Guard against infinite focus loop
+ .on(EVENT_FOCUSIN, function (event) {
if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {
_this5._element.focus();
}
@@ -5026,14 +4969,18 @@
_proto._setEscapeEvent = function _setEscapeEvent() {
var _this6 = this;
- if (this._isShown && this._config.keyboard) {
- $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE$1) {
+ if (this._isShown) {
+ $(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) {
- $(this._element).off(Event$5.KEYDOWN_DISMISS);
+ $(this._element).off(EVENT_KEYDOWN_DISMISS);
}
};
@@ -5041,11 +4988,11 @@
var _this7 = this;
if (this._isShown) {
- $(window).on(Event$5.RESIZE, function (event) {
+ $(window).on(EVENT_RESIZE, function (event) {
return _this7.handleUpdate(event);
});
} else {
- $(window).off(Event$5.RESIZE);
+ $(window).off(EVENT_RESIZE);
}
};
@@ -5061,13 +5008,13 @@
this._isTransitioning = false;
this._showBackdrop(function () {
- $(document.body).removeClass(ClassName$5.OPEN);
+ $(document.body).removeClass(CLASS_NAME_OPEN);
_this8._resetAdjustments();
_this8._resetScrollbar();
- $(_this8._element).trigger(Event$5.HIDDEN);
+ $(_this8._element).trigger(EVENT_HIDDEN$2);
});
};
@@ -5081,18 +5028,18 @@
_proto._showBackdrop = function _showBackdrop(callback) {
var _this9 = this;
- var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
+ var animate = $(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 = ClassName$5.BACKDROP;
+ this._backdrop.className = CLASS_NAME_BACKDROP;
if (animate) {
this._backdrop.classList.add(animate);
}
$(this._backdrop).appendTo(document.body);
- $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
+ $(this._element).on(EVENT_CLICK_DISMISS, function (event) {
if (_this9._ignoreBackdropClick) {
_this9._ignoreBackdropClick = false;
return;
@@ -5109,7 +5056,7 @@
Util.reflow(this._backdrop);
}
- $(this._backdrop).addClass(ClassName$5.SHOW);
+ $(this._backdrop).addClass(CLASS_NAME_SHOW$3);
if (!callback) {
return;
@@ -5123,7 +5070,7 @@
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) {
- $(this._backdrop).removeClass(ClassName$5.SHOW);
+ $(this._backdrop).removeClass(CLASS_NAME_SHOW$3);
var callbackRemove = function callbackRemove() {
_this9._removeBackdrop();
@@ -5133,7 +5080,7 @@
}
};
- if ($(this._element).hasClass(ClassName$5.FADE)) {
+ if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
@@ -5168,7 +5115,7 @@
_proto._checkScrollbar = function _checkScrollbar() {
var rect = document.body.getBoundingClientRect();
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+ this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth();
};
@@ -5178,8 +5125,8 @@
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$5.FIXED_CONTENT));
- var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
+ var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
$(fixedContent).each(function (index, element) {
var actualPadding = element.style.paddingRight;
@@ -5198,19 +5145,19 @@
$(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
}
- $(document.body).addClass(ClassName$5.OPEN);
+ $(document.body).addClass(CLASS_NAME_OPEN);
};
_proto._resetScrollbar = function _resetScrollbar() {
// Restore fixed content padding
- var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
$(fixedContent).each(function (index, element) {
var padding = $(element).data('padding-right');
$(element).removeData('padding-right');
element.style.paddingRight = padding ? padding : '';
}); // Restore sticky content
- var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT));
+ var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT));
$(elements).each(function (index, element) {
var margin = $(element).data('margin-right');
@@ -5227,7 +5174,7 @@
_proto._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
- scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
@@ -5239,7 +5186,7 @@
return this.each(function () {
var data = $(this).data(DATA_KEY$5);
- var _config = _objectSpread2({}, Default$3, {}, $(this).data(), {}, typeof config === 'object' && config ? config : {});
+ var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$3), $(this).data()), typeof config === 'object' && config ? config : {});
if (!data) {
data = new Modal(this, _config);
@@ -5279,7 +5226,7 @@
*/
- $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
var _this11 = this;
var target;
@@ -5289,19 +5236,19 @@
target = document.querySelector(selector);
}
- var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2({}, $(target).data(), {}, $(this).data());
+ var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
}
- var $target = $(target).one(Event$5.SHOW, function (showEvent) {
+ var $target = $(target).one(EVENT_SHOW$2, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// Only register focus restorer if modal will actually get shown
return;
}
- $target.one(Event$5.HIDDEN, function () {
+ $target.one(EVENT_HIDDEN$2, function () {
if ($(_this11).is(':visible')) {
_this11.focus();
}
@@ -5326,7 +5273,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): tools/sanitizer.js
+ * Bootstrap (v4.5.0): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -5351,7 +5298,7 @@
h5: [],
h6: [],
i: [],
- img: ['src', 'alt', 'title', 'width', 'height'],
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
@@ -5371,14 +5318,14 @@
* 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;
+ 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,[a-z0-9+/]+=*$/i;
+ 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();
@@ -5395,7 +5342,7 @@
return attrRegex instanceof RegExp;
}); // Check if a regular expression validates the attribute.
- for (var i = 0, l = regExp.length; i < l; i++) {
+ for (var i = 0, len = regExp.length; i < len; i++) {
if (attrName.match(regExp[i])) {
return true;
}
@@ -5452,7 +5399,7 @@
*/
var NAME$6 = 'tooltip';
- var VERSION$6 = '4.4.1';
+ var VERSION$6 = '4.5.0';
var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6;
var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
@@ -5477,7 +5424,7 @@
whiteList: 'object',
popperConfig: '(null|object)'
};
- var AttachmentMap$1 = {
+ var AttachmentMap = {
AUTO: 'auto',
TOP: 'top',
RIGHT: 'right',
@@ -5502,11 +5449,9 @@
whiteList: DefaultWhitelist,
popperConfig: null
};
- var HoverState = {
- SHOW: 'show',
- OUT: 'out'
- };
- var Event$6 = {
+ 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,
@@ -5518,30 +5463,21 @@
MOUSEENTER: "mouseenter" + EVENT_KEY$6,
MOUSELEAVE: "mouseleave" + EVENT_KEY$6
};
- var ClassName$6 = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$6 = {
- TOOLTIP: '.tooltip',
- TOOLTIP_INNER: '.tooltip-inner',
- ARROW: '.arrow'
- };
- var Trigger = {
- HOVER: 'hover',
- FOCUS: 'focus',
- CLICK: 'click',
- MANUAL: 'manual'
- };
+ 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 () {
+ var Tooltip = /*#__PURE__*/function () {
function Tooltip(element, config) {
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
@@ -5599,7 +5535,7 @@
context._leave(null, context);
}
} else {
- if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
+ if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {
this._leave(null, this);
return;
@@ -5659,7 +5595,7 @@
this.setContent();
if (this.config.animation) {
- $(tip).addClass(ClassName$6.FADE);
+ $(tip).addClass(CLASS_NAME_FADE$2);
}
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -5678,7 +5614,7 @@
$(this.element).trigger(this.constructor.Event.INSERTED);
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
- $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
+ $(tip).addClass(CLASS_NAME_SHOW$4); // 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
@@ -5696,12 +5632,12 @@
_this._hoverState = null;
$(_this.element).trigger(_this.constructor.Event.SHOWN);
- if (prevHoverState === HoverState.OUT) {
+ if (prevHoverState === HOVER_STATE_OUT) {
_this._leave(null, _this);
}
};
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
+ if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
@@ -5717,7 +5653,7 @@
var hideEvent = $.Event(this.constructor.Event.HIDE);
var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
@@ -5742,18 +5678,18 @@
return;
}
- $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
+ $(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) {
$(document.body).children().off('mouseover', null, $.noop);
}
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
+ this._activeTrigger[TRIGGER_CLICK] = false;
+ this._activeTrigger[TRIGGER_FOCUS] = false;
+ this._activeTrigger[TRIGGER_HOVER] = false;
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
+ if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {
var transitionDuration = Util.getTransitionDurationFromElement(tip);
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
@@ -5785,8 +5721,8 @@
_proto.setContent = function setContent() {
var tip = this.getTipElement();
- this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
- $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW);
+ this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
+ $(tip).removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$4);
};
_proto.setElementContent = function setElementContent($element, content) {
@@ -5836,7 +5772,7 @@
behavior: this.config.fallbackPlacement
},
arrow: {
- element: Selector$6.ARROW
+ element: SELECTOR_ARROW
},
preventOverflow: {
boundariesElement: this.config.boundary
@@ -5851,7 +5787,7 @@
return _this3._handlePopperPlacementChange(data);
}
};
- return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig);
+ return _objectSpread2(_objectSpread2({}, defaultBsConfig), this.config.popperConfig);
};
_proto._getOffset = function _getOffset() {
@@ -5861,7 +5797,7 @@
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
- data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {});
+ data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this4.config.offset(data.offsets, _this4.element) || {});
return data;
};
} else {
@@ -5884,7 +5820,7 @@
};
_proto._getAttachment = function _getAttachment(placement) {
- return AttachmentMap$1[placement.toUpperCase()];
+ return AttachmentMap[placement.toUpperCase()];
};
_proto._setListeners = function _setListeners() {
@@ -5896,9 +5832,9 @@
$(_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;
+ } 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;
$(_this5.element).on(eventIn, _this5.config.selector, function (event) {
return _this5._enter(event);
}).on(eventOut, _this5.config.selector, function (event) {
@@ -5916,7 +5852,7 @@
$(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
- this.config = _objectSpread2({}, this.config, {
+ this.config = _objectSpread2(_objectSpread2({}, this.config), {}, {
trigger: 'manual',
selector: ''
});
@@ -5944,16 +5880,16 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
}
- if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
- context._hoverState = HoverState.SHOW;
+ if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {
+ context._hoverState = HOVER_STATE_SHOW;
return;
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.SHOW;
+ context._hoverState = HOVER_STATE_SHOW;
if (!context.config.delay || !context.config.delay.show) {
context.show();
@@ -5961,7 +5897,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (context._hoverState === HOVER_STATE_SHOW) {
context.show();
}
}, context.config.delay.show);
@@ -5977,7 +5913,7 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
}
if (context._isWithActiveTrigger()) {
@@ -5985,7 +5921,7 @@
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.OUT;
+ context._hoverState = HOVER_STATE_OUT;
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
@@ -5993,7 +5929,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
+ if (context._hoverState === HOVER_STATE_OUT) {
context.hide();
}
}, context.config.delay.hide);
@@ -6016,7 +5952,7 @@
delete dataAttributes[dataAttr];
}
});
- config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), dataAttributes), typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') {
config.delay = {
@@ -6066,8 +6002,7 @@
};
_proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
- var popperInstance = popperData.instance;
- this.tip = popperInstance.popper;
+ this.tip = popperData.instance.popper;
this._cleanTipClass();
@@ -6082,7 +6017,7 @@
return;
}
- $(tip).removeClass(ClassName$6.FADE);
+ $(tip).removeClass(CLASS_NAME_FADE$2);
this.config.animation = false;
this.hide();
this.show();
@@ -6138,7 +6073,7 @@
}, {
key: "Event",
get: function get() {
- return Event$6;
+ return Event;
}
}, {
key: "EVENT_KEY",
@@ -6176,33 +6111,29 @@
*/
var NAME$7 = 'popover';
- var VERSION$7 = '4.4.1';
+ var VERSION$7 = '4.5.0';
var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7;
var JQUERY_NO_CONFLICT$7 = $.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 = _objectSpread2({}, Tooltip.Default, {
+ var Default$5 = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
});
- var DefaultType$5 = _objectSpread2({}, Tooltip.DefaultType, {
+ var DefaultType$5 = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {
content: '(string|element|function)'
});
- var ClassName$7 = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$7 = {
- TITLE: '.popover-header',
- CONTENT: '.popover-body'
- };
- var Event$7 = {
+ 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,
@@ -6220,9 +6151,7 @@
* ------------------------------------------------------------------------
*/
- var Popover =
- /*#__PURE__*/
- function (_Tooltip) {
+ var Popover = /*#__PURE__*/function (_Tooltip) {
_inheritsLoose(Popover, _Tooltip);
function Popover() {
@@ -6248,7 +6177,7 @@
_proto.setContent = function setContent() {
var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
- this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
var content = this._getContent();
@@ -6256,8 +6185,8 @@
content = content.call(this.element);
}
- this.setElementContent($tip.find(Selector$7.CONTENT), content);
- $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content);
+ $tip.removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$5);
} // Private
;
@@ -6324,7 +6253,7 @@
}, {
key: "Event",
get: function get() {
- return Event$7;
+ return Event$1;
}
}, {
key: "EVENT_KEY",
@@ -6362,7 +6291,7 @@
*/
var NAME$8 = 'scrollspy';
- var VERSION$8 = '4.4.1';
+ var VERSION$8 = '4.5.0';
var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api';
@@ -6377,52 +6306,40 @@
method: 'string',
target: '(string|element)'
};
- var Event$8 = {
- ACTIVATE: "activate" + EVENT_KEY$8,
- SCROLL: "scroll" + EVENT_KEY$8,
- LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
- };
- var ClassName$8 = {
- DROPDOWN_ITEM: 'dropdown-item',
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active'
- };
- var Selector$8 = {
- DATA_SPY: '[data-spy="scroll"]',
- ACTIVE: '.active',
- NAV_LIST_GROUP: '.nav, .list-group',
- NAV_LINKS: '.nav-link',
- NAV_ITEMS: '.nav-item',
- LIST_ITEMS: '.list-group-item',
- DROPDOWN: '.dropdown',
- DROPDOWN_ITEMS: '.dropdown-item',
- DROPDOWN_TOGGLE: '.dropdown-toggle'
- };
- var OffsetMethod = {
- OFFSET: 'offset',
- POSITION: 'position'
- };
+ 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 () {
+ 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$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
+ 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;
- $(this._scrollElement).on(Event$8.SCROLL, function (event) {
+ $(this._scrollElement).on(EVENT_SCROLL, function (event) {
return _this._process(event);
});
this.refresh();
@@ -6437,9 +6354,9 @@
_proto.refresh = function refresh() {
var _this2 = this;
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
this._offsets = [];
this._targets = [];
this._scrollHeight = this._getScrollHeight();
@@ -6488,9 +6405,9 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default$6, {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2({}, Default$6), typeof config === 'object' && config ? config : {});
- if (typeof config.target !== 'string') {
+ if (typeof config.target !== 'string' && Util.isElement(config.target)) {
var id = $(config.target).attr('id');
if (!id) {
@@ -6546,9 +6463,7 @@
return;
}
- var offsetLength = this._offsets.length;
-
- for (var i = offsetLength; i--;) {
+ 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) {
@@ -6568,29 +6483,29 @@
var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
- if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
- $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
- $link.addClass(ClassName$8.ACTIVE);
+ 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(ClassName$8.ACTIVE); // Set triggered links parents as active
+ $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE$2); // Handle special case when .nav-link is inside .nav-item
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE$2);
}
- $(this._scrollElement).trigger(Event$8.ACTIVATE, {
+ $(this._scrollElement).trigger(EVENT_ACTIVATE, {
relatedTarget: target
});
};
_proto._clear = function _clear() {
[].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
- return node.classList.contains(ClassName$8.ACTIVE);
+ return node.classList.contains(CLASS_NAME_ACTIVE$2);
}).forEach(function (node) {
- return node.classList.remove(ClassName$8.ACTIVE);
+ return node.classList.remove(CLASS_NAME_ACTIVE$2);
});
} // Static
;
@@ -6637,8 +6552,8 @@
*/
- $(window).on(Event$8.LOAD_DATA_API, function () {
- var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
+ $(window).on(EVENT_LOAD_DATA_API$2, function () {
+ var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
var scrollSpysLength = scrollSpys.length;
for (var i = scrollSpysLength; i--;) {
@@ -6668,43 +6583,35 @@
*/
var NAME$9 = 'tab';
- var VERSION$9 = '4.4.1';
+ var VERSION$9 = '4.5.0';
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
- var Event$9 = {
- HIDE: "hide" + EVENT_KEY$9,
- HIDDEN: "hidden" + EVENT_KEY$9,
- SHOW: "show" + EVENT_KEY$9,
- SHOWN: "shown" + EVENT_KEY$9,
- CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
- };
- var ClassName$9 = {
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active',
- DISABLED: 'disabled',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$9 = {
- DROPDOWN: '.dropdown',
- NAV_LIST_GROUP: '.nav, .list-group',
- ACTIVE: '.active',
- ACTIVE_UL: '> li > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE: '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
- };
+ var EVENT_HIDE$3 = "hide" + EVENT_KEY$9;
+ var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$9;
+ var EVENT_SHOW$3 = "show" + EVENT_KEY$9;
+ var EVENT_SHOWN$3 = "shown" + EVENT_KEY$9;
+ var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
+ var CLASS_NAME_ACTIVE$3 = 'active';
+ var CLASS_NAME_DISABLED$1 = 'disabled';
+ var CLASS_NAME_FADE$4 = 'fade';
+ var CLASS_NAME_SHOW$6 = 'show';
+ var SELECTOR_DROPDOWN$1 = '.dropdown';
+ var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
+ var SELECTOR_ACTIVE$2 = '.active';
+ var SELECTOR_ACTIVE_UL = '> li > .active';
+ var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
+ var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Tab =
- /*#__PURE__*/
- function () {
+ var Tab = /*#__PURE__*/function () {
function Tab(element) {
this._element = element;
} // Getters
@@ -6716,25 +6623,25 @@
_proto.show = function show() {
var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(CLASS_NAME_ACTIVE$3) || $(this._element).hasClass(CLASS_NAME_DISABLED$1)) {
return;
}
var target;
var previous;
- var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
+ var listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP$1)[0];
var selector = Util.getSelectorFromElement(this._element);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
previous = $.makeArray($(listElement).find(itemSelector));
previous = previous[previous.length - 1];
}
- var hideEvent = $.Event(Event$9.HIDE, {
+ var hideEvent = $.Event(EVENT_HIDE$3, {
relatedTarget: this._element
});
- var showEvent = $.Event(Event$9.SHOW, {
+ var showEvent = $.Event(EVENT_SHOW$3, {
relatedTarget: previous
});
@@ -6755,10 +6662,10 @@
this._activate(this._element, listElement);
var complete = function complete() {
- var hiddenEvent = $.Event(Event$9.HIDDEN, {
+ var hiddenEvent = $.Event(EVENT_HIDDEN$3, {
relatedTarget: _this._element
});
- var shownEvent = $.Event(Event$9.SHOWN, {
+ var shownEvent = $.Event(EVENT_SHOWN$3, {
relatedTarget: previous
});
$(previous).trigger(hiddenEvent);
@@ -6781,9 +6688,9 @@
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(SELECTOR_ACTIVE_UL) : $(container).children(SELECTOR_ACTIVE$2);
var active = activeElements[0];
- var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);
+ var isTransitioning = callback && active && $(active).hasClass(CLASS_NAME_FADE$4);
var complete = function complete() {
return _this2._transitionComplete(element, active, callback);
@@ -6791,7 +6698,7 @@
if (active && isTransitioning) {
var transitionDuration = Util.getTransitionDurationFromElement(active);
- $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ $(active).removeClass(CLASS_NAME_SHOW$6).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
complete();
}
@@ -6799,11 +6706,11 @@
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
if (active) {
- $(active).removeClass(ClassName$9.ACTIVE);
- var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];
+ $(active).removeClass(CLASS_NAME_ACTIVE$3);
+ var dropdownChild = $(active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
if (dropdownChild) {
- $(dropdownChild).removeClass(ClassName$9.ACTIVE);
+ $(dropdownChild).removeClass(CLASS_NAME_ACTIVE$3);
}
if (active.getAttribute('role') === 'tab') {
@@ -6811,7 +6718,7 @@
}
}
- $(element).addClass(ClassName$9.ACTIVE);
+ $(element).addClass(CLASS_NAME_ACTIVE$3);
if (element.getAttribute('role') === 'tab') {
element.setAttribute('aria-selected', true);
@@ -6819,16 +6726,16 @@
Util.reflow(element);
- if (element.classList.contains(ClassName$9.FADE)) {
- element.classList.add(ClassName$9.SHOW);
+ if (element.classList.contains(CLASS_NAME_FADE$4)) {
+ element.classList.add(CLASS_NAME_SHOW$6);
}
- if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
- var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
+ if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
+ var dropdownElement = $(element).closest(SELECTOR_DROPDOWN$1)[0];
if (dropdownElement) {
- var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
- $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
+ var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE$1));
+ $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE$3);
}
element.setAttribute('aria-expanded', true);
@@ -6876,7 +6783,7 @@
*/
- $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
@@ -6902,23 +6809,19 @@
*/
var NAME$a = 'toast';
- var VERSION$a = '4.4.1';
+ var VERSION$a = '4.5.0';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
- var Event$a = {
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
- HIDE: "hide" + EVENT_KEY$a,
- HIDDEN: "hidden" + EVENT_KEY$a,
- SHOW: "show" + EVENT_KEY$a,
- SHOWN: "shown" + EVENT_KEY$a
- };
- var ClassName$a = {
- FADE: 'fade',
- HIDE: 'hide',
- SHOW: 'show',
- SHOWING: 'showing'
- };
+ var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
+ var EVENT_HIDE$4 = "hide" + EVENT_KEY$a;
+ var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$a;
+ var EVENT_SHOW$4 = "show" + EVENT_KEY$a;
+ var EVENT_SHOWN$4 = "shown" + EVENT_KEY$a;
+ var CLASS_NAME_FADE$5 = 'fade';
+ var CLASS_NAME_HIDE = 'hide';
+ var CLASS_NAME_SHOW$7 = 'show';
+ var CLASS_NAME_SHOWING = 'showing';
var DefaultType$7 = {
animation: 'boolean',
autohide: 'boolean',
@@ -6929,18 +6832,14 @@
autohide: true,
delay: 500
};
- var Selector$a = {
- DATA_DISMISS: '[data-dismiss="toast"]'
- };
+ var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="toast"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Toast =
- /*#__PURE__*/
- function () {
+ var Toast = /*#__PURE__*/function () {
function Toast(element, config) {
this._element = element;
this._config = this._getConfig(config);
@@ -6956,7 +6855,7 @@
_proto.show = function show() {
var _this = this;
- var showEvent = $.Event(Event$a.SHOW);
+ var showEvent = $.Event(EVENT_SHOW$4);
$(this._element).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
@@ -6964,15 +6863,15 @@
}
if (this._config.animation) {
- this._element.classList.add(ClassName$a.FADE);
+ this._element.classList.add(CLASS_NAME_FADE$5);
}
var complete = function complete() {
- _this._element.classList.remove(ClassName$a.SHOWING);
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
- _this._element.classList.add(ClassName$a.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW$7);
- $(_this._element).trigger(Event$a.SHOWN);
+ $(_this._element).trigger(EVENT_SHOWN$4);
if (_this._config.autohide) {
_this._timeout = setTimeout(function () {
@@ -6981,11 +6880,11 @@
}
};
- this._element.classList.remove(ClassName$a.HIDE);
+ this._element.classList.remove(CLASS_NAME_HIDE);
Util.reflow(this._element);
- this._element.classList.add(ClassName$a.SHOWING);
+ this._element.classList.add(CLASS_NAME_SHOWING);
if (this._config.animation) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
@@ -6996,11 +6895,11 @@
};
_proto.hide = function hide() {
- if (!this._element.classList.contains(ClassName$a.SHOW)) {
+ if (!this._element.classList.contains(CLASS_NAME_SHOW$7)) {
return;
}
- var hideEvent = $.Event(Event$a.HIDE);
+ var hideEvent = $.Event(EVENT_HIDE$4);
$(this._element).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
@@ -7014,11 +6913,11 @@
clearTimeout(this._timeout);
this._timeout = null;
- if (this._element.classList.contains(ClassName$a.SHOW)) {
- this._element.classList.remove(ClassName$a.SHOW);
+ if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {
+ this._element.classList.remove(CLASS_NAME_SHOW$7);
}
- $(this._element).off(Event$a.CLICK_DISMISS);
+ $(this._element).off(EVENT_CLICK_DISMISS$1);
$.removeData(this._element, DATA_KEY$a);
this._element = null;
this._config = null;
@@ -7026,7 +6925,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default$7, {}, $(this._element).data(), {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$7), $(this._element).data()), typeof config === 'object' && config ? config : {});
Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
return config;
};
@@ -7034,7 +6933,7 @@
_proto._setListeners = function _setListeners() {
var _this2 = this;
- $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
+ $(this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {
return _this2.hide();
});
};
@@ -7043,12 +6942,12 @@
var _this3 = this;
var complete = function complete() {
- _this3._element.classList.add(ClassName$a.HIDE);
+ _this3._element.classList.add(CLASS_NAME_HIDE);
- $(_this3._element).trigger(Event$a.HIDDEN);
+ $(_this3._element).trigger(EVENT_HIDDEN$4);
};
- this._element.classList.remove(ClassName$a.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW$7);
if (this._config.animation) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
diff --git a/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js.map b/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js.map
index 93cf73e9c..299cb1b6d 100644
--- a/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js.map
+++ b/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLES : '[data-toggle=\"buttons\"]',\n DATA_TOGGLE : '[data-toggle=\"button\"]',\n DATA_TOGGLES_BUTTONS : '[data-toggle=\"buttons\"] .btn',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n } else if (input.type === 'checkbox') {\n if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n }\n } else {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n triggerChangeEvent = false\n }\n\n if (triggerChangeEvent) {\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(Selector.INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(Event.LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(Selector.INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show',\n STATIC : 'modal-static'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(Event.HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show',\n SHOWING : 'showing'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(Event.SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n Util.reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","jquery","minMajor","ltMajor","minMinor","minPatch","maxMajor","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLES","DATA_TOGGLE","DATA_TOGGLES_BUTTONS","INPUT","FOCUS_BLUR_DATA_API","LOAD_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","tagName","focus","hasAttribute","setAttribute","toggleClass","button","inputBtn","window","buttons","slice","querySelectorAll","i","len","length","add","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","e","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","STATIC","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","keys","el","elName","attributeList","attributes","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","$link","parents","node","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","SHOWING","autohide","Toast","_close"],"mappings":"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d;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,GAAG;EACf;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,QAAQ;;EAErB;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,KAAK;;EAEtB;EACA;EACA;EACA;EACA,EAAE,aAA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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n SELECTOR_DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {\n event.preventDefault() // work around event sent to label and input\n }\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? DIRECTION_NEXT\n : DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, (event) => this.pause(event))\n .on(EVENT_MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, (e) => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, (event) => start(event))\n $(this._element).on(EVENT_POINTERUP, (event) => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, (event) => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, (event) => move(event))\n $(this._element).on(EVENT_TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)\n ? PLACEMENT_TOPEND\n : PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE)\n ? CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst 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\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, (event) => this._enter(event))\n .on(eventOut, this.config.selector, (event) => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .addClass(CLASS_NAME_ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(SELECTOR_NAV_ITEMS)\n .children(SELECTOR_NAV_LINKS)\n .addClass(CLASS_NAME_ACTIVE)\n }\n\n $(this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = '> li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(CLASS_NAME_ACTIVE) ||\n $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(EVENT_HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(SELECTOR_ACTIVE_UL)\n : $(container).children(SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(CLASS_NAME_SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(CLASS_NAME_ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n SELECTOR_DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(EVENT_SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n $(this._element).trigger(EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n Util.reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n $(this._element).trigger(EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","jquery","minMajor","ltMajor","minMinor","minPatch","maxMajor","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASS_NAME_ALERT","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","CLASS_NAME_ACTIVE","CLASS_NAME_BUTTON","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLES","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLES_BUTTONS","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_BLUR_DATA_API","EVENT_LOAD_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","e","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","DIMENSION_WIDTH","DIMENSION_HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","round","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","keys","el","elName","attributeList","attributes","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HOVER_STATE_SHOW","HOVER_STATE_OUT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","SELECTOR_TOOLTIP_INNER","SELECTOR_ARROW","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","instance","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_ITEMS","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","parents","node","scrollSpys","scrollSpysLength","$spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_close"],"mappings":"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CA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,SAAS,GAAG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,GAAG;EACf;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,QAAQ;AACrB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,KAAK;AACtB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,IAAI;AACrB;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE,KAAK;AACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,SAAS;EACtB,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA,IAAI,MAAM,GAAG,YAAY;EACzB;EACA;EACA;EAC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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js b/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js
index 78c533b4e..525069def 100644
--- a/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js
+++ b/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],t):t((e=e||self).bootstrap={},e.jQuery)}(this,function(e,p){"use strict";function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function l(o){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?t(Object(r),!0).forEach(function(e){var t,n,i;t=o,i=r[n=e],n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(r,e))})}return o}p=p&&p.hasOwnProperty("default")?p.default:p;var n="transitionend";function o(e){var t=this,n=!1;return p(this).one(m.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||m.triggerTransitionEnd(t)},e),this}var m={TRANSITION_END:"bsTransitionEnd",getUID:function(e){for(;e+=~~(1e6*Math.random()),document.getElementById(e););return e},getSelectorFromElement:function(e){var t=e.getAttribute("data-target");if(!t||"#"===t){var n=e.getAttribute("href");t=n&&"#"!==n?n.trim():""}try{return document.querySelector(t)?t:null}catch(e){return null}},getTransitionDurationFromElement:function(e){if(!e)return 0;var t=p(e).css("transition-duration"),n=p(e).css("transition-delay"),i=parseFloat(t),o=parseFloat(n);return i||o?(t=t.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(t)+parseFloat(n))):0},reflow:function(e){return e.offsetHeight},triggerTransitionEnd:function(e){p(e).trigger(n)},supportsTransitionEnd:function(){return Boolean(n)},isElement:function(e){return(e[0]||e).nodeType},typeCheckConfig:function(e,t,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=t[i],s=r&&m.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(e){if(!document.documentElement.attachShadow)return null;if("function"!=typeof e.getRootNode)return e instanceof ShadowRoot?e:e.parentNode?m.findShadowRoot(e.parentNode):null;var t=e.getRootNode();return t instanceof ShadowRoot?t:null},jQueryDetection:function(){if("undefined"==typeof p)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=p.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};m.jQueryDetection(),p.fn.emulateTransitionEnd=o,p.event.special[m.TRANSITION_END]={bindType:n,delegateType:n,handle:function(e){if(p(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}};var r="alert",a="bs.alert",c="."+a,h=p.fn[r],u={CLOSE:"close"+c,CLOSED:"closed"+c,CLICK_DATA_API:"click"+c+".data-api"},f="alert",d="fade",g="show",_=function(){function i(e){this._element=e}var e=i.prototype;return e.close=function(e){var t=this._element;e&&(t=this._getRootElement(e)),this._triggerCloseEvent(t).isDefaultPrevented()||this._removeElement(t)},e.dispose=function(){p.removeData(this._element,a),this._element=null},e._getRootElement=function(e){var t=m.getSelectorFromElement(e),n=!1;return t&&(n=document.querySelector(t)),n=n||p(e).closest("."+f)[0]},e._triggerCloseEvent=function(e){var t=p.Event(u.CLOSE);return p(e).trigger(t),t},e._removeElement=function(t){var n=this;if(p(t).removeClass(g),p(t).hasClass(d)){var e=m.getTransitionDurationFromElement(t);p(t).one(m.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(e)}else this._destroyElement(t)},e._destroyElement=function(e){p(e).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(a);t||(t=new i(this),e.data(a,t)),"close"===n&&t[n](this)})},i._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();p(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',_._handleDismiss(new _)),p.fn[r]=_._jQueryInterface,p.fn[r].Constructor=_,p.fn[r].noConflict=function(){return p.fn[r]=h,_._jQueryInterface};var v="button",y="bs.button",E="."+y,b=".data-api",w=p.fn[v],T="active",C="btn",S="focus",D='[data-toggle^="button"]',I='[data-toggle="buttons"]',A='[data-toggle="button"]',O='[data-toggle="buttons"] .btn',N='input:not([type="hidden"])',k=".active",L=".btn",P={CLICK_DATA_API:"click"+E+b,FOCUS_BLUR_DATA_API:"focus"+E+b+" blur"+E+b,LOAD_DATA_API:"load"+E+b},x=function(){function n(e){this._element=e}var e=n.prototype;return e.toggle=function(){var e=!0,t=!0,n=p(this._element).closest(I)[0];if(n){var i=this._element.querySelector(N);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(T))e=!1;else{var o=n.querySelector(k);o&&p(o).removeClass(T)}else"checkbox"===i.type?"LABEL"===this._element.tagName&&i.checked===this._element.classList.contains(T)&&(e=!1):e=!1;e&&(i.checked=!this._element.classList.contains(T),p(i).trigger("change")),i.focus(),t=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(T)),e&&p(this._element).toggleClass(T))},e.dispose=function(){p.removeData(this._element,y),this._element=null},n._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(y);e||(e=new n(this),p(this).data(y,e)),"toggle"===t&&e[t]()})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),n}();p(document).on(P.CLICK_DATA_API,D,function(e){var t=e.target;if(p(t).hasClass(C)||(t=p(t).closest(L)[0]),!t||t.hasAttribute("disabled")||t.classList.contains("disabled"))e.preventDefault();else{var n=t.querySelector(N);if(n&&(n.hasAttribute("disabled")||n.classList.contains("disabled")))return void e.preventDefault();x._jQueryInterface.call(p(t),"toggle")}}).on(P.FOCUS_BLUR_DATA_API,D,function(e){var t=p(e.target).closest(L)[0];p(t).toggleClass(S,/^focus(in)?$/.test(e.type))}),p(window).on(P.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(O)),t=0,n=e.length;t<n;t++){var i=e[t],o=i.querySelector(N);o.checked||o.hasAttribute("checked")?i.classList.add(T):i.classList.remove(T)}for(var r=0,s=(e=[].slice.call(document.querySelectorAll(A))).length;r<s;r++){var a=e[r];"true"===a.getAttribute("aria-pressed")?a.classList.add(T):a.classList.remove(T)}}),p.fn[v]=x._jQueryInterface,p.fn[v].Constructor=x,p.fn[v].noConflict=function(){return p.fn[v]=w,x._jQueryInterface};var j="carousel",H="bs.carousel",R="."+H,F=".data-api",M=p.fn[j],W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},B="next",q="prev",K="left",Q="right",V={SLIDE:"slide"+R,SLID:"slid"+R,KEYDOWN:"keydown"+R,MOUSEENTER:"mouseenter"+R,MOUSELEAVE:"mouseleave"+R,TOUCHSTART:"touchstart"+R,TOUCHMOVE:"touchmove"+R,TOUCHEND:"touchend"+R,POINTERDOWN:"pointerdown"+R,POINTERUP:"pointerup"+R,DRAG_START:"dragstart"+R,LOAD_DATA_API:"load"+R+F,CLICK_DATA_API:"click"+R+F},Y="carousel",z="active",X="slide",G="carousel-item-right",$="carousel-item-left",J="carousel-item-next",Z="carousel-item-prev",ee="pointer-event",te=".active",ne=".active.carousel-item",ie=".carousel-item",oe=".carousel-item img",re=".carousel-item-next, .carousel-item-prev",se=".carousel-indicators",ae="[data-slide], [data-slide-to]",le='[data-ride="carousel"]',ce={TOUCH:"touch",PEN:"pen"},he=function(){function r(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=this._element.querySelector(se),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=r.prototype;return e.next=function(){this._isSliding||this._slide(B)},e.nextWhenVisible=function(){!document.hidden&&p(this._element).is(":visible")&&"hidden"!==p(this._element).css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide(q)},e.pause=function(e){e||(this._isPaused=!0),this._element.querySelector(re)&&(m.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(e){var t=this;this._activeElement=this._element.querySelector(ne);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)p(this._element).one(V.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=n<e?B:q;this._slide(i,this._items[e])}},e.dispose=function(){p(this._element).off(R),p.removeData(this._element,H),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(e){return e=l({},W,{},e),m.typeCheckConfig(j,e,U),e},e._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=40)){var t=e/this.touchDeltaX;(this.touchDeltaX=0)<t&&this.prev(),t<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&p(this._element).on(V.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&p(this._element).on(V.MOUSEENTER,function(e){return t.pause(e)}).on(V.MOUSELEAVE,function(e){return t.cycle(e)}),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var n=function(e){t._pointerEvent&&ce[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},i=function(e){t._pointerEvent&&ce[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval))};p(this._element.querySelectorAll(oe)).on(V.DRAG_START,function(e){return e.preventDefault()}),this._pointerEvent?(p(this._element).on(V.POINTERDOWN,function(e){return n(e)}),p(this._element).on(V.POINTERUP,function(e){return i(e)}),this._element.classList.add(ee)):(p(this._element).on(V.TOUCHSTART,function(e){return n(e)}),p(this._element).on(V.TOUCHMOVE,function(e){return function(e){e.originalEvent.touches&&1<e.originalEvent.touches.length?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)}),p(this._element).on(V.TOUCHEND,function(e){return i(e)}))}},e._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case 37:e.preventDefault(),this.prev();break;case 39:e.preventDefault(),this.next()}},e._getItemIndex=function(e){return this._items=e&&e.parentNode?[].slice.call(e.parentNode.querySelectorAll(ie)):[],this._items.indexOf(e)},e._getItemByDirection=function(e,t){var n=e===B,i=e===q,o=this._getItemIndex(t),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return t;var s=(o+(e===q?-1:1))%this._items.length;return-1==s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(this._element.querySelector(ne)),o=p.Event(V.SLIDE,{relatedTarget:e,direction:t,from:i,to:n});return p(this._element).trigger(o),o},e._setActiveIndicatorElement=function(e){if(this._indicatorsElement){var t=[].slice.call(this._indicatorsElement.querySelectorAll(te));p(t).removeClass(z);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&p(n).addClass(z)}},e._slide=function(e,t){var n,i,o,r=this,s=this._element.querySelector(ne),a=this._getItemIndex(s),l=t||s&&this._getItemByDirection(e,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=e===B?(n=$,i=J,K):(n=G,i=Z,Q),l&&p(l).hasClass(z))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=p.Event(V.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(p(this._element).hasClass(X)){p(l).addClass(i),m.reflow(l),p(s).addClass(n),p(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var d=m.getTransitionDurationFromElement(s);p(s).one(m.TRANSITION_END,function(){p(l).removeClass(n+" "+i).addClass(z),p(s).removeClass(z+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return p(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else p(s).removeClass(z),p(l).addClass(z),this._isSliding=!1,p(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var e=p(this).data(H),t=l({},W,{},p(this).data());"object"==typeof i&&(t=l({},t,{},i));var n="string"==typeof i?i:t.slide;if(e||(e=new r(this,t),p(this).data(H,e)),"number"==typeof i)e.to(i);else if("string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}else t.interval&&t.ride&&(e.pause(),e.cycle())})},r._dataApiClickHandler=function(e){var t=m.getSelectorFromElement(this);if(t){var n=p(t)[0];if(n&&p(n).hasClass(Y)){var i=l({},p(n).data(),{},p(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(p(n),i),o&&p(n).data(H).to(o),e.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return W}}]),r}();p(document).on(V.CLICK_DATA_API,ae,he._dataApiClickHandler),p(window).on(V.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(le)),t=0,n=e.length;t<n;t++){var i=p(e[t]);he._jQueryInterface.call(i,i.data())}}),p.fn[j]=he._jQueryInterface,p.fn[j].Constructor=he,p.fn[j].noConflict=function(){return p.fn[j]=M,he._jQueryInterface};var ue="collapse",fe="bs.collapse",de="."+fe,pe=p.fn[ue],me={toggle:!0,parent:""},ge={toggle:"boolean",parent:"(string|element)"},_e={SHOW:"show"+de,SHOWN:"shown"+de,HIDE:"hide"+de,HIDDEN:"hidden"+de,CLICK_DATA_API:"click"+de+".data-api"},ve="show",ye="collapse",Ee="collapsing",be="collapsed",we="width",Te="height",Ce=".show, .collapsing",Se='[data-toggle="collapse"]',De=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(Se)),i=0,o=n.length;i<o;i++){var r=n[i],s=m.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(e){return e===t});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=a.prototype;return e.toggle=function(){p(this._element).hasClass(ve)?this.hide():this.show()},e.show=function(){var e,t,n=this;if(!this._isTransitioning&&!p(this._element).hasClass(ve)&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(Ce)).filter(function(e){return"string"==typeof n._config.parent?e.getAttribute("data-parent")===n._config.parent:e.classList.contains(ye)})).length&&(e=null),!(e&&(t=p(e).not(this._selector).data(fe))&&t._isTransitioning))){var i=p.Event(_e.SHOW);if(p(this._element).trigger(i),!i.isDefaultPrevented()){e&&(a._jQueryInterface.call(p(e).not(this._selector),"hide"),t||p(e).data(fe,null));var o=this._getDimension();p(this._element).removeClass(ye).addClass(Ee),this._element.style[o]=0,this._triggerArray.length&&p(this._triggerArray).removeClass(be).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){p(n._element).removeClass(Ee).addClass(ye).addClass(ve),n._element.style[o]="",n.setTransitioning(!1),p(n._element).trigger(_e.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},e.hide=function(){var e=this;if(!this._isTransitioning&&p(this._element).hasClass(ve)){var t=p.Event(_e.HIDE);if(p(this._element).trigger(t),!t.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",m.reflow(this._element),p(this._element).addClass(Ee).removeClass(ye).removeClass(ve);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=m.getSelectorFromElement(r);if(null!==s)p([].slice.call(document.querySelectorAll(s))).hasClass(ve)||p(r).addClass(be).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){e.setTransitioning(!1),p(e._element).removeClass(Ee).addClass(ye).trigger(_e.HIDDEN)}).emulateTransitionEnd(a)}}},e.setTransitioning=function(e){this._isTransitioning=e},e.dispose=function(){p.removeData(this._element,fe),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(e){return(e=l({},me,{},e)).toggle=Boolean(e.toggle),m.typeCheckConfig(ue,e,ge),e},e._getDimension=function(){return p(this._element).hasClass(we)?we:Te},e._getParent=function(){var e,n=this;m.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var t='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(e.querySelectorAll(t));return p(i).each(function(e,t){n._addAriaAndCollapsedClass(a._getTargetFromElement(t),[t])}),e},e._addAriaAndCollapsedClass=function(e,t){var n=p(e).hasClass(ve);t.length&&p(t).toggleClass(be,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(e){var t=m.getSelectorFromElement(e);return t?document.querySelector(t):null},a._jQueryInterface=function(i){return this.each(function(){var e=p(this),t=e.data(fe),n=l({},me,{},e.data(),{},"object"==typeof i&&i?i:{});if(!t&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),t||(t=new a(this,n),e.data(fe,t)),"string"==typeof i){if("undefined"==typeof t[i])throw new TypeError('No method named "'+i+'"');t[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return me}}]),a}();p(document).on(_e.CLICK_DATA_API,Se,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var n=p(this),t=m.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(t));p(i).each(function(){var e=p(this),t=e.data(fe)?"toggle":n.data();De._jQueryInterface.call(e,t)})}),p.fn[ue]=De._jQueryInterface,p.fn[ue].Constructor=De,p.fn[ue].noConflict=function(){return p.fn[ue]=pe,De._jQueryInterface};var Ie="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,Ae=function(){for(var e=["Edge","Trident","Firefox"],t=0;t<e.length;t+=1)if(Ie&&0<=navigator.userAgent.indexOf(e[t]))return 1;return 0}();var Oe=Ie&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},Ae))}};function Ne(e){return e&&"[object Function]"==={}.toString.call(e)}function ke(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function Le(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function Pe(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=ke(e),n=t.overflow,i=t.overflowX,o=t.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?e:Pe(Le(e))}function xe(e){return e&&e.referenceNode?e.referenceNode:e}var je=Ie&&!(!window.MSInputMethodContext||!document.documentMode),He=Ie&&/MSIE 10/.test(navigator.userAgent);function Re(e){return 11===e?je:10===e?He:je||He}function Fe(e){if(!e)return document.documentElement;for(var t=Re(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===ke(n,"position")?Fe(n):n:e?e.ownerDocument.documentElement:document.documentElement}function Me(e){return null!==e.parentNode?Me(e.parentNode):e}function We(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?e:t,o=n?t:e,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s=r.commonAncestorContainer;if(e!==s&&t!==s||i.contains(o))return function(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||Fe(e.firstElementChild)===e)}(s)?s:Fe(s);var a=Me(e);return a.host?We(a.host,t):We(e,Me(t).host)}function Ue(e,t){var n="top"===(1<arguments.length&&void 0!==t?t:"top")?"scrollTop":"scrollLeft",i=e.nodeName;if("BODY"!==i&&"HTML"!==i)return e[n];var o=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||o)[n]}function Be(e,t){var n="x"===t?"Left":"Top",i="Left"==n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+i+"Width"],10)}function qe(e,t,n,i){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],Re(10)?parseInt(n["offset"+e])+parseInt(i["margin"+("Height"===e?"Top":"Left")])+parseInt(i["margin"+("Height"===e?"Bottom":"Right")]):0)}function Ke(e){var t=e.body,n=e.documentElement,i=Re(10)&&getComputedStyle(n);return{height:qe("Height",t,n,i),width:qe("Width",t,n,i)}}var Qe=function(e,t,n){return t&&Ve(e.prototype,t),n&&Ve(e,n),e};function Ve(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ze=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};function Xe(e){return ze({},e,{right:e.left+e.width,bottom:e.top+e.height})}function Ge(e){var t={};try{if(Re(10)){t=e.getBoundingClientRect();var n=Ue(e,"top"),i=Ue(e,"left");t.top+=n,t.left+=i,t.bottom+=n,t.right+=i}else t=e.getBoundingClientRect()}catch(e){}var o={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},r="HTML"===e.nodeName?Ke(e.ownerDocument):{},s=r.width||e.clientWidth||o.width,a=r.height||e.clientHeight||o.height,l=e.offsetWidth-s,c=e.offsetHeight-a;if(l||c){var h=ke(e);l-=Be(h,"x"),c-=Be(h,"y"),o.width-=l,o.height-=c}return Xe(o)}function $e(e,t,n){var i=2<arguments.length&&void 0!==n&&n,o=Re(10),r="HTML"===t.nodeName,s=Ge(e),a=Ge(t),l=Pe(e),c=ke(t),h=parseFloat(c.borderTopWidth,10),u=parseFloat(c.borderLeftWidth,10);i&&r&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var f=Xe({top:s.top-a.top-h,left:s.left-a.left-u,width:s.width,height:s.height});if(f.marginTop=0,f.marginLeft=0,!o&&r){var d=parseFloat(c.marginTop,10),p=parseFloat(c.marginLeft,10);f.top-=h-d,f.bottom-=h-d,f.left-=u-p,f.right-=u-p,f.marginTop=d,f.marginLeft=p}return(o&&!i?t.contains(l):t===l&&"BODY"!==l.nodeName)&&(f=function(e,t,n){var i=2<arguments.length&&void 0!==n&&n,o=Ue(t,"top"),r=Ue(t,"left"),s=i?-1:1;return e.top+=o*s,e.bottom+=o*s,e.left+=r*s,e.right+=r*s,e}(f,t)),f}function Je(e){if(!e||!e.parentElement||Re())return document.documentElement;for(var t=e.parentElement;t&&"none"===ke(t,"transform");)t=t.parentElement;return t||document.documentElement}function Ze(e,t,n,i,o){var r=4<arguments.length&&void 0!==o&&o,s={top:0,left:0},a=r?Je(e):We(e,xe(t));if("viewport"===i)s=function(e,t){var n=1<arguments.length&&void 0!==t&&t,i=e.ownerDocument.documentElement,o=$e(e,i),r=Math.max(i.clientWidth,window.innerWidth||0),s=Math.max(i.clientHeight,window.innerHeight||0),a=n?0:Ue(i),l=n?0:Ue(i,"left");return Xe({top:a-o.top+o.marginTop,left:l-o.left+o.marginLeft,width:r,height:s})}(a,r);else{var l=void 0;"scrollParent"===i?"BODY"===(l=Pe(Le(t))).nodeName&&(l=e.ownerDocument.documentElement):l="window"===i?e.ownerDocument.documentElement:i;var c=$e(l,a,r);if("HTML"!==l.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===ke(t,"position"))return!0;var i=Le(t);return!!i&&e(i)}(a))s=c;else{var h=Ke(e.ownerDocument),u=h.height,f=h.width;s.top+=c.top-c.marginTop,s.bottom=u+c.top,s.left+=c.left-c.marginLeft,s.right=f+c.left}}var d="number"==typeof(n=n||0);return s.left+=d?n:n.left||0,s.top+=d?n:n.top||0,s.right-=d?n:n.right||0,s.bottom-=d?n:n.bottom||0,s}function et(e,t,i,n,o,r){var s=5<arguments.length&&void 0!==r?r:0;if(-1===e.indexOf("auto"))return e;var a=Ze(i,n,s,o),l={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},c=Object.keys(l).map(function(e){return ze({key:e},l[e],{area:function(e){return e.width*e.height}(l[e])})}).sort(function(e,t){return t.area-e.area}),h=c.filter(function(e){var t=e.width,n=e.height;return t>=i.clientWidth&&n>=i.clientHeight}),u=0<h.length?h[0].key:c[0].key,f=e.split("-")[1];return u+(f?"-"+f:"")}function tt(e,t,n,i){var o=3<arguments.length&&void 0!==i?i:null;return $e(n,o?Je(t):We(t,xe(n)),o)}function nt(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),i=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+i,height:e.offsetHeight+n}}function it(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function ot(e,t,n){n=n.split("-")[0];var i=nt(e),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=t[s]+t[l]/2-i[l]/2,o[a]=n===a?t[a]-i[c]:t[it(a)],o}function rt(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function st(e,n,t){return(void 0===t?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var i=rt(e,function(e){return e[t]===n});return e.indexOf(i)}(e,"name",t))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var t=e.function||e.fn;e.enabled&&Ne(t)&&(n.offsets.popper=Xe(n.offsets.popper),n.offsets.reference=Xe(n.offsets.reference),n=t(n,e))}),n}function at(e,n){return e.some(function(e){var t=e.name;return e.enabled&&t===n})}function lt(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),i=0;i<t.length;i++){var o=t[i],r=o?""+o+n:e;if("undefined"!=typeof document.body.style[r])return r}return null}function ct(e){var t=e.ownerDocument;return t?t.defaultView:window}function ht(e,t,n,i){n.updateBound=i,ct(e).addEventListener("resize",n.updateBound,{passive:!0});var o=Pe(e);return function e(t,n,i,o){var r="BODY"===t.nodeName,s=r?t.ownerDocument.defaultView:t;s.addEventListener(n,i,{passive:!0}),r||e(Pe(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function ut(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=function(e,t){return ct(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}(this.reference,this.state))}function ft(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function dt(n,i){Object.keys(i).forEach(function(e){var t="";-1!==["width","height","top","right","bottom","left"].indexOf(e)&&ft(i[e])&&(t="px"),n.style[e]=i[e]+t})}function pt(e,t){function n(e){return e}var i=e.offsets,o=i.popper,r=i.reference,s=Math.round,a=Math.floor,l=s(r.width),c=s(o.width),h=-1!==["left","right"].indexOf(e.placement),u=-1!==e.placement.indexOf("-"),f=t?h||u||l%2==c%2?s:a:n,d=t?s:n;return{left:f(l%2==1&&c%2==1&&!u&&t?o.left-1:o.left),top:d(o.top),bottom:d(o.bottom),right:f(o.right)}}var mt=Ie&&/Firefox/i.test(navigator.userAgent);function gt(e,t,n){var i=rt(e,function(e){return e.name===t}),o=!!i&&e.some(function(e){return e.name===n&&e.enabled&&e.order<i.order});if(!o){var r="`"+t+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var _t=["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"],vt=_t.slice(3);function yt(e,t){var n=1<arguments.length&&void 0!==t&&t,i=vt.indexOf(e),o=vt.slice(i+1).concat(vt.slice(0,i));return n?o.reverse():o}var Et="flip",bt="clockwise",wt="counterclockwise";function Tt(e,o,r,t){var s=[0,0],a=-1!==["right","left"].indexOf(t),n=e.split(/(\+|\-)/).map(function(e){return e.trim()}),i=n.indexOf(rt(n,function(e){return-1!==e.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(e,t){var n=(1===t?!a:a)?"height":"width",i=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,i=!0,e):i?(e[e.length-1]+=t,i=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,i){var o=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return e;if(0!==s.indexOf("%"))return"vh"!==s&&"vw"!==s?r:("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Xe(a)[t]/100*r}(e,n,o,r)})})).forEach(function(n,i){n.forEach(function(e,t){ft(e)&&(s[i]+=e*("-"===n[t-1]?-1:1))})}),s}var Ct={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],i=t.split("-")[1];if(i){var o=e.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",h={start:Ye({},l,r[l]),end:Ye({},l,r[l]+r[c]-s[c])};e.offsets.popper=ze({},s,h[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,i=e.placement,o=e.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=ft(+n)?[+n,0]:Tt(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),e.popper=r,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,i){var t=i.boundariesElement||Fe(e.instance.popper);e.instance.reference===t&&(t=Fe(t));var n=lt("transform"),o=e.instance.popper.style,r=o.top,s=o.left,a=o[n];o.top="",o.left="",o[n]="";var l=Ze(e.instance.popper,e.instance.reference,i.padding,t,e.positionFixed);o.top=r,o.left=s,o[n]=a,i.boundaries=l;var c=i.priority,h=e.offsets.popper,u={primary:function(e){var t=h[e];return h[e]<l[e]&&!i.escapeWithReference&&(t=Math.max(h[e],l[e])),Ye({},e,t)},secondary:function(e){var t="right"===e?"left":"top",n=h[t];return h[e]>l[e]&&!i.escapeWithReference&&(n=Math.min(h[t],l[e]-("right"===e?h.width:h.height))),Ye({},t,n)}};return c.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";h=ze({},h,u[t](e))}),e.offsets.popper=h,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,o=e.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(e.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(e.offsets.popper[l]=r(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!gt(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var o=e.placement.split("-")[0],r=e.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",h=l?"Top":"Left",u=h.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=nt(i)[c];a[d]-p<s[u]&&(e.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(e.offsets.popper[u]+=a[u]+p-s[d]),e.offsets.popper=Xe(e.offsets.popper);var m=a[u]+a[c]/2-p/2,g=ke(e.instance.popper),_=parseFloat(g["margin"+h],10),v=parseFloat(g["border"+h+"Width"],10),y=m-e.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),e.arrowElement=i,e.offsets.arrow=(Ye(n={},u,Math.round(y)),Ye(n,f,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(m,g){if(at(m.instance.modifiers,"inner"))return m;if(m.flipped&&m.placement===m.originalPlacement)return m;var _=Ze(m.instance.popper,m.instance.reference,g.padding,g.boundariesElement,m.positionFixed),v=m.placement.split("-")[0],y=it(v),E=m.placement.split("-")[1]||"",b=[];switch(g.behavior){case Et:b=[v,y];break;case bt:b=yt(v);break;case wt:b=yt(v,!0);break;default:b=g.behavior}return b.forEach(function(e,t){if(v!==e||b.length===t+1)return m;v=m.placement.split("-")[0],y=it(v);var n=m.offsets.popper,i=m.offsets.reference,o=Math.floor,r="left"===v&&o(n.right)>o(i.left)||"right"===v&&o(n.left)<o(i.right)||"top"===v&&o(n.bottom)>o(i.top)||"bottom"===v&&o(n.top)<o(i.bottom),s=o(n.left)<o(_.left),a=o(n.right)>o(_.right),l=o(n.top)<o(_.top),c=o(n.bottom)>o(_.bottom),h="left"===v&&s||"right"===v&&a||"top"===v&&l||"bottom"===v&&c,u=-1!==["top","bottom"].indexOf(v),f=!!g.flipVariations&&(u&&"start"===E&&s||u&&"end"===E&&a||!u&&"start"===E&&l||!u&&"end"===E&&c),d=!!g.flipVariationsByContent&&(u&&"start"===E&&a||u&&"end"===E&&s||!u&&"start"===E&&c||!u&&"end"===E&&l),p=f||d;(r||h||p)&&(m.flipped=!0,(r||h)&&(v=b[t+1]),p&&(E=function(e){return"end"===e?"start":"start"===e?"end":e}(E)),m.placement=v+(E?"-"+E:""),m.offsets.popper=ze({},m.offsets.popper,ot(m.instance.popper,m.offsets.reference,m.placement)),m=st(m.instance.modifiers,m,"flip"))}),m},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),e.placement=it(t),e.offsets.popper=Xe(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!gt(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=rt(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,i=t.y,o=e.offsets.popper,r=rt(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:t.gpuAcceleration,a=Fe(e.instance.popper),l=Ge(a),c={position:o.position},h=pt(e,window.devicePixelRatio<2||!mt),u="bottom"===n?"top":"bottom",f="right"===i?"left":"right",d=lt("transform"),p=void 0,m=void 0;if(m="bottom"==u?"HTML"===a.nodeName?-a.clientHeight+h.bottom:-l.height+h.bottom:h.top,p="right"==f?"HTML"===a.nodeName?-a.clientWidth+h.right:-l.width+h.right:h.left,s&&d)c[d]="translate3d("+p+"px, "+m+"px, 0)",c[u]=0,c[f]=0,c.willChange="transform";else{var g="bottom"==u?-1:1,_="right"==f?-1:1;c[u]=m*g,c[f]=p*_,c.willChange=u+", "+f}var v={"x-placement":e.placement};return e.attributes=ze({},v,e.attributes),e.styles=ze({},c,e.styles),e.arrowStyles=ze({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){return dt(e.instance.popper,e.styles),function(t,n){Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)})}(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&dt(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,i,o){var r=tt(o,t,e,n.positionFixed),s=et(n.placement,r,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",s),dt(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},St=(Qe(Dt,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=tt(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=et(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=ot(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=st(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,at(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[lt("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ht(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return ut.call(this)}}]),Dt);function Dt(e,t){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,Dt),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=Oe(this.update.bind(this)),this.options=ze({},Dt.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(ze({},Dt.Defaults.modifiers,i.modifiers)).forEach(function(e){n.options.modifiers[e]=ze({},Dt.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return ze({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&Ne(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}St.Utils=("undefined"!=typeof window?window:global).PopperUtils,St.placements=_t,St.Defaults=Ct;var It="dropdown",At="bs.dropdown",Ot="."+At,Nt=".data-api",kt=p.fn[It],Lt=new RegExp("38|40|27"),Pt={HIDE:"hide"+Ot,HIDDEN:"hidden"+Ot,SHOW:"show"+Ot,SHOWN:"shown"+Ot,CLICK:"click"+Ot,CLICK_DATA_API:"click"+Ot+Nt,KEYDOWN_DATA_API:"keydown"+Ot+Nt,KEYUP_DATA_API:"keyup"+Ot+Nt},xt="disabled",jt="show",Ht="dropup",Rt="dropright",Ft="dropleft",Mt="dropdown-menu-right",Wt="position-static",Ut='[data-toggle="dropdown"]',Bt=".dropdown form",qt=".dropdown-menu",Kt=".navbar-nav",Qt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Vt="top-start",Yt="top-end",zt="bottom-start",Xt="bottom-end",Gt="right-start",$t="left-start",Jt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Zt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},en=function(){function c(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=c.prototype;return e.toggle=function(){if(!this._element.disabled&&!p(this._element).hasClass(xt)){var e=p(this._menu).hasClass(jt);c._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||p(this._element).hasClass(xt)||p(this._menu).hasClass(jt))){var t={relatedTarget:this._element},n=p.Event(Pt.SHOW,t),i=c._getParentFromElement(this._element);if(p(i).trigger(n),!n.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof St)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=i:m.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&p(i).addClass(Wt),this._popper=new St(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===p(i).closest(Kt).length&&p(document.body).children().on("mouseover",null,p.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),p(this._menu).toggleClass(jt),p(i).toggleClass(jt).trigger(p.Event(Pt.SHOWN,t))}}},e.hide=function(){if(!this._element.disabled&&!p(this._element).hasClass(xt)&&p(this._menu).hasClass(jt)){var e={relatedTarget:this._element},t=p.Event(Pt.HIDE,e),n=c._getParentFromElement(this._element);p(n).trigger(t),t.isDefaultPrevented()||(this._popper&&this._popper.destroy(),p(this._menu).toggleClass(jt),p(n).toggleClass(jt).trigger(p.Event(Pt.HIDDEN,e)))}},e.dispose=function(){p.removeData(this._element,At),p(this._element).off(Ot),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;p(this._element).on(Pt.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},e._getConfig=function(e){return e=l({},this.constructor.Default,{},p(this._element).data(),{},e),m.typeCheckConfig(It,e,this.constructor.DefaultType),e},e._getMenuElement=function(){if(!this._menu){var e=c._getParentFromElement(this._element);e&&(this._menu=e.querySelector(qt))}return this._menu},e._getPlacement=function(){var e=p(this._element.parentNode),t=zt;return e.hasClass(Ht)?(t=Vt,p(this._menu).hasClass(Mt)&&(t=Yt)):e.hasClass(Rt)?t=Gt:e.hasClass(Ft)?t=$t:p(this._menu).hasClass(Mt)&&(t=Xt),t},e._detectNavbar=function(){return 0<p(this._element).closest(".navbar").length},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),l({},e,{},this._config.popperConfig)},c._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(At);if(e||(e=new c(this,"object"==typeof t?t:null),p(this).data(At,e)),"string"==typeof t){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},c._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var t=[].slice.call(document.querySelectorAll(Ut)),n=0,i=t.length;n<i;n++){var o=c._getParentFromElement(t[n]),r=p(t[n]).data(At),s={relatedTarget:t[n]};if(e&&"click"===e.type&&(s.clickEvent=e),r){var a=r._menu;if(p(o).hasClass(jt)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&p.contains(o,e.target))){var l=p.Event(Pt.HIDE,s);p(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),t[n].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),p(a).removeClass(jt),p(o).removeClass(jt).trigger(p.Event(Pt.HIDDEN,s)))}}}},c._getParentFromElement=function(e){var t,n=m.getSelectorFromElement(e);return n&&(t=document.querySelector(n)),t||e.parentNode},c._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||p(e.target).closest(qt).length)):Lt.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!p(this).hasClass(xt))){var t=c._getParentFromElement(this),n=p(t).hasClass(jt);if(n||27!==e.which)if(n&&(!n||27!==e.which&&32!==e.which)){var i=[].slice.call(t.querySelectorAll(Qt)).filter(function(e){return p(e).is(":visible")});if(0!==i.length){var o=i.indexOf(e.target);38===e.which&&0<o&&o--,40===e.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===e.which){var r=t.querySelector(Ut);p(r).trigger("focus")}p(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Jt}},{key:"DefaultType",get:function(){return Zt}}]),c}();p(document).on(Pt.KEYDOWN_DATA_API,Ut,en._dataApiKeydownHandler).on(Pt.KEYDOWN_DATA_API,qt,en._dataApiKeydownHandler).on(Pt.CLICK_DATA_API+" "+Pt.KEYUP_DATA_API,en._clearMenus).on(Pt.CLICK_DATA_API,Ut,function(e){e.preventDefault(),e.stopPropagation(),en._jQueryInterface.call(p(this),"toggle")}).on(Pt.CLICK_DATA_API,Bt,function(e){e.stopPropagation()}),p.fn[It]=en._jQueryInterface,p.fn[It].Constructor=en,p.fn[It].noConflict=function(){return p.fn[It]=kt,en._jQueryInterface};var tn="modal",nn="bs.modal",on="."+nn,rn=p.fn[tn],sn={backdrop:!0,keyboard:!0,focus:!0,show:!0},an={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},ln={HIDE:"hide"+on,HIDE_PREVENTED:"hidePrevented"+on,HIDDEN:"hidden"+on,SHOW:"show"+on,SHOWN:"shown"+on,FOCUSIN:"focusin"+on,RESIZE:"resize"+on,CLICK_DISMISS:"click.dismiss"+on,KEYDOWN_DISMISS:"keydown.dismiss"+on,MOUSEUP_DISMISS:"mouseup.dismiss"+on,MOUSEDOWN_DISMISS:"mousedown.dismiss"+on,CLICK_DATA_API:"click"+on+".data-api"},cn="modal-dialog-scrollable",hn="modal-scrollbar-measure",un="modal-backdrop",fn="modal-open",dn="fade",pn="show",mn="modal-static",gn=".modal-dialog",_n=".modal-body",vn='[data-toggle="modal"]',yn='[data-dismiss="modal"]',En=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",bn=".sticky-top",wn=function(){function o(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=e.querySelector(gn),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var e=o.prototype;return e.toggle=function(e){return this._isShown?this.hide():this.show(e)},e.show=function(e){var t=this;if(!this._isShown&&!this._isTransitioning){p(this._element).hasClass(dn)&&(this._isTransitioning=!0);var n=p.Event(ln.SHOW,{relatedTarget:e});p(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),p(this._element).on(ln.CLICK_DISMISS,yn,function(e){return t.hide(e)}),p(this._dialog).on(ln.MOUSEDOWN_DISMISS,function(){p(t._element).one(ln.MOUSEUP_DISMISS,function(e){p(e.target).is(t._element)&&(t._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return t._showElement(e)}))}},e.hide=function(e){var t=this;if(e&&e.preventDefault(),this._isShown&&!this._isTransitioning){var n=p.Event(ln.HIDE);if(p(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=p(this._element).hasClass(dn);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),p(document).off(ln.FOCUSIN),p(this._element).removeClass(pn),p(this._element).off(ln.CLICK_DISMISS),p(this._dialog).off(ln.MOUSEDOWN_DISMISS),i){var o=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(e){return t._hideModal(e)}).emulateTransitionEnd(o)}else this._hideModal()}}},e.dispose=function(){[window,this._element,this._dialog].forEach(function(e){return p(e).off(on)}),p(document).off(ln.FOCUSIN),p.removeData(this._element,nn),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},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(e){return e=l({},sn,{},e),m.typeCheckConfig(tn,e,an),e},e._triggerBackdropTransition=function(){var e=this;if("static"===this._config.backdrop){var t=p.Event(ln.HIDE_PREVENTED);if(p(this._element).trigger(t),t.defaultPrevented)return;this._element.classList.add(mn);var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){e._element.classList.remove(mn)}).emulateTransitionEnd(n),this._element.focus()}else this.hide()},e._showElement=function(e){var t=this,n=p(this._element).hasClass(dn),i=this._dialog?this._dialog.querySelector(_n):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),p(this._dialog).hasClass(cn)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&m.reflow(this._element),p(this._element).addClass(pn),this._config.focus&&this._enforceFocus();function o(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,p(t._element).trigger(r)}var r=p.Event(ln.SHOWN,{relatedTarget:e});if(n){var s=m.getTransitionDurationFromElement(this._dialog);p(this._dialog).one(m.TRANSITION_END,o).emulateTransitionEnd(s)}else o()},e._enforceFocus=function(){var t=this;p(document).off(ln.FOCUSIN).on(ln.FOCUSIN,function(e){document!==e.target&&t._element!==e.target&&0===p(t._element).has(e.target).length&&t._element.focus()})},e._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?p(this._element).on(ln.KEYDOWN_DISMISS,function(e){27===e.which&&t._triggerBackdropTransition()}):this._isShown||p(this._element).off(ln.KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?p(window).on(ln.RESIZE,function(e){return t.handleUpdate(e)}):p(window).off(ln.RESIZE)},e._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){p(document.body).removeClass(fn),e._resetAdjustments(),e._resetScrollbar(),p(e._element).trigger(ln.HIDDEN)})},e._removeBackdrop=function(){this._backdrop&&(p(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(e){var t=this,n=p(this._element).hasClass(dn)?dn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=un,n&&this._backdrop.classList.add(n),p(this._backdrop).appendTo(document.body),p(this._element).on(ln.CLICK_DISMISS,function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&t._triggerBackdropTransition()}),n&&m.reflow(this._backdrop),p(this._backdrop).addClass(pn),!e)return;if(!n)return void e();var i=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,e).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){p(this._backdrop).removeClass(pn);var o=function(){t._removeBackdrop(),e&&e()};if(p(this._element).hasClass(dn)){var r=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else e&&e()},e._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(En)),t=[].slice.call(document.querySelectorAll(bn));p(e).each(function(e,t){var n=t.style.paddingRight,i=p(t).css("padding-right");p(t).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),p(t).each(function(e,t){var n=t.style.marginRight,i=p(t).css("margin-right");p(t).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=p(document.body).css("padding-right");p(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}p(document.body).addClass(fn)},e._resetScrollbar=function(){var e=[].slice.call(document.querySelectorAll(En));p(e).each(function(e,t){var n=p(t).data("padding-right");p(t).removeData("padding-right"),t.style.paddingRight=n||""});var t=[].slice.call(document.querySelectorAll(""+bn));p(t).each(function(e,t){var n=p(t).data("margin-right");"undefined"!=typeof n&&p(t).css("margin-right",n).removeData("margin-right")});var n=p(document.body).data("padding-right");p(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var e=document.createElement("div");e.className=hn,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},o._jQueryInterface=function(n,i){return this.each(function(){var e=p(this).data(nn),t=l({},sn,{},p(this).data(),{},"object"==typeof n&&n?n:{});if(e||(e=new o(this,t),p(this).data(nn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](i)}else t.show&&e.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return sn}}]),o}();p(document).on(ln.CLICK_DATA_API,vn,function(e){var t,n=this,i=m.getSelectorFromElement(this);i&&(t=document.querySelector(i));var o=p(t).data(nn)?"toggle":l({},p(t).data(),{},p(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var r=p(t).one(ln.SHOW,function(e){e.isDefaultPrevented()||r.one(ln.HIDDEN,function(){p(n).is(":visible")&&n.focus()})});wn._jQueryInterface.call(p(t),o,this)}),p.fn[tn]=wn._jQueryInterface,p.fn[tn].Constructor=wn,p.fn[tn].noConflict=function(){return p.fn[tn]=rn,wn._jQueryInterface};var Tn=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Cn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Sn=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Dn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function In(e,r,t){if(0===e.length)return e;if(t&&"function"==typeof t)return t(e);for(var n=(new window.DOMParser).parseFromString(e,"text/html"),s=Object.keys(r),a=[].slice.call(n.body.querySelectorAll("*")),i=function(e){var t=a[e],n=t.nodeName.toLowerCase();if(-1===s.indexOf(t.nodeName.toLowerCase()))return t.parentNode.removeChild(t),"continue";var i=[].slice.call(t.attributes),o=[].concat(r["*"]||[],r[n]||[]);i.forEach(function(e){!function(e,t){var n=e.nodeName.toLowerCase();if(-1!==t.indexOf(n))return-1===Tn.indexOf(n)||Boolean(e.nodeValue.match(Sn)||e.nodeValue.match(Dn));for(var i=t.filter(function(e){return e instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1}(e,o)&&t.removeAttribute(e.nodeName)})},o=0,l=a.length;o<l;o++)i(o);return n.body.innerHTML}var An="tooltip",On="bs.tooltip",Nn="."+On,kn=p.fn[An],Ln="bs-tooltip",Pn=new RegExp("(^|\\s)"+Ln+"\\S+","g"),xn=["sanitize","whiteList","sanitizeFn"],jn={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)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Hn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Rn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Cn,popperConfig:null},Fn="show",Mn="out",Wn={HIDE:"hide"+Nn,HIDDEN:"hidden"+Nn,SHOW:"show"+Nn,SHOWN:"shown"+Nn,INSERTED:"inserted"+Nn,CLICK:"click"+Nn,FOCUSIN:"focusin"+Nn,FOCUSOUT:"focusout"+Nn,MOUSEENTER:"mouseenter"+Nn,MOUSELEAVE:"mouseleave"+Nn},Un="fade",Bn="show",qn=".tooltip-inner",Kn=".arrow",Qn="hover",Vn="focus",Yn="click",zn="manual",Xn=function(){function i(e,t){if("undefined"==typeof St)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=p(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(Bn))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&p(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var e=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(e);var n=m.findShadowRoot(this.element),i=p.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=m.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&p(o).addClass(Un);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();p(o).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(o).appendTo(l),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new St(this.element,o,this._getPopperConfig(a)),p(o).addClass(Bn),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,p(t.element).trigger(t.constructor.Event.SHOWN),e===Mn&&t._leave(null,t)};if(p(this.tip).hasClass(Un)){var h=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(e){function t(){n._hoverState!==Fn&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),p(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()}var n=this,i=this.getTipElement(),o=p.Event(this.constructor.Event.HIDE);if(p(this.element).trigger(o),!o.isDefaultPrevented()){if(p(i).removeClass(Bn),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger[Yn]=!1,this._activeTrigger[Vn]=!1,this._activeTrigger[Qn]=!1,p(this.tip).hasClass(Un)){var r=m.getTransitionDurationFromElement(i);p(i).one(m.TRANSITION_END,t).emulateTransitionEnd(r)}else t();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){p(this.getTipElement()).addClass(Ln+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(p(e.querySelectorAll(qn)),this.getTitle()),p(e).removeClass(Un+" "+Bn)},e.setElementContent=function(e,t){"object"!=typeof t||!t.nodeType&&!t.jquery?this.config.html?(this.config.sanitize&&(t=In(t,this.config.whiteList,this.config.sanitizeFn)),e.html(t)):e.text(t):this.config.html?p(t).parent().is(e)||e.empty().append(t):e.text(p(t).text())},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e=e||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},e._getPopperConfig=function(e){var t=this;return l({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Kn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},{},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:m.isElement(this.config.container)?p(this.config.container):p(document).find(this.config.container)},e._getAttachment=function(e){return Hn[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if(e!==zn){var t=e===Qn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===Qn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}}),this._hideModalHandler=function(){i.element&&i.hide()},p(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==e||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?Vn:Qn]=!0),p(t.getTipElement()).hasClass(Bn)||t._hoverState===Fn?t._hoverState=Fn:(clearTimeout(t._timeout),t._hoverState=Fn,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===Fn&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?Vn:Qn]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=Mn,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===Mn&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){var t=p(this.element).data();return Object.keys(t).forEach(function(e){-1!==xn.indexOf(e)&&delete t[e]}),"number"==typeof(e=l({},this.constructor.Default,{},t,{},"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),m.typeCheckConfig(An,e,this.constructor.DefaultType),e.sanitize&&(e.template=In(e.template,e.whiteList,e.sanitizeFn)),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr("class").match(Pn);null!==t&&t.length&&e.removeClass(t.join(""))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(p(e).removeClass(Un),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},i._jQueryInterface=function(n){return this.each(function(){var e=p(this).data(On),t="object"==typeof n&&n;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),p(this).data(On,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Rn}},{key:"NAME",get:function(){return An}},{key:"DATA_KEY",get:function(){return On}},{key:"Event",get:function(){return Wn}},{key:"EVENT_KEY",get:function(){return Nn}},{key:"DefaultType",get:function(){return jn}}]),i}();p.fn[An]=Xn._jQueryInterface,p.fn[An].Constructor=Xn,p.fn[An].noConflict=function(){return p.fn[An]=kn,Xn._jQueryInterface};var Gn="popover",$n="bs.popover",Jn="."+$n,Zn=p.fn[Gn],ei="bs-popover",ti=new RegExp("(^|\\s)"+ei+"\\S+","g"),ni=l({},Xn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),ii=l({},Xn.DefaultType,{content:"(string|element|function)"}),oi="fade",ri="show",si=".popover-header",ai=".popover-body",li={HIDE:"hide"+Jn,HIDDEN:"hidden"+Jn,SHOW:"show"+Jn,SHOWN:"shown"+Jn,INSERTED:"inserted"+Jn,CLICK:"click"+Jn,FOCUSIN:"focusin"+Jn,FOCUSOUT:"focusout"+Jn,MOUSEENTER:"mouseenter"+Jn,MOUSELEAVE:"mouseleave"+Jn},ci=function(e){function i(){return e.apply(this,arguments)||this}!function(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t}(i,e);var t=i.prototype;return t.isWithContent=function(){return this.getTitle()||this._getContent()},t.addAttachmentClass=function(e){p(this.getTipElement()).addClass(ei+"-"+e)},t.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},t.setContent=function(){var e=p(this.getTipElement());this.setElementContent(e.find(si),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(ai),t),e.removeClass(oi+" "+ri)},t._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},t._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr("class").match(ti);null!==t&&0<t.length&&e.removeClass(t.join(""))},i._jQueryInterface=function(n){return this.each(function(){var e=p(this).data($n),t="object"==typeof n?n:null;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),p(this).data($n,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return ni}},{key:"NAME",get:function(){return Gn}},{key:"DATA_KEY",get:function(){return $n}},{key:"Event",get:function(){return li}},{key:"EVENT_KEY",get:function(){return Jn}},{key:"DefaultType",get:function(){return ii}}]),i}(Xn);p.fn[Gn]=ci._jQueryInterface,p.fn[Gn].Constructor=ci,p.fn[Gn].noConflict=function(){return p.fn[Gn]=Zn,ci._jQueryInterface};var hi="scrollspy",ui="bs.scrollspy",fi="."+ui,di=p.fn[hi],pi={offset:10,method:"auto",target:""},mi={offset:"number",method:"string",target:"(string|element)"},gi={ACTIVATE:"activate"+fi,SCROLL:"scroll"+fi,LOAD_DATA_API:"load"+fi+".data-api"},_i="dropdown-item",vi="active",yi='[data-spy="scroll"]',Ei=".nav, .list-group",bi=".nav-link",wi=".nav-item",Ti=".list-group-item",Ci=".dropdown",Si=".dropdown-item",Di=".dropdown-toggle",Ii="offset",Ai="position",Oi=function(){function n(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+bi+","+this._config.target+" "+Ti+","+this._config.target+" "+Si,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,p(this._scrollElement).on(gi.SCROLL,function(e){return n._process(e)}),this.refresh(),this._process()}var e=n.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Ii:Ai,o="auto"===this._config.method?e:this._config.method,r=o===Ai?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(e){var t,n=m.getSelectorFromElement(e);if(n&&(t=document.querySelector(n)),t){var i=t.getBoundingClientRect();if(i.width||i.height)return[p(t)[o]().top+r,n]}return null}).filter(function(e){return e}).sort(function(e,t){return e[0]-t[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},e.dispose=function(){p.removeData(this._element,ui),p(this._scrollElement).off(fi),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(e){if("string"!=typeof(e=l({},pi,{},"object"==typeof e&&e?e:{})).target){var t=p(e.target).attr("id");t||(t=m.getUID(hi),p(e.target).attr("id",t)),e.target="#"+t}return m.typeCheckConfig(hi,e,mi),e},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),n<=e){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&e>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||e<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'}),n=p([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass(_i)?(n.closest(Ci).find(Di).addClass(vi),n.addClass(vi)):(n.addClass(vi),n.parents(Ei).prev(bi+", "+Ti).addClass(vi),n.parents(Ei).prev(wi).children(bi).addClass(vi)),p(this._scrollElement).trigger(gi.ACTIVATE,{relatedTarget:t})},e._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(e){return e.classList.contains(vi)}).forEach(function(e){return e.classList.remove(vi)})},n._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(ui);if(e||(e=new n(this,"object"==typeof t&&t),p(this).data(ui,e)),"string"==typeof t){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return pi}}]),n}();p(window).on(gi.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(yi)),t=e.length;t--;){var n=p(e[t]);Oi._jQueryInterface.call(n,n.data())}}),p.fn[hi]=Oi._jQueryInterface,p.fn[hi].Constructor=Oi,p.fn[hi].noConflict=function(){return p.fn[hi]=di,Oi._jQueryInterface};var Ni="bs.tab",ki="."+Ni,Li=p.fn.tab,Pi={HIDE:"hide"+ki,HIDDEN:"hidden"+ki,SHOW:"show"+ki,SHOWN:"shown"+ki,CLICK_DATA_API:"click"+ki+".data-api"},xi="dropdown-menu",ji="active",Hi="disabled",Ri="fade",Fi="show",Mi=".dropdown",Wi=".nav, .list-group",Ui=".active",Bi="> li > .active",qi='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Ki=".dropdown-toggle",Qi="> .dropdown-menu .active",Vi=function(){function i(e){this._element=e}var e=i.prototype;return e.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(ji)||p(this._element).hasClass(Hi))){var e,i,t=p(this._element).closest(Wi)[0],o=m.getSelectorFromElement(this._element);if(t){var r="UL"===t.nodeName||"OL"===t.nodeName?Bi:Ui;i=(i=p.makeArray(p(t).find(r)))[i.length-1]}var s=p.Event(Pi.HIDE,{relatedTarget:this._element}),a=p.Event(Pi.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(e=document.querySelector(o)),this._activate(this._element,t);var l=function(){var e=p.Event(Pi.HIDDEN,{relatedTarget:n._element}),t=p.Event(Pi.SHOWN,{relatedTarget:i});p(i).trigger(e),p(n._element).trigger(t)};e?this._activate(e,e.parentNode,l):l()}}},e.dispose=function(){p.removeData(this._element,Ni),this._element=null},e._activate=function(e,t,n){function i(){return o._transitionComplete(e,r,n)}var o=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?p(t).children(Ui):p(t).find(Bi))[0],s=n&&r&&p(r).hasClass(Ri);if(r&&s){var a=m.getTransitionDurationFromElement(r);p(r).removeClass(Fi).one(m.TRANSITION_END,i).emulateTransitionEnd(a)}else i()},e._transitionComplete=function(e,t,n){if(t){p(t).removeClass(ji);var i=p(t.parentNode).find(Qi)[0];i&&p(i).removeClass(ji),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}if(p(e).addClass(ji),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),m.reflow(e),e.classList.contains(Ri)&&e.classList.add(Fi),e.parentNode&&p(e.parentNode).hasClass(xi)){var o=p(e).closest(Mi)[0];if(o){var r=[].slice.call(o.querySelectorAll(Ki));p(r).addClass(ji)}e.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(Ni);if(t||(t=new i(this),e.data(Ni,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();p(document).on(Pi.CLICK_DATA_API,qi,function(e){e.preventDefault(),Vi._jQueryInterface.call(p(this),"show")}),p.fn.tab=Vi._jQueryInterface,p.fn.tab.Constructor=Vi,p.fn.tab.noConflict=function(){return p.fn.tab=Li,Vi._jQueryInterface};var Yi="toast",zi="bs.toast",Xi="."+zi,Gi=p.fn[Yi],$i={CLICK_DISMISS:"click.dismiss"+Xi,HIDE:"hide"+Xi,HIDDEN:"hidden"+Xi,SHOW:"show"+Xi,SHOWN:"shown"+Xi},Ji="fade",Zi="hide",eo="show",to="showing",no={animation:"boolean",autohide:"boolean",delay:"number"},io={animation:!0,autohide:!0,delay:500},oo='[data-dismiss="toast"]',ro=function(){function i(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners()}var e=i.prototype;return e.show=function(){var e=this,t=p.Event($i.SHOW);if(p(this._element).trigger(t),!t.isDefaultPrevented()){this._config.animation&&this._element.classList.add(Ji);var n=function(){e._element.classList.remove(to),e._element.classList.add(eo),p(e._element).trigger($i.SHOWN),e._config.autohide&&(e._timeout=setTimeout(function(){e.hide()},e._config.delay))};if(this._element.classList.remove(Zi),m.reflow(this._element),this._element.classList.add(to),this._config.animation){var i=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains(eo)){var e=p.Event($i.HIDE);p(this._element).trigger(e),e.isDefaultPrevented()||this._close()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(eo)&&this._element.classList.remove(eo),p(this._element).off($i.CLICK_DISMISS),p.removeData(this._element,zi),this._element=null,this._config=null},e._getConfig=function(e){return e=l({},io,{},p(this._element).data(),{},"object"==typeof e&&e?e:{}),m.typeCheckConfig(Yi,e,this.constructor.DefaultType),e},e._setListeners=function(){var e=this;p(this._element).on($i.CLICK_DISMISS,oo,function(){return e.hide()})},e._close=function(){function e(){t._element.classList.add(Zi),p(t._element).trigger($i.HIDDEN)}var t=this;if(this._element.classList.remove(eo),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(zi);if(t||(t=new i(this,"object"==typeof n&&n),e.data(zi,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"DefaultType",get:function(){return no}},{key:"Default",get:function(){return io}}]),i}();p.fn[Yi]=ro._jQueryInterface,p.fn[Yi].Constructor=ro,p.fn[Yi].noConflict=function(){return p.fn[Yi]=Gi,ro._jQueryInterface},e.Alert=_,e.Button=x,e.Carousel=he,e.Collapse=De,e.Dropdown=en,e.Modal=wn,e.Popover=ci,e.Scrollspy=Oi,e.Tab=Vi,e.Toast=ro,e.Tooltip=Xn,e.Util=m,Object.defineProperty(e,"__esModule",{value:!0})});
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t=t||self).bootstrap={},t.jQuery)}(this,(function(t,e){"use strict";function n(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function s(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;function a(t){var n=this,i=!1;return e(this).one(l.TRANSITION_END,(function(){i=!0})),setTimeout((function(){i||l.triggerTransitionEnd(n)}),t),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var n=e(t).css("transition-duration"),i=e(t).css("transition-delay"),o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger("transitionend")},supportsTransitionEnd:function(){return Boolean("transitionend")},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&l.isElement(r)?"element":null===(a=r)||"undefined"==typeof a?""+a:{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?l.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof e)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};l.jQueryDetection(),e.fn.emulateTransitionEnd=a,e.event.special[l.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var c="alert",u=e.fn[c],h=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=l.getSelectorFromElement(t),i=!1;return n&&(i=document.querySelector(n)),i||(i=e(t).closest(".alert")[0]),i},n._triggerCloseEvent=function(t){var n=e.Event("close.bs.alert");return e(t).trigger(n),n},n._removeElement=function(t){var n=this;if(e(t).removeClass("show"),e(t).hasClass("fade")){var i=l.getTransitionDurationFromElement(t);e(t).one(l.TRANSITION_END,(function(e){return n._destroyElement(t,e)})).emulateTransitionEnd(i)}else this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.alert");o||(o=new t(this),i.data("bs.alert",o)),"close"===n&&o[n](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',h._handleDismiss(new h)),e.fn[c]=h._jQueryInterface,e.fn[c].Constructor=h,e.fn[c].noConflict=function(){return e.fn[c]=u,h._jQueryInterface};var f=e.fn.button,d=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,i=e(this._element).closest('[data-toggle="buttons"]')[0];if(i){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var r=i.querySelector(".active");r&&e(r).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),e(o).trigger("change")),o.focus(),n=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(n&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&e(this._element).toggleClass("active"))},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()}))},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=t.target,i=n;if(e(n).hasClass("btn")||(n=e(n).closest(".btn")[0]),!n||n.hasAttribute("disabled")||n.classList.contains("disabled"))t.preventDefault();else{var o=n.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"LABEL"===i.tagName&&o&&"checkbox"===o.type&&t.preventDefault(),d._jQueryInterface.call(e(n),"toggle")}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=e(t.target).closest(".btn")[0];e(n).toggleClass("focus",/^focus(in)?$/.test(t.type))})),e(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector('input:not([type="hidden"])');o.checked||o.hasAttribute("checked")?i.classList.add("active"):i.classList.remove("active")}for(var r=0,s=(t=[].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length;r<s;r++){var a=t[r];"true"===a.getAttribute("aria-pressed")?a.classList.add("active"):a.classList.remove("active")}})),e.fn.button=d._jQueryInterface,e.fn.button.Constructor=d,e.fn.button.noConflict=function(){return e.fn.button=f,d._jQueryInterface};var p="carousel",m=".bs.carousel",g=e.fn[p],v={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},_={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},b={TOUCH:"touch",PEN:"pen"},y=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(".carousel-indicators"),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(l.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var n=this;this._activeElement=this._element.querySelector(".active.carousel-item");var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one("slid.bs.carousel",(function(){return n.to(t)}));else{if(i===t)return this.pause(),void this.cycle();var o=t>i?"next":"prev";this._slide(o,this._items[t])}},n.dispose=function(){e(this._element).off(m),e.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=s(s({},v),t),l.typeCheckConfig(p,t,_),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&e(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var n=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},i=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};e(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(e(this._element).on("pointerdown.bs.carousel",(function(t){return n(t)})),e(this._element).on("pointerup.bs.carousel",(function(t){return i(t)})),this._element.classList.add("pointer-event")):(e(this._element).on("touchstart.bs.carousel",(function(t){return n(t)})),e(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),e(this._element).on("touchend.bs.carousel",(function(t){return i(t)})))}},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),r=e.Event("slide.bs.carousel",{relatedTarget:t,direction:n,from:o,to:i});return e(this._element).trigger(r),r},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var n=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));e(n).removeClass("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&e(i).addClass("active")}},n._slide=function(t,n){var i,o,r,s=this,a=this._element.querySelector(".active.carousel-item"),c=this._getItemIndex(a),u=n||a&&this._getItemByDirection(t,a),h=this._getItemIndex(u),f=Boolean(this._interval);if("next"===t?(i="carousel-item-left",o="carousel-item-next",r="left"):(i="carousel-item-right",o="carousel-item-prev",r="right"),u&&e(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,r).isDefaultPrevented()&&a&&u){this._isSliding=!0,f&&this.pause(),this._setActiveIndicatorElement(u);var d=e.Event("slid.bs.carousel",{relatedTarget:u,direction:r,from:c,to:h});if(e(this._element).hasClass("slide")){e(u).addClass(o),l.reflow(u),e(a).addClass(i),e(u).addClass(i);var p=parseInt(u.getAttribute("data-interval"),10);p?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=p):this._config.interval=this._config.defaultInterval||this._config.interval;var m=l.getTransitionDurationFromElement(a);e(a).one(l.TRANSITION_END,(function(){e(u).removeClass(i+" "+o).addClass("active"),e(a).removeClass("active "+o+" "+i),s._isSliding=!1,setTimeout((function(){return e(s._element).trigger(d)}),0)})).emulateTransitionEnd(m)}else e(a).removeClass("active"),e(u).addClass("active"),this._isSliding=!1,e(this._element).trigger(d);f&&this.cycle()}},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.carousel"),o=s(s({},v),e(this).data());"object"==typeof n&&(o=s(s({},o),n));var r="string"==typeof n?n:o.slide;if(i||(i=new t(this,o),e(this).data("bs.carousel",i)),"number"==typeof n)i.to(n);else if("string"==typeof r){if("undefined"==typeof i[r])throw new TypeError('No method named "'+r+'"');i[r]()}else o.interval&&o.ride&&(i.pause(),i.cycle())}))},t._dataApiClickHandler=function(n){var i=l.getSelectorFromElement(this);if(i){var o=e(i)[0];if(o&&e(o).hasClass("carousel")){var r=s(s({},e(o).data()),e(this).data()),a=this.getAttribute("data-slide-to");a&&(r.interval=!1),t._jQueryInterface.call(e(o),r),a&&e(o).data("bs.carousel").to(a),n.preventDefault()}}},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return v}}]),t}();e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",y._dataApiClickHandler),e(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),n=0,i=t.length;n<i;n++){var o=e(t[n]);y._jQueryInterface.call(o,o.data())}})),e.fn[p]=y._jQueryInterface,e.fn[p].Constructor=y,e.fn[p].noConflict=function(){return e.fn[p]=g,y._jQueryInterface};var w="collapse",E=e.fn[w],T={toggle:!0,parent:""},C={toggle:"boolean",parent:"(string|element)"},S=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll('[data-toggle="collapse"]')),i=0,o=n.length;i<o;i++){var r=n[i],s=l.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter((function(e){return e===t}));null!==s&&a.length>0&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var n=t.prototype;return n.toggle=function(){e(this._element).hasClass("show")?this.hide():this.show()},n.show=function(){var n,i,o=this;if(!this._isTransitioning&&!e(this._element).hasClass("show")&&(this._parent&&0===(n=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(n=null),!(n&&(i=e(n).not(this._selector).data("bs.collapse"))&&i._isTransitioning))){var r=e.Event("show.bs.collapse");if(e(this._element).trigger(r),!r.isDefaultPrevented()){n&&(t._jQueryInterface.call(e(n).not(this._selector),"hide"),i||e(n).data("bs.collapse",null));var s=this._getDimension();e(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&e(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),c=l.getTransitionDurationFromElement(this._element);e(this._element).one(l.TRANSITION_END,(function(){e(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[s]="",o.setTransitioning(!1),e(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(c),this._element.style[s]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass("show")){var n=e.Event("hide.bs.collapse");if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",l.reflow(this._element),e(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var r=0;r<o;r++){var s=this._triggerArray[r],a=l.getSelectorFromElement(s);if(null!==a)e([].slice.call(document.querySelectorAll(a))).hasClass("show")||e(s).addClass("collapsed").attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[i]="";var c=l.getTransitionDurationFromElement(this._element);e(this._element).one(l.TRANSITION_END,(function(){t.setTransitioning(!1),e(t._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")})).emulateTransitionEnd(c)}}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){e.removeData(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=s(s({},T),t)).toggle=Boolean(t.toggle),l.typeCheckConfig(w,t,C),t},n._getDimension=function(){return e(this._element).hasClass("width")?"width":"height"},n._getParent=function(){var n,i=this;l.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=document.querySelector(this._config.parent);var o='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',r=[].slice.call(n.querySelectorAll(o));return e(r).each((function(e,n){i._addAriaAndCollapsedClass(t._getTargetFromElement(n),[n])})),n},n._addAriaAndCollapsedClass=function(t,n){var i=e(t).hasClass("show");n.length&&e(n).toggleClass("collapsed",!i).attr("aria-expanded",i)},t._getTargetFromElement=function(t){var e=l.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.collapse"),r=s(s(s({},T),i.data()),"object"==typeof n&&n?n:{});if(!o&&r.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(r.toggle=!1),o||(o=new t(this,r),i.data("bs.collapse",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n]()}}))},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return T}}]),t}();e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=e(this),i=l.getSelectorFromElement(this),o=[].slice.call(document.querySelectorAll(i));e(o).each((function(){var t=e(this),i=t.data("bs.collapse")?"toggle":n.data();S._jQueryInterface.call(t,i)}))})),e.fn[w]=S._jQueryInterface,e.fn[w].Constructor=S,e.fn[w].noConflict=function(){return e.fn[w]=E,S._jQueryInterface};var D="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,k=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(D&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var N=D&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),k))}};function O(t){return t&&"[object Function]"==={}.toString.call(t)}function A(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function I(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function x(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=A(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:x(I(t))}function j(t){return t&&t.referenceNode?t.referenceNode:t}var L=D&&!(!window.MSInputMethodContext||!document.documentMode),P=D&&/MSIE 10/.test(navigator.userAgent);function F(t){return 11===t?L:10===t?P:L||P}function R(t){if(!t)return document.documentElement;for(var e=F(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===A(n,"position")?R(n):n:t?t.ownerDocument.documentElement:document.documentElement}function M(t){return null!==t.parentNode?M(t.parentNode):t}function B(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&R(s.firstElementChild)!==s?R(l):l;var c=M(t);return c.host?B(c.host,e):B(t,M(e).host)}function q(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function H(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=q(e,"top"),o=q(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function Q(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function W(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],F(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function U(t){var e=t.body,n=t.documentElement,i=F(10)&&getComputedStyle(n);return{height:W("Height",e,n,i),width:W("Width",e,n,i)}}var V=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Y=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),z=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},X=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function K(t){return X({},t,{right:t.left+t.width,bottom:t.top+t.height})}function G(t){var e={};try{if(F(10)){e=t.getBoundingClientRect();var n=q(t,"top"),i=q(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?U(t.ownerDocument):{},s=r.width||t.clientWidth||o.width,a=r.height||t.clientHeight||o.height,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var u=A(t);l-=Q(u,"x"),c-=Q(u,"y"),o.width-=l,o.height-=c}return K(o)}function $(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=F(10),o="HTML"===e.nodeName,r=G(t),s=G(e),a=x(t),l=A(e),c=parseFloat(l.borderTopWidth,10),u=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var h=K({top:r.top-s.top-c,left:r.left-s.left-u,width:r.width,height:r.height});if(h.marginTop=0,h.marginLeft=0,!i&&o){var f=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);h.top-=c-f,h.bottom-=c-f,h.left-=u-d,h.right-=u-d,h.marginTop=f,h.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(h=H(h,e)),h}function J(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=$(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:q(n),a=e?0:q(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return K(l)}function Z(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===A(t,"position"))return!0;var n=I(t);return!!n&&Z(n)}function tt(t){if(!t||!t.parentElement||F())return document.documentElement;for(var e=t.parentElement;e&&"none"===A(e,"transform");)e=e.parentElement;return e||document.documentElement}function et(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?tt(t):B(t,j(e));if("viewport"===i)r=J(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=x(I(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=$(a,s,o);if("HTML"!==a.nodeName||Z(s))r=l;else{var c=U(t.ownerDocument),u=c.height,h=c.width;r.top+=l.top-l.marginTop,r.bottom=u+l.top,r.left+=l.left-l.marginLeft,r.right=h+l.left}}var f="number"==typeof(n=n||0);return r.left+=f?n:n.left||0,r.top+=f?n:n.top||0,r.right-=f?n:n.right||0,r.bottom-=f?n:n.bottom||0,r}function nt(t){return t.width*t.height}function it(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=et(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return X({key:t},a[t],{area:nt(a[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,h=t.split("-")[1];return u+(h?"-"+h:"")}function ot(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?tt(e):B(e,j(n));return $(n,o,i)}function rt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function st(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function at(t,e,n){n=n.split("-")[0];var i=rt(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[st(a)],o}function lt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ct(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=lt(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&O(n)&&(e.offsets.popper=K(e.offsets.popper),e.offsets.reference=K(e.offsets.reference),e=n(e,t))})),e}function ut(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=ot(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=it(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=at(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ct(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function ht(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function ft(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function dt(){return this.state.isDestroyed=!0,ht(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[ft("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function pt(t){var e=t.ownerDocument;return e?e.defaultView:window}function mt(t,e,n,i){n.updateBound=i,pt(t).addEventListener("resize",n.updateBound,{passive:!0});var o=x(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(x(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function gt(){this.state.eventsEnabled||(this.state=mt(this.reference,this.options,this.state,this.scheduleUpdate))}function vt(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,pt(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function _t(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function bt(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&_t(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var yt=D&&/Firefox/i.test(navigator.userAgent);function wt(t,e,n){var i=lt(t,(function(t){return t.name===e})),o=!!i&&t.some((function(t){return t.name===n&&t.enabled&&t.order<i.order}));if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var Et=["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"],Tt=Et.slice(3);function Ct(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Tt.indexOf(t),i=Tt.slice(n+1).concat(Tt.slice(0,n));return e?i.reverse():i}var St="flip",Dt="clockwise",kt="counterclockwise";function Nt(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(lt(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return K(a)[e]/100*r}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){_t(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var Ot={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",u={start:z({},l,r[l]),end:z({},l,r[l]+r[c]-s[c])};t.offsets.popper=X({},s,u[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=_t(+n)?[+n,0]:Nt(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||R(t.instance.popper);t.instance.reference===n&&(n=R(n));var i=ft("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=et(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,u=t.offsets.popper,h={primary:function(t){var n=u[t];return u[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(u[t],l[t])),z({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=u[n];return u[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(u[n],l[t]-("right"===t?u.width:u.height))),z({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=X({},u,h[e](t))})),t.offsets.popper=u,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!wt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",u=l?"Top":"Left",h=u.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=rt(i)[c];a[d]-p<s[h]&&(t.offsets.popper[h]-=s[h]-(a[d]-p)),a[h]+p>s[d]&&(t.offsets.popper[h]+=a[h]+p-s[d]),t.offsets.popper=K(t.offsets.popper);var m=a[h]+a[c]/2-p/2,g=A(t.instance.popper),v=parseFloat(g["margin"+u],10),_=parseFloat(g["border"+u+"Width"],10),b=m-t.offsets.popper[h]-v-_;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(z(n={},h,Math.round(b)),z(n,f,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(ht(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=et(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=st(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case St:s=[i,o];break;case Dt:s=Ct(i);break;case kt:s=Ct(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=st(i);var c=t.offsets.popper,u=t.offsets.reference,h=Math.floor,f="left"===i&&h(c.right)>h(u.left)||"right"===i&&h(c.left)<h(u.right)||"top"===i&&h(c.bottom)>h(u.top)||"bottom"===i&&h(c.top)<h(u.bottom),d=h(c.left)<h(n.left),p=h(c.right)>h(n.right),m=h(c.top)<h(n.top),g=h(c.bottom)>h(n.bottom),v="left"===i&&d||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&d||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&d||!_&&"start"===r&&g||!_&&"end"===r&&m),w=b||y;(f||v||w)&&(t.flipped=!0,(f||v)&&(i=s[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=X({},t.offsets.popper,at(t.instance.popper,t.offsets.reference,t.placement)),t=ct(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=st(e),t.offsets.popper=K(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!wt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=lt(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=lt(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=R(t.instance.popper),l=G(a),c={position:o.position},u=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,s=Math.floor,a=function(t){return t},l=r(o.width),c=r(i.width),u=-1!==["left","right"].indexOf(t.placement),h=-1!==t.placement.indexOf("-"),f=e?u||h||l%2==c%2?r:s:a,d=e?r:a;return{left:f(l%2==1&&c%2==1&&!h&&e?i.left-1:i.left),top:d(i.top),bottom:d(i.bottom),right:f(i.right)}}(t,window.devicePixelRatio<2||!yt),h="bottom"===n?"top":"bottom",f="right"===i?"left":"right",d=ft("transform"),p=void 0,m=void 0;if(m="bottom"===h?"HTML"===a.nodeName?-a.clientHeight+u.bottom:-l.height+u.bottom:u.top,p="right"===f?"HTML"===a.nodeName?-a.clientWidth+u.right:-l.width+u.right:u.left,s&&d)c[d]="translate3d("+p+"px, "+m+"px, 0)",c[h]=0,c[f]=0,c.willChange="transform";else{var g="bottom"===h?-1:1,v="right"===f?-1:1;c[h]=m*g,c[f]=p*v,c.willChange=h+", "+f}var _={"x-placement":t.placement};return t.attributes=X({},_,t.attributes),t.styles=X({},c,t.styles),t.arrowStyles=X({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return bt(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach((function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)})),t.arrowElement&&Object.keys(t.arrowStyles).length&&bt(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=ot(o,e,t,n.positionFixed),s=it(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),bt(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},At=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};V(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=N(this.update.bind(this)),this.options=X({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(X({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=X({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return X({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&O(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Y(t,[{key:"update",value:function(){return ut.call(this)}},{key:"destroy",value:function(){return dt.call(this)}},{key:"enableEventListeners",value:function(){return gt.call(this)}},{key:"disableEventListeners",value:function(){return vt.call(this)}}]),t}();At.Utils=("undefined"!=typeof window?window:global).PopperUtils,At.placements=Et,At.Defaults=Ot;var It="dropdown",xt=e.fn[It],jt=new RegExp("38|40|27"),Lt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Pt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Ft=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!e(this._element).hasClass("disabled")){var n=e(this._menu).hasClass("show");t._clearMenus(),n||this.show(!0)}},n.show=function(n){if(void 0===n&&(n=!1),!(this._element.disabled||e(this._element).hasClass("disabled")||e(this._menu).hasClass("show"))){var i={relatedTarget:this._element},o=e.Event("show.bs.dropdown",i),r=t._getParentFromElement(this._element);if(e(r).trigger(o),!o.isDefaultPrevented()){if(!this._inNavbar&&n){if("undefined"==typeof At)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var s=this._element;"parent"===this._config.reference?s=r:l.isElement(this._config.reference)&&(s=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(s=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e(r).addClass("position-static"),this._popper=new At(s,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===e(r).closest(".navbar-nav").length&&e(document.body).children().on("mouseover",null,e.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),e(this._menu).toggleClass("show"),e(r).toggleClass("show").trigger(e.Event("shown.bs.dropdown",i))}}},n.hide=function(){if(!this._element.disabled&&!e(this._element).hasClass("disabled")&&e(this._menu).hasClass("show")){var n={relatedTarget:this._element},i=e.Event("hide.bs.dropdown",n),o=t._getParentFromElement(this._element);e(o).trigger(i),i.isDefaultPrevented()||(this._popper&&this._popper.destroy(),e(this._menu).toggleClass("show"),e(o).toggleClass("show").trigger(e.Event("hidden.bs.dropdown",n)))}},n.dispose=function(){e.removeData(this._element,"bs.dropdown"),e(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;e(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},n._getConfig=function(t){return t=s(s(s({},this.constructor.Default),e(this._element).data()),t),l.typeCheckConfig(It,t,this.constructor.DefaultType),t},n._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},n._getPlacement=function(){var t=e(this._element.parentNode),n="bottom-start";return t.hasClass("dropup")?n=e(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?n="right-start":t.hasClass("dropleft")?n="left-start":e(this._menu).hasClass("dropdown-menu-right")&&(n="bottom-end"),n},n._detectNavbar=function(){return e(this._element).closest(".navbar").length>0},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=s(s({},e.offsets),t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),s(s({},t),this._config.popperConfig)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.dropdown");if(i||(i=new t(this,"object"==typeof n?n:null),e(this).data("bs.dropdown",i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},t._clearMenus=function(n){if(!n||3!==n.which&&("keyup"!==n.type||9===n.which))for(var i=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,r=i.length;o<r;o++){var s=t._getParentFromElement(i[o]),a=e(i[o]).data("bs.dropdown"),l={relatedTarget:i[o]};if(n&&"click"===n.type&&(l.clickEvent=n),a){var c=a._menu;if(e(s).hasClass("show")&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"keyup"===n.type&&9===n.which)&&e.contains(s,n.target))){var u=e.Event("hide.bs.dropdown",l);e(s).trigger(u),u.isDefaultPrevented()||("ontouchstart"in document.documentElement&&e(document.body).children().off("mouseover",null,e.noop),i[o].setAttribute("aria-expanded","false"),a._popper&&a._popper.destroy(),e(c).removeClass("show"),e(s).removeClass("show").trigger(e.Event("hidden.bs.dropdown",l)))}}}},t._getParentFromElement=function(t){var e,n=l.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},t._dataApiKeydownHandler=function(n){if(!(/input|textarea/i.test(n.target.tagName)?32===n.which||27!==n.which&&(40!==n.which&&38!==n.which||e(n.target).closest(".dropdown-menu").length):!jt.test(n.which))&&!this.disabled&&!e(this).hasClass("disabled")){var i=t._getParentFromElement(this),o=e(i).hasClass("show");if(o||27!==n.which){if(n.preventDefault(),n.stopPropagation(),!o||o&&(27===n.which||32===n.which))return 27===n.which&&e(i.querySelector('[data-toggle="dropdown"]')).trigger("focus"),void e(this).trigger("click");var r=[].slice.call(i.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter((function(t){return e(t).is(":visible")}));if(0!==r.length){var s=r.indexOf(n.target);38===n.which&&s>0&&s--,40===n.which&&s<r.length-1&&s++,s<0&&(s=0),r[s].focus()}}}},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return Lt}},{key:"DefaultType",get:function(){return Pt}}]),t}();e(document).on("keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',Ft._dataApiKeydownHandler).on("keydown.bs.dropdown.data-api",".dropdown-menu",Ft._dataApiKeydownHandler).on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api",Ft._clearMenus).on("click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),Ft._jQueryInterface.call(e(this),"toggle")})).on("click.bs.dropdown.data-api",".dropdown form",(function(t){t.stopPropagation()})),e.fn[It]=Ft._jQueryInterface,e.fn[It].Constructor=Ft,e.fn[It].noConflict=function(){return e.fn[It]=xt,Ft._jQueryInterface};var Rt=e.fn.modal,Mt={backdrop:!0,keyboard:!0,focus:!0,show:!0},Bt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},qt=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(".modal-dialog"),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.show=function(t){var n=this;if(!this._isShown&&!this._isTransitioning){e(this._element).hasClass("fade")&&(this._isTransitioning=!0);var i=e.Event("show.bs.modal",{relatedTarget:t});e(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),e(this._element).on("click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return n.hide(t)})),e(this._dialog).on("mousedown.dismiss.bs.modal",(function(){e(n._element).one("mouseup.dismiss.bs.modal",(function(t){e(t.target).is(n._element)&&(n._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return n._showElement(t)})))}},n.hide=function(t){var n=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var i=e.Event("hide.bs.modal");if(e(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var o=e(this._element).hasClass("fade");if(o&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),e(document).off("focusin.bs.modal"),e(this._element).removeClass("show"),e(this._element).off("click.dismiss.bs.modal"),e(this._dialog).off("mousedown.dismiss.bs.modal"),o){var r=l.getTransitionDurationFromElement(this._element);e(this._element).one(l.TRANSITION_END,(function(t){return n._hideModal(t)})).emulateTransitionEnd(r)}else this._hideModal()}}},n.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return e(t).off(".bs.modal")})),e(document).off("focusin.bs.modal"),e.removeData(this._element,"bs.modal"),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},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=s(s({},Mt),t),l.typeCheckConfig("modal",t,Bt),t},n._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var n=e.Event("hidePrevented.bs.modal");if(e(this._element).trigger(n),n.defaultPrevented)return;this._element.classList.add("modal-static");var i=l.getTransitionDurationFromElement(this._element);e(this._element).one(l.TRANSITION_END,(function(){t._element.classList.remove("modal-static")})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},n._showElement=function(t){var n=this,i=e(this._element).hasClass("fade"),o=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),e(this._dialog).hasClass("modal-dialog-scrollable")&&o?o.scrollTop=0:this._element.scrollTop=0,i&&l.reflow(this._element),e(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var r=e.Event("shown.bs.modal",{relatedTarget:t}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,e(n._element).trigger(r)};if(i){var a=l.getTransitionDurationFromElement(this._dialog);e(this._dialog).one(l.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},n._enforceFocus=function(){var t=this;e(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(n){document!==n.target&&t._element!==n.target&&0===e(t._element).has(n.target).length&&t._element.focus()}))},n._setEscapeEvent=function(){var t=this;this._isShown?e(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||e(this._element).off("keydown.dismiss.bs.modal")},n._setResizeEvent=function(){var t=this;this._isShown?e(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):e(window).off("resize.bs.modal")},n._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){e(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),e(t._element).trigger("hidden.bs.modal")}))},n._removeBackdrop=function(){this._backdrop&&(e(this._backdrop).remove(),this._backdrop=null)},n._showBackdrop=function(t){var n=this,i=e(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",i&&this._backdrop.classList.add(i),e(this._backdrop).appendTo(document.body),e(this._element).on("click.dismiss.bs.modal",(function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&n._triggerBackdropTransition()})),i&&l.reflow(this._backdrop),e(this._backdrop).addClass("show"),!t)return;if(!i)return void t();var o=l.getTransitionDurationFromElement(this._backdrop);e(this._backdrop).one(l.TRANSITION_END,t).emulateTransitionEnd(o)}else if(!this._isShown&&this._backdrop){e(this._backdrop).removeClass("show");var r=function(){n._removeBackdrop(),t&&t()};if(e(this._element).hasClass("fade")){var s=l.getTransitionDurationFromElement(this._backdrop);e(this._backdrop).one(l.TRANSITION_END,r).emulateTransitionEnd(s)}else r()}else t&&t()},n._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var n=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),i=[].slice.call(document.querySelectorAll(".sticky-top"));e(n).each((function(n,i){var o=i.style.paddingRight,r=e(i).css("padding-right");e(i).data("padding-right",o).css("padding-right",parseFloat(r)+t._scrollbarWidth+"px")})),e(i).each((function(n,i){var o=i.style.marginRight,r=e(i).css("margin-right");e(i).data("margin-right",o).css("margin-right",parseFloat(r)-t._scrollbarWidth+"px")}));var o=document.body.style.paddingRight,r=e(document.body).css("padding-right");e(document.body).data("padding-right",o).css("padding-right",parseFloat(r)+this._scrollbarWidth+"px")}e(document.body).addClass("modal-open")},n._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));e(t).each((function(t,n){var i=e(n).data("padding-right");e(n).removeData("padding-right"),n.style.paddingRight=i||""}));var n=[].slice.call(document.querySelectorAll(".sticky-top"));e(n).each((function(t,n){var i=e(n).data("margin-right");"undefined"!=typeof i&&e(n).css("margin-right",i).removeData("margin-right")}));var i=e(document.body).data("padding-right");e(document.body).removeData("padding-right"),document.body.style.paddingRight=i||""},n._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(n,i){return this.each((function(){var o=e(this).data("bs.modal"),r=s(s(s({},Mt),e(this).data()),"object"==typeof n&&n?n:{});if(o||(o=new t(this,r),e(this).data("bs.modal",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n](i)}else r.show&&o.show(i)}))},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return Mt}}]),t}();e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var n,i=this,o=l.getSelectorFromElement(this);o&&(n=document.querySelector(o));var r=e(n).data("bs.modal")?"toggle":s(s({},e(n).data()),e(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var a=e(n).one("show.bs.modal",(function(t){t.isDefaultPrevented()||a.one("hidden.bs.modal",(function(){e(i).is(":visible")&&i.focus()}))}));qt._jQueryInterface.call(e(n),r,this)})),e.fn.modal=qt._jQueryInterface,e.fn.modal.Constructor=qt,e.fn.modal.noConflict=function(){return e.fn.modal=Rt,qt._jQueryInterface};var Ht=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Qt={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Wt=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,Ut=/^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 Vt(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),r=[].slice.call(i.body.querySelectorAll("*")),s=function(t,n){var i=r[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(i.nodeName.toLowerCase()))return i.parentNode.removeChild(i),"continue";var a=[].slice.call(i.attributes),l=[].concat(e["*"]||[],e[s]||[]);a.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===Ht.indexOf(n)||Boolean(t.nodeValue.match(Wt)||t.nodeValue.match(Ut));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,l)||i.removeAttribute(t.nodeName)}))},a=0,l=r.length;a<l;a++)s(a);return i.body.innerHTML}var Yt="tooltip",zt=e.fn[Yt],Xt=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Kt=["sanitize","whiteList","sanitizeFn"],Gt={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)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},$t={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Jt={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Qt,popperConfig:null},Zt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},te=function(){function t(t,e){if("undefined"==typeof At)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var n=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(n);var i=l.findShadowRoot(this.element),o=e.contains(null!==i?i:this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!o)return;var r=this.getTipElement(),s=l.getUID(this.constructor.NAME);r.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&e(r).addClass("fade");var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,c=this._getAttachment(a);this.addAttachmentClass(c);var u=this._getContainer();e(r).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(r).appendTo(u),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new At(this.element,r,this._getPopperConfig(c)),e(r).addClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().on("mouseover",null,e.noop);var h=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),"out"===n&&t._leave(null,t)};if(e(this.tip).hasClass("fade")){var f=l.getTransitionDurationFromElement(this.tip);e(this.tip).one(l.TRANSITION_END,h).emulateTransitionEnd(f)}else h()}},n.hide=function(t){var n=this,i=this.getTipElement(),o=e.Event(this.constructor.Event.HIDE),r=function(){"show"!==n._hoverState&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};if(e(this.element).trigger(o),!o.isDefaultPrevented()){if(e(i).removeClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().off("mouseover",null,e.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,e(this.tip).hasClass("fade")){var s=l.getTransitionDurationFromElement(i);e(i).one(l.TRANSITION_END,r).emulateTransitionEnd(s)}else r();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},n.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},n.setContent=function(){var t=this.getTipElement();this.setElementContent(e(t.querySelectorAll(".tooltip-inner")),this.getTitle()),e(t).removeClass("fade show")},n.setElementContent=function(t,n){"object"!=typeof n||!n.nodeType&&!n.jquery?this.config.html?(this.config.sanitize&&(n=Vt(n,this.config.whiteList,this.config.sanitizeFn)),t.html(n)):t.text(n):this.config.html?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text())},n.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},n._getPopperConfig=function(t){var e=this;return s(s({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),this.config.popperConfig)},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=s(s({},e.offsets),t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:l.isElement(this.config.container)?e(this.config.container):e(document).find(this.config.container)},n._getAttachment=function(t){return $t[t.toUpperCase()]},n._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==n){var i="hover"===n?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===n?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},e(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=s(s({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},n._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},n._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e(n.getTipElement()).hasClass("show")||"show"===n._hoverState?n._hoverState="show":(clearTimeout(n._timeout),n._hoverState="show",n.config.delay&&n.config.delay.show?n._timeout=setTimeout((function(){"show"===n._hoverState&&n.show()}),n.config.delay.show):n.show())},n._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState="out",n.config.delay&&n.config.delay.hide?n._timeout=setTimeout((function(){"out"===n._hoverState&&n.hide()}),n.config.delay.hide):n.hide())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var n=e(this.element).data();return Object.keys(n).forEach((function(t){-1!==Kt.indexOf(t)&&delete n[t]})),"number"==typeof(t=s(s(s({},this.constructor.Default),n),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l.typeCheckConfig(Yt,t,this.constructor.DefaultType),t.sanitize&&(t.template=Vt(t.template,t.whiteList,t.sanitizeFn)),t},n._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},n._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(Xt);null!==n&&n.length&&t.removeClass(n.join(""))},n._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},n._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.tooltip"),o="object"==typeof n&&n;if((i||!/dispose|hide/.test(n))&&(i||(i=new t(this,o),e(this).data("bs.tooltip",i)),"string"==typeof n)){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return Jt}},{key:"NAME",get:function(){return Yt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Zt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Gt}}]),t}();e.fn[Yt]=te._jQueryInterface,e.fn[Yt].Constructor=te,e.fn[Yt].noConflict=function(){return e.fn[Yt]=zt,te._jQueryInterface};var ee="popover",ne=e.fn[ee],ie=new RegExp("(^|\\s)bs-popover\\S+","g"),oe=s(s({},te.Default),{},{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),re=s(s({},te.DefaultType),{},{content:"(string|element|function)"}),se={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ae=function(t){var n,o;function r(){return t.apply(this,arguments)||this}o=t,(n=r).prototype=Object.create(o.prototype),n.prototype.constructor=n,n.__proto__=o;var s=r.prototype;return s.isWithContent=function(){return this.getTitle()||this._getContent()},s.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},s.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},s.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(t.find(".popover-body"),n),t.removeClass("fade show")},s._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},s._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(ie);null!==n&&n.length>0&&t.removeClass(n.join(""))},r._jQueryInterface=function(t){return this.each((function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/dispose|hide/.test(t))&&(n||(n=new r(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},i(r,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return oe}},{key:"NAME",get:function(){return ee}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return se}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return re}}]),r}(te);e.fn[ee]=ae._jQueryInterface,e.fn[ee].Constructor=ae,e.fn[ee].noConflict=function(){return e.fn[ee]=ne,ae._jQueryInterface};var le="scrollspy",ce=e.fn[le],ue={offset:10,method:"auto",target:""},he={offset:"number",method:"string",target:"(string|element)"},fe=function(){function t(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return i._process(t)})),this.refresh(),this._process()}var n=t.prototype;return n.refresh=function(){var t=this,n=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?n:this._config.method,o="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var n,r=l.getSelectorFromElement(t);if(r&&(n=document.querySelector(r)),n){var s=n.getBoundingClientRect();if(s.width||s.height)return[e(n)[i]().top+o,r]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=s(s({},ue),"object"==typeof t&&t?t:{})).target&&l.isElement(t.target)){var n=e(t.target).attr("id");n||(n=l.getUID(le),e(t.target).attr("id",n)),t.target="#"+n}return l.typeCheckConfig(le,t,he),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},n._activate=function(t){this._activeTarget=t,this._clear();var n=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),i=e([].slice.call(document.querySelectorAll(n.join(","))));i.hasClass("dropdown-item")?(i.closest(".dropdown").find(".dropdown-toggle").addClass("active"),i.addClass("active")):(i.addClass("active"),i.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),i.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")),e(this._scrollElement).trigger("activate.bs.scrollspy",{relatedTarget:t})},n._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.scrollspy");if(i||(i=new t(this,"object"==typeof n&&n),e(this).data("bs.scrollspy",i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return ue}}]),t}();e(window).on("load.bs.scrollspy.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),n=t.length;n--;){var i=e(t[n]);fe._jQueryInterface.call(i,i.data())}})),e.fn[le]=fe._jQueryInterface,e.fn[le].Constructor=fe,e.fn[le].noConflict=function(){return e.fn[le]=ce,fe._jQueryInterface};var de=e.fn.tab,pe=function(){function t(t){this._element=t}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass("active")||e(this._element).hasClass("disabled"))){var n,i,o=e(this._element).closest(".nav, .list-group")[0],r=l.getSelectorFromElement(this._element);if(o){var s="UL"===o.nodeName||"OL"===o.nodeName?"> li > .active":".active";i=(i=e.makeArray(e(o).find(s)))[i.length-1]}var a=e.Event("hide.bs.tab",{relatedTarget:this._element}),c=e.Event("show.bs.tab",{relatedTarget:i});if(i&&e(i).trigger(a),e(this._element).trigger(c),!c.isDefaultPrevented()&&!a.isDefaultPrevented()){r&&(n=document.querySelector(r)),this._activate(this._element,o);var u=function(){var n=e.Event("hidden.bs.tab",{relatedTarget:t._element}),o=e.Event("shown.bs.tab",{relatedTarget:i});e(i).trigger(n),e(t._element).trigger(o)};n?this._activate(n,n.parentNode,u):u()}}},n.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},n._activate=function(t,n,i){var o=this,r=(!n||"UL"!==n.nodeName&&"OL"!==n.nodeName?e(n).children(".active"):e(n).find("> li > .active"))[0],s=i&&r&&e(r).hasClass("fade"),a=function(){return o._transitionComplete(t,r,i)};if(r&&s){var c=l.getTransitionDurationFromElement(r);e(r).removeClass("show").one(l.TRANSITION_END,a).emulateTransitionEnd(c)}else a()},n._transitionComplete=function(t,n,i){if(n){e(n).removeClass("active");var o=e(n.parentNode).find("> .dropdown-menu .active")[0];o&&e(o).removeClass("active"),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),l.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&e(t.parentNode).hasClass("dropdown-menu")){var r=e(t).closest(".dropdown")[0];if(r){var s=[].slice.call(r.querySelectorAll(".dropdown-toggle"));e(s).addClass("active")}t.setAttribute("aria-expanded",!0)}i&&i()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.tab");if(o||(o=new t(this),i.data("bs.tab",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n]()}}))},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),pe._jQueryInterface.call(e(this),"show")})),e.fn.tab=pe._jQueryInterface,e.fn.tab.Constructor=pe,e.fn.tab.noConflict=function(){return e.fn.tab=de,pe._jQueryInterface};var me=e.fn.toast,ge={animation:"boolean",autohide:"boolean",delay:"number"},ve={animation:!0,autohide:!0,delay:500},_e=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var n=t.prototype;return n.show=function(){var t=this,n=e.Event("show.bs.toast");if(e(this._element).trigger(n),!n.isDefaultPrevented()){this._config.animation&&this._element.classList.add("fade");var i=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),e(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),l.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=l.getTransitionDurationFromElement(this._element);e(this._element).one(l.TRANSITION_END,i).emulateTransitionEnd(o)}else i()}},n.hide=function(){if(this._element.classList.contains("show")){var t=e.Event("hide.bs.toast");e(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),e(this._element).off("click.dismiss.bs.toast"),e.removeData(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=s(s(s({},ve),e(this._element).data()),"object"==typeof t&&t?t:{}),l.typeCheckConfig("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;e(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},n._close=function(){var t=this,n=function(){t._element.classList.add("hide"),e(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var i=l.getTransitionDurationFromElement(this._element);e(this._element).one(l.TRANSITION_END,n).emulateTransitionEnd(i)}else n()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.toast");if(o||(o=new t(this,"object"==typeof n&&n),i.data("bs.toast",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n](this)}}))},i(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"DefaultType",get:function(){return ge}},{key:"Default",get:function(){return ve}}]),t}();e.fn.toast=_e._jQueryInterface,e.fn.toast.Constructor=_e,e.fn.toast.noConflict=function(){return e.fn.toast=me,_e._jQueryInterface},t.Alert=h,t.Button=d,t.Carousel=y,t.Collapse=S,t.Dropdown=Ft,t.Modal=qt,t.Popover=ae,t.Scrollspy=fe,t.Tab=pe,t.Toast=_e,t.Tooltip=te,t.Util=l,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js.map b/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js.map
index 54d249501..a9f9a3e24 100644
--- a/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js.map
+++ b/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","ShadowRoot","parentNode","root","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","LOAD_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","tagName","focus","hasAttribute","setAttribute","toggleClass","button","inputBtn","window","buttons","slice","querySelectorAll","i","len","length","add","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_objectSpread2","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","upperSide","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","createClass","protoProps","staticProps","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","_extends","assign","source","getClientRect","offsets","right","left","bottom","top","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","getArea","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","getWindow","setupEventListeners","options","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","removeEventListeners","isNumeric","n","isNaN","isFinite","setStyles","unit","getRoundedOffsets","shouldRound","noRound","v","_data$offsets","round","floor","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","side","shiftOffsets","preventOverflow","instance","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","devicePixelRatio","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","removeAttribute","setAttributes","onLoad","modifierOptions","Popper","isDestroyed","isCreated","removeChild","classCallCheck","requestAnimationFrame","update","enableEventListeners","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","boundary","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","referenceElement","_getPopperConfig","noop","hideEvent","destroy","stopPropagation","constructor","_getPlacement","$parentDropdown","_getOffset","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","ELEMENT_NODE","appendChild","_enforceFocus","transitionComplete","shownEvent","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","container","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","text","empty","append","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","join","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","_transitionComplete","active","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLES : '[data-toggle=\"buttons\"]',\n DATA_TOGGLE : '[data-toggle=\"button\"]',\n DATA_TOGGLES_BUTTONS : '[data-toggle=\"buttons\"] .btn',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n } else if (input.type === 'checkbox') {\n if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n }\n } else {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n triggerChangeEvent = false\n }\n\n if (triggerChangeEvent) {\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(Selector.INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(Event.LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(Selector.INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show',\n STATIC : 'modal-static'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(Event.HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show',\n SHOWING : 'showing'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(Event.SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n Util.reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["transitionEndEmulator","duration","_this","this","called","$","one","Util","TRANSITION_END","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","JQUERY_NO_CONFLICT","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_objectSpread2","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","CLASS_NAME_ACTIVE","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","undefined","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","instance","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","_extends","assign","source","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","boundary","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","referenceElement","_getPopperConfig","noop","hideEvent","stopPropagation","constructor","_getPlacement","$parentDropdown","_getOffset","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","ELEMENT_NODE","appendChild","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","container","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","content","text","empty","append","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","join","popperData","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","_close"],"mappings":";;;;;ssCAyCA,SAASA,EAAsBC,GAAU,IAAAC,EAAAC,KACnCC,GAAS,EAYb,OAVAC,EAAEF,MAAMG,IAAIC,EAAKC,gBAAgB,WAC/BJ,GAAS,KAGXK,YAAW,WACJL,GACHG,EAAKG,qBAAqBR,KAE3BD,GAEIE,SAcHI,EAAO,CACXC,eAAgB,kBAEhBG,OAHW,SAGJC,GACL,GAEEA,MA1DU,IA0DGC,KAAKC,gBACXC,SAASC,eAAeJ,IACjC,OAAOA,GAGTK,uBAXW,SAWYC,GACrB,IAAIC,EAAWD,EAAQE,aAAa,eAEpC,IAAKD,GAAyB,MAAbA,EAAkB,CACjC,IAAME,EAAWH,EAAQE,aAAa,QACtCD,EAAWE,GAAyB,MAAbA,EAAmBA,EAASC,OAAS,GAG9D,IACE,OAAOP,SAASQ,cAAcJ,GAAYA,EAAW,KACrD,MAAOK,GACP,OAAO,OAIXC,iCA1BW,SA0BsBP,GAC/B,IAAKA,EACH,OAAO,EAIT,IAAIQ,EAAqBrB,EAAEa,GAASS,IAAI,uBACpCC,EAAkBvB,EAAEa,GAASS,IAAI,oBAE/BE,EAA0BC,WAAWJ,GACrCK,EAAuBD,WAAWF,GAGxC,OAAKC,GAA4BE,GAKjCL,EAAqBA,EAAmBM,MAAM,KAAK,GACnDJ,EAAkBA,EAAgBI,MAAM,KAAK,GAhGjB,KAkGpBF,WAAWJ,GAAsBI,WAAWF,KAP3C,GAUXK,OAlDW,SAkDJf,GACL,OAAOA,EAAQgB,cAGjBxB,qBAtDW,SAsDUQ,GACnBb,EAAEa,GAASiB,QA5GQ,kBAgHrBC,sBA3DW,WA4DT,OAAOC,QAjHY,kBAoHrBC,UA/DW,SA+DDC,GACR,OAAQA,EAAI,IAAMA,GAAKC,UAGzBC,gBAnEW,SAmEKC,EAAeC,EAAQC,GACrC,IAAK,IAAMC,KAAYD,EACrB,GAAIE,OAAOC,UAAUC,eAAeC,KAAKL,EAAaC,GAAW,CAC/D,IAAMK,EAAgBN,EAAYC,GAC5BM,EAAgBR,EAAOE,GACvBO,EAAgBD,GAAS5C,EAAK+B,UAAUa,GAC1C,UAxHE,QADEZ,EAyHeY,IAxHM,oBAARZ,EACzB,GAAUA,EAGL,GAAGc,SAASJ,KAAKV,GAAKe,MAAM,eAAe,GAAGC,cAsH/C,IAAK,IAAIC,OAAON,GAAeO,KAAKL,GAClC,MAAM,IAAIM,MACLhB,EAAciB,cAAdjB,aACQG,EADX,oBACuCO,EADpCV,wBAEmBQ,EAFtB,MA7HZ,IAAgBX,GAqIdqB,eArFW,SAqFI1C,GACb,IAAKH,SAAS8C,gBAAgBC,aAC5B,OAAO,KAIT,GAAmC,mBAAxB5C,EAAQ6C,YAA4B,CAC7C,IAAMC,EAAO9C,EAAQ6C,cACrB,OAAOC,aAAgBC,WAAaD,EAAO,KAG7C,OAAI9C,aAAmB+C,WACd/C,EAIJA,EAAQgD,WAIN3D,EAAKqD,eAAe1C,EAAQgD,YAH1B,MAMXC,gBA5GW,WA6GT,GAAiB,oBAAN9D,EACT,MAAM,IAAI+D,UAAU,kGAGtB,IAAMC,EAAUhE,EAAEiE,GAAGC,OAAOvC,MAAM,KAAK,GAAGA,MAAM,KAOhD,GAAIqC,EAAQ,GALI,GAKYA,EAAQ,GAJnB,GAFA,IAMoCA,EAAQ,IAJ5C,IAI+DA,EAAQ,IAAmBA,EAAQ,GAHlG,GAGmHA,EAAQ,IAF3H,EAGf,MAAM,IAAIX,MAAM,iFAKtBnD,EAAK4D,kBAxIH9D,EAAEiE,GAAGE,qBAAuBxE,EAC5BK,EAAEoE,MAAMC,QAAQnE,EAAKC,gBA9Bd,CACLmE,SAfmB,gBAgBnBC,aAhBmB,gBAiBnBC,OAHK,SAGEJ,GACL,GAAIpE,EAAEoE,EAAMK,QAAQC,GAAG5E,MACrB,OAAOsE,EAAMO,UAAUC,QAAQC,MAAM/E,KAAMgF,aClBnD,IAAMC,EAAsB,QAKtBC,EAAsBhF,EAAEiE,GAAGc,GAkB3BE,EAAAA,WACJ,SAAAA,EAAYpE,GACVf,KAAKoF,SAAWrE,6BAWlBsE,MAAA,SAAMtE,GACJ,IAAIuE,EAActF,KAAKoF,SACnBrE,IACFuE,EAActF,KAAKuF,gBAAgBxE,IAGjBf,KAAKwF,mBAAmBF,GAE5BG,sBAIhBzF,KAAK0F,eAAeJ,MAGtBK,QAAA,WACEzF,EAAE0F,WAAW5F,KAAKoF,SAlDM,YAmDxBpF,KAAKoF,SAAW,QAKlBG,gBAAA,SAAgBxE,GACd,IAAMC,EAAWZ,EAAKU,uBAAuBC,GACzC8E,GAAa,EAUjB,OARI7E,IACF6E,EAASjF,SAASQ,cAAcJ,IAG7B6E,IACHA,EAAS3F,EAAEa,GAAS+E,QAAX,UAA2C,IAG/CD,KAGTL,mBAAA,SAAmBzE,GACjB,IAAMgF,EAAa7F,EAAE8F,MAjER,kBAoEb,OADA9F,EAAEa,GAASiB,QAAQ+D,GACZA,KAGTL,eAAA,SAAe3E,GAAS,IAAAhB,EAAAC,KAGtB,GAFAE,EAAEa,GAASkF,YAlEU,QAoEhB/F,EAAEa,GAASmF,SArEK,QAqErB,CAKA,IAAM3E,EAAqBnB,EAAKkB,iCAAiCP,GAEjEb,EAAEa,GACCZ,IAAIC,EAAKC,gBAAgB,SAACiE,GAAD,OAAWvE,EAAKoG,gBAAgBpF,EAASuD,MAClED,qBAAqB9C,QARtBvB,KAAKmG,gBAAgBpF,MAWzBoF,gBAAA,SAAgBpF,GACdb,EAAEa,GACCqF,SACApE,QAxFW,mBAyFXqE,YAKEC,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAMC,EAAWtG,EAAEF,MACfyG,EAAaD,EAASC,KAzGJ,YA2GjBA,IACHA,EAAO,IAAItB,EAAMnF,MACjBwG,EAASC,KA7GW,WA6GIA,IAGX,UAAXjE,GACFiE,EAAKjE,GAAQxC,YAKZ0G,eAAP,SAAsBC,GACpB,OAAO,SAAUrC,GACXA,GACFA,EAAMsC,iBAGRD,EAActB,MAAMrF,gDA/FtB,MA9BwB,cAsBtBmF,GAkHNjF,EAAEU,UAAUiG,GA9Hc,0BAJD,yBAqIvB1B,EAAMuB,eAAe,IAAIvB,IAS3BjF,EAAEiE,GAAGc,GAAoBE,EAAMmB,iBAC/BpG,EAAEiE,GAAGc,GAAM6B,YAAc3B,EACzBjF,EAAEiE,GAAGc,GAAM8B,WAAc,WAEvB,OADA7G,EAAEiE,GAAGc,GAAQC,EACNC,EAAMmB,kBC1Jf,IAKMpB,EAAsBhF,EAAEiE,GAAF,OAyBtB6C,EAAAA,WACJ,SAAAA,EAAYjG,GACVf,KAAKoF,SAAWrE,6BAWlBkG,OAAA,WACE,IAAIC,GAAqB,EACrBC,GAAiB,EACf7B,EAAcpF,EAAEF,KAAKoF,UAAUU,QAlCH,2BAoChC,GAEF,GAAIR,EAAa,CACf,IAAM8B,EAAQpH,KAAKoF,SAAShE,cApCI,8BAsChC,GAAIgG,EAAO,CACT,GAAmB,UAAfA,EAAMC,KACR,GAAID,EAAME,SACRtH,KAAKoF,SAASmC,UAAUC,SAjDV,UAkDdN,GAAqB,MAChB,CACL,IAAMO,EAAgBnC,EAAYlE,cA3CR,WA6CtBqG,GACFvH,EAAEuH,GAAexB,YAvDL,UA4DdiB,IAEiB,aAAfE,EAAMC,MAAsC,UAAfD,EAAMC,OACrCD,EAAME,SAAWtH,KAAKoF,SAASmC,UAAUC,SA/D3B,WAiEhBtH,EAAEkH,GAAOpF,QAAQ,WAGnBoF,EAAMM,QACNP,GAAiB,GAIfnH,KAAKoF,SAASuC,aAAa,aAAe3H,KAAKoF,SAASmC,UAAUC,SAAS,cAC3EL,GACFnH,KAAKoF,SAASwC,aAAa,gBACxB5H,KAAKoF,SAASmC,UAAUC,SA5ET,WA+EhBN,GACFhH,EAAEF,KAAKoF,UAAUyC,YAhFC,cAqFxBlC,QAAA,WACEzF,EAAE0F,WAAW5F,KAAKoF,SA3FM,aA4FxBpF,KAAKoF,SAAW,QAKXkB,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAIE,EAAOvG,EAAEF,MAAMyG,KAnGG,aAqGjBA,IACHA,EAAO,IAAIO,EAAOhH,MAClBE,EAAEF,MAAMyG,KAvGY,YAuGGA,IAGV,WAAXjE,GACFiE,EAAKjE,iDAvET,MArCwB,cA6BtBwE,GA2FN9G,EAAEU,UACCiG,GAvGuB,2BARY,2BA+GmB,SAACvC,GACtD,IAAIwD,EAASxD,EAAMK,OACboD,EAAgBD,EAMtB,GAJK5H,EAAE4H,GAAQ5B,SAtHO,SAuHpB4B,EAAS5H,EAAE4H,GAAQhC,QA9Ga,QA8GY,KAGzCgC,GAAUA,EAAOH,aAAa,aAAeG,EAAOP,UAAUC,SAAS,YAC1ElD,EAAMsC,qBACD,CACL,IAAMoB,EAAWF,EAAO1G,cAtHQ,8BAwHhC,GAAI4G,IAAaA,EAASL,aAAa,aAAeK,EAAST,UAAUC,SAAS,aAEhF,YADAlD,EAAMsC,iBAIsB,UAA1BmB,EAAcE,SAAuBD,GAA8B,aAAlBA,EAASX,MAC5D/C,EAAMsC,iBAERI,EAAOV,iBAAiBxD,KAAK5C,EAAE4H,GAAS,cAG3CjB,GA9H+B,mDATI,2BAuIwB,SAACvC,GAC3D,IAAMwD,EAAS5H,EAAEoE,EAAMK,QAAQmB,QAlIG,QAkIsB,GACxD5F,EAAE4H,GAAQD,YA3IY,QA2IkB,eAAevE,KAAKgB,EAAM+C,UAGtEnH,EAAEgI,QAAQrB,GAjIe,2BAiIS,WAKhC,IADA,IAAIsB,EAAU,GAAGC,MAAMtF,KAAKlC,SAASyH,iBA7ID,iCA8I3BC,EAAI,EAAGC,EAAMJ,EAAQK,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAMR,EAASK,EAAQG,GACjBlB,EAAQU,EAAO1G,cA/Ia,8BAgJ9BgG,EAAME,SAAWF,EAAMO,aAAa,WACtCG,EAAOP,UAAUkB,IAzJG,UA2JpBX,EAAOP,UAAUlB,OA3JG,UAiKxB,IAAK,IAAIiC,EAAI,EAAGC,GADhBJ,EAAU,GAAGC,MAAMtF,KAAKlC,SAASyH,iBA1JG,4BA2JNG,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAMR,EAASK,EAAQG,GACqB,SAAxCR,EAAO7G,aAAa,gBACtB6G,EAAOP,UAAUkB,IApKG,UAsKpBX,EAAOP,UAAUlB,OAtKG,cAiL1BnG,EAAEiE,GAAF,OAAa6C,EAAOV,iBACpBpG,EAAEiE,GAAF,OAAW2C,YAAcE,EACzB9G,EAAEiE,GAAF,OAAW4C,WAAa,WAEtB,OADA7G,EAAEiE,GAAF,OAAae,EACN8B,EAAOV,kBC3LhB,IAAMrB,EAAyB,WAGzByD,EAAS,eAETxD,EAAyBhF,EAAEiE,GAAGc,GAM9B0D,EAAU,CACdC,SAAW,IACXC,UAAW,EACXC,OAAW,EACXC,MAAW,QACXC,MAAW,EACXC,OAAW,GAGPC,EAAc,CAClBN,SAAW,mBACXC,SAAW,UACXC,MAAW,mBACXC,MAAW,mBACXC,KAAW,UACXC,MAAW,WAwCPE,EAAc,CAClBC,MAAQ,QACRC,IAAQ,OAQJC,EAAAA,WACJ,SAAAA,EAAYvI,EAASyB,GACnBxC,KAAKuJ,OAAiB,KACtBvJ,KAAKwJ,UAAiB,KACtBxJ,KAAKyJ,eAAiB,KACtBzJ,KAAK0J,WAAiB,EACtB1J,KAAK2J,YAAiB,EACtB3J,KAAK4J,aAAiB,KACtB5J,KAAK6J,YAAiB,EACtB7J,KAAK8J,YAAiB,EAEtB9J,KAAK+J,QAAqB/J,KAAKgK,WAAWxH,GAC1CxC,KAAKoF,SAAqBrE,EAC1Bf,KAAKiK,mBAAqBjK,KAAKoF,SAAShE,cA3Bf,wBA4BzBpB,KAAKkK,gBAAqB,iBAAkBtJ,SAAS8C,iBAAmByG,UAAUC,eAAiB,EACnGpK,KAAKqK,cAAqBnI,QAAQgG,OAAOoC,cAAgBpC,OAAOqC,gBAEhEvK,KAAKwK,gDAePC,KAAA,WACOzK,KAAK2J,YACR3J,KAAK0K,OAjFgB,WAqFzBC,gBAAA,YAGO/J,SAASgK,QACX1K,EAAEF,KAAKoF,UAAUR,GAAG,aAAsD,WAAvC1E,EAAEF,KAAKoF,UAAU5D,IAAI,eACzDxB,KAAKyK,UAITI,KAAA,WACO7K,KAAK2J,YACR3J,KAAK0K,OA/FgB,WAmGzB3B,MAAA,SAAMzE,GACCA,IACHtE,KAAK0J,WAAY,GAGf1J,KAAKoF,SAAShE,cAzEO,8CA0EvBhB,EAAKG,qBAAqBP,KAAKoF,UAC/BpF,KAAK8K,OAAM,IAGbC,cAAc/K,KAAKwJ,WACnBxJ,KAAKwJ,UAAY,QAGnBsB,MAAA,SAAMxG,GACCA,IACHtE,KAAK0J,WAAY,GAGf1J,KAAKwJ,YACPuB,cAAc/K,KAAKwJ,WACnBxJ,KAAKwJ,UAAY,MAGfxJ,KAAK+J,QAAQnB,WAAa5I,KAAK0J,YACjC1J,KAAKwJ,UAAYwB,aACdpK,SAASqK,gBAAkBjL,KAAK2K,gBAAkB3K,KAAKyK,MAAMS,KAAKlL,MACnEA,KAAK+J,QAAQnB,cAKnBuC,GAAA,SAAGC,GAAO,IAAArL,EAAAC,KACRA,KAAKyJ,eAAiBzJ,KAAKoF,SAAShE,cAxGX,yBA0GzB,IAAMiK,EAAcrL,KAAKsL,cAActL,KAAKyJ,gBAE5C,KAAI2B,EAAQpL,KAAKuJ,OAAOf,OAAS,GAAK4C,EAAQ,GAI9C,GAAIpL,KAAK2J,WACPzJ,EAAEF,KAAKoF,UAAUjF,IAxIP,oBAwIuB,WAAA,OAAMJ,EAAKoL,GAAGC,UADjD,CAKA,GAAIC,IAAgBD,EAGlB,OAFApL,KAAK+I,aACL/I,KAAK8K,QAIP,IAAMS,EAAYH,EAAQC,EAxJH,OACA,OA2JvBrL,KAAK0K,OAAOa,EAAWvL,KAAKuJ,OAAO6B,QAGrCzF,QAAA,WACEzF,EAAEF,KAAKoF,UAAUoG,IAAI9C,GACrBxI,EAAE0F,WAAW5F,KAAKoF,SA5LS,eA8L3BpF,KAAKuJ,OAAqB,KAC1BvJ,KAAK+J,QAAqB,KAC1B/J,KAAKoF,SAAqB,KAC1BpF,KAAKwJ,UAAqB,KAC1BxJ,KAAK0J,UAAqB,KAC1B1J,KAAK2J,WAAqB,KAC1B3J,KAAKyJ,eAAqB,KAC1BzJ,KAAKiK,mBAAqB,QAK5BD,WAAA,SAAWxH,GAMT,OALAA,EAAMiJ,EAAAA,EAAA,GACD9C,GACAnG,GAELpC,EAAKkC,gBAAgB2C,EAAMzC,EAAQ0G,GAC5B1G,KAGTkJ,aAAA,WACE,IAAMC,EAAYjL,KAAKkL,IAAI5L,KAAK8J,aAEhC,KAAI6B,GA/MuB,IA+M3B,CAIA,IAAMJ,EAAYI,EAAY3L,KAAK8J,YAEnC9J,KAAK8J,YAAc,EAGfyB,EAAY,GACdvL,KAAK6K,OAIHU,EAAY,GACdvL,KAAKyK,WAITD,mBAAA,WAAqB,IAAAqB,EAAA7L,KACfA,KAAK+J,QAAQlB,UACf3I,EAAEF,KAAKoF,UAAUyB,GAzMJ,uBAyMsB,SAACvC,GAAD,OAAWuH,EAAKC,SAASxH,MAGnC,UAAvBtE,KAAK+J,QAAQhB,OACf7I,EAAEF,KAAKoF,UACJyB,GA7Ma,0BA6MQ,SAACvC,GAAD,OAAWuH,EAAK9C,MAAMzE,MAC3CuC,GA7Ma,0BA6MQ,SAACvC,GAAD,OAAWuH,EAAKf,MAAMxG,MAG5CtE,KAAK+J,QAAQd,OACfjJ,KAAK+L,6BAITA,wBAAA,WAA0B,IAAAC,EAAAhM,KACxB,GAAKA,KAAKkK,gBAAV,CAIA,IAAM+B,EAAQ,SAAC3H,GACT0H,EAAK3B,eAAiBlB,EAAY7E,EAAM4H,cAAcC,YAAY3I,eACpEwI,EAAKnC,YAAcvF,EAAM4H,cAAcE,QAC7BJ,EAAK3B,gBACf2B,EAAKnC,YAAcvF,EAAM4H,cAAcG,QAAQ,GAAGD,UAahDE,EAAM,SAAChI,GACP0H,EAAK3B,eAAiBlB,EAAY7E,EAAM4H,cAAcC,YAAY3I,iBACpEwI,EAAKlC,YAAcxF,EAAM4H,cAAcE,QAAUJ,EAAKnC,aAGxDmC,EAAKN,eACsB,UAAvBM,EAAKjC,QAAQhB,QASfiD,EAAKjD,QACDiD,EAAKpC,cACP2C,aAAaP,EAAKpC,cAEpBoC,EAAKpC,aAAetJ,YAAW,SAACgE,GAAD,OAAW0H,EAAKlB,MAAMxG,KA5R9B,IA4R+D0H,EAAKjC,QAAQnB,YAIvG1I,EAAEF,KAAKoF,SAASiD,iBA5OS,uBA6OtBxB,GA7Pe,yBA6PM,SAAC2F,GAAD,OAAOA,EAAE5F,oBAE7B5G,KAAKqK,eACPnK,EAAEF,KAAKoF,UAAUyB,GAlQA,2BAkQsB,SAACvC,GAAD,OAAW2H,EAAM3H,MACxDpE,EAAEF,KAAKoF,UAAUyB,GAlQF,yBAkQsB,SAACvC,GAAD,OAAWgI,EAAIhI,MAEpDtE,KAAKoF,SAASmC,UAAUkB,IAxPG,mBA0P3BvI,EAAEF,KAAKoF,UAAUyB,GA1QD,0BA0QsB,SAACvC,GAAD,OAAW2H,EAAM3H,MACvDpE,EAAEF,KAAKoF,UAAUyB,GA1QF,yBA0QsB,SAACvC,GAAD,OA1C1B,SAACA,GAERA,EAAM4H,cAAcG,SAAW/H,EAAM4H,cAAcG,QAAQ7D,OAAS,EACtEwD,EAAKlC,YAAc,EAEnBkC,EAAKlC,YAAcxF,EAAM4H,cAAcG,QAAQ,GAAGD,QAAUJ,EAAKnC,YAqCnB4C,CAAKnI,MACrDpE,EAAEF,KAAKoF,UAAUyB,GA1QH,wBA0QsB,SAACvC,GAAD,OAAWgI,EAAIhI,WAIvDwH,SAAA,SAASxH,GACP,IAAI,kBAAkBhB,KAAKgB,EAAMK,OAAOsD,SAIxC,OAAQ3D,EAAMoI,OACZ,KAvTyB,GAwTvBpI,EAAMsC,iBACN5G,KAAK6K,OACL,MACF,KA1TyB,GA2TvBvG,EAAMsC,iBACN5G,KAAKyK,WAMXa,cAAA,SAAcvK,GAIZ,OAHAf,KAAKuJ,OAASxI,GAAWA,EAAQgD,WAC7B,GAAGqE,MAAMtF,KAAK/B,EAAQgD,WAAWsE,iBAhRZ,mBAiRrB,GACGrI,KAAKuJ,OAAOoD,QAAQ5L,MAG7B6L,oBAAA,SAAoBrB,EAAW9D,GAC7B,IAAMoF,EApTiB,SAoTCtB,EAClBuB,EApTiB,SAoTCvB,EAClBF,EAAkBrL,KAAKsL,cAAc7D,GACrCsF,EAAkB/M,KAAKuJ,OAAOf,OAAS,EAI7C,IAHwBsE,GAAmC,IAAhBzB,GACnBwB,GAAmBxB,IAAgB0B,KAErC/M,KAAK+J,QAAQf,KACjC,OAAOvB,EAGT,IACMuF,GAAa3B,GA/TI,SA8TLE,GAAgC,EAAI,IACZvL,KAAKuJ,OAAOf,OAEtD,OAAsB,IAAfwE,EACHhN,KAAKuJ,OAAOvJ,KAAKuJ,OAAOf,OAAS,GAAKxI,KAAKuJ,OAAOyD,MAGxDC,mBAAA,SAAmBC,EAAeC,GAChC,IAAMC,EAAcpN,KAAKsL,cAAc4B,GACjCG,EAAYrN,KAAKsL,cAActL,KAAKoF,SAAShE,cA3S1B,0BA4SnBkM,EAAapN,EAAE8F,MApUR,oBAoU2B,CACtCkH,cAAAA,EACA3B,UAAW4B,EACXI,KAAMF,EACNlC,GAAIiC,IAKN,OAFAlN,EAAEF,KAAKoF,UAAUpD,QAAQsL,GAElBA,KAGTE,2BAAA,SAA2BzM,GACzB,GAAIf,KAAKiK,mBAAoB,CAC3B,IAAMwD,EAAa,GAAGrF,MAAMtF,KAAK9C,KAAKiK,mBAAmB5B,iBA3TlC,YA4TvBnI,EAAEuN,GAAYxH,YApUa,UAsU3B,IAAMyH,EAAgB1N,KAAKiK,mBAAmB0D,SAC5C3N,KAAKsL,cAAcvK,IAGjB2M,GACFxN,EAAEwN,GAAeE,SA3UQ,cAgV/BlD,OAAA,SAAOa,EAAWxK,GAAS,IAQrB8M,EACAC,EACAX,EAVqBY,EAAA/N,KACnByH,EAAgBzH,KAAKoF,SAAShE,cAxUX,yBAyUnB4M,EAAqBhO,KAAKsL,cAAc7D,GACxCwG,EAAgBlN,GAAW0G,GAC/BzH,KAAK4M,oBAAoBrB,EAAW9D,GAChCyG,EAAmBlO,KAAKsL,cAAc2C,GACtCE,EAAYjM,QAAQlC,KAAKwJ,WAgB/B,GA1XuB,SAgXnB+B,GACFsC,EA1V2B,qBA2V3BC,EA1V2B,qBA2V3BX,EAjXqB,SAmXrBU,EA/V2B,sBAgW3BC,EA7V2B,qBA8V3BX,EApXqB,SAuXnBc,GAAe/N,EAAE+N,GAAa/H,SAtWL,UAuW3BlG,KAAK2J,YAAa,OAKpB,IADmB3J,KAAKiN,mBAAmBgB,EAAad,GACzC1H,sBAIVgC,GAAkBwG,EAAvB,CAKAjO,KAAK2J,YAAa,EAEdwE,GACFnO,KAAK+I,QAGP/I,KAAKwN,2BAA2BS,GAEhC,IAAMG,EAAYlO,EAAE8F,MA3YR,mBA2Y0B,CACpCkH,cAAee,EACf1C,UAAW4B,EACXI,KAAMS,EACN7C,GAAI+C,IAGN,GAAIhO,EAAEF,KAAKoF,UAAUc,SAnYQ,SAmYoB,CAC/ChG,EAAE+N,GAAaL,SAASE,GAExB1N,EAAK0B,OAAOmM,GAEZ/N,EAAEuH,GAAemG,SAASC,GAC1B3N,EAAE+N,GAAaL,SAASC,GAExB,IAAMQ,EAAsBC,SAASL,EAAYhN,aAAa,iBAAkB,IAC5EoN,GACFrO,KAAK+J,QAAQwE,gBAAkBvO,KAAK+J,QAAQwE,iBAAmBvO,KAAK+J,QAAQnB,SAC5E5I,KAAK+J,QAAQnB,SAAWyF,GAExBrO,KAAK+J,QAAQnB,SAAW5I,KAAK+J,QAAQwE,iBAAmBvO,KAAK+J,QAAQnB,SAGvE,IAAMrH,EAAqBnB,EAAKkB,iCAAiCmG,GAEjEvH,EAAEuH,GACCtH,IAAIC,EAAKC,gBAAgB,WACxBH,EAAE+N,GACChI,YAAe4H,EADlB,IAC0CC,GACvCF,SA1ZoB,UA4ZvB1N,EAAEuH,GAAexB,YAAeuI,UAAqBV,EAArD,IAAuED,GAEvEE,EAAKpE,YAAa,EAElBrJ,YAAW,WAAA,OAAMJ,EAAE6N,EAAK3I,UAAUpD,QAAQoM,KAAY,MAEvD/J,qBAAqB9C,QAExBrB,EAAEuH,GAAexB,YApaU,UAqa3B/F,EAAE+N,GAAaL,SAraY,UAua3B5N,KAAK2J,YAAa,EAClBzJ,EAAEF,KAAKoF,UAAUpD,QAAQoM,GAGvBD,GACFnO,KAAK8K,YAMFxE,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAIE,EAAOvG,EAAEF,MAAMyG,KAneM,eAoerBsD,EAAO0B,EAAAA,EAAA,GACN9C,GACAzI,EAAEF,MAAMyG,QAGS,iBAAXjE,IACTuH,EAAO0B,EAAAA,EAAA,GACF1B,GACAvH,IAIP,IAAMiM,EAA2B,iBAAXjM,EAAsBA,EAASuH,EAAQjB,MAO7D,GALKrC,IACHA,EAAO,IAAI6C,EAAStJ,KAAM+J,GAC1B7J,EAAEF,MAAMyG,KApfe,cAofAA,IAGH,iBAAXjE,EACTiE,EAAK0E,GAAG3I,QACH,GAAsB,iBAAXiM,EAAqB,CACrC,GAA4B,oBAAjBhI,EAAKgI,GACd,MAAM,IAAIxK,UAAJ,oBAAkCwK,EAAlC,KAERhI,EAAKgI,UACI1E,EAAQnB,UAAYmB,EAAQ2E,OACrCjI,EAAKsC,QACLtC,EAAKqE,eAKJ6D,qBAAP,SAA4BrK,GAC1B,IAAMtD,EAAWZ,EAAKU,uBAAuBd,MAE7C,GAAKgB,EAAL,CAIA,IAAM2D,EAASzE,EAAEc,GAAU,GAE3B,GAAK2D,GAAWzE,EAAEyE,GAAQuB,SAheG,YAge7B,CAIA,IAAM1D,EAAMiJ,EAAAA,EAAA,GACPvL,EAAEyE,GAAQ8B,QACVvG,EAAEF,MAAMyG,QAEPmI,EAAa5O,KAAKiB,aAAa,iBAEjC2N,IACFpM,EAAOoG,UAAW,GAGpBU,EAAShD,iBAAiBxD,KAAK5C,EAAEyE,GAASnC,GAEtCoM,GACF1O,EAAEyE,GAAQ8B,KA/hBe,eA+hBA0E,GAAGyD,GAG9BtK,EAAMsC,4DAjcN,MAlG2B,wCAsG3B,OAAO+B,QA3BLW,GAkeNpJ,EAAEU,UAAUiG,GAhgBc,6BAiBG,gCA+e6ByC,EAASqF,sBAEnEzO,EAAEgI,QAAQrB,GAngBe,6BAmgBS,WAEhC,IADA,IAAMgI,EAAY,GAAGzG,MAAMtF,KAAKlC,SAASyH,iBAjfd,2BAkflBC,EAAI,EAAGC,EAAMsG,EAAUrG,OAAQF,EAAIC,EAAKD,IAAK,CACpD,IAAMwG,EAAY5O,EAAE2O,EAAUvG,IAC9BgB,EAAShD,iBAAiBxD,KAAKgM,EAAWA,EAAUrI,YAUxDvG,EAAEiE,GAAGc,GAAQqE,EAAShD,iBACtBpG,EAAEiE,GAAGc,GAAM6B,YAAcwC,EACzBpJ,EAAEiE,GAAGc,GAAM8B,WAAa,WAEtB,OADA7G,EAAEiE,GAAGc,GAAQC,EACNoE,EAAShD,kBClkBlB,IAAMrB,EAAsB,WAKtBC,EAAsBhF,EAAEiE,GAAGc,GAE3B0D,EAAU,CACd1B,QAAS,EACTpB,OAAS,IAGLqD,EAAc,CAClBjC,OAAS,UACTpB,OAAS,oBA0BLkJ,EAAAA,WACJ,SAAAA,EAAYhO,EAASyB,GACnBxC,KAAKgP,kBAAmB,EACxBhP,KAAKoF,SAAmBrE,EACxBf,KAAK+J,QAAmB/J,KAAKgK,WAAWxH,GACxCxC,KAAKiP,cAAmB,GAAG7G,MAAMtF,KAAKlC,SAASyH,iBAC7C,mCAAmCtH,EAAQmO,GAA3C,6CAC0CnO,EAAQmO,GADlD,OAKF,IADA,IAAMC,EAAa,GAAG/G,MAAMtF,KAAKlC,SAASyH,iBAlBjB,6BAmBhBC,EAAI,EAAGC,EAAM4G,EAAW3G,OAAQF,EAAIC,EAAKD,IAAK,CACrD,IAAM8G,EAAOD,EAAW7G,GAClBtH,EAAWZ,EAAKU,uBAAuBsO,GACvCC,EAAgB,GAAGjH,MAAMtF,KAAKlC,SAASyH,iBAAiBrH,IAC3DsO,QAAO,SAACC,GAAD,OAAeA,IAAcxO,KAEtB,OAAbC,GAAqBqO,EAAc7G,OAAS,IAC9CxI,KAAKwP,UAAYxO,EACjBhB,KAAKiP,cAAcQ,KAAKL,IAI5BpP,KAAK0P,QAAU1P,KAAK+J,QAAQlE,OAAS7F,KAAK2P,aAAe,KAEpD3P,KAAK+J,QAAQlE,QAChB7F,KAAK4P,0BAA0B5P,KAAKoF,SAAUpF,KAAKiP,eAGjDjP,KAAK+J,QAAQ9C,QACfjH,KAAKiH,oCAgBTA,OAAA,WACM/G,EAAEF,KAAKoF,UAAUc,SAhEK,QAiExBlG,KAAK6P,OAEL7P,KAAK8P,UAITA,KAAA,WAAO,IAMDC,EACAC,EAPCjQ,EAAAC,KACL,IAAIA,KAAKgP,mBACP9O,EAAEF,KAAKoF,UAAUc,SAzEO,UAgFtBlG,KAAK0P,SAUgB,KATvBK,EAAU,GAAG3H,MAAMtF,KAAK9C,KAAK0P,QAAQrH,iBAzEd,uBA0EpBiH,QAAO,SAACF,GACP,MAAmC,iBAAxBrP,EAAKgK,QAAQlE,OACfuJ,EAAKnO,aAAa,iBAAmBlB,EAAKgK,QAAQlE,OAGpDuJ,EAAK7H,UAAUC,SAtFF,gBAyFZgB,SACVuH,EAAU,QAIVA,IACFC,EAAc9P,EAAE6P,GAASE,IAAIjQ,KAAKwP,WAAW/I,KArHvB,iBAsHHuJ,EAAYhB,mBAFjC,CAOA,IAAMkB,EAAahQ,EAAE8F,MA5GT,oBA8GZ,GADA9F,EAAEF,KAAKoF,UAAUpD,QAAQkO,IACrBA,EAAWzK,qBAAf,CAIIsK,IACFhB,EAASzI,iBAAiBxD,KAAK5C,EAAE6P,GAASE,IAAIjQ,KAAKwP,WAAY,QAC1DQ,GACH9P,EAAE6P,GAAStJ,KApIS,cAoIM,OAI9B,IAAM0J,EAAYnQ,KAAKoQ,gBAEvBlQ,EAAEF,KAAKoF,UACJa,YArHuB,YAsHvB2H,SArHuB,cAuH1B5N,KAAKoF,SAASiL,MAAMF,GAAa,EAE7BnQ,KAAKiP,cAAczG,QACrBtI,EAAEF,KAAKiP,eACJhJ,YA1HqB,aA2HrBqK,KAAK,iBAAiB,GAG3BtQ,KAAKuQ,kBAAiB,GAEtB,IAaMC,EAAU,UADaL,EAAU,GAAG3M,cAAgB2M,EAAU/H,MAAM,IAEpE7G,EAAqBnB,EAAKkB,iCAAiCtB,KAAKoF,UAEtElF,EAAEF,KAAKoF,UACJjF,IAAIC,EAAKC,gBAjBK,WACfH,EAAEH,EAAKqF,UACJa,YAnIqB,cAoIrB2H,SAAY6C,iBAEf1Q,EAAKqF,SAASiL,MAAMF,GAAa,GAEjCpQ,EAAKwQ,kBAAiB,GAEtBrQ,EAAEH,EAAKqF,UAAUpD,QAjJN,wBA0JVqC,qBAAqB9C,GAExBvB,KAAKoF,SAASiL,MAAMF,GAAgBnQ,KAAKoF,SAASoL,GAAlD,UAGFX,KAAA,WAAO,IAAAhE,EAAA7L,KACL,IAAIA,KAAKgP,kBACN9O,EAAEF,KAAKoF,UAAUc,SA5JM,QA2J1B,CAKA,IAAMgK,EAAahQ,EAAE8F,MApKT,oBAsKZ,GADA9F,EAAEF,KAAKoF,UAAUpD,QAAQkO,IACrBA,EAAWzK,qBAAf,CAIA,IAAM0K,EAAYnQ,KAAKoQ,gBAEvBpQ,KAAKoF,SAASiL,MAAMF,GAAgBnQ,KAAKoF,SAASsL,wBAAwBP,GAA1E,KAEA/P,EAAK0B,OAAO9B,KAAKoF,UAEjBlF,EAAEF,KAAKoF,UACJwI,SA3KuB,cA4KvB3H,YAAewK,iBAElB,IAAME,EAAqB3Q,KAAKiP,cAAczG,OAC9C,GAAImI,EAAqB,EACvB,IAAK,IAAIrI,EAAI,EAAGA,EAAIqI,EAAoBrI,IAAK,CAC3C,IAAMtG,EAAUhC,KAAKiP,cAAc3G,GAC7BtH,EAAWZ,EAAKU,uBAAuBkB,GAE7C,GAAiB,OAAbhB,EACYd,EAAE,GAAGkI,MAAMtF,KAAKlC,SAASyH,iBAAiBrH,KAC7CkF,SAxLS,SAyLlBhG,EAAE8B,GAAS4L,SAtLO,aAuLf0C,KAAK,iBAAiB,GAMjCtQ,KAAKuQ,kBAAiB,GAUtBvQ,KAAKoF,SAASiL,MAAMF,GAAa,GACjC,IAAM5O,EAAqBnB,EAAKkB,iCAAiCtB,KAAKoF,UAEtElF,EAAEF,KAAKoF,UACJjF,IAAIC,EAAKC,gBAZK,WACfwL,EAAK0E,kBAAiB,GACtBrQ,EAAE2L,EAAKzG,UACJa,YAnMqB,cAoMrB2H,SArMqB,YAsMrB5L,QA1MS,yBAkNXqC,qBAAqB9C,QAG1BgP,iBAAA,SAAiBK,GACf5Q,KAAKgP,iBAAmB4B,KAG1BjL,QAAA,WACEzF,EAAE0F,WAAW5F,KAAKoF,SA5OM,eA8OxBpF,KAAK+J,QAAmB,KACxB/J,KAAK0P,QAAmB,KACxB1P,KAAKoF,SAAmB,KACxBpF,KAAKiP,cAAmB,KACxBjP,KAAKgP,iBAAmB,QAK1BhF,WAAA,SAAWxH,GAOT,OANAA,EAAMiJ,EAAAA,EAAA,GACD9C,GACAnG,IAEEyE,OAAS/E,QAAQM,EAAOyE,QAC/B7G,EAAKkC,gBAAgB2C,EAAMzC,EAAQ0G,GAC5B1G,KAGT4N,cAAA,WAEE,OADiBlQ,EAAEF,KAAKoF,UAAUc,SAxOb,SAAA,QACA,YA2OvByJ,WAAA,WAAa,IACP9J,EADOmG,EAAAhM,KAGPI,EAAK+B,UAAUnC,KAAK+J,QAAQlE,SAC9BA,EAAS7F,KAAK+J,QAAQlE,OAGoB,oBAA/B7F,KAAK+J,QAAQlE,OAAOzB,SAC7ByB,EAAS7F,KAAK+J,QAAQlE,OAAO,KAG/BA,EAASjF,SAASQ,cAAcpB,KAAK+J,QAAQlE,QAG/C,IAAM7E,EAAQ,yCAA4ChB,KAAK+J,QAAQlE,OAAzD,KACR8H,EAAW,GAAGvF,MAAMtF,KAAK+C,EAAOwC,iBAAiBrH,IASvD,OAPAd,EAAEyN,GAAUpH,MAAK,SAAC+B,EAAGvH,GACnBiL,EAAK4D,0BACHb,EAAS8B,sBAAsB9P,GAC/B,CAACA,OAIE8E,KAGT+J,0BAAA,SAA0B7O,EAAS+P,GACjC,IAAMC,EAAS7Q,EAAEa,GAASmF,SA7QA,QA+QtB4K,EAAatI,QACftI,EAAE4Q,GACCjJ,YA9QqB,aA8QckJ,GACnCT,KAAK,gBAAiBS,MAMtBF,sBAAP,SAA6B9P,GAC3B,IAAMC,EAAWZ,EAAKU,uBAAuBC,GAC7C,OAAOC,EAAWJ,SAASQ,cAAcJ,GAAY,QAGhDsF,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAMyK,EAAU9Q,EAAEF,MACdyG,EAAYuK,EAAMvK,KArTA,eAsThBsD,EAAO0B,EAAAA,EAAAA,EAAA,GACR9C,GACAqI,EAAMvK,QACY,iBAAXjE,GAAuBA,EAASA,EAAS,IAYrD,IATKiE,GAAQsD,EAAQ9C,QAA4B,iBAAXzE,GAAuB,YAAYc,KAAKd,KAC5EuH,EAAQ9C,QAAS,GAGdR,IACHA,EAAO,IAAIsI,EAAS/O,KAAM+J,GAC1BiH,EAAMvK,KAlUc,cAkUCA,IAGD,iBAAXjE,EAAqB,CAC9B,GAA4B,oBAAjBiE,EAAKjE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERiE,EAAKjE,kDA9PT,MA5EwB,wCAgFxB,OAAOmG,QAzCLoG,GA+SN7O,EAAEU,UAAUiG,GAlUc,6BAWG,4BAuT8B,SAAUvC,GAE/B,MAAhCA,EAAM2M,cAAchJ,SACtB3D,EAAMsC,iBAGR,IAAMsK,EAAWhR,EAAEF,MACbgB,EAAWZ,EAAKU,uBAAuBd,MACvCmR,EAAY,GAAG/I,MAAMtF,KAAKlC,SAASyH,iBAAiBrH,IAE1Dd,EAAEiR,GAAW5K,MAAK,WAChB,IAAM6K,EAAUlR,EAAEF,MAEZwC,EADU4O,EAAQ3K,KAjWA,eAkWD,SAAWyK,EAASzK,OAC3CsI,EAASzI,iBAAiBxD,KAAKsO,EAAS5O,SAU5CtC,EAAEiE,GAAGc,GAAQ8J,EAASzI,iBACtBpG,EAAEiE,GAAGc,GAAM6B,YAAciI,EACzB7O,EAAEiE,GAAGc,GAAM8B,WAAa,WAEtB,OADA7G,EAAEiE,GAAGc,GAAQC,EACN6J,EAASzI,kBC3WlB,IAAI+K,EAA8B,oBAAXnJ,QAA8C,oBAAbtH,UAAiD,oBAAduJ,UAEvFmH,EAAkB,WAEpB,IADA,IAAIC,EAAwB,CAAC,OAAQ,UAAW,WACvCjJ,EAAI,EAAGA,EAAIiJ,EAAsB/I,OAAQF,GAAK,EACrD,GAAI+I,GAAalH,UAAUqH,UAAU7E,QAAQ4E,EAAsBjJ,KAAO,EACxE,OAAO,EAGX,OAAO,EAPa,GAqCtB,IAWImJ,EAXqBJ,GAAanJ,OAAOwJ,QA3B7C,SAA2BvN,GACzB,IAAIlE,GAAS,EACb,OAAO,WACDA,IAGJA,GAAS,EACTiI,OAAOwJ,QAAQC,UAAUC,MAAK,WAC5B3R,GAAS,EACTkE,UAKN,SAAsBA,GACpB,IAAI0N,GAAY,EAChB,OAAO,WACAA,IACHA,GAAY,EACZvR,YAAW,WACTuR,GAAY,EACZ1N,MACCmN,MAyBT,SAASQ,EAAWC,GAElB,OAAOA,GAA8D,sBADvD,GACoB7O,SAASJ,KAAKiP,GAUlD,SAASC,EAAyBjR,EAAS2B,GACzC,GAAyB,IAArB3B,EAAQsB,SACV,MAAO,GAGT,IACIb,EADST,EAAQkR,cAAcC,YAClBC,iBAAiBpR,EAAS,MAC3C,OAAO2B,EAAWlB,EAAIkB,GAAYlB,EAUpC,SAAS4Q,EAAcrR,GACrB,MAAyB,SAArBA,EAAQsR,SACHtR,EAEFA,EAAQgD,YAAchD,EAAQuR,KAUvC,SAASC,EAAgBxR,GAEvB,IAAKA,EACH,OAAOH,SAAS4R,KAGlB,OAAQzR,EAAQsR,UACd,IAAK,OACL,IAAK,OACH,OAAOtR,EAAQkR,cAAcO,KAC/B,IAAK,YACH,OAAOzR,EAAQyR,KAKnB,IAAIC,EAAwBT,EAAyBjR,GACjD2R,EAAWD,EAAsBC,SACjCC,EAAYF,EAAsBE,UAClCC,EAAYH,EAAsBG,UAEtC,MAAI,wBAAwBtP,KAAKoP,EAAWE,EAAYD,GAC/C5R,EAGFwR,EAAgBH,EAAcrR,IAUvC,SAAS8R,EAAiBC,GACxB,OAAOA,GAAaA,EAAUC,cAAgBD,EAAUC,cAAgBD,EAG1E,IAAIE,EAAS3B,MAAgBnJ,OAAO+K,uBAAwBrS,SAASsS,cACjEC,EAAS9B,GAAa,UAAU/N,KAAK6G,UAAUqH,WASnD,SAAS4B,EAAKlP,GACZ,OAAgB,KAAZA,EACK8O,EAEO,KAAZ9O,EACKiP,EAEFH,GAAUG,EAUnB,SAASE,EAAgBtS,GACvB,IAAKA,EACH,OAAOH,SAAS8C,gBAQlB,IALA,IAAI4P,EAAiBF,EAAK,IAAMxS,SAAS4R,KAAO,KAG5Ce,EAAexS,EAAQwS,cAAgB,KAEpCA,IAAiBD,GAAkBvS,EAAQyS,oBAChDD,GAAgBxS,EAAUA,EAAQyS,oBAAoBD,aAGxD,IAAIlB,EAAWkB,GAAgBA,EAAalB,SAE5C,OAAKA,GAAyB,SAAbA,GAAoC,SAAbA,GAMsB,IAA1D,CAAC,KAAM,KAAM,SAAS1F,QAAQ4G,EAAalB,WAA2E,WAAvDL,EAAyBuB,EAAc,YACjGF,EAAgBE,GAGlBA,EATExS,EAAUA,EAAQkR,cAAcvO,gBAAkB9C,SAAS8C,gBA4BtE,SAAS+P,EAAQC,GACf,OAAwB,OAApBA,EAAK3P,WACA0P,EAAQC,EAAK3P,YAGf2P,EAWT,SAASC,EAAuBC,EAAUC,GAExC,KAAKD,GAAaA,EAASvR,UAAawR,GAAaA,EAASxR,UAC5D,OAAOzB,SAAS8C,gBAIlB,IAAIoQ,EAAQF,EAASG,wBAAwBF,GAAYG,KAAKC,4BAC1DhI,EAAQ6H,EAAQF,EAAWC,EAC3BvH,EAAMwH,EAAQD,EAAWD,EAGzBM,EAAQtT,SAASuT,cACrBD,EAAME,SAASnI,EAAO,GACtBiI,EAAMG,OAAO/H,EAAK,GAClB,IA/CyBvL,EACrBsR,EA8CAiC,EAA0BJ,EAAMI,wBAIpC,GAAIV,IAAaU,GAA2BT,IAAaS,GAA2BrI,EAAMzE,SAAS8E,GACjG,MAjDe,UAFb+F,GADqBtR,EAoDDuT,GAnDDjC,WAKH,SAAbA,GAAuBgB,EAAgBtS,EAAQwT,qBAAuBxT,EAkDpEsS,EAAgBiB,GAHdA,EAOX,IAAIE,EAAef,EAAQG,GAC3B,OAAIY,EAAalC,KACRqB,EAAuBa,EAAalC,KAAMuB,GAE1CF,EAAuBC,EAAUH,EAAQI,GAAUvB,MAY9D,SAASmC,EAAU1T,GACjB,IAAI2T,EAAO1P,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,GAAmBA,UAAU,GAAK,MAE3E4P,EAAqB,QAATF,EAAiB,YAAc,aAC3CrC,EAAWtR,EAAQsR,SAEvB,GAAiB,SAAbA,GAAoC,SAAbA,EAAqB,CAC9C,IAAIwC,EAAO9T,EAAQkR,cAAcvO,gBAC7BoR,EAAmB/T,EAAQkR,cAAc6C,kBAAoBD,EACjE,OAAOC,EAAiBF,GAG1B,OAAO7T,EAAQ6T,GAYjB,SAASG,EAAcC,EAAMjU,GAC3B,IAAIkU,EAAWjQ,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,IAAmBA,UAAU,GAE1EkQ,EAAYT,EAAU1T,EAAS,OAC/BoU,EAAaV,EAAU1T,EAAS,QAChCqU,EAAWH,GAAY,EAAI,EAK/B,OAJAD,EAAKK,KAAOH,EAAYE,EACxBJ,EAAKM,QAAUJ,EAAYE,EAC3BJ,EAAKO,MAAQJ,EAAaC,EAC1BJ,EAAKQ,OAASL,EAAaC,EACpBJ,EAaT,SAASS,EAAeC,EAAQC,GAC9B,IAAIC,EAAiB,MAATD,EAAe,OAAS,MAChCE,EAAkB,SAAVD,EAAmB,QAAU,SAEzC,OAAOjU,WAAW+T,EAAO,SAAWE,EAAQ,SAAU,IAAMjU,WAAW+T,EAAO,SAAWG,EAAQ,SAAU,IAG7G,SAASC,EAAQH,EAAMnD,EAAMqC,EAAMkB,GACjC,OAAOrV,KAAKsV,IAAIxD,EAAK,SAAWmD,GAAOnD,EAAK,SAAWmD,GAAOd,EAAK,SAAWc,GAAOd,EAAK,SAAWc,GAAOd,EAAK,SAAWc,GAAOvC,EAAK,IAAM9E,SAASuG,EAAK,SAAWc,IAASrH,SAASyH,EAAc,UAAqB,WAATJ,EAAoB,MAAQ,UAAYrH,SAASyH,EAAc,UAAqB,WAATJ,EAAoB,SAAW,WAAa,GAG5U,SAASM,EAAerV,GACtB,IAAI4R,EAAO5R,EAAS4R,KAChBqC,EAAOjU,EAAS8C,gBAChBqS,EAAgB3C,EAAK,KAAOjB,iBAAiB0C,GAEjD,MAAO,CACLqB,OAAQJ,EAAQ,SAAUtD,EAAMqC,EAAMkB,GACtCI,MAAOL,EAAQ,QAAStD,EAAMqC,EAAMkB,IAIxC,IAAIK,EAAiB,SAAUC,EAAUvP,GACvC,KAAMuP,aAAoBvP,GACxB,MAAM,IAAI7C,UAAU,sCAIpBqS,EAAc,WAChB,SAASC,EAAiB5R,EAAQ6R,GAChC,IAAK,IAAIlO,EAAI,EAAGA,EAAIkO,EAAMhO,OAAQF,IAAK,CACrC,IAAImO,EAAaD,EAAMlO,GACvBmO,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDjU,OAAOkU,eAAelS,EAAQ8R,EAAWK,IAAKL,IAIlD,OAAO,SAAU3P,EAAaiQ,EAAYC,GAGxC,OAFID,GAAYR,EAAiBzP,EAAYlE,UAAWmU,GACpDC,GAAaT,EAAiBzP,EAAakQ,GACxClQ,GAdO,GAsBd+P,EAAiB,SAAUzU,EAAK0U,EAAK9T,GAYvC,OAXI8T,KAAO1U,EACTO,OAAOkU,eAAezU,EAAK0U,EAAK,CAC9B9T,MAAOA,EACP0T,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZxU,EAAI0U,GAAO9T,EAGNZ,GAGL6U,EAAWtU,OAAOuU,QAAU,SAAUvS,GACxC,IAAK,IAAI2D,EAAI,EAAGA,EAAItD,UAAUwD,OAAQF,IAAK,CACzC,IAAI6O,EAASnS,UAAUsD,GAEvB,IAAK,IAAIwO,KAAOK,EACVxU,OAAOC,UAAUC,eAAeC,KAAKqU,EAAQL,KAC/CnS,EAAOmS,GAAOK,EAAOL,IAK3B,OAAOnS,GAUT,SAASyS,EAAcC,GACrB,OAAOJ,EAAS,GAAII,EAAS,CAC3B7B,MAAO6B,EAAQ9B,KAAO8B,EAAQlB,MAC9Bb,OAAQ+B,EAAQhC,IAAMgC,EAAQnB,SAWlC,SAASxF,EAAsB3P,GAC7B,IAAIiU,EAAO,GAKX,IACE,GAAI5B,EAAK,IAAK,CACZ4B,EAAOjU,EAAQ2P,wBACf,IAAIwE,EAAYT,EAAU1T,EAAS,OAC/BoU,EAAaV,EAAU1T,EAAS,QACpCiU,EAAKK,KAAOH,EACZF,EAAKO,MAAQJ,EACbH,EAAKM,QAAUJ,EACfF,EAAKQ,OAASL,OAEdH,EAAOjU,EAAQ2P,wBAEjB,MAAOlE,IAET,IAAI8K,EAAS,CACX/B,KAAMP,EAAKO,KACXF,IAAKL,EAAKK,IACVc,MAAOnB,EAAKQ,MAAQR,EAAKO,KACzBW,OAAQlB,EAAKM,OAASN,EAAKK,KAIzBkC,EAA6B,SAArBxW,EAAQsR,SAAsB4D,EAAelV,EAAQkR,eAAiB,GAC9EkE,EAAQoB,EAAMpB,OAASpV,EAAQyW,aAAeF,EAAOnB,MACrDD,EAASqB,EAAMrB,QAAUnV,EAAQ0W,cAAgBH,EAAOpB,OAExDwB,EAAiB3W,EAAQ4W,YAAcxB,EACvCyB,EAAgB7W,EAAQgB,aAAemU,EAI3C,GAAIwB,GAAkBE,EAAe,CACnC,IAAIlC,EAAS1D,EAAyBjR,GACtC2W,GAAkBjC,EAAeC,EAAQ,KACzCkC,GAAiBnC,EAAeC,EAAQ,KAExC4B,EAAOnB,OAASuB,EAChBJ,EAAOpB,QAAU0B,EAGnB,OAAOR,EAAcE,GAGvB,SAASO,EAAqClK,EAAU9H,GACtD,IAAIiS,EAAgB9S,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,IAAmBA,UAAU,GAE/EmO,EAASC,EAAK,IACd2E,EAA6B,SAApBlS,EAAOwM,SAChB2F,EAAetH,EAAsB/C,GACrCsK,EAAavH,EAAsB7K,GACnCqS,EAAe3F,EAAgB5E,GAE/B+H,EAAS1D,EAAyBnM,GAClCsS,EAAiBxW,WAAW+T,EAAOyC,eAAgB,IACnDC,EAAkBzW,WAAW+T,EAAO0C,gBAAiB,IAGrDN,GAAiBC,IACnBE,EAAW5C,IAAM3U,KAAKsV,IAAIiC,EAAW5C,IAAK,GAC1C4C,EAAW1C,KAAO7U,KAAKsV,IAAIiC,EAAW1C,KAAM,IAE9C,IAAI8B,EAAUD,EAAc,CAC1B/B,IAAK2C,EAAa3C,IAAM4C,EAAW5C,IAAM8C,EACzC5C,KAAMyC,EAAazC,KAAO0C,EAAW1C,KAAO6C,EAC5CjC,MAAO6B,EAAa7B,MACpBD,OAAQ8B,EAAa9B,SASvB,GAPAmB,EAAQgB,UAAY,EACpBhB,EAAQiB,WAAa,GAMhBnF,GAAU4E,EAAQ,CACrB,IAAIM,EAAY1W,WAAW+T,EAAO2C,UAAW,IACzCC,EAAa3W,WAAW+T,EAAO4C,WAAY,IAE/CjB,EAAQhC,KAAO8C,EAAiBE,EAChChB,EAAQ/B,QAAU6C,EAAiBE,EACnChB,EAAQ9B,MAAQ6C,EAAkBE,EAClCjB,EAAQ7B,OAAS4C,EAAkBE,EAGnCjB,EAAQgB,UAAYA,EACpBhB,EAAQiB,WAAaA,EAOvB,OAJInF,IAAW2E,EAAgBjS,EAAO2B,SAAS0Q,GAAgBrS,IAAWqS,GAA0C,SAA1BA,EAAa7F,YACrGgF,EAAUtC,EAAcsC,EAASxR,IAG5BwR,EAGT,SAASkB,EAA8CxX,GACrD,IAAIyX,EAAgBxT,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,IAAmBA,UAAU,GAE/E6P,EAAO9T,EAAQkR,cAAcvO,gBAC7B+U,EAAiBZ,EAAqC9W,EAAS8T,GAC/DsB,EAAQzV,KAAKsV,IAAInB,EAAK2C,YAAatP,OAAOwQ,YAAc,GACxDxC,EAASxV,KAAKsV,IAAInB,EAAK4C,aAAcvP,OAAOyQ,aAAe,GAE3DzD,EAAasD,EAAkC,EAAlB/D,EAAUI,GACvCM,EAAcqD,EAA0C,EAA1B/D,EAAUI,EAAM,QAE9C+D,EAAS,CACXvD,IAAKH,EAAYuD,EAAepD,IAAMoD,EAAeJ,UACrD9C,KAAMJ,EAAasD,EAAelD,KAAOkD,EAAeH,WACxDnC,MAAOA,EACPD,OAAQA,GAGV,OAAOkB,EAAcwB,GAWvB,SAASC,EAAQ9X,GACf,IAAIsR,EAAWtR,EAAQsR,SACvB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,OAAO,EAET,GAAsD,UAAlDL,EAAyBjR,EAAS,YACpC,OAAO,EAET,IAAIgD,EAAaqO,EAAcrR,GAC/B,QAAKgD,GAGE8U,EAAQ9U,GAWjB,SAAS+U,GAA6B/X,GAEpC,IAAKA,IAAYA,EAAQgY,eAAiB3F,IACxC,OAAOxS,SAAS8C,gBAGlB,IADA,IAAIsV,EAAKjY,EAAQgY,cACVC,GAAoD,SAA9ChH,EAAyBgH,EAAI,cACxCA,EAAKA,EAAGD,cAEV,OAAOC,GAAMpY,SAAS8C,gBAcxB,SAASuV,GAAcC,EAAQpG,EAAWqG,EAASC,GACjD,IAAItB,EAAgB9S,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,IAAmBA,UAAU,GAI/EqU,EAAa,CAAEhE,IAAK,EAAGE,KAAM,GAC7BhC,EAAeuE,EAAgBgB,GAA6BI,GAAUvF,EAAuBuF,EAAQrG,EAAiBC,IAG1H,GAA0B,aAAtBsG,EACFC,EAAad,EAA8ChF,EAAcuE,OACpE,CAEL,IAAIwB,OAAiB,EACK,iBAAtBF,EAE8B,UADhCE,EAAiB/G,EAAgBH,EAAcU,KAC5BT,WACjBiH,EAAiBJ,EAAOjH,cAAcvO,iBAGxC4V,EAD+B,WAAtBF,EACQF,EAAOjH,cAAcvO,gBAErB0V,EAGnB,IAAI/B,EAAUQ,EAAqCyB,EAAgB/F,EAAcuE,GAGjF,GAAgC,SAA5BwB,EAAejH,UAAwBwG,EAAQtF,GAWjD8F,EAAahC,MAXmD,CAChE,IAAIkC,EAAkBtD,EAAeiD,EAAOjH,eACxCiE,EAASqD,EAAgBrD,OACzBC,EAAQoD,EAAgBpD,MAE5BkD,EAAWhE,KAAOgC,EAAQhC,IAAMgC,EAAQgB,UACxCgB,EAAW/D,OAASY,EAASmB,EAAQhC,IACrCgE,EAAW9D,MAAQ8B,EAAQ9B,KAAO8B,EAAQiB,WAC1Ce,EAAW7D,MAAQW,EAAQkB,EAAQ9B,MASvC,IAAIiE,EAAqC,iBADzCL,EAAUA,GAAW,GAOrB,OALAE,EAAW9D,MAAQiE,EAAkBL,EAAUA,EAAQ5D,MAAQ,EAC/D8D,EAAWhE,KAAOmE,EAAkBL,EAAUA,EAAQ9D,KAAO,EAC7DgE,EAAW7D,OAASgE,EAAkBL,EAAUA,EAAQ3D,OAAS,EACjE6D,EAAW/D,QAAUkE,EAAkBL,EAAUA,EAAQ7D,QAAU,EAE5D+D,EAGT,SAASI,GAAQC,GAIf,OAHYA,EAAKvD,MACJuD,EAAKxD,OAcpB,SAASyD,GAAqBC,EAAWC,EAASX,EAAQpG,EAAWsG,GACnE,IAAID,EAAUnU,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,GAAmBA,UAAU,GAAK,EAElF,IAAmC,IAA/B4U,EAAUjN,QAAQ,QACpB,OAAOiN,EAGT,IAAIP,EAAaJ,GAAcC,EAAQpG,EAAWqG,EAASC,GAEvDU,EAAQ,CACVzE,IAAK,CACHc,MAAOkD,EAAWlD,MAClBD,OAAQ2D,EAAQxE,IAAMgE,EAAWhE,KAEnCG,MAAO,CACLW,MAAOkD,EAAW7D,MAAQqE,EAAQrE,MAClCU,OAAQmD,EAAWnD,QAErBZ,OAAQ,CACNa,MAAOkD,EAAWlD,MAClBD,OAAQmD,EAAW/D,OAASuE,EAAQvE,QAEtCC,KAAM,CACJY,MAAO0D,EAAQtE,KAAO8D,EAAW9D,KACjCW,OAAQmD,EAAWnD,SAInB6D,EAAcpX,OAAOqX,KAAKF,GAAOG,KAAI,SAAUnD,GACjD,OAAOG,EAAS,CACdH,IAAKA,GACJgD,EAAMhD,GAAM,CACboD,KAAMT,GAAQK,EAAMhD,SAErBqD,MAAK,SAAUC,EAAGC,GACnB,OAAOA,EAAEH,KAAOE,EAAEF,QAGhBI,EAAgBP,EAAYzK,QAAO,SAAUiL,GAC/C,IAAIpE,EAAQoE,EAAMpE,MACdD,EAASqE,EAAMrE,OACnB,OAAOC,GAAS+C,EAAO1B,aAAetB,GAAUgD,EAAOzB,gBAGrD+C,EAAoBF,EAAc9R,OAAS,EAAI8R,EAAc,GAAGxD,IAAMiD,EAAY,GAAGjD,IAErF2D,EAAYb,EAAU/X,MAAM,KAAK,GAErC,OAAO2Y,GAAqBC,EAAY,IAAMA,EAAY,IAa5D,SAASC,GAAoBC,EAAOzB,EAAQpG,GAC1C,IAAIgF,EAAgB9S,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,GAAmBA,UAAU,GAAK,KAEpF4V,EAAqB9C,EAAgBgB,GAA6BI,GAAUvF,EAAuBuF,EAAQrG,EAAiBC,IAChI,OAAO+E,EAAqC/E,EAAW8H,EAAoB9C,GAU7E,SAAS+C,GAAc9Z,GACrB,IACI2U,EADS3U,EAAQkR,cAAcC,YACfC,iBAAiBpR,GACjC+Z,EAAInZ,WAAW+T,EAAO2C,WAAa,GAAK1W,WAAW+T,EAAOqF,cAAgB,GAC1EC,EAAIrZ,WAAW+T,EAAO4C,YAAc,GAAK3W,WAAW+T,EAAOuF,aAAe,GAK9E,MAJa,CACX9E,MAAOpV,EAAQ4W,YAAcqD,EAC7B9E,OAAQnV,EAAQgB,aAAe+Y,GAYnC,SAASI,GAAqBtB,GAC5B,IAAIuB,EAAO,CAAE5F,KAAM,QAASC,MAAO,OAAQF,OAAQ,MAAOD,IAAK,UAC/D,OAAOuE,EAAUwB,QAAQ,0BAA0B,SAAUC,GAC3D,OAAOF,EAAKE,MAchB,SAASC,GAAiBpC,EAAQqC,EAAkB3B,GAClDA,EAAYA,EAAU/X,MAAM,KAAK,GAGjC,IAAI2Z,EAAaX,GAAc3B,GAG3BuC,EAAgB,CAClBtF,MAAOqF,EAAWrF,MAClBD,OAAQsF,EAAWtF,QAIjBwF,GAAoD,IAA1C,CAAC,QAAS,QAAQ/O,QAAQiN,GACpC+B,EAAWD,EAAU,MAAQ,OAC7BE,EAAgBF,EAAU,OAAS,MACnCG,EAAcH,EAAU,SAAW,QACnCI,EAAwBJ,EAAqB,QAAX,SAStC,OAPAD,EAAcE,GAAYJ,EAAiBI,GAAYJ,EAAiBM,GAAe,EAAIL,EAAWK,GAAe,EAEnHJ,EAAcG,GADZhC,IAAcgC,EACeL,EAAiBK,GAAiBJ,EAAWM,GAE7CP,EAAiBL,GAAqBU,IAGhEH,EAYT,SAASM,GAAKC,EAAKC,GAEjB,OAAIC,MAAMtZ,UAAUmZ,KACXC,EAAID,KAAKE,GAIXD,EAAI1M,OAAO2M,GAAO,GAqC3B,SAASE,GAAaC,EAAW3V,EAAM4V,GAoBrC,YAnB8B1H,IAAT0H,EAAqBD,EAAYA,EAAUhU,MAAM,EA1BxE,SAAmB4T,EAAKM,EAAMtZ,GAE5B,GAAIkZ,MAAMtZ,UAAU2Z,UAClB,OAAOP,EAAIO,WAAU,SAAUC,GAC7B,OAAOA,EAAIF,KAAUtZ,KAKzB,IAAIG,EAAQ4Y,GAAKC,GAAK,SAAU5Z,GAC9B,OAAOA,EAAIka,KAAUtZ,KAEvB,OAAOgZ,EAAIrP,QAAQxJ,GAcsDoZ,CAAUH,EAAW,OAAQC,KAEvFI,SAAQ,SAAUrH,GAC3BA,EAAmB,UAErBsH,QAAQC,KAAK,yDAEf,IAAIxY,EAAKiR,EAAmB,UAAKA,EAASjR,GACtCiR,EAASwH,SAAW9K,EAAW3N,KAIjCsC,EAAK4Q,QAAQ6B,OAAS9B,EAAc3Q,EAAK4Q,QAAQ6B,QACjDzS,EAAK4Q,QAAQvE,UAAYsE,EAAc3Q,EAAK4Q,QAAQvE,WAEpDrM,EAAOtC,EAAGsC,EAAM2O,OAIb3O,EAUT,SAASoW,KAEP,IAAI7c,KAAK2a,MAAMmC,YAAf,CAIA,IAAIrW,EAAO,CACT4P,SAAUrW,KACV0V,OAAQ,GACRqH,YAAa,GACbC,WAAY,GACZC,SAAS,EACT5F,QAAS,IAIX5Q,EAAK4Q,QAAQvE,UAAY4H,GAAoB1a,KAAK2a,MAAO3a,KAAKkZ,OAAQlZ,KAAK8S,UAAW9S,KAAKkd,QAAQC,eAKnG1W,EAAKmT,UAAYD,GAAqB3Z,KAAKkd,QAAQtD,UAAWnT,EAAK4Q,QAAQvE,UAAW9S,KAAKkZ,OAAQlZ,KAAK8S,UAAW9S,KAAKkd,QAAQd,UAAUgB,KAAKhE,kBAAmBpZ,KAAKkd,QAAQd,UAAUgB,KAAKjE,SAG9L1S,EAAK4W,kBAAoB5W,EAAKmT,UAE9BnT,EAAK0W,cAAgBnd,KAAKkd,QAAQC,cAGlC1W,EAAK4Q,QAAQ6B,OAASoC,GAAiBtb,KAAKkZ,OAAQzS,EAAK4Q,QAAQvE,UAAWrM,EAAKmT,WAEjFnT,EAAK4Q,QAAQ6B,OAAOoE,SAAWtd,KAAKkd,QAAQC,cAAgB,QAAU,WAGtE1W,EAAO0V,GAAanc,KAAKoc,UAAW3V,GAI/BzG,KAAK2a,MAAM4C,UAIdvd,KAAKkd,QAAQM,SAAS/W,IAHtBzG,KAAK2a,MAAM4C,WAAY,EACvBvd,KAAKkd,QAAQO,SAAShX,KAY1B,SAASiX,GAAkBtB,EAAWuB,GACpC,OAAOvB,EAAUwB,MAAK,SAAUlE,GAC9B,IAAImE,EAAOnE,EAAKmE,KAEhB,OADcnE,EAAKkD,SACDiB,IAASF,KAW/B,SAASG,GAAyBpb,GAIhC,IAHA,IAAIqb,EAAW,EAAC,EAAO,KAAM,SAAU,MAAO,KAC1CC,EAAYtb,EAASub,OAAO,GAAGza,cAAgBd,EAAS0F,MAAM,GAEzDE,EAAI,EAAGA,EAAIyV,EAASvV,OAAQF,IAAK,CACxC,IAAI7H,EAASsd,EAASzV,GAClB4V,EAAUzd,EAAS,GAAKA,EAASud,EAAYtb,EACjD,GAA4C,oBAAjC9B,SAAS4R,KAAKnC,MAAM6N,GAC7B,OAAOA,EAGX,OAAO,KAQT,SAASC,KAsBP,OArBAne,KAAK2a,MAAMmC,aAAc,EAGrBY,GAAkB1d,KAAKoc,UAAW,gBACpCpc,KAAKkZ,OAAOkF,gBAAgB,eAC5Bpe,KAAKkZ,OAAO7I,MAAMiN,SAAW,GAC7Btd,KAAKkZ,OAAO7I,MAAMgF,IAAM,GACxBrV,KAAKkZ,OAAO7I,MAAMkF,KAAO,GACzBvV,KAAKkZ,OAAO7I,MAAMmF,MAAQ,GAC1BxV,KAAKkZ,OAAO7I,MAAMiF,OAAS,GAC3BtV,KAAKkZ,OAAO7I,MAAMgO,WAAa,GAC/Bre,KAAKkZ,OAAO7I,MAAMyN,GAAyB,cAAgB,IAG7D9d,KAAKse,wBAIDte,KAAKkd,QAAQqB,iBACfve,KAAKkZ,OAAOnV,WAAWya,YAAYxe,KAAKkZ,QAEnClZ,KAQT,SAASye,GAAU1d,GACjB,IAAIkR,EAAgBlR,EAAQkR,cAC5B,OAAOA,EAAgBA,EAAcC,YAAchK,OAoBrD,SAASwW,GAAoB5L,EAAWoK,EAASvC,EAAOgE,GAEtDhE,EAAMgE,YAAcA,EACpBF,GAAU3L,GAAW8L,iBAAiB,SAAUjE,EAAMgE,YAAa,CAAEE,SAAS,IAG9E,IAAIC,EAAgBvM,EAAgBO,GAKpC,OA5BF,SAASiM,EAAsB7G,EAAc5T,EAAO0a,EAAUC,GAC5D,IAAIC,EAAmC,SAA1BhH,EAAa7F,SACtB1N,EAASua,EAAShH,EAAajG,cAAcC,YAAcgG,EAC/DvT,EAAOia,iBAAiBta,EAAO0a,EAAU,CAAEH,SAAS,IAE/CK,GACHH,EAAsBxM,EAAgB5N,EAAOZ,YAAaO,EAAO0a,EAAUC,GAE7EA,EAAcxP,KAAK9K,GAgBnBoa,CAAsBD,EAAe,SAAUnE,EAAMgE,YAAahE,EAAMsE,eACxEtE,EAAMmE,cAAgBA,EACtBnE,EAAMwE,eAAgB,EAEfxE,EAST,SAASyE,KACFpf,KAAK2a,MAAMwE,gBACdnf,KAAK2a,MAAQ+D,GAAoB1e,KAAK8S,UAAW9S,KAAKkd,QAASld,KAAK2a,MAAO3a,KAAKqf,iBAkCpF,SAASf,KAxBT,IAA8BxL,EAAW6H,EAyBnC3a,KAAK2a,MAAMwE,gBACbG,qBAAqBtf,KAAKqf,gBAC1Brf,KAAK2a,OA3BqB7H,EA2BQ9S,KAAK8S,UA3BF6H,EA2Ba3a,KAAK2a,MAzBzD8D,GAAU3L,GAAWyM,oBAAoB,SAAU5E,EAAMgE,aAGzDhE,EAAMsE,cAAcxC,SAAQ,SAAU9X,GACpCA,EAAO4a,oBAAoB,SAAU5E,EAAMgE,gBAI7ChE,EAAMgE,YAAc,KACpBhE,EAAMsE,cAAgB,GACtBtE,EAAMmE,cAAgB,KACtBnE,EAAMwE,eAAgB,EACfxE,IAwBT,SAAS6E,GAAUC,GACjB,MAAa,KAANA,IAAaC,MAAM/d,WAAW8d,KAAOE,SAASF,GAWvD,SAASG,GAAU7e,EAAS2U,GAC1B/S,OAAOqX,KAAKtE,GAAQ+G,SAAQ,SAAUH,GACpC,IAAIuD,EAAO,IAEkE,IAAzE,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,QAAQlT,QAAQ2P,IAAgBkD,GAAU9J,EAAO4G,MACjGuD,EAAO,MAET9e,EAAQsP,MAAMiM,GAAQ5G,EAAO4G,GAAQuD,KAgIzC,IAAIC,GAAYzO,GAAa,WAAW/N,KAAK6G,UAAUqH,WA8GvD,SAASuO,GAAmB3D,EAAW4D,EAAgBC,GACrD,IAAIC,EAAanE,GAAKK,GAAW,SAAU1C,GAEzC,OADWA,EAAKmE,OACAmC,KAGdG,IAAeD,GAAc9D,EAAUwB,MAAK,SAAUxI,GACxD,OAAOA,EAASyI,OAASoC,GAAiB7K,EAASwH,SAAWxH,EAAStB,MAAQoM,EAAWpM,SAG5F,IAAKqM,EAAY,CACf,IAAIC,EAAc,IAAMJ,EAAiB,IACrCK,EAAY,IAAMJ,EAAgB,IACtCvD,QAAQC,KAAK0D,EAAY,4BAA8BD,EAAc,4DAA8DA,EAAc,KAEnJ,OAAOD,EAoIT,IAAIG,GAAa,CAAC,aAAc,OAAQ,WAAY,YAAa,MAAO,UAAW,cAAe,QAAS,YAAa,aAAc,SAAU,eAAgB,WAAY,OAAQ,cAGhLC,GAAkBD,GAAWlY,MAAM,GAYvC,SAASoY,GAAU5G,GACjB,IAAI6G,EAAUzb,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,IAAmBA,UAAU,GAEzEoG,EAAQmV,GAAgB5T,QAAQiN,GAChCoC,EAAMuE,GAAgBnY,MAAMgD,EAAQ,GAAGsV,OAAOH,GAAgBnY,MAAM,EAAGgD,IAC3E,OAAOqV,EAAUzE,EAAI2E,UAAY3E,EAGnC,IAAI4E,GACI,OADJA,GAES,YAFTA,GAGgB,mBAiMpB,SAASC,GAAYjI,EAAQ6C,EAAeF,EAAkBuF,GAC5D,IAAIzJ,EAAU,CAAC,EAAG,GAKd0J,GAA0D,IAA9C,CAAC,QAAS,QAAQpU,QAAQmU,GAItCE,EAAYpI,EAAO/W,MAAM,WAAWoY,KAAI,SAAUgH,GACpD,OAAOA,EAAK9f,UAKV+f,EAAUF,EAAUrU,QAAQoP,GAAKiF,GAAW,SAAUC,GACxD,OAAgC,IAAzBA,EAAKE,OAAO,YAGjBH,EAAUE,KAAiD,IAArCF,EAAUE,GAASvU,QAAQ,MACnD+P,QAAQC,KAAK,gFAKf,IAAIyE,EAAa,cACbC,GAAmB,IAAbH,EAAiB,CAACF,EAAU5Y,MAAM,EAAG8Y,GAASR,OAAO,CAACM,EAAUE,GAASrf,MAAMuf,GAAY,KAAM,CAACJ,EAAUE,GAASrf,MAAMuf,GAAY,IAAIV,OAAOM,EAAU5Y,MAAM8Y,EAAU,KAAO,CAACF,GAqC9L,OAlCAK,EAAMA,EAAIpH,KAAI,SAAUqH,EAAIlW,GAE1B,IAAIyQ,GAAyB,IAAVzQ,GAAe2V,EAAYA,GAAa,SAAW,QAClEQ,GAAoB,EACxB,OAAOD,EAGNE,QAAO,SAAUpH,EAAGC,GACnB,MAAwB,KAApBD,EAAEA,EAAE5R,OAAS,KAAwC,IAA3B,CAAC,IAAK,KAAKmE,QAAQ0N,IAC/CD,EAAEA,EAAE5R,OAAS,GAAK6R,EAClBkH,GAAoB,EACbnH,GACEmH,GACTnH,EAAEA,EAAE5R,OAAS,IAAM6R,EACnBkH,GAAoB,EACbnH,GAEAA,EAAEsG,OAAOrG,KAEjB,IAEFJ,KAAI,SAAUwH,GACb,OAxGN,SAAiBA,EAAK5F,EAAaJ,EAAeF,GAEhD,IAAI1Z,EAAQ4f,EAAIte,MAAM,6BAClBH,GAASnB,EAAM,GACfge,EAAOhe,EAAM,GAGjB,IAAKmB,EACH,OAAOye,EAGT,GAA0B,IAAtB5B,EAAKlT,QAAQ,KAAY,CAC3B,IAAI5L,OAAU,EACd,OAAQ8e,GACN,IAAK,KACH9e,EAAU0a,EACV,MACF,IAAK,IACL,IAAK,KACL,QACE1a,EAAUwa,EAId,OADWnE,EAAcrW,GACb8a,GAAe,IAAM7Y,EAC5B,GAAa,OAAT6c,GAA0B,OAATA,EAAe,CAQzC,OALa,OAATA,EACKnf,KAAKsV,IAAIpV,SAAS8C,gBAAgB+T,aAAcvP,OAAOyQ,aAAe,GAEtEjY,KAAKsV,IAAIpV,SAAS8C,gBAAgB8T,YAAatP,OAAOwQ,YAAc,IAE/D,IAAM1V,EAIpB,OAAOA,EAmEE0e,CAAQD,EAAK5F,EAAaJ,EAAeF,UAKhDkB,SAAQ,SAAU6E,EAAIlW,GACxBkW,EAAG7E,SAAQ,SAAUwE,EAAMU,GACrBnC,GAAUyB,KACZ5J,EAAQjM,IAAU6V,GAA2B,MAAnBK,EAAGK,EAAS,IAAc,EAAI,UAIvDtK,EA2OT,IAkWIuK,GAAW,CAKbhI,UAAW,SAMXuD,eAAe,EAMfgC,eAAe,EAOfZ,iBAAiB,EAQjBd,SAAU,aAUVD,SAAU,aAOVpB,UAnZc,CASdyF,MAAO,CAEL/N,MAAO,IAEP8I,SAAS,EAETzY,GA9HJ,SAAesC,GACb,IAAImT,EAAYnT,EAAKmT,UACjBkH,EAAgBlH,EAAU/X,MAAM,KAAK,GACrCigB,EAAiBlI,EAAU/X,MAAM,KAAK,GAG1C,GAAIigB,EAAgB,CAClB,IAAIC,EAAgBtb,EAAK4Q,QACrBvE,EAAYiP,EAAcjP,UAC1BoG,EAAS6I,EAAc7I,OAEvB8I,GAA2D,IAA9C,CAAC,SAAU,OAAOrV,QAAQmU,GACvCpM,EAAOsN,EAAa,OAAS,MAC7BnG,EAAcmG,EAAa,QAAU,SAErCC,EAAe,CACjBhW,MAAO4K,EAAe,GAAInC,EAAM5B,EAAU4B,IAC1CpI,IAAKuK,EAAe,GAAInC,EAAM5B,EAAU4B,GAAQ5B,EAAU+I,GAAe3C,EAAO2C,KAGlFpV,EAAK4Q,QAAQ6B,OAASjC,EAAS,GAAIiC,EAAQ+I,EAAaH,IAG1D,OAAOrb,IAgJPmS,OAAQ,CAEN9E,MAAO,IAEP8I,SAAS,EAETzY,GA7RJ,SAAgBsC,EAAMiT,GACpB,IAAId,EAASc,EAAKd,OACdgB,EAAYnT,EAAKmT,UACjBmI,EAAgBtb,EAAK4Q,QACrB6B,EAAS6I,EAAc7I,OACvBpG,EAAYiP,EAAcjP,UAE1BgO,EAAgBlH,EAAU/X,MAAM,KAAK,GAErCwV,OAAU,EAsBd,OApBEA,EADEmI,IAAW5G,GACH,EAAEA,EAAQ,GAEViI,GAAYjI,EAAQM,EAAQpG,EAAWgO,GAG7B,SAAlBA,GACF5H,EAAO7D,KAAOgC,EAAQ,GACtB6B,EAAO3D,MAAQ8B,EAAQ,IACI,UAAlByJ,GACT5H,EAAO7D,KAAOgC,EAAQ,GACtB6B,EAAO3D,MAAQ8B,EAAQ,IACI,QAAlByJ,GACT5H,EAAO3D,MAAQ8B,EAAQ,GACvB6B,EAAO7D,KAAOgC,EAAQ,IACK,WAAlByJ,IACT5H,EAAO3D,MAAQ8B,EAAQ,GACvB6B,EAAO7D,KAAOgC,EAAQ,IAGxB5Q,EAAKyS,OAASA,EACPzS,GAkQLmS,OAAQ,GAoBVsJ,gBAAiB,CAEfpO,MAAO,IAEP8I,SAAS,EAETzY,GAlRJ,SAAyBsC,EAAMyW,GAC7B,IAAI9D,EAAoB8D,EAAQ9D,mBAAqB/F,EAAgB5M,EAAK4P,SAAS6C,QAK/EzS,EAAK4P,SAASvD,YAAcsG,IAC9BA,EAAoB/F,EAAgB+F,IAMtC,IAAI+I,EAAgBrE,GAAyB,aACzCsE,EAAe3b,EAAK4P,SAAS6C,OAAO7I,MACpCgF,EAAM+M,EAAa/M,IACnBE,EAAO6M,EAAa7M,KACpB8M,EAAYD,EAAaD,GAE7BC,EAAa/M,IAAM,GACnB+M,EAAa7M,KAAO,GACpB6M,EAAaD,GAAiB,GAE9B,IAAI9I,EAAaJ,GAAcxS,EAAK4P,SAAS6C,OAAQzS,EAAK4P,SAASvD,UAAWoK,EAAQ/D,QAASC,EAAmB3S,EAAK0W,eAIvHiF,EAAa/M,IAAMA,EACnB+M,EAAa7M,KAAOA,EACpB6M,EAAaD,GAAiBE,EAE9BnF,EAAQ7D,WAAaA,EAErB,IAAIvF,EAAQoJ,EAAQoF,SAChBpJ,EAASzS,EAAK4Q,QAAQ6B,OAEtB+C,EAAQ,CACVsG,QAAS,SAAiB3I,GACxB,IAAI5W,EAAQkW,EAAOU,GAInB,OAHIV,EAAOU,GAAaP,EAAWO,KAAesD,EAAQsF,sBACxDxf,EAAQtC,KAAKsV,IAAIkD,EAAOU,GAAYP,EAAWO,KAE1C/C,EAAe,GAAI+C,EAAW5W,IAEvCyf,UAAW,SAAmB7I,GAC5B,IAAI+B,EAAyB,UAAd/B,EAAwB,OAAS,MAC5C5W,EAAQkW,EAAOyC,GAInB,OAHIzC,EAAOU,GAAaP,EAAWO,KAAesD,EAAQsF,sBACxDxf,EAAQtC,KAAKgiB,IAAIxJ,EAAOyC,GAAWtC,EAAWO,IAA4B,UAAdA,EAAwBV,EAAO/C,MAAQ+C,EAAOhD,UAErGW,EAAe,GAAI8E,EAAU3Y,KAWxC,OAPA8Q,EAAM2I,SAAQ,SAAU7C,GACtB,IAAIlF,GAA+C,IAAxC,CAAC,OAAQ,OAAO/H,QAAQiN,GAAoB,UAAY,YACnEV,EAASjC,EAAS,GAAIiC,EAAQ+C,EAAMvH,GAAMkF,OAG5CnT,EAAK4Q,QAAQ6B,OAASA,EAEfzS,GA2NL6b,SAAU,CAAC,OAAQ,QAAS,MAAO,UAOnCnJ,QAAS,EAMTC,kBAAmB,gBAYrBuJ,aAAc,CAEZ7O,MAAO,IAEP8I,SAAS,EAETzY,GAlgBJ,SAAsBsC,GACpB,IAAIsb,EAAgBtb,EAAK4Q,QACrB6B,EAAS6I,EAAc7I,OACvBpG,EAAYiP,EAAcjP,UAE1B8G,EAAYnT,EAAKmT,UAAU/X,MAAM,KAAK,GACtC+gB,EAAQliB,KAAKkiB,MACbZ,GAAuD,IAA1C,CAAC,MAAO,UAAUrV,QAAQiN,GACvClF,EAAOsN,EAAa,QAAU,SAC9Ba,EAASb,EAAa,OAAS,MAC/BnG,EAAcmG,EAAa,QAAU,SASzC,OAPI9I,EAAOxE,GAAQkO,EAAM9P,EAAU+P,MACjCpc,EAAK4Q,QAAQ6B,OAAO2J,GAAUD,EAAM9P,EAAU+P,IAAW3J,EAAO2C,IAE9D3C,EAAO2J,GAAUD,EAAM9P,EAAU4B,MACnCjO,EAAK4Q,QAAQ6B,OAAO2J,GAAUD,EAAM9P,EAAU4B,KAGzCjO,IA4fPqc,MAAO,CAELhP,MAAO,IAEP8I,SAAS,EAETzY,GApxBJ,SAAesC,EAAMyW,GACnB,IAAI6F,EAGJ,IAAKhD,GAAmBtZ,EAAK4P,SAAS+F,UAAW,QAAS,gBACxD,OAAO3V,EAGT,IAAIuc,EAAe9F,EAAQnc,QAG3B,GAA4B,iBAAjBiiB,GAIT,KAHAA,EAAevc,EAAK4P,SAAS6C,OAAO9X,cAAc4hB,IAIhD,OAAOvc,OAKT,IAAKA,EAAK4P,SAAS6C,OAAO1R,SAASwb,GAEjC,OADAtG,QAAQC,KAAK,iEACNlW,EAIX,IAAImT,EAAYnT,EAAKmT,UAAU/X,MAAM,KAAK,GACtCkgB,EAAgBtb,EAAK4Q,QACrB6B,EAAS6I,EAAc7I,OACvBpG,EAAYiP,EAAcjP,UAE1BkP,GAAuD,IAA1C,CAAC,OAAQ,SAASrV,QAAQiN,GAEvCrR,EAAMyZ,EAAa,SAAW,QAC9BiB,EAAkBjB,EAAa,MAAQ,OACvCtN,EAAOuO,EAAgB7f,cACvB8f,EAAUlB,EAAa,OAAS,MAChCa,EAASb,EAAa,SAAW,QACjCmB,EAAmBtI,GAAcmI,GAAcza,GAQ/CuK,EAAU+P,GAAUM,EAAmBjK,EAAOxE,KAChDjO,EAAK4Q,QAAQ6B,OAAOxE,IAASwE,EAAOxE,IAAS5B,EAAU+P,GAAUM,IAG/DrQ,EAAU4B,GAAQyO,EAAmBjK,EAAO2J,KAC9Cpc,EAAK4Q,QAAQ6B,OAAOxE,IAAS5B,EAAU4B,GAAQyO,EAAmBjK,EAAO2J,IAE3Epc,EAAK4Q,QAAQ6B,OAAS9B,EAAc3Q,EAAK4Q,QAAQ6B,QAGjD,IAAIkK,EAAStQ,EAAU4B,GAAQ5B,EAAUvK,GAAO,EAAI4a,EAAmB,EAInE3hB,EAAMwQ,EAAyBvL,EAAK4P,SAAS6C,QAC7CmK,EAAmB1hB,WAAWH,EAAI,SAAWyhB,GAAkB,IAC/DK,EAAmB3hB,WAAWH,EAAI,SAAWyhB,EAAkB,SAAU,IACzEM,EAAYH,EAAS3c,EAAK4Q,QAAQ6B,OAAOxE,GAAQ2O,EAAmBC,EAQxE,OALAC,EAAY7iB,KAAKsV,IAAItV,KAAKgiB,IAAIxJ,EAAO3Q,GAAO4a,EAAkBI,GAAY,GAE1E9c,EAAKuc,aAAeA,EACpBvc,EAAK4Q,QAAQyL,OAAmCjM,EAA1BkM,EAAsB,GAAwCrO,EAAMhU,KAAK8iB,MAAMD,IAAa1M,EAAekM,EAAqBG,EAAS,IAAKH,GAE7Jtc,GA8sBL1F,QAAS,aAcXqc,KAAM,CAEJtJ,MAAO,IAEP8I,SAAS,EAETzY,GA5oBJ,SAAcsC,EAAMyW,GAElB,GAAIQ,GAAkBjX,EAAK4P,SAAS+F,UAAW,SAC7C,OAAO3V,EAGT,GAAIA,EAAKwW,SAAWxW,EAAKmT,YAAcnT,EAAK4W,kBAE1C,OAAO5W,EAGT,IAAI4S,EAAaJ,GAAcxS,EAAK4P,SAAS6C,OAAQzS,EAAK4P,SAASvD,UAAWoK,EAAQ/D,QAAS+D,EAAQ9D,kBAAmB3S,EAAK0W,eAE3HvD,EAAYnT,EAAKmT,UAAU/X,MAAM,KAAK,GACtC4hB,EAAoBvI,GAAqBtB,GACzCa,EAAYhU,EAAKmT,UAAU/X,MAAM,KAAK,IAAM,GAE5C6hB,EAAY,GAEhB,OAAQxG,EAAQyG,UACd,KAAK/C,GACH8C,EAAY,CAAC9J,EAAW6J,GACxB,MACF,KAAK7C,GACH8C,EAAYlD,GAAU5G,GACtB,MACF,KAAKgH,GACH8C,EAAYlD,GAAU5G,GAAW,GACjC,MACF,QACE8J,EAAYxG,EAAQyG,SAyDxB,OAtDAD,EAAUjH,SAAQ,SAAUmH,EAAMxY,GAChC,GAAIwO,IAAcgK,GAAQF,EAAUlb,SAAW4C,EAAQ,EACrD,OAAO3E,EAGTmT,EAAYnT,EAAKmT,UAAU/X,MAAM,KAAK,GACtC4hB,EAAoBvI,GAAqBtB,GAEzC,IAAI6B,EAAgBhV,EAAK4Q,QAAQ6B,OAC7B2K,EAAapd,EAAK4Q,QAAQvE,UAG1B8P,EAAQliB,KAAKkiB,MACbkB,EAA4B,SAAdlK,GAAwBgJ,EAAMnH,EAAcjG,OAASoN,EAAMiB,EAAWtO,OAAuB,UAAdqE,GAAyBgJ,EAAMnH,EAAclG,MAAQqN,EAAMiB,EAAWrO,QAAwB,QAAdoE,GAAuBgJ,EAAMnH,EAAcnG,QAAUsN,EAAMiB,EAAWxO,MAAsB,WAAduE,GAA0BgJ,EAAMnH,EAAcpG,KAAOuN,EAAMiB,EAAWvO,QAEjUyO,EAAgBnB,EAAMnH,EAAclG,MAAQqN,EAAMvJ,EAAW9D,MAC7DyO,EAAiBpB,EAAMnH,EAAcjG,OAASoN,EAAMvJ,EAAW7D,OAC/DyO,EAAerB,EAAMnH,EAAcpG,KAAOuN,EAAMvJ,EAAWhE,KAC3D6O,EAAkBtB,EAAMnH,EAAcnG,QAAUsN,EAAMvJ,EAAW/D,QAEjE6O,EAAoC,SAAdvK,GAAwBmK,GAA+B,UAAdnK,GAAyBoK,GAAgC,QAAdpK,GAAuBqK,GAA8B,WAAdrK,GAA0BsK,EAG3KlC,GAAuD,IAA1C,CAAC,MAAO,UAAUrV,QAAQiN,GAGvCwK,IAA0BlH,EAAQmH,iBAAmBrC,GAA4B,UAAdvH,GAAyBsJ,GAAiB/B,GAA4B,QAAdvH,GAAuBuJ,IAAmBhC,GAA4B,UAAdvH,GAAyBwJ,IAAiBjC,GAA4B,QAAdvH,GAAuByJ,GAGlQI,IAA8BpH,EAAQqH,0BAA4BvC,GAA4B,UAAdvH,GAAyBuJ,GAAkBhC,GAA4B,QAAdvH,GAAuBsJ,IAAkB/B,GAA4B,UAAdvH,GAAyByJ,IAAoBlC,GAA4B,QAAdvH,GAAuBwJ,GAElRO,EAAmBJ,GAAyBE,GAE5CR,GAAeK,GAAuBK,KAExC/d,EAAKwW,SAAU,GAEX6G,GAAeK,KACjBvK,EAAY8J,EAAUtY,EAAQ,IAG5BoZ,IACF/J,EAvJR,SAA8BA,GAC5B,MAAkB,QAAdA,EACK,QACgB,UAAdA,EACF,MAEFA,EAiJWgK,CAAqBhK,IAGnChU,EAAKmT,UAAYA,GAAaa,EAAY,IAAMA,EAAY,IAI5DhU,EAAK4Q,QAAQ6B,OAASjC,EAAS,GAAIxQ,EAAK4Q,QAAQ6B,OAAQoC,GAAiB7U,EAAK4P,SAAS6C,OAAQzS,EAAK4Q,QAAQvE,UAAWrM,EAAKmT,YAE5HnT,EAAO0V,GAAa1V,EAAK4P,SAAS+F,UAAW3V,EAAM,YAGhDA,GA4jBLkd,SAAU,OAKVxK,QAAS,EAOTC,kBAAmB,WAQnBiL,gBAAgB,EAQhBE,yBAAyB,GAU3BG,MAAO,CAEL5Q,MAAO,IAEP8I,SAAS,EAETzY,GArQJ,SAAesC,GACb,IAAImT,EAAYnT,EAAKmT,UACjBkH,EAAgBlH,EAAU/X,MAAM,KAAK,GACrCkgB,EAAgBtb,EAAK4Q,QACrB6B,EAAS6I,EAAc7I,OACvBpG,EAAYiP,EAAcjP,UAE1B4I,GAAwD,IAA9C,CAAC,OAAQ,SAAS/O,QAAQmU,GAEpC6D,GAA6D,IAA5C,CAAC,MAAO,QAAQhY,QAAQmU,GAO7C,OALA5H,EAAOwC,EAAU,OAAS,OAAS5I,EAAUgO,IAAkB6D,EAAiBzL,EAAOwC,EAAU,QAAU,UAAY,GAEvHjV,EAAKmT,UAAYsB,GAAqBtB,GACtCnT,EAAK4Q,QAAQ6B,OAAS9B,EAAc8B,GAE7BzS,IAkQPoJ,KAAM,CAEJiE,MAAO,IAEP8I,SAAS,EAETzY,GA9TJ,SAAcsC,GACZ,IAAKsZ,GAAmBtZ,EAAK4P,SAAS+F,UAAW,OAAQ,mBACvD,OAAO3V,EAGT,IAAIoT,EAAUpT,EAAK4Q,QAAQvE,UACvB8R,EAAQ7I,GAAKtV,EAAK4P,SAAS+F,WAAW,SAAUhH,GAClD,MAAyB,oBAAlBA,EAASyI,QACfxE,WAEH,GAAIQ,EAAQvE,OAASsP,EAAMvP,KAAOwE,EAAQtE,KAAOqP,EAAMpP,OAASqE,EAAQxE,IAAMuP,EAAMtP,QAAUuE,EAAQrE,MAAQoP,EAAMrP,KAAM,CAExH,IAAkB,IAAd9O,EAAKoJ,KACP,OAAOpJ,EAGTA,EAAKoJ,MAAO,EACZpJ,EAAKuW,WAAW,uBAAyB,OACpC,CAEL,IAAkB,IAAdvW,EAAKoJ,KACP,OAAOpJ,EAGTA,EAAKoJ,MAAO,EACZpJ,EAAKuW,WAAW,wBAAyB,EAG3C,OAAOvW,IAoTPoe,aAAc,CAEZ/Q,MAAO,IAEP8I,SAAS,EAETzY,GAtgCJ,SAAsBsC,EAAMyW,GAC1B,IAAIpC,EAAIoC,EAAQpC,EACZE,EAAIkC,EAAQlC,EACZ9B,EAASzS,EAAK4Q,QAAQ6B,OAItB4L,EAA8B/I,GAAKtV,EAAK4P,SAAS+F,WAAW,SAAUhH,GACxE,MAAyB,eAAlBA,EAASyI,QACfkH,qBACiCpQ,IAAhCmQ,GACFpI,QAAQC,KAAK,iIAEf,IAAIoI,OAAkDpQ,IAAhCmQ,EAA4CA,EAA8B5H,EAAQ6H,gBAEpGxR,EAAeF,EAAgB5M,EAAK4P,SAAS6C,QAC7C8L,EAAmBtU,EAAsB6C,GAGzCmC,EAAS,CACX4H,SAAUpE,EAAOoE,UAGfjG,EA9DN,SAA2B5Q,EAAMwe,GAC/B,IAAIlD,EAAgBtb,EAAK4Q,QACrB6B,EAAS6I,EAAc7I,OACvBpG,EAAYiP,EAAcjP,UAC1B0Q,EAAQ9iB,KAAK8iB,MACbZ,EAAQliB,KAAKkiB,MAEbsC,EAAU,SAAiBC,GAC7B,OAAOA,GAGLC,EAAiB5B,EAAM1Q,EAAUqD,OACjCkP,EAAc7B,EAAMtK,EAAO/C,OAE3B6L,GAA4D,IAA/C,CAAC,OAAQ,SAASrV,QAAQlG,EAAKmT,WAC5C0L,GAA+C,IAAjC7e,EAAKmT,UAAUjN,QAAQ,KAIrC4Y,EAAuBN,EAAwBjD,GAAcsD,GAH3CF,EAAiB,GAAMC,EAAc,EAGuC7B,EAAQZ,EAAjEsC,EACrCM,EAAqBP,EAAwBzB,EAAV0B,EAEvC,MAAO,CACL3P,KAAMgQ,EANWH,EAAiB,GAAM,GAAKC,EAAc,GAAM,IAMtBC,GAAeL,EAAc/L,EAAO3D,KAAO,EAAI2D,EAAO3D,MACjGF,IAAKmQ,EAAkBtM,EAAO7D,KAC9BC,OAAQkQ,EAAkBtM,EAAO5D,QACjCE,MAAO+P,EAAoBrM,EAAO1D,QAoCtBiQ,CAAkBhf,EAAMyB,OAAOwd,iBAAmB,IAAM5F,IAElElK,EAAc,WAANkF,EAAiB,MAAQ,SACjCjF,EAAc,UAANmF,EAAgB,OAAS,QAKjC2K,EAAmB7H,GAAyB,aAW5CvI,OAAO,EACPF,OAAM,EAqBV,GAhBIA,EAJU,WAAVO,EAG4B,SAA1BrC,EAAalB,UACRkB,EAAakE,aAAeJ,EAAQ/B,QAEpC0P,EAAiB9O,OAASmB,EAAQ/B,OAGrC+B,EAAQhC,IAIZE,EAFU,UAAVM,EAC4B,SAA1BtC,EAAalB,UACPkB,EAAaiE,YAAcH,EAAQ7B,OAEnCwP,EAAiB7O,MAAQkB,EAAQ7B,MAGpC6B,EAAQ9B,KAEbwP,GAAmBY,EACrBjQ,EAAOiQ,GAAoB,eAAiBpQ,EAAO,OAASF,EAAM,SAClEK,EAAOE,GAAS,EAChBF,EAAOG,GAAS,EAChBH,EAAO2I,WAAa,gBACf,CAEL,IAAIuH,EAAsB,WAAVhQ,GAAsB,EAAI,EACtCiQ,EAAuB,UAAVhQ,GAAqB,EAAI,EAC1CH,EAAOE,GAASP,EAAMuQ,EACtBlQ,EAAOG,GAASN,EAAOsQ,EACvBnQ,EAAO2I,WAAazI,EAAQ,KAAOC,EAIrC,IAAImH,EAAa,CACf8I,cAAerf,EAAKmT,WAQtB,OAJAnT,EAAKuW,WAAa/F,EAAS,GAAI+F,EAAYvW,EAAKuW,YAChDvW,EAAKiP,OAASuB,EAAS,GAAIvB,EAAQjP,EAAKiP,QACxCjP,EAAKsW,YAAc9F,EAAS,GAAIxQ,EAAK4Q,QAAQyL,MAAOrc,EAAKsW,aAElDtW,GAo7BLse,iBAAiB,EAMjBjK,EAAG,SAMHE,EAAG,SAkBL+K,WAAY,CAEVjS,MAAO,IAEP8I,SAAS,EAETzY,GAzpCJ,SAAoBsC,GApBpB,IAAuB1F,EAASic,EAoC9B,OAXA4C,GAAUnZ,EAAK4P,SAAS6C,OAAQzS,EAAKiP,QAzBhB3U,EA6BP0F,EAAK4P,SAAS6C,OA7BE8D,EA6BMvW,EAAKuW,WA5BzCra,OAAOqX,KAAKgD,GAAYP,SAAQ,SAAUH,IAE1B,IADFU,EAAWV,GAErBvb,EAAQ6G,aAAa0U,EAAMU,EAAWV,IAEtCvb,EAAQqd,gBAAgB9B,MA0BxB7V,EAAKuc,cAAgBrgB,OAAOqX,KAAKvT,EAAKsW,aAAavU,QACrDoX,GAAUnZ,EAAKuc,aAAcvc,EAAKsW,aAG7BtW,GA2oCLuf,OA9nCJ,SAA0BlT,EAAWoG,EAAQgE,EAAS+I,EAAiBtL,GAErE,IAAIY,EAAmBb,GAAoBC,EAAOzB,EAAQpG,EAAWoK,EAAQC,eAKzEvD,EAAYD,GAAqBuD,EAAQtD,UAAW2B,EAAkBrC,EAAQpG,EAAWoK,EAAQd,UAAUgB,KAAKhE,kBAAmB8D,EAAQd,UAAUgB,KAAKjE,SAQ9J,OANAD,EAAOtR,aAAa,cAAegS,GAInCgG,GAAU1G,EAAQ,CAAEoE,SAAUJ,EAAQC,cAAgB,QAAU,aAEzDD,GAsnCL6H,qBAAiBpQ,KAuGjBuR,GAAS,WASX,SAASA,EAAOpT,EAAWoG,GACzB,IAAInZ,EAAQC,KAERkd,EAAUlY,UAAUwD,OAAS,QAAsBmM,IAAjB3P,UAAU,GAAmBA,UAAU,GAAK,GAClFoR,EAAepW,KAAMkmB,GAErBlmB,KAAKqf,eAAiB,WACpB,OAAO8G,sBAAsBpmB,EAAM8c,SAIrC7c,KAAK6c,OAASpL,EAASzR,KAAK6c,OAAO3R,KAAKlL,OAGxCA,KAAKkd,QAAUjG,EAAS,GAAIiP,EAAOtE,SAAU1E,GAG7Cld,KAAK2a,MAAQ,CACXmC,aAAa,EACbS,WAAW,EACX0B,cAAe,IAIjBjf,KAAK8S,UAAYA,GAAaA,EAAU1O,OAAS0O,EAAU,GAAKA,EAChE9S,KAAKkZ,OAASA,GAAUA,EAAO9U,OAAS8U,EAAO,GAAKA,EAGpDlZ,KAAKkd,QAAQd,UAAY,GACzBzZ,OAAOqX,KAAK/C,EAAS,GAAIiP,EAAOtE,SAASxF,UAAWc,EAAQd,YAAYK,SAAQ,SAAUoB,GACxF9d,EAAMmd,QAAQd,UAAUyB,GAAQ5G,EAAS,GAAIiP,EAAOtE,SAASxF,UAAUyB,IAAS,GAAIX,EAAQd,UAAYc,EAAQd,UAAUyB,GAAQ,OAIpI7d,KAAKoc,UAAYzZ,OAAOqX,KAAKha,KAAKkd,QAAQd,WAAWnC,KAAI,SAAU4D,GACjE,OAAO5G,EAAS,CACd4G,KAAMA,GACL9d,EAAMmd,QAAQd,UAAUyB,OAG5B1D,MAAK,SAAUC,EAAGC,GACjB,OAAOD,EAAEtG,MAAQuG,EAAEvG,SAOrB9T,KAAKoc,UAAUK,SAAQ,SAAUwJ,GAC3BA,EAAgBrJ,SAAW9K,EAAWmU,EAAgBD,SACxDC,EAAgBD,OAAOjmB,EAAM+S,UAAW/S,EAAMmZ,OAAQnZ,EAAMmd,QAAS+I,EAAiBlmB,EAAM4a,UAKhG3a,KAAK6c,SAEL,IAAIsC,EAAgBnf,KAAKkd,QAAQiC,cAC7BA,GAEFnf,KAAKof,uBAGPpf,KAAK2a,MAAMwE,cAAgBA,EAqD7B,OA9CA7I,EAAY4P,EAAQ,CAAC,CACnBpP,IAAK,SACL9T,MAAO,WACL,OAAO6Z,GAAO/Z,KAAK9C,QAEpB,CACD8W,IAAK,UACL9T,MAAO,WACL,OAAOmb,GAAQrb,KAAK9C,QAErB,CACD8W,IAAK,uBACL9T,MAAO,WACL,OAAOoc,GAAqBtc,KAAK9C,QAElC,CACD8W,IAAK,wBACL9T,MAAO,WACL,OAAOsb,GAAsBxb,KAAK9C,UA4B/BkmB,EA7HI,GAqJbA,GAAOE,OAA2B,oBAAXle,OAAyBA,OAASme,QAAQC,YACjEJ,GAAO5F,WAAaA,GACpB4F,GAAOtE,SAAWA,GCniFlB,IAAM3c,GAA2B,WAK3BC,GAA2BhF,EAAEiE,GAAGc,IAOhCshB,GAA2B,IAAIljB,OAAUmjB,YAgCzC7d,GAAU,CACdiQ,OAAe,EACfwE,MAAe,EACfqJ,SAAe,eACf3T,UAAe,SACf4T,QAAe,UACfC,aAAe,MAGXzd,GAAc,CAClB0P,OAAe,2BACfwE,KAAe,UACfqJ,SAAe,mBACf3T,UAAe,mBACf4T,QAAe,SACfC,aAAe,iBASXC,GAAAA,WACJ,SAAAA,EAAY7lB,EAASyB,GACnBxC,KAAKoF,SAAYrE,EACjBf,KAAK6mB,QAAY,KACjB7mB,KAAK+J,QAAY/J,KAAKgK,WAAWxH,GACjCxC,KAAK8mB,MAAY9mB,KAAK+mB,kBACtB/mB,KAAKgnB,UAAYhnB,KAAKinB,gBAEtBjnB,KAAKwK,gDAmBPvD,OAAA,WACE,IAAIjH,KAAKoF,SAAS8hB,WAAYhnB,EAAEF,KAAKoF,UAAUc,SAzEhB,YAyE/B,CAIA,IAAMihB,EAAWjnB,EAAEF,KAAK8mB,OAAO5gB,SA5EA,QA8E/B0gB,EAASQ,cAELD,GAIJnnB,KAAK8P,MAAK,OAGZA,KAAA,SAAKuX,GACH,QADsB,IAAnBA,IAAAA,GAAY,KACXrnB,KAAKoF,SAAS8hB,UAAYhnB,EAAEF,KAAKoF,UAAUc,SAzFhB,aAyFiDhG,EAAEF,KAAK8mB,OAAO5gB,SAxF/D,SAwF/B,CAIA,IAAMgH,EAAgB,CACpBA,cAAelN,KAAKoF,UAEhBkiB,EAAYpnB,EAAE8F,MAvGR,mBAuG0BkH,GAChCrH,EAAS+gB,EAASW,sBAAsBvnB,KAAKoF,UAInD,GAFAlF,EAAE2F,GAAQ7D,QAAQslB,IAEdA,EAAU7hB,qBAAd,CAKA,IAAKzF,KAAKgnB,WAAaK,EAAW,CAKhC,GAAsB,oBAAXnB,GACT,MAAM,IAAIjiB,UAAU,oEAGtB,IAAIujB,EAAmBxnB,KAAKoF,SAEG,WAA3BpF,KAAK+J,QAAQ+I,UACf0U,EAAmB3hB,EACVzF,EAAK+B,UAAUnC,KAAK+J,QAAQ+I,aACrC0U,EAAmBxnB,KAAK+J,QAAQ+I,UAGa,oBAAlC9S,KAAK+J,QAAQ+I,UAAU1O,SAChCojB,EAAmBxnB,KAAK+J,QAAQ+I,UAAU,KAOhB,iBAA1B9S,KAAK+J,QAAQ0c,UACfvmB,EAAE2F,GAAQ+H,SA9HiB,mBAgI7B5N,KAAK6mB,QAAU,IAAIX,GAAOsB,EAAkBxnB,KAAK8mB,MAAO9mB,KAAKynB,oBAO3D,iBAAkB7mB,SAAS8C,iBACuB,IAAlDxD,EAAE2F,GAAQC,QAnIa,eAmIgB0C,QACzCtI,EAAEU,SAAS4R,MAAM7E,WAAW9G,GAAG,YAAa,KAAM3G,EAAEwnB,MAGtD1nB,KAAKoF,SAASsC,QACd1H,KAAKoF,SAASwC,aAAa,iBAAiB,GAE5C1H,EAAEF,KAAK8mB,OAAOjf,YApJiB,QAqJ/B3H,EAAE2F,GACCgC,YAtJ4B,QAuJ5B7F,QAAQ9B,EAAE8F,MA9JA,oBA8JmBkH,SAGlC2C,KAAA,WACE,IAAI7P,KAAKoF,SAAS8hB,WAAYhnB,EAAEF,KAAKoF,UAAUc,SA5JhB,aA4JkDhG,EAAEF,KAAK8mB,OAAO5gB,SA3JhE,QA2J/B,CAIA,IAAMgH,EAAgB,CACpBA,cAAelN,KAAKoF,UAEhBuiB,EAAYznB,EAAE8F,MA5KR,mBA4K0BkH,GAChCrH,EAAS+gB,EAASW,sBAAsBvnB,KAAKoF,UAEnDlF,EAAE2F,GAAQ7D,QAAQ2lB,GAEdA,EAAUliB,uBAIVzF,KAAK6mB,SACP7mB,KAAK6mB,QAAQ1I,UAGfje,EAAEF,KAAK8mB,OAAOjf,YA/KiB,QAgL/B3H,EAAE2F,GACCgC,YAjL4B,QAkL5B7F,QAAQ9B,EAAE8F,MA3LC,qBA2LmBkH,SAGnCvH,QAAA,WACEzF,EAAE0F,WAAW5F,KAAKoF,SA5MW,eA6M7BlF,EAAEF,KAAKoF,UAAUoG,IA5MN,gBA6MXxL,KAAKoF,SAAW,KAChBpF,KAAK8mB,MAAQ,KACQ,OAAjB9mB,KAAK6mB,UACP7mB,KAAK6mB,QAAQ1I,UACbne,KAAK6mB,QAAU,SAInBhK,OAAA,WACE7c,KAAKgnB,UAAYhnB,KAAKinB,gBACD,OAAjBjnB,KAAK6mB,SACP7mB,KAAK6mB,QAAQxH,oBAMjB7U,mBAAA,WAAqB,IAAAzK,EAAAC,KACnBE,EAAEF,KAAKoF,UAAUyB,GAhNJ,qBAgNoB,SAACvC,GAChCA,EAAMsC,iBACNtC,EAAMsjB,kBACN7nB,EAAKkH,eAIT+C,WAAA,SAAWxH,GAaT,OAZAA,EAAMiJ,EAAAA,EAAAA,EAAA,GACDzL,KAAK6nB,YAAYlf,SACjBzI,EAAEF,KAAKoF,UAAUqB,QACjBjE,GAGLpC,EAAKkC,gBACH2C,GACAzC,EACAxC,KAAK6nB,YAAY3e,aAGZ1G,KAGTukB,gBAAA,WACE,IAAK/mB,KAAK8mB,MAAO,CACf,IAAMjhB,EAAS+gB,EAASW,sBAAsBvnB,KAAKoF,UAE/CS,IACF7F,KAAK8mB,MAAQjhB,EAAOzE,cA7NG,mBAgO3B,OAAOpB,KAAK8mB,SAGdgB,cAAA,WACE,IAAMC,EAAkB7nB,EAAEF,KAAKoF,SAASrB,YACpC6V,EA/NoB,eA6OxB,OAXImO,EAAgB7hB,SAhPW,UAiP7B0T,EAAY1Z,EAAEF,KAAK8mB,OAAO5gB,SA9OG,uBAUP,UADA,YAwOb6hB,EAAgB7hB,SAnPI,aAoP7B0T,EArOsB,cAsObmO,EAAgB7hB,SApPI,YAqP7B0T,EAtOsB,aAuOb1Z,EAAEF,KAAK8mB,OAAO5gB,SArPM,yBAsP7B0T,EA1OsB,cA4OjBA,KAGTqN,cAAA,WACE,OAAO/mB,EAAEF,KAAKoF,UAAUU,QAAQ,WAAW0C,OAAS,KAGtDwf,WAAA,WAAa,IAAAnc,EAAA7L,KACL4Y,EAAS,GAef,MAbmC,mBAAxB5Y,KAAK+J,QAAQ6O,OACtBA,EAAOzU,GAAK,SAACsC,GAMX,OALAA,EAAK4Q,QAAL5L,EAAAA,EAAA,GACKhF,EAAK4Q,SACLxL,EAAK9B,QAAQ6O,OAAOnS,EAAK4Q,QAASxL,EAAKzG,WAAa,IAGlDqB,GAGTmS,EAAOA,OAAS5Y,KAAK+J,QAAQ6O,OAGxBA,KAGT6O,iBAAA,WACE,IAAMd,EAAe,CACnB/M,UAAW5Z,KAAK8nB,gBAChB1L,UAAW,CACTxD,OAAQ5Y,KAAKgoB,aACb5K,KAAM,CACJR,QAAS5c,KAAK+J,QAAQqT,MAExB8E,gBAAiB,CACf9I,kBAAmBpZ,KAAK+J,QAAQ0c,YAYtC,MAN6B,WAAzBzmB,KAAK+J,QAAQ2c,UACfC,EAAavK,UAAU2J,WAAa,CAClCnJ,SAAS,IAIbnR,EAAAA,EAAA,GACKkb,GACA3mB,KAAK+J,QAAQ4c,iBAMbrgB,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAIE,EAAOvG,EAAEF,MAAMyG,KA3UQ,eAmV3B,GALKA,IACHA,EAAO,IAAImgB,EAAS5mB,KAHY,iBAAXwC,EAAsBA,EAAS,MAIpDtC,EAAEF,MAAMyG,KAhViB,cAgVFA,IAGH,iBAAXjE,EAAqB,CAC9B,GAA4B,oBAAjBiE,EAAKjE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERiE,EAAKjE,YAKJ4kB,YAAP,SAAmB9iB,GACjB,IAAIA,GApVyB,IAoVfA,EAAMoI,QACH,UAAfpI,EAAM+C,MAxVqB,IAwVD/C,EAAMoI,OAMlC,IAFA,IAAMub,EAAU,GAAG7f,MAAMtF,KAAKlC,SAASyH,iBArUZ,6BAuUlBC,EAAI,EAAGC,EAAM0f,EAAQzf,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAMzC,EAAS+gB,EAASW,sBAAsBU,EAAQ3f,IAChD4f,EAAUhoB,EAAE+nB,EAAQ3f,IAAI7B,KAtWH,eAuWrByG,EAAgB,CACpBA,cAAe+a,EAAQ3f,IAOzB,GAJIhE,GAAwB,UAAfA,EAAM+C,OACjB6F,EAAcib,WAAa7jB,GAGxB4jB,EAAL,CAIA,IAAME,EAAeF,EAAQpB,MAC7B,GAAK5mB,EAAE2F,GAAQK,SA9Vc,WAkWzB5B,IAAyB,UAAfA,EAAM+C,MAChB,kBAAkB/D,KAAKgB,EAAMK,OAAOsD,UAA2B,UAAf3D,EAAM+C,MAnX/B,IAmXmD/C,EAAMoI,QAChFxM,EAAEsH,SAAS3B,EAAQvB,EAAMK,SAF7B,CAMA,IAAMgjB,EAAYznB,EAAE8F,MAlXV,mBAkX4BkH,GACtChN,EAAE2F,GAAQ7D,QAAQ2lB,GACdA,EAAUliB,uBAMV,iBAAkB7E,SAAS8C,iBAC7BxD,EAAEU,SAAS4R,MAAM7E,WAAWnC,IAAI,YAAa,KAAMtL,EAAEwnB,MAGvDO,EAAQ3f,GAAGV,aAAa,gBAAiB,SAErCsgB,EAAQrB,SACVqB,EAAQrB,QAAQ1I,UAGlBje,EAAEkoB,GAAcniB,YA1Xa,QA2X7B/F,EAAE2F,GACCI,YA5X0B,QA6X1BjE,QAAQ9B,EAAE8F,MAtYD,qBAsYqBkH,WAI9Bqa,sBAAP,SAA6BxmB,GAC3B,IAAI8E,EACE7E,EAAWZ,EAAKU,uBAAuBC,GAM7C,OAJIC,IACF6E,EAASjF,SAASQ,cAAcJ,IAG3B6E,GAAU9E,EAAQgD,cAIpBskB,uBAAP,SAA8B/jB,GAQ5B,KAAI,kBAAkBhB,KAAKgB,EAAMK,OAAOsD,SAtaX,KAuazB3D,EAAMoI,OAxamB,KAwaQpI,EAAMoI,QApad,KAqa1BpI,EAAMoI,OAtaoB,KAsaYpI,EAAMoI,OAC3CxM,EAAEoE,EAAMK,QAAQmB,QA/YO,kBA+YgB0C,SAAW+d,GAAejjB,KAAKgB,EAAMoI,UAI5E1M,KAAKknB,WAAYhnB,EAAEF,MAAMkG,SA7ZE,YA6Z/B,CAIA,IAAML,EAAW+gB,EAASW,sBAAsBvnB,MAC1CmnB,EAAWjnB,EAAE2F,GAAQK,SAjaI,QAma/B,GAAKihB,GArbwB,KAqbZ7iB,EAAMoI,MAAvB,CAOA,GAHApI,EAAMsC,iBACNtC,EAAMsjB,mBAEDT,GAAYA,IA5bY,KA4bC7iB,EAAMoI,OA3bP,KA2bmCpI,EAAMoI,OAMpE,OAlc2B,KA6bvBpI,EAAMoI,OACRxM,EAAE2F,EAAOzE,cArac,6BAqauBY,QAAQ,cAGxD9B,EAAEF,MAAMgC,QAAQ,SAIlB,IAAMsmB,EAAQ,GAAGlgB,MAAMtF,KAAK+C,EAAOwC,iBAxaR,gEAyaxBiH,QAAO,SAACiZ,GAAD,OAAUroB,EAAEqoB,GAAM3jB,GAAG,eAE/B,GAAqB,IAAjB0jB,EAAM9f,OAAV,CAIA,IAAI4C,EAAQkd,EAAM3b,QAAQrI,EAAMK,QAzcH,KA2czBL,EAAMoI,OAA8BtB,EAAQ,GAC9CA,IA3c2B,KA8czB9G,EAAMoI,OAAgCtB,EAAQkd,EAAM9f,OAAS,GAC/D4C,IAGEA,EAAQ,IACVA,EAAQ,GAGVkd,EAAMld,GAAO1D,oDA9Yb,MAjF6B,wCAqF7B,OAAOiB,uCAIP,OAAOO,SAtBL0d,GAsaN1mB,EAAEU,UACCiG,GAvdyB,+BAWG,2BA4cqB+f,GAASyB,wBAC1DxhB,GAxdyB,+BAaG,iBA2cc+f,GAASyB,wBACnDxhB,GAAM2hB,wDAAgD5B,GAASQ,aAC/DvgB,GA3duB,6BAYK,4BA+cmB,SAAUvC,GACxDA,EAAMsC,iBACNtC,EAAMsjB,kBACNhB,GAAStgB,iBAAiBxD,KAAK5C,EAAEF,MAAO,aAEzC6G,GAheuB,6BAaK,kBAmdkB,SAAC2F,GAC9CA,EAAEob,qBASN1nB,EAAEiE,GAAGc,IAAQ2hB,GAAStgB,iBACtBpG,EAAEiE,GAAGc,IAAM6B,YAAc8f,GACzB1mB,EAAEiE,GAAGc,IAAM8B,WAAa,WAEtB,OADA7G,EAAEiE,GAAGc,IAAQC,GACN0hB,GAAStgB,kBClgBlB,IAKMpB,GAAqBhF,EAAEiE,GAAF,MAGrBwE,GAAU,CACd8f,UAAW,EACX5f,UAAW,EACXnB,OAAW,EACXoI,MAAW,GAGP5G,GAAc,CAClBuf,SAAW,mBACX5f,SAAW,UACXnB,MAAW,UACXoI,KAAW,WAqCP4Y,GAAAA,WACJ,SAAAA,EAAY3nB,EAASyB,GACnBxC,KAAK+J,QAAuB/J,KAAKgK,WAAWxH,GAC5CxC,KAAKoF,SAAuBrE,EAC5Bf,KAAK2oB,QAAuB5nB,EAAQK,cAjBR,iBAkB5BpB,KAAK4oB,UAAuB,KAC5B5oB,KAAK6oB,UAAuB,EAC5B7oB,KAAK8oB,oBAAuB,EAC5B9oB,KAAK+oB,sBAAuB,EAC5B/oB,KAAKgP,kBAAuB,EAC5BhP,KAAKgpB,gBAAuB,6BAe9B/hB,OAAA,SAAOiG,GACL,OAAOlN,KAAK6oB,SAAW7oB,KAAK6P,OAAS7P,KAAK8P,KAAK5C,MAGjD4C,KAAA,SAAK5C,GAAe,IAAAnN,EAAAC,KAClB,IAAIA,KAAK6oB,WAAY7oB,KAAKgP,iBAA1B,CAII9O,EAAEF,KAAKoF,UAAUc,SAnDa,UAoDhClG,KAAKgP,kBAAmB,GAG1B,IAAMsY,EAAYpnB,EAAE8F,MArER,gBAqE0B,CACpCkH,cAAAA,IAGFhN,EAAEF,KAAKoF,UAAUpD,QAAQslB,GAErBtnB,KAAK6oB,UAAYvB,EAAU7hB,uBAI/BzF,KAAK6oB,UAAW,EAEhB7oB,KAAKipB,kBACLjpB,KAAKkpB,gBAELlpB,KAAKmpB,gBAELnpB,KAAKopB,kBACLppB,KAAKqpB,kBAELnpB,EAAEF,KAAKoF,UAAUyB,GArFI,yBAiBO,0BAuE1B,SAACvC,GAAD,OAAWvE,EAAK8P,KAAKvL,MAGvBpE,EAAEF,KAAK2oB,SAAS9hB,GAxFS,8BAwFmB,WAC1C3G,EAAEH,EAAKqF,UAAUjF,IA1FI,4BA0FuB,SAACmE,GACvCpE,EAAEoE,EAAMK,QAAQC,GAAG7E,EAAKqF,YAC1BrF,EAAKgpB,sBAAuB,SAKlC/oB,KAAKspB,eAAc,WAAA,OAAMvpB,EAAKwpB,aAAarc,WAG7C2C,KAAA,SAAKvL,GAAO,IAAAuH,EAAA7L,KAKV,GAJIsE,GACFA,EAAMsC,iBAGH5G,KAAK6oB,WAAY7oB,KAAKgP,iBAA3B,CAIA,IAAM2Y,EAAYznB,EAAE8F,MAtHR,iBA0HZ,GAFA9F,EAAEF,KAAKoF,UAAUpD,QAAQ2lB,GAEpB3nB,KAAK6oB,WAAYlB,EAAUliB,qBAAhC,CAIAzF,KAAK6oB,UAAW,EAChB,IAAMW,EAAatpB,EAAEF,KAAKoF,UAAUc,SA9GF,QA8HlC,GAdIsjB,IACFxpB,KAAKgP,kBAAmB,GAG1BhP,KAAKopB,kBACLppB,KAAKqpB,kBAELnpB,EAAEU,UAAU4K,IAnIG,oBAqIftL,EAAEF,KAAKoF,UAAUa,YAxHiB,QA0HlC/F,EAAEF,KAAKoF,UAAUoG,IArII,0BAsIrBtL,EAAEF,KAAK2oB,SAASnd,IAnIS,8BAqIrBge,EAAY,CACd,IAAMjoB,EAAsBnB,EAAKkB,iCAAiCtB,KAAKoF,UAEvElF,EAAEF,KAAKoF,UACJjF,IAAIC,EAAKC,gBAAgB,SAACiE,GAAD,OAAWuH,EAAK4d,WAAWnlB,MACpDD,qBAAqB9C,QAExBvB,KAAKypB,kBAIT9jB,QAAA,WACE,CAACuC,OAAQlI,KAAKoF,SAAUpF,KAAK2oB,SAC1BlM,SAAQ,SAACiN,GAAD,OAAiBxpB,EAAEwpB,GAAale,IA/KhC,gBAsLXtL,EAAEU,UAAU4K,IA9JG,oBAgKftL,EAAE0F,WAAW5F,KAAKoF,SAzLK,YA2LvBpF,KAAK+J,QAAuB,KAC5B/J,KAAKoF,SAAuB,KAC5BpF,KAAK2oB,QAAuB,KAC5B3oB,KAAK4oB,UAAuB,KAC5B5oB,KAAK6oB,SAAuB,KAC5B7oB,KAAK8oB,mBAAuB,KAC5B9oB,KAAK+oB,qBAAuB,KAC5B/oB,KAAKgP,iBAAuB,KAC5BhP,KAAKgpB,gBAAuB,QAG9BW,aAAA,WACE3pB,KAAKmpB,mBAKPnf,WAAA,SAAWxH,GAMT,OALAA,EAAMiJ,EAAAA,EAAA,GACD9C,IACAnG,GAELpC,EAAKkC,gBAnNkB,QAmNIE,EAAQ0G,IAC5B1G,KAGTonB,2BAAA,WAA6B,IAAA5d,EAAAhM,KAC3B,GAA8B,WAA1BA,KAAK+J,QAAQ0e,SAAuB,CACtC,IAAMoB,EAAqB3pB,EAAE8F,MAlMT,0BAqMpB,GADA9F,EAAEF,KAAKoF,UAAUpD,QAAQ6nB,GACrBA,EAAmBC,iBACrB,OAGF9pB,KAAKoF,SAASmC,UAAUkB,IAvLQ,gBAyLhC,IAAMshB,EAA0B3pB,EAAKkB,iCAAiCtB,KAAKoF,UAE3ElF,EAAEF,KAAKoF,UAAUjF,IAAIC,EAAKC,gBAAgB,WACxC2L,EAAK5G,SAASmC,UAAUlB,OA5LM,mBA8L7BhC,qBAAqB0lB,GACxB/pB,KAAKoF,SAASsC,aAEd1H,KAAK6P,UAIT0Z,aAAA,SAAarc,GAAe,IAAAa,EAAA/N,KACpBwpB,EAAatpB,EAAEF,KAAKoF,UAAUc,SAxMF,QAyM5B8jB,EAAYhqB,KAAK2oB,QAAU3oB,KAAK2oB,QAAQvnB,cApMlB,eAoMuD,KAE9EpB,KAAKoF,SAASrB,YACf/D,KAAKoF,SAASrB,WAAW1B,WAAa2R,KAAKiW,cAE7CrpB,SAAS4R,KAAK0X,YAAYlqB,KAAKoF,UAGjCpF,KAAKoF,SAASiL,MAAMqW,QAAU,QAC9B1mB,KAAKoF,SAASgZ,gBAAgB,eAC9Bpe,KAAKoF,SAASwC,aAAa,cAAc,GAErC1H,EAAEF,KAAK2oB,SAASziB,SAzNc,4BAyNqB8jB,EACrDA,EAAU9U,UAAY,EAEtBlV,KAAKoF,SAAS8P,UAAY,EAGxBsU,GACFppB,EAAK0B,OAAO9B,KAAKoF,UAGnBlF,EAAEF,KAAKoF,UAAUwI,SA9NiB,QAgO9B5N,KAAK+J,QAAQrC,OACf1H,KAAKmqB,gBAGP,IAAMC,EAAalqB,EAAE8F,MAlPR,iBAkP2B,CACtCkH,cAAAA,IAGImd,EAAqB,WACrBtc,EAAKhE,QAAQrC,OACfqG,EAAK3I,SAASsC,QAEhBqG,EAAKiB,kBAAmB,EACxB9O,EAAE6N,EAAK3I,UAAUpD,QAAQooB,IAG3B,GAAIZ,EAAY,CACd,IAAMjoB,EAAsBnB,EAAKkB,iCAAiCtB,KAAK2oB,SAEvEzoB,EAAEF,KAAK2oB,SACJxoB,IAAIC,EAAKC,eAAgBgqB,GACzBhmB,qBAAqB9C,QAExB8oB,OAIJF,cAAA,WAAgB,IAAAG,EAAAtqB,KACdE,EAAEU,UACC4K,IA1QY,oBA2QZ3E,GA3QY,oBA2QM,SAACvC,GACd1D,WAAa0D,EAAMK,QACnB2lB,EAAKllB,WAAad,EAAMK,QACsB,IAA9CzE,EAAEoqB,EAAKllB,UAAUmlB,IAAIjmB,EAAMK,QAAQ6D,QACrC8hB,EAAKllB,SAASsC,cAKtB0hB,gBAAA,WAAkB,IAAAoB,EAAAxqB,KACZA,KAAK6oB,SACP3oB,EAAEF,KAAKoF,UAAUyB,GAnRI,4BAmRsB,SAACvC,GACtCkmB,EAAKzgB,QAAQlB,UA5SE,KA4SUvE,EAAMoI,OACjCpI,EAAMsC,iBACN4jB,EAAK3a,QACK2a,EAAKzgB,QAAQlB,UA/SN,KA+SkBvE,EAAMoI,OACzC8d,EAAKZ,gCAGC5pB,KAAK6oB,UACf3oB,EAAEF,KAAKoF,UAAUoG,IA5RI,+BAgSzB6d,gBAAA,WAAkB,IAAAoB,EAAAzqB,KACZA,KAAK6oB,SACP3oB,EAAEgI,QAAQrB,GApSE,mBAoSe,SAACvC,GAAD,OAAWmmB,EAAKd,aAAarlB,MAExDpE,EAAEgI,QAAQsD,IAtSE,sBA0ShBie,WAAA,WAAa,IAAAiB,EAAA1qB,KACXA,KAAKoF,SAASiL,MAAMqW,QAAU,OAC9B1mB,KAAKoF,SAASwC,aAAa,eAAe,GAC1C5H,KAAKoF,SAASgZ,gBAAgB,cAC9Bpe,KAAKgP,kBAAmB,EACxBhP,KAAKspB,eAAc,WACjBppB,EAAEU,SAAS4R,MAAMvM,YAtSe,cAuShCykB,EAAKC,oBACLD,EAAKE,kBACL1qB,EAAEwqB,EAAKtlB,UAAUpD,QAvTL,yBA2ThB6oB,gBAAA,WACM7qB,KAAK4oB,YACP1oB,EAAEF,KAAK4oB,WAAWviB,SAClBrG,KAAK4oB,UAAY,SAIrBU,cAAA,SAActK,GAAU,IAAA8L,EAAA9qB,KAChB+qB,EAAU7qB,EAAEF,KAAKoF,UAAUc,SApTC,QAAA,OAqTZ,GAEtB,GAAIlG,KAAK6oB,UAAY7oB,KAAK+J,QAAQ0e,SAAU,CA4B1C,GA3BAzoB,KAAK4oB,UAAYhoB,SAASoqB,cAAc,OACxChrB,KAAK4oB,UAAUqC,UA3TiB,iBA6T5BF,GACF/qB,KAAK4oB,UAAUrhB,UAAUkB,IAAIsiB,GAG/B7qB,EAAEF,KAAK4oB,WAAWsC,SAAStqB,SAAS4R,MAEpCtS,EAAEF,KAAKoF,UAAUyB,GA3UE,0BA2UsB,SAACvC,GACpCwmB,EAAK/B,qBACP+B,EAAK/B,sBAAuB,EAG1BzkB,EAAMK,SAAWL,EAAM2M,eAI3B6Z,EAAKlB,gCAGHmB,GACF3qB,EAAK0B,OAAO9B,KAAK4oB,WAGnB1oB,EAAEF,KAAK4oB,WAAWhb,SAhVc,SAkV3BoR,EACH,OAGF,IAAK+L,EAEH,YADA/L,IAIF,IAAMmM,EAA6B/qB,EAAKkB,iCAAiCtB,KAAK4oB,WAE9E1oB,EAAEF,KAAK4oB,WACJzoB,IAAIC,EAAKC,eAAgB2e,GACzB3a,qBAAqB8mB,QACnB,IAAKnrB,KAAK6oB,UAAY7oB,KAAK4oB,UAAW,CAC3C1oB,EAAEF,KAAK4oB,WAAW3iB,YAjWc,QAmWhC,IAAMmlB,EAAiB,WACrBN,EAAKD,kBACD7L,GACFA,KAIJ,GAAI9e,EAAEF,KAAKoF,UAAUc,SA3WW,QA2WgB,CAC9C,IAAMilB,EAA6B/qB,EAAKkB,iCAAiCtB,KAAK4oB,WAE9E1oB,EAAEF,KAAK4oB,WACJzoB,IAAIC,EAAKC,eAAgB+qB,GACzB/mB,qBAAqB8mB,QAExBC,SAEOpM,GACTA,OASJmK,cAAA,WACE,IAAMkC,EACJrrB,KAAKoF,SAASkmB,aAAe1qB,SAAS8C,gBAAgB+T,cAEnDzX,KAAK8oB,oBAAsBuC,IAC9BrrB,KAAKoF,SAASiL,MAAMkb,YAAiBvrB,KAAKgpB,gBAA1C,MAGEhpB,KAAK8oB,qBAAuBuC,IAC9BrrB,KAAKoF,SAASiL,MAAMmb,aAAkBxrB,KAAKgpB,gBAA3C,SAIJ2B,kBAAA,WACE3qB,KAAKoF,SAASiL,MAAMkb,YAAc,GAClCvrB,KAAKoF,SAASiL,MAAMmb,aAAe,MAGrCvC,gBAAA,WACE,IAAMjU,EAAOpU,SAAS4R,KAAK9B,wBAC3B1Q,KAAK8oB,mBAAqBpoB,KAAK8iB,MAAMxO,EAAKO,KAAOP,EAAKQ,OAAStN,OAAOwQ,WACtE1Y,KAAKgpB,gBAAkBhpB,KAAKyrB,wBAG9BvC,cAAA,WAAgB,IAAAwC,EAAA1rB,KACd,GAAIA,KAAK8oB,mBAAoB,CAG3B,IAAM6C,EAAe,GAAGvjB,MAAMtF,KAAKlC,SAASyH,iBAlZlB,sDAmZpBujB,EAAgB,GAAGxjB,MAAMtF,KAAKlC,SAASyH,iBAlZnB,gBAqZ1BnI,EAAEyrB,GAAcplB,MAAK,SAAC6E,EAAOrK,GAC3B,IAAM8qB,EAAgB9qB,EAAQsP,MAAMmb,aAC9BM,EAAoB5rB,EAAEa,GAASS,IAAI,iBACzCtB,EAAEa,GACC0F,KAAK,gBAAiBolB,GACtBrqB,IAAI,gBAAoBG,WAAWmqB,GAAqBJ,EAAK1C,gBAFhE,SAMF9oB,EAAE0rB,GAAerlB,MAAK,SAAC6E,EAAOrK,GAC5B,IAAMgrB,EAAehrB,EAAQsP,MAAM4K,YAC7B+Q,EAAmB9rB,EAAEa,GAASS,IAAI,gBACxCtB,EAAEa,GACC0F,KAAK,eAAgBslB,GACrBvqB,IAAI,eAAmBG,WAAWqqB,GAAoBN,EAAK1C,gBAF9D,SAMF,IAAM6C,EAAgBjrB,SAAS4R,KAAKnC,MAAMmb,aACpCM,EAAoB5rB,EAAEU,SAAS4R,MAAMhR,IAAI,iBAC/CtB,EAAEU,SAAS4R,MACR/L,KAAK,gBAAiBolB,GACtBrqB,IAAI,gBAAoBG,WAAWmqB,GAAqB9rB,KAAKgpB,gBAFhE,MAKF9oB,EAAEU,SAAS4R,MAAM5E,SAxbiB,iBA2bpCgd,gBAAA,WAEE,IAAMe,EAAe,GAAGvjB,MAAMtF,KAAKlC,SAASyH,iBApbhB,sDAqb5BnI,EAAEyrB,GAAcplB,MAAK,SAAC6E,EAAOrK,GAC3B,IAAMoY,EAAUjZ,EAAEa,GAAS0F,KAAK,iBAChCvG,EAAEa,GAAS6E,WAAW,iBACtB7E,EAAQsP,MAAMmb,aAAerS,GAAoB,MAInD,IAAM8S,EAAW,GAAG7jB,MAAMtF,KAAKlC,SAASyH,iBA3bZ,gBA4b5BnI,EAAE+rB,GAAU1lB,MAAK,SAAC6E,EAAOrK,GACvB,IAAMmrB,EAAShsB,EAAEa,GAAS0F,KAAK,gBACT,oBAAXylB,GACThsB,EAAEa,GAASS,IAAI,eAAgB0qB,GAAQtmB,WAAW,mBAKtD,IAAMuT,EAAUjZ,EAAEU,SAAS4R,MAAM/L,KAAK,iBACtCvG,EAAEU,SAAS4R,MAAM5M,WAAW,iBAC5BhF,SAAS4R,KAAKnC,MAAMmb,aAAerS,GAAoB,MAGzDsS,mBAAA,WACE,IAAMU,EAAYvrB,SAASoqB,cAAc,OACzCmB,EAAUlB,UAvdwB,0BAwdlCrqB,SAAS4R,KAAK0X,YAAYiC,GAC1B,IAAMC,EAAiBD,EAAUzb,wBAAwByF,MAAQgW,EAAU3U,YAE3E,OADA5W,SAAS4R,KAAKgM,YAAY2N,GACnBC,KAKF9lB,iBAAP,SAAwB9D,EAAQ0K,GAC9B,OAAOlN,KAAKuG,MAAK,WACf,IAAIE,EAAOvG,EAAEF,MAAMyG,KApgBE,YAqgBfsD,EAAO0B,EAAAA,EAAAA,EAAA,GACR9C,IACAzI,EAAEF,MAAMyG,QACU,iBAAXjE,GAAuBA,EAASA,EAAS,IAQrD,GALKiE,IACHA,EAAO,IAAIiiB,EAAM1oB,KAAM+J,GACvB7J,EAAEF,MAAMyG,KA7gBW,WA6gBIA,IAGH,iBAAXjE,EAAqB,CAC9B,GAA4B,oBAAjBiE,EAAKjE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERiE,EAAKjE,GAAQ0K,QACJnD,EAAQ+F,MACjBrJ,EAAKqJ,KAAK5C,+CAhdd,MAvEuB,wCA2EvB,OAAOvE,SApBL+f,GA4eNxoB,EAAEU,UAAUiG,GAngBc,0BAYM,yBAuf2B,SAAUvC,GAAO,IACtEK,EADsE0nB,EAAArsB,KAEpEgB,EAAWZ,EAAKU,uBAAuBd,MAEzCgB,IACF2D,EAAS/D,SAASQ,cAAcJ,IAGlC,IAAMwB,EAAStC,EAAEyE,GAAQ8B,KA1iBA,YA2iBrB,SADWgF,EAAAA,EAAA,GAERvL,EAAEyE,GAAQ8B,QACVvG,EAAEF,MAAMyG,QAGM,MAAjBzG,KAAKiI,SAAoC,SAAjBjI,KAAKiI,SAC/B3D,EAAMsC,iBAGR,IAAMwK,EAAUlR,EAAEyE,GAAQxE,IA7hBZ,iBA6hB4B,SAACmnB,GACrCA,EAAU7hB,sBAKd2L,EAAQjR,IApiBM,mBAoiBY,WACpBD,EAAEmsB,GAAMznB,GAAG,aACbynB,EAAK3kB,cAKXghB,GAAMpiB,iBAAiBxD,KAAK5C,EAAEyE,GAASnC,EAAQxC,SASjDE,EAAEiE,GAAF,MAAaukB,GAAMpiB,iBACnBpG,EAAEiE,GAAF,MAAW2C,YAAc4hB,GACzBxoB,EAAEiE,GAAF,MAAW4C,WAAa,WAEtB,OADA7G,EAAEiE,GAAF,MAAae,GACNwjB,GAAMpiB,kBCzlBf,IAAMgmB,GAAW,CACf,aACA,OACA,OACA,WACA,WACA,SACA,MACA,cAKWC,GAAmB,CAE9BC,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAJP,kBAK7BpS,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BF,KAAM,GACNG,EAAG,GACHoS,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJ9kB,EAAG,GACH+kB,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChDC,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,GACLC,EAAG,GACHC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,EAAG,GACHC,GAAI,IAQAC,GAAmB,8DAOnBC,GAAmB,qIAyBlB,SAASC,GAAaC,EAAYC,EAAWC,GAClD,GAA0B,IAAtBF,EAAW7lB,OACb,OAAO6lB,EAGT,GAAIE,GAAoC,mBAAfA,EACvB,OAAOA,EAAWF,GAQpB,IALA,IACMG,GADY,IAAItmB,OAAOumB,WACKC,gBAAgBL,EAAY,aACxDM,EAAgBhsB,OAAOqX,KAAKsU,GAC5BrC,EAAW,GAAG7jB,MAAMtF,KAAK0rB,EAAgBhc,KAAKnK,iBAAiB,MAZPumB,EAAA,SAcrDtmB,EAAOC,GACd,IAAMyQ,EAAKiT,EAAS3jB,GACdumB,EAAS7V,EAAG3G,SAASjP,cAE3B,IAA0D,IAAtDurB,EAAchiB,QAAQqM,EAAG3G,SAASjP,eAGpC,OAFA4V,EAAGjV,WAAWya,YAAYxF,GAE1B,WAGF,IAAM8V,EAAgB,GAAG1mB,MAAMtF,KAAKkW,EAAGgE,YACjC+R,EAAwB,GAAGrO,OAAO4N,EAAU,MAAQ,GAAIA,EAAUO,IAAW,IAEnFC,EAAcrS,SAAQ,SAACnM,IAlD3B,SAA0BA,EAAM0e,GAC9B,IAAMC,EAAW3e,EAAK+B,SAASjP,cAE/B,IAAgD,IAA5C4rB,EAAqBriB,QAAQsiB,GAC/B,OAAoC,IAAhC3C,GAAS3f,QAAQsiB,IACZ/sB,QAAQoO,EAAK4e,UAAU/rB,MAAM+qB,KAAqB5d,EAAK4e,UAAU/rB,MAAMgrB,KASlF,IAHA,IAAMgB,EAASH,EAAqB1f,QAAO,SAAC8f,GAAD,OAAeA,aAAqB/rB,UAGtEiF,EAAI,EAAGC,EAAM4mB,EAAO3mB,OAAQF,EAAIC,EAAKD,IAC5C,GAAI2mB,EAAS9rB,MAAMgsB,EAAO7mB,IACxB,OAAO,EAIX,OAAO,GA+BE+mB,CAAiB/e,EAAMye,IAC1B/V,EAAGoF,gBAAgB9N,EAAK+B,cAfrB/J,EAAI,EAAGC,EAAM0jB,EAASzjB,OAAQF,EAAIC,EAAKD,IAAKsmB,EAA5CtmB,GAoBT,OAAOkmB,EAAgBhc,KAAK8c,UCxG9B,IAAMrqB,GAAwB,UAIxBC,GAAwBhF,EAAEiE,GAAGc,IAE7BsqB,GAAwB,IAAIlsB,OAAJ,wBAAyC,KACjEmsB,GAAwB,CAAC,WAAY,YAAa,cAElDtmB,GAAc,CAClBumB,UAAoB,UACpBC,SAAoB,SACpBC,MAAoB,4BACpB3tB,QAAoB,SACpB4tB,MAAoB,kBACpB/a,KAAoB,UACpB7T,SAAoB,mBACpB4Y,UAAoB,oBACpBhB,OAAoB,2BACpBiX,UAAoB,2BACpBC,kBAAoB,iBACpBrJ,SAAoB,mBACpBsJ,SAAoB,UACpBxB,WAAoB,kBACpBD,UAAoB,SACpB3H,aAAoB,iBAGhBqJ,GAAgB,CACpBC,KAAS,OACTC,IAAS,MACTC,MAAS,QACTC,OAAS,SACTC,KAAS,QAGL1nB,GAAU,CACd8mB,WAAoB,EACpBC,SAAoB,uGAGpB1tB,QAAoB,cACpB2tB,MAAoB,GACpBC,MAAoB,EACpB/a,MAAoB,EACpB7T,UAAoB,EACpB4Y,UAAoB,MACpBhB,OAAoB,EACpBiX,WAAoB,EACpBC,kBAAoB,OACpBrJ,SAAoB,eACpBsJ,UAAoB,EACpBxB,WAAoB,KACpBD,UAAoB/B,GACpB5F,aAAoB,MAMhB3gB,GAAQ,CACZsqB,KAAI,kBACJC,OAAM,oBACNC,KAAI,kBACJC,MAAK,mBACLC,SAAQ,sBACRC,MAAK,mBACLC,QAAO,qBACPC,SAAQ,sBACRC,WAAU,wBACVC,WAAU,yBAoBNC,GAAAA,WACJ,SAAAA,EAAYjwB,EAASyB,GACnB,GAAsB,oBAAX0jB,GACT,MAAM,IAAIjiB,UAAU,mEAItBjE,KAAKixB,YAAiB,EACtBjxB,KAAKkxB,SAAiB,EACtBlxB,KAAKmxB,YAAiB,GACtBnxB,KAAKoxB,eAAiB,GACtBpxB,KAAK6mB,QAAiB,KAGtB7mB,KAAKe,QAAUA,EACff,KAAKwC,OAAUxC,KAAKgK,WAAWxH,GAC/BxC,KAAKqxB,IAAU,KAEfrxB,KAAKsxB,2CAmCPC,OAAA,WACEvxB,KAAKixB,YAAa,KAGpBO,QAAA,WACExxB,KAAKixB,YAAa,KAGpBQ,cAAA,WACEzxB,KAAKixB,YAAcjxB,KAAKixB,cAG1BhqB,OAAA,SAAO3C,GACL,GAAKtE,KAAKixB,WAIV,GAAI3sB,EAAO,CACT,IAAMotB,EAAU1xB,KAAK6nB,YAAY8J,SAC7BzJ,EAAUhoB,EAAEoE,EAAM2M,eAAexK,KAAKirB,GAErCxJ,IACHA,EAAU,IAAIloB,KAAK6nB,YACjBvjB,EAAM2M,cACNjR,KAAK4xB,sBAEP1xB,EAAEoE,EAAM2M,eAAexK,KAAKirB,EAASxJ,IAGvCA,EAAQkJ,eAAeS,OAAS3J,EAAQkJ,eAAeS,MAEnD3J,EAAQ4J,uBACV5J,EAAQ6J,OAAO,KAAM7J,GAErBA,EAAQ8J,OAAO,KAAM9J,OAElB,CACL,GAAIhoB,EAAEF,KAAKiyB,iBAAiB/rB,SA1GV,QA4GhB,YADAlG,KAAKgyB,OAAO,KAAMhyB,MAIpBA,KAAK+xB,OAAO,KAAM/xB,UAItB2F,QAAA,WACE4G,aAAavM,KAAKkxB,UAElBhxB,EAAE0F,WAAW5F,KAAKe,QAASf,KAAK6nB,YAAY8J,UAE5CzxB,EAAEF,KAAKe,SAASyK,IAAIxL,KAAK6nB,YAAYnf,WACrCxI,EAAEF,KAAKe,SAAS+E,QAAQ,UAAU0F,IAAI,gBAAiBxL,KAAKkyB,mBAExDlyB,KAAKqxB,KACPnxB,EAAEF,KAAKqxB,KAAKhrB,SAGdrG,KAAKixB,WAAiB,KACtBjxB,KAAKkxB,SAAiB,KACtBlxB,KAAKmxB,YAAiB,KACtBnxB,KAAKoxB,eAAiB,KAClBpxB,KAAK6mB,SACP7mB,KAAK6mB,QAAQ1I,UAGfne,KAAK6mB,QAAU,KACf7mB,KAAKe,QAAU,KACff,KAAKwC,OAAU,KACfxC,KAAKqxB,IAAU,QAGjBvhB,KAAA,WAAO,IAAA/P,EAAAC,KACL,GAAuC,SAAnCE,EAAEF,KAAKe,SAASS,IAAI,WACtB,MAAM,IAAI+B,MAAM,uCAGlB,IAAM+jB,EAAYpnB,EAAE8F,MAAMhG,KAAK6nB,YAAY7hB,MAAMwqB,MACjD,GAAIxwB,KAAKmyB,iBAAmBnyB,KAAKixB,WAAY,CAC3C/wB,EAAEF,KAAKe,SAASiB,QAAQslB,GAExB,IAAM8K,EAAahyB,EAAKqD,eAAezD,KAAKe,SACtCsxB,EAAanyB,EAAEsH,SACJ,OAAf4qB,EAAsBA,EAAapyB,KAAKe,QAAQkR,cAAcvO,gBAC9D1D,KAAKe,SAGP,GAAIumB,EAAU7hB,uBAAyB4sB,EACrC,OAGF,IAAMhB,EAAQrxB,KAAKiyB,gBACbK,EAAQlyB,EAAKI,OAAOR,KAAK6nB,YAAY5iB,MAE3CosB,EAAIzpB,aAAa,KAAM0qB,GACvBtyB,KAAKe,QAAQ6G,aAAa,mBAAoB0qB,GAE9CtyB,KAAKuyB,aAEDvyB,KAAKwC,OAAOitB,WACdvvB,EAAEmxB,GAAKzjB,SA1KS,QA6KlB,IAAMgM,EAA8C,mBAA1B5Z,KAAKwC,OAAOoX,UAClC5Z,KAAKwC,OAAOoX,UAAU9W,KAAK9C,KAAMqxB,EAAKrxB,KAAKe,SAC3Cf,KAAKwC,OAAOoX,UAEV4Y,EAAaxyB,KAAKyyB,eAAe7Y,GACvC5Z,KAAK0yB,mBAAmBF,GAExB,IAAM3C,EAAY7vB,KAAK2yB,gBACvBzyB,EAAEmxB,GAAK5qB,KAAKzG,KAAK6nB,YAAY8J,SAAU3xB,MAElCE,EAAEsH,SAASxH,KAAKe,QAAQkR,cAAcvO,gBAAiB1D,KAAKqxB,MAC/DnxB,EAAEmxB,GAAKnG,SAAS2E,GAGlB3vB,EAAEF,KAAKe,SAASiB,QAAQhC,KAAK6nB,YAAY7hB,MAAM0qB,UAE/C1wB,KAAK6mB,QAAU,IAAIX,GAAOlmB,KAAKe,QAASswB,EAAKrxB,KAAKynB,iBAAiB+K,IAEnEtyB,EAAEmxB,GAAKzjB,SA9LW,QAoMd,iBAAkBhN,SAAS8C,iBAC7BxD,EAAEU,SAAS4R,MAAM7E,WAAW9G,GAAG,YAAa,KAAM3G,EAAEwnB,MAGtD,IAAMkL,EAAW,WACX7yB,EAAKyC,OAAOitB,WACd1vB,EAAK8yB,iBAEP,IAAMC,EAAiB/yB,EAAKoxB,YAC5BpxB,EAAKoxB,YAAkB,KAEvBjxB,EAAEH,EAAKgB,SAASiB,QAAQjC,EAAK8nB,YAAY7hB,MAAMyqB,OA/N9B,QAiObqC,GACF/yB,EAAKiyB,OAAO,KAAMjyB,IAItB,GAAIG,EAAEF,KAAKqxB,KAAKnrB,SAvNE,QAuNyB,CACzC,IAAM3E,EAAqBnB,EAAKkB,iCAAiCtB,KAAKqxB,KAEtEnxB,EAAEF,KAAKqxB,KACJlxB,IAAIC,EAAKC,eAAgBuyB,GACzBvuB,qBAAqB9C,QAExBqxB,QAKN/iB,KAAA,SAAKmP,GAAU,IAAAnT,EAAA7L,KACPqxB,EAAYrxB,KAAKiyB,gBACjBtK,EAAYznB,EAAE8F,MAAMhG,KAAK6nB,YAAY7hB,MAAMsqB,MAC3CsC,EAAW,WAtPI,SAuPf/mB,EAAKslB,aAAoCE,EAAIttB,YAC/CstB,EAAIttB,WAAWya,YAAY6S,GAG7BxlB,EAAKknB,iBACLlnB,EAAK9K,QAAQqd,gBAAgB,oBAC7Ble,EAAE2L,EAAK9K,SAASiB,QAAQ6J,EAAKgc,YAAY7hB,MAAMuqB,QAC1B,OAAjB1kB,EAAKgb,SACPhb,EAAKgb,QAAQ1I,UAGXa,GACFA,KAMJ,GAFA9e,EAAEF,KAAKe,SAASiB,QAAQ2lB,IAEpBA,EAAUliB,qBAAd,CAgBA,GAZAvF,EAAEmxB,GAAKprB,YA5Pa,QAgQhB,iBAAkBrF,SAAS8C,iBAC7BxD,EAAEU,SAAS4R,MAAM7E,WAAWnC,IAAI,YAAa,KAAMtL,EAAEwnB,MAGvD1nB,KAAKoxB,eAAL,OAAqC,EACrCpxB,KAAKoxB,eAAL,OAAqC,EACrCpxB,KAAKoxB,eAAL,OAAqC,EAEjClxB,EAAEF,KAAKqxB,KAAKnrB,SAzQI,QAyQuB,CACzC,IAAM3E,EAAqBnB,EAAKkB,iCAAiC+vB,GAEjEnxB,EAAEmxB,GACClxB,IAAIC,EAAKC,eAAgBuyB,GACzBvuB,qBAAqB9C,QAExBqxB,IAGF5yB,KAAKmxB,YAAc,OAGrBtU,OAAA,WACuB,OAAjB7c,KAAK6mB,SACP7mB,KAAK6mB,QAAQxH,oBAMjB8S,cAAA,WACE,OAAOjwB,QAAQlC,KAAKgzB,eAGtBN,mBAAA,SAAmBF,GACjBtyB,EAAEF,KAAKiyB,iBAAiBrkB,SAAYqlB,cAAgBT,MAGtDP,cAAA,WAEE,OADAjyB,KAAKqxB,IAAMrxB,KAAKqxB,KAAOnxB,EAAEF,KAAKwC,OAAOktB,UAAU,GACxC1vB,KAAKqxB,OAGdkB,WAAA,WACE,IAAMlB,EAAMrxB,KAAKiyB,gBACjBjyB,KAAKkzB,kBAAkBhzB,EAAEmxB,EAAIhpB,iBA1SF,mBA0S6CrI,KAAKgzB,YAC7E9yB,EAAEmxB,GAAKprB,YAAektB,gBAGxBD,kBAAA,SAAkB1sB,EAAU4sB,GACH,iBAAZA,IAAyBA,EAAQ/wB,WAAY+wB,EAAQhvB,OAa5DpE,KAAKwC,OAAOqS,MACV7U,KAAKwC,OAAOutB,WACdqD,EAAUhF,GAAagF,EAASpzB,KAAKwC,OAAO8rB,UAAWtuB,KAAKwC,OAAO+rB,aAGrE/nB,EAASqO,KAAKue,IAEd5sB,EAAS6sB,KAAKD,GAlBVpzB,KAAKwC,OAAOqS,KACT3U,EAAEkzB,GAASvtB,SAASjB,GAAG4B,IAC1BA,EAAS8sB,QAAQC,OAAOH,GAG1B5sB,EAAS6sB,KAAKnzB,EAAEkzB,GAASC,WAiB/BL,SAAA,WACE,IAAIrD,EAAQ3vB,KAAKe,QAAQE,aAAa,uBAQtC,OANK0uB,IACHA,EAAqC,mBAAtB3vB,KAAKwC,OAAOmtB,MACvB3vB,KAAKwC,OAAOmtB,MAAM7sB,KAAK9C,KAAKe,SAC5Bf,KAAKwC,OAAOmtB,OAGXA,KAKTlI,iBAAA,SAAiB+K,GAAY,IAAAxmB,EAAAhM,KAuB3B,OAAAyL,EAAAA,EAAA,GAtBwB,CACtBmO,UAAW4Y,EACXpW,UAAW,CACTxD,OAAQ5Y,KAAKgoB,aACb5K,KAAM,CACJuG,SAAU3jB,KAAKwC,OAAOstB,mBAExBhN,MAAO,CACL/hB,QA7VqB,UA+VvBmhB,gBAAiB,CACf9I,kBAAmBpZ,KAAKwC,OAAOikB,WAGnChJ,SAAU,SAAChX,GACLA,EAAK4W,oBAAsB5W,EAAKmT,WAClC5N,EAAKwnB,6BAA6B/sB,IAGtC+W,SAAU,SAAC/W,GAAD,OAAUuF,EAAKwnB,6BAA6B/sB,MAKnDzG,KAAKwC,OAAOmkB,iBAInBqB,WAAA,WAAa,IAAAja,EAAA/N,KACL4Y,EAAS,GAef,MAbkC,mBAAvB5Y,KAAKwC,OAAOoW,OACrBA,EAAOzU,GAAK,SAACsC,GAMX,OALAA,EAAK4Q,QAAL5L,EAAAA,EAAA,GACKhF,EAAK4Q,SACLtJ,EAAKvL,OAAOoW,OAAOnS,EAAK4Q,QAAStJ,EAAKhN,UAAY,IAGhD0F,GAGTmS,EAAOA,OAAS5Y,KAAKwC,OAAOoW,OAGvBA,KAGT+Z,cAAA,WACE,OAA8B,IAA1B3yB,KAAKwC,OAAOqtB,UACPjvB,SAAS4R,KAGdpS,EAAK+B,UAAUnC,KAAKwC,OAAOqtB,WACtB3vB,EAAEF,KAAKwC,OAAOqtB,WAGhB3vB,EAAEU,UAAUmb,KAAK/b,KAAKwC,OAAOqtB,cAGtC4C,eAAA,SAAe7Y,GACb,OAAOoW,GAAcpW,EAAUpW,kBAGjC8tB,cAAA,WAAgB,IAAAhH,EAAAtqB,KACGA,KAAKwC,OAAOR,QAAQH,MAAM,KAElC4a,SAAQ,SAACza,GAChB,GAAgB,UAAZA,EACF9B,EAAEoqB,EAAKvpB,SAAS8F,GACdyjB,EAAKzC,YAAY7hB,MAAM2qB,MACvBrG,EAAK9nB,OAAOxB,UACZ,SAACsD,GAAD,OAAWgmB,EAAKrjB,OAAO3C,WAEpB,GAzZU,WAyZNtC,EAA4B,CACrC,IAAMyxB,EA7ZS,UA6ZCzxB,EACZsoB,EAAKzC,YAAY7hB,MAAM8qB,WACvBxG,EAAKzC,YAAY7hB,MAAM4qB,QACrB8C,EAhaS,UAgaE1xB,EACbsoB,EAAKzC,YAAY7hB,MAAM+qB,WACvBzG,EAAKzC,YAAY7hB,MAAM6qB,SAE3B3wB,EAAEoqB,EAAKvpB,SACJ8F,GAAG4sB,EAASnJ,EAAK9nB,OAAOxB,UAAU,SAACsD,GAAD,OAAWgmB,EAAKyH,OAAOztB,MACzDuC,GAAG6sB,EAAUpJ,EAAK9nB,OAAOxB,UAAU,SAACsD,GAAD,OAAWgmB,EAAK0H,OAAO1tB,UAIjEtE,KAAKkyB,kBAAoB,WACnB5H,EAAKvpB,SACPupB,EAAKza,QAIT3P,EAAEF,KAAKe,SAAS+E,QAAQ,UAAUe,GAAG,gBAAiB7G,KAAKkyB,mBAEvDlyB,KAAKwC,OAAOxB,SACdhB,KAAKwC,OAALiJ,EAAAA,EAAA,GACKzL,KAAKwC,QADV,GAAA,CAEER,QAAS,SACThB,SAAU,KAGZhB,KAAK2zB,eAITA,UAAA,WACE,IAAMC,SAAmB5zB,KAAKe,QAAQE,aAAa,wBAE/CjB,KAAKe,QAAQE,aAAa,UAA0B,WAAd2yB,KACxC5zB,KAAKe,QAAQ6G,aACX,sBACA5H,KAAKe,QAAQE,aAAa,UAAY,IAGxCjB,KAAKe,QAAQ6G,aAAa,QAAS,QAIvCmqB,OAAA,SAAOztB,EAAO4jB,GACZ,IAAMwJ,EAAU1xB,KAAK6nB,YAAY8J,UACjCzJ,EAAUA,GAAWhoB,EAAEoE,EAAM2M,eAAexK,KAAKirB,MAG/CxJ,EAAU,IAAIloB,KAAK6nB,YACjBvjB,EAAM2M,cACNjR,KAAK4xB,sBAEP1xB,EAAEoE,EAAM2M,eAAexK,KAAKirB,EAASxJ,IAGnC5jB,IACF4jB,EAAQkJ,eACS,YAAf9sB,EAAM+C,KAvdS,QADA,UAydb,GAGFnH,EAAEgoB,EAAQ+J,iBAAiB/rB,SAjeX,SAjBC,SAkfuCgiB,EAAQiJ,YAClEjJ,EAAQiJ,YAnfW,QAufrB5kB,aAAa2b,EAAQgJ,UAErBhJ,EAAQiJ,YAzfa,OA2fhBjJ,EAAQ1lB,OAAOotB,OAAU1H,EAAQ1lB,OAAOotB,MAAM9f,KAKnDoY,EAAQgJ,SAAW5wB,YAAW,WAhgBT,SAigBf4nB,EAAQiJ,aACVjJ,EAAQpY,SAEToY,EAAQ1lB,OAAOotB,MAAM9f,MARtBoY,EAAQpY,WAWZkiB,OAAA,SAAO1tB,EAAO4jB,GACZ,IAAMwJ,EAAU1xB,KAAK6nB,YAAY8J,UACjCzJ,EAAUA,GAAWhoB,EAAEoE,EAAM2M,eAAexK,KAAKirB,MAG/CxJ,EAAU,IAAIloB,KAAK6nB,YACjBvjB,EAAM2M,cACNjR,KAAK4xB,sBAEP1xB,EAAEoE,EAAM2M,eAAexK,KAAKirB,EAASxJ,IAGnC5jB,IACF4jB,EAAQkJ,eACS,aAAf9sB,EAAM+C,KA9fS,QADA,UAggBb,GAGF6gB,EAAQ4J,yBAIZvlB,aAAa2b,EAAQgJ,UAErBhJ,EAAQiJ,YA9hBa,MAgiBhBjJ,EAAQ1lB,OAAOotB,OAAU1H,EAAQ1lB,OAAOotB,MAAM/f,KAKnDqY,EAAQgJ,SAAW5wB,YAAW,WAriBT,QAsiBf4nB,EAAQiJ,aACVjJ,EAAQrY,SAETqY,EAAQ1lB,OAAOotB,MAAM/f,MARtBqY,EAAQrY,WAWZiiB,qBAAA,WACE,IAAK,IAAM9vB,KAAWhC,KAAKoxB,eACzB,GAAIpxB,KAAKoxB,eAAepvB,GACtB,OAAO,EAIX,OAAO,KAGTgI,WAAA,SAAWxH,GACT,IAAMqxB,EAAiB3zB,EAAEF,KAAKe,SAAS0F,OAwCvC,OAtCA9D,OAAOqX,KAAK6Z,GACTpX,SAAQ,SAACqX,IACyC,IAA7CtE,GAAsB7iB,QAAQmnB,WACzBD,EAAeC,MAUA,iBAN5BtxB,EAAMiJ,EAAAA,EAAAA,EAAA,GACDzL,KAAK6nB,YAAYlf,SACjBkrB,GACkB,iBAAXrxB,GAAuBA,EAASA,EAAS,KAGnCotB,QAChBptB,EAAOotB,MAAQ,CACb9f,KAAMtN,EAAOotB,MACb/f,KAAMrN,EAAOotB,QAIW,iBAAjBptB,EAAOmtB,QAChBntB,EAAOmtB,MAAQntB,EAAOmtB,MAAMzsB,YAGA,iBAAnBV,EAAO4wB,UAChB5wB,EAAO4wB,QAAU5wB,EAAO4wB,QAAQlwB,YAGlC9C,EAAKkC,gBACH2C,GACAzC,EACAxC,KAAK6nB,YAAY3e,aAGf1G,EAAOutB,WACTvtB,EAAOktB,SAAWtB,GAAa5rB,EAAOktB,SAAUltB,EAAO8rB,UAAW9rB,EAAO+rB,aAGpE/rB,KAGTovB,mBAAA,WACE,IAAMpvB,EAAS,GAEf,GAAIxC,KAAKwC,OACP,IAAK,IAAMsU,KAAO9W,KAAKwC,OACjBxC,KAAK6nB,YAAYlf,QAAQmO,KAAS9W,KAAKwC,OAAOsU,KAChDtU,EAAOsU,GAAO9W,KAAKwC,OAAOsU,IAKhC,OAAOtU,KAGTuwB,eAAA,WACE,IAAMgB,EAAO7zB,EAAEF,KAAKiyB,iBACd+B,EAAWD,EAAKzjB,KAAK,SAASnN,MAAMosB,IACzB,OAAbyE,GAAqBA,EAASxrB,QAChCurB,EAAK9tB,YAAY+tB,EAASC,KAAK,QAInCT,6BAAA,SAA6BU,GAC3Bl0B,KAAKqxB,IAAM6C,EAAW7d,SAAS6C,OAC/BlZ,KAAK+yB,iBACL/yB,KAAK0yB,mBAAmB1yB,KAAKyyB,eAAeyB,EAAWta,eAGzDiZ,eAAA,WACE,IAAMxB,EAAMrxB,KAAKiyB,gBACXkC,EAAsBn0B,KAAKwC,OAAOitB,UAEA,OAApC4B,EAAIpwB,aAAa,iBAIrBf,EAAEmxB,GAAKprB,YAvnBa,QAwnBpBjG,KAAKwC,OAAOitB,WAAY,EACxBzvB,KAAK6P,OACL7P,KAAK8P,OACL9P,KAAKwC,OAAOitB,UAAY0E,MAKnB7tB,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAIE,EAAOvG,EAAEF,MAAMyG,KAzsBK,cA0sBlBsD,EAA4B,iBAAXvH,GAAuBA,EAE9C,IAAKiE,IAAQ,eAAenD,KAAKd,MAI5BiE,IACHA,EAAO,IAAIuqB,EAAQhxB,KAAM+J,GACzB7J,EAAEF,MAAMyG,KAltBc,aAktBCA,IAGH,iBAAXjE,GAAqB,CAC9B,GAA4B,oBAAjBiE,EAAKjE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERiE,EAAKjE,kDAzmBT,MAjH0B,wCAqH1B,OAAOmG,gCAIP,OAAO1D,oCAIP,MA5H0B,2CAgI1B,OAAOe,qCAIP,MAnIW,kDAuIX,OAAOkD,SAhDL8nB,GA6oBN9wB,EAAEiE,GAAGc,IAAQ+rB,GAAQ1qB,iBACrBpG,EAAEiE,GAAGc,IAAM6B,YAAckqB,GACzB9wB,EAAEiE,GAAGc,IAAM8B,WAAa,WAEtB,OADA7G,EAAEiE,GAAGc,IAAQC,GACN8rB,GAAQ1qB,kBChvBjB,IAAMrB,GAAsB,UAItBC,GAAsBhF,EAAEiE,GAAGc,IAE3BsqB,GAAsB,IAAIlsB,OAAJ,wBAAyC,KAE/DsF,GAAO8C,EAAAA,EAAA,GACRulB,GAAQroB,SADA,GAAA,CAEXiR,UAAY,QACZ5X,QAAY,QACZoxB,QAAY,GACZ1D,SAAY,wIAMRxmB,GAAWuC,EAAAA,EAAA,GACZulB,GAAQ9nB,aADI,GAAA,CAEfkqB,QAAU,8BASNptB,GAAQ,CACZsqB,KAAI,kBACJC,OAAM,oBACNC,KAAI,kBACJC,MAAK,mBACLC,SAAQ,sBACRC,MAAK,mBACLC,QAAO,qBACPC,SAAQ,sBACRC,WAAU,wBACVC,WAAU,yBASNqD,GAAAA,SAAAA,+KAiCJjC,cAAA,WACE,OAAOnyB,KAAKgzB,YAAchzB,KAAKq0B,iBAGjC3B,mBAAA,SAAmBF,GACjBtyB,EAAEF,KAAKiyB,iBAAiBrkB,SAAYqlB,cAAgBT,MAGtDP,cAAA,WAEE,OADAjyB,KAAKqxB,IAAMrxB,KAAKqxB,KAAOnxB,EAAEF,KAAKwC,OAAOktB,UAAU,GACxC1vB,KAAKqxB,OAGdkB,WAAA,WACE,IAAMwB,EAAO7zB,EAAEF,KAAKiyB,iBAGpBjyB,KAAKkzB,kBAAkBa,EAAKhY,KAxEP,mBAwE6B/b,KAAKgzB,YACvD,IAAII,EAAUpzB,KAAKq0B,cACI,mBAAZjB,IACTA,EAAUA,EAAQtwB,KAAK9C,KAAKe,UAE9Bf,KAAKkzB,kBAAkBa,EAAKhY,KA5EP,iBA4E+BqX,GAEpDW,EAAK9tB,YAAektB,gBAKtBkB,YAAA,WACE,OAAOr0B,KAAKe,QAAQE,aAAa,iBAC/BjB,KAAKwC,OAAO4wB,WAGhBL,eAAA,WACE,IAAMgB,EAAO7zB,EAAEF,KAAKiyB,iBACd+B,EAAWD,EAAKzjB,KAAK,SAASnN,MAAMosB,IACzB,OAAbyE,GAAqBA,EAASxrB,OAAS,GACzCurB,EAAK9tB,YAAY+tB,EAASC,KAAK,QAM5B3tB,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAIE,EAAOvG,EAAEF,MAAMyG,KA9HG,cA+HhBsD,EAA4B,iBAAXvH,EAAsBA,EAAS,KAEtD,IAAKiE,IAAQ,eAAenD,KAAKd,MAI5BiE,IACHA,EAAO,IAAI2tB,EAAQp0B,KAAM+J,GACzB7J,EAAEF,MAAMyG,KAvIY,aAuIGA,IAGH,iBAAXjE,GAAqB,CAC9B,GAA4B,oBAAjBiE,EAAKjE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERiE,EAAKjE,kDA3FT,MApDwB,wCAwDxB,OAAOmG,gCAIP,OAAO1D,oCAIP,MA/DwB,2CAmExB,OAAOe,qCAIP,MAtEW,kDA0EX,OAAOkD,SA5BLkrB,CAAgBpD,IA2GtB9wB,EAAEiE,GAAGc,IAAQmvB,GAAQ9tB,iBACrBpG,EAAEiE,GAAGc,IAAM6B,YAAcstB,GACzBl0B,EAAEiE,GAAGc,IAAM8B,WAAa,WAEtB,OADA7G,EAAEiE,GAAGc,IAAQC,GACNkvB,GAAQ9tB,kBChKjB,IAAMrB,GAAqB,YAKrBC,GAAqBhF,EAAEiE,GAAGc,IAE1B0D,GAAU,CACdiQ,OAAS,GACT0b,OAAS,OACT3vB,OAAS,IAGLuE,GAAc,CAClB0P,OAAS,SACT0b,OAAS,SACT3vB,OAAS,oBA4BL4vB,GAAAA,WACJ,SAAAA,EAAYxzB,EAASyB,GAAQ,IAAAzC,EAAAC,KAC3BA,KAAKoF,SAAiBrE,EACtBf,KAAKw0B,eAAqC,SAApBzzB,EAAQkH,QAAqBC,OAASnH,EAC5Df,KAAK+J,QAAiB/J,KAAKgK,WAAWxH,GACtCxC,KAAKwP,UAAoBxP,KAAK+J,QAAQpF,OAAb3E,cACAA,KAAK+J,QAAQpF,OADhB,qBAEG3E,KAAK+J,QAAQpF,OAFhB,kBAGtB3E,KAAKy0B,SAAiB,GACtBz0B,KAAK00B,SAAiB,GACtB10B,KAAK20B,cAAiB,KACtB30B,KAAK40B,cAAiB,EAEtB10B,EAAEF,KAAKw0B,gBAAgB3tB,GArCT,uBAqC0B,SAACvC,GAAD,OAAWvE,EAAK80B,SAASvwB,MAEjEtE,KAAK80B,UACL90B,KAAK60B,sCAePC,QAAA,WAAU,IAAAjpB,EAAA7L,KACF+0B,EAAa/0B,KAAKw0B,iBAAmBx0B,KAAKw0B,eAAetsB,OAzC3C,SACA,WA2Cd8sB,EAAuC,SAAxBh1B,KAAK+J,QAAQuqB,OAC9BS,EAAa/0B,KAAK+J,QAAQuqB,OAExBW,EA9Cc,aA8CDD,EACfh1B,KAAKk1B,gBAAkB,EAE3Bl1B,KAAKy0B,SAAW,GAChBz0B,KAAK00B,SAAW,GAEhB10B,KAAK40B,cAAgB50B,KAAKm1B,mBAEV,GAAG/sB,MAAMtF,KAAKlC,SAASyH,iBAAiBrI,KAAKwP,YAG1DyK,KAAI,SAAClZ,GACJ,IAAI4D,EACEywB,EAAiBh1B,EAAKU,uBAAuBC,GAMnD,GAJIq0B,IACFzwB,EAAS/D,SAASQ,cAAcg0B,IAG9BzwB,EAAQ,CACV,IAAM0wB,EAAY1wB,EAAO+L,wBACzB,GAAI2kB,EAAUlf,OAASkf,EAAUnf,OAE/B,MAAO,CACLhW,EAAEyE,GAAQqwB,KAAgB3f,IAAM4f,EAChCG,GAIN,OAAO,QAER9lB,QAAO,SAACiZ,GAAD,OAAUA,KACjBpO,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAE,GAAKC,EAAE,MACxBoC,SAAQ,SAAC8L,GACR1c,EAAK4oB,SAAShlB,KAAK8Y,EAAK,IACxB1c,EAAK6oB,SAASjlB,KAAK8Y,EAAK,UAI9B5iB,QAAA,WACEzF,EAAE0F,WAAW5F,KAAKoF,SAxHK,gBAyHvBlF,EAAEF,KAAKw0B,gBAAgBhpB,IAxHZ,iBA0HXxL,KAAKoF,SAAiB,KACtBpF,KAAKw0B,eAAiB,KACtBx0B,KAAK+J,QAAiB,KACtB/J,KAAKwP,UAAiB,KACtBxP,KAAKy0B,SAAiB,KACtBz0B,KAAK00B,SAAiB,KACtB10B,KAAK20B,cAAiB,KACtB30B,KAAK40B,cAAiB,QAKxB5qB,WAAA,SAAWxH,GAMT,GAA6B,iBAL7BA,EAAMiJ,EAAAA,EAAA,GACD9C,IACkB,iBAAXnG,GAAuBA,EAASA,EAAS,KAGnCmC,QAAuBvE,EAAK+B,UAAUK,EAAOmC,QAAS,CACtE,IAAIuK,EAAKhP,EAAEsC,EAAOmC,QAAQ2L,KAAK,MAC1BpB,IACHA,EAAK9O,EAAKI,OAAOyE,IACjB/E,EAAEsC,EAAOmC,QAAQ2L,KAAK,KAAMpB,IAE9B1M,EAAOmC,OAAP,IAAoBuK,EAKtB,OAFA9O,EAAKkC,gBAAgB2C,GAAMzC,EAAQ0G,IAE5B1G,KAGT0yB,cAAA,WACE,OAAOl1B,KAAKw0B,iBAAmBtsB,OAC3BlI,KAAKw0B,eAAec,YAAct1B,KAAKw0B,eAAetf,aAG5DigB,iBAAA,WACE,OAAOn1B,KAAKw0B,eAAelJ,cAAgB5qB,KAAKsV,IAC9CpV,SAAS4R,KAAK8Y,aACd1qB,SAAS8C,gBAAgB4nB,iBAI7BiK,iBAAA,WACE,OAAOv1B,KAAKw0B,iBAAmBtsB,OAC3BA,OAAOyQ,YAAc3Y,KAAKw0B,eAAe9jB,wBAAwBwF,UAGvE2e,SAAA,WACE,IAAM3f,EAAelV,KAAKk1B,gBAAkBl1B,KAAK+J,QAAQ6O,OACnD0S,EAAetrB,KAAKm1B,mBACpBK,EAAex1B,KAAK+J,QAAQ6O,OAAS0S,EAAetrB,KAAKu1B,mBAM/D,GAJIv1B,KAAK40B,gBAAkBtJ,GACzBtrB,KAAK80B,UAGH5f,GAAasgB,EAAjB,CACE,IAAM7wB,EAAS3E,KAAK00B,SAAS10B,KAAK00B,SAASlsB,OAAS,GAEhDxI,KAAK20B,gBAAkBhwB,GACzB3E,KAAKy1B,UAAU9wB,OAJnB,CASA,GAAI3E,KAAK20B,eAAiBzf,EAAYlV,KAAKy0B,SAAS,IAAMz0B,KAAKy0B,SAAS,GAAK,EAG3E,OAFAz0B,KAAK20B,cAAgB,UACrB30B,KAAK01B,SAIP,IAAK,IAAIptB,EAAItI,KAAKy0B,SAASjsB,OAAQF,KAAM,CAChBtI,KAAK20B,gBAAkB30B,KAAK00B,SAASpsB,IACxD4M,GAAalV,KAAKy0B,SAASnsB,KACM,oBAAzBtI,KAAKy0B,SAASnsB,EAAI,IACtB4M,EAAYlV,KAAKy0B,SAASnsB,EAAI,KAGpCtI,KAAKy1B,UAAUz1B,KAAK00B,SAASpsB,SAKnCmtB,UAAA,SAAU9wB,GACR3E,KAAK20B,cAAgBhwB,EAErB3E,KAAK01B,SAEL,IAAMC,EAAU31B,KAAKwP,UAClB3N,MAAM,KACNoY,KAAI,SAACjZ,GAAD,OAAiBA,EAAjB,iBAA0C2D,EAA1C,MAAsD3D,EAAtD,UAAwE2D,EAAxE,QAEDixB,EAAQ11B,EAAE,GAAGkI,MAAMtF,KAAKlC,SAASyH,iBAAiBstB,EAAQ1B,KAAK,QAEjE2B,EAAM1vB,SAtMmB,kBAuM3B0vB,EAAM9vB,QA/LqB,aAgMxBiW,KA9LwB,oBA+LxBnO,SAxMwB,UAyM3BgoB,EAAMhoB,SAzMqB,YA4M3BgoB,EAAMhoB,SA5MqB,UA+M3BgoB,EAAMC,QA5MqB,qBA6MxBhrB,KAAQirB,+BACRloB,SAjNwB,UAmN3BgoB,EAAMC,QAhNqB,qBAiNxBhrB,KA/MwB,aAgNxB8C,SAjNwB,aAkNxBC,SAtNwB,WAyN7B1N,EAAEF,KAAKw0B,gBAAgBxyB,QA9NP,wBA8N+B,CAC7CkL,cAAevI,OAInB+wB,OAAA,WACE,GAAGttB,MAAMtF,KAAKlC,SAASyH,iBAAiBrI,KAAKwP,YAC1CF,QAAO,SAACoE,GAAD,OAAUA,EAAKnM,UAAUC,SAhON,aAiO1BiV,SAAQ,SAAC/I,GAAD,OAAUA,EAAKnM,UAAUlB,OAjOP,gBAsOxBC,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAIE,EAAOvG,EAAEF,MAAMyG,KA9PE,gBAsQrB,GALKA,IACHA,EAAO,IAAI8tB,EAAUv0B,KAHW,iBAAXwC,GAAuBA,GAI5CtC,EAAEF,MAAMyG,KAnQW,eAmQIA,IAGH,iBAAXjE,EAAqB,CAC9B,GAA4B,oBAAjBiE,EAAKjE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERiE,EAAKjE,kDA1MT,MAjEuB,wCAqEvB,OAAOmG,SA1BL4rB,GA4ONr0B,EAAEgI,QAAQrB,GAnQe,8BAmQS,WAIhC,IAHA,IAAMkvB,EAAa,GAAG3tB,MAAMtF,KAAKlC,SAASyH,iBA/PX,wBAkQtBC,EAFgBytB,EAAWvtB,OAELF,KAAM,CACnC,IAAM0tB,EAAO91B,EAAE61B,EAAWztB,IAC1BisB,GAAUjuB,iBAAiBxD,KAAKkzB,EAAMA,EAAKvvB,YAU/CvG,EAAEiE,GAAGc,IAAQsvB,GAAUjuB,iBACvBpG,EAAEiE,GAAGc,IAAM6B,YAAcytB,GACzBr0B,EAAEiE,GAAGc,IAAM8B,WAAa,WAEtB,OADA7G,EAAEiE,GAAGc,IAAQC,GACNqvB,GAAUjuB,kBC5SnB,IAKMpB,GAAqBhF,EAAEiE,GAAF,IA4BrB8xB,GAAAA,WACJ,SAAAA,EAAYl1B,GACVf,KAAKoF,SAAWrE,6BAWlB+O,KAAA,WAAO,IAAA/P,EAAAC,KACL,KAAIA,KAAKoF,SAASrB,YACd/D,KAAKoF,SAASrB,WAAW1B,WAAa2R,KAAKiW,cAC3C/pB,EAAEF,KAAKoF,UAAUc,SAnCQ,WAoCzBhG,EAAEF,KAAKoF,UAAUc,SAnCQ,aAgC7B,CAOA,IAAIvB,EACAuxB,EACEC,EAAcj2B,EAAEF,KAAKoF,UAAUU,QApCF,qBAoCmC,GAChE9E,EAAWZ,EAAKU,uBAAuBd,KAAKoF,UAElD,GAAI+wB,EAAa,CACf,IAAMC,EAAwC,OAAzBD,EAAY9jB,UAA8C,OAAzB8jB,EAAY9jB,SAtCjC,iBADA,UAyCjC6jB,GADAA,EAAWh2B,EAAEm2B,UAAUn2B,EAAEi2B,GAAapa,KAAKqa,KACvBF,EAAS1tB,OAAS,GAGxC,IAAMmf,EAAYznB,EAAE8F,MA1DR,cA0D0B,CACpCkH,cAAelN,KAAKoF,WAGhBkiB,EAAYpnB,EAAE8F,MA5DR,cA4D0B,CACpCkH,cAAegpB,IASjB,GANIA,GACFh2B,EAAEg2B,GAAUl0B,QAAQ2lB,GAGtBznB,EAAEF,KAAKoF,UAAUpD,QAAQslB,IAErBA,EAAU7hB,uBACVkiB,EAAUliB,qBADd,CAKIzE,IACF2D,EAAS/D,SAASQ,cAAcJ,IAGlChB,KAAKy1B,UACHz1B,KAAKoF,SACL+wB,GAGF,IAAMvD,EAAW,WACf,IAAM0D,EAAcp2B,EAAE8F,MAtFV,gBAsF8B,CACxCkH,cAAenN,EAAKqF,WAGhBglB,EAAalqB,EAAE8F,MAxFV,eAwF6B,CACtCkH,cAAegpB,IAGjBh2B,EAAEg2B,GAAUl0B,QAAQs0B,GACpBp2B,EAAEH,EAAKqF,UAAUpD,QAAQooB,IAGvBzlB,EACF3E,KAAKy1B,UAAU9wB,EAAQA,EAAOZ,WAAY6uB,GAE1CA,SAIJjtB,QAAA,WACEzF,EAAE0F,WAAW5F,KAAKoF,SAhHK,UAiHvBpF,KAAKoF,SAAW,QAKlBqwB,UAAA,SAAU10B,EAAS8uB,EAAW7Q,GAAU,IAAAnT,EAAA7L,KAKhCu2B,IAJiB1G,GAAqC,OAAvBA,EAAUxd,UAA4C,OAAvBwd,EAAUxd,SAE1EnS,EAAE2vB,GAAWliB,SAtGkB,WAqG/BzN,EAAE2vB,GAAW9T,KApGkB,mBAuGL,GACxBnL,EAAkBoO,GAAauX,GAAUr2B,EAAEq2B,GAAQrwB,SA9G5B,QA+GvB0sB,EAAW,WAAA,OAAM/mB,EAAK2qB,oBAC1Bz1B,EACAw1B,EACAvX,IAGF,GAAIuX,GAAU3lB,EAAiB,CAC7B,IAAMrP,EAAqBnB,EAAKkB,iCAAiCi1B,GAEjEr2B,EAAEq2B,GACCtwB,YAxHwB,QAyHxB9F,IAAIC,EAAKC,eAAgBuyB,GACzBvuB,qBAAqB9C,QAExBqxB,OAIJ4D,oBAAA,SAAoBz1B,EAASw1B,EAAQvX,GACnC,GAAIuX,EAAQ,CACVr2B,EAAEq2B,GAAQtwB,YArIiB,UAuI3B,IAAMwwB,EAAgBv2B,EAAEq2B,EAAOxyB,YAAYgY,KA5HV,4BA8H/B,GAEE0a,GACFv2B,EAAEu2B,GAAexwB,YA5IQ,UA+IS,QAAhCswB,EAAOt1B,aAAa,SACtBs1B,EAAO3uB,aAAa,iBAAiB,GAezC,GAXA1H,EAAEa,GAAS6M,SApJkB,UAqJQ,QAAjC7M,EAAQE,aAAa,SACvBF,EAAQ6G,aAAa,iBAAiB,GAGxCxH,EAAK0B,OAAOf,GAERA,EAAQwG,UAAUC,SAzJO,SA0J3BzG,EAAQwG,UAAUkB,IAzJS,QA4JzB1H,EAAQgD,YAAc7D,EAAEa,EAAQgD,YAAYmC,SAhKnB,iBAgKuD,CAClF,IAAMwwB,EAAkBx2B,EAAEa,GAAS+E,QA3JF,aA2J6B,GAE9D,GAAI4wB,EAAiB,CACnB,IAAMC,EAAqB,GAAGvuB,MAAMtF,KAAK4zB,EAAgBruB,iBAzJ1B,qBA2J/BnI,EAAEy2B,GAAoB/oB,SArKG,UAwK3B7M,EAAQ6G,aAAa,iBAAiB,GAGpCoX,GACFA,OAMG1Y,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAMyK,EAAQ9Q,EAAEF,MACZyG,EAAOuK,EAAMvK,KAjMI,UAwMrB,GALKA,IACHA,EAAO,IAAIwvB,EAAIj2B,MACfgR,EAAMvK,KArMa,SAqMEA,IAGD,iBAAXjE,EAAqB,CAC9B,GAA4B,oBAAjBiE,EAAKjE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERiE,EAAKjE,kDArKT,MAxCuB,cAgCrByzB,GAyLN/1B,EAAEU,UACCiG,GAhNuB,wBAYa,mEAoMW,SAAUvC,GACxDA,EAAMsC,iBACNqvB,GAAI3vB,iBAAiBxD,KAAK5C,EAAEF,MAAO,WASvCE,EAAEiE,GAAF,IAAa8xB,GAAI3vB,iBACjBpG,EAAEiE,GAAF,IAAW2C,YAAcmvB,GACzB/1B,EAAEiE,GAAF,IAAW4C,WAAa,WAEtB,OADA7G,EAAEiE,GAAF,IAAae,GACN+wB,GAAI3vB,kBC1Ob,IAIMpB,GAAqBhF,EAAEiE,GAAF,MAarB+E,GAAc,CAClBumB,UAAY,UACZmH,SAAY,UACZhH,MAAY,UAGRjnB,GAAU,CACd8mB,WAAY,EACZmH,UAAY,EACZhH,MAAY,KAWRiH,GAAAA,WACJ,SAAAA,EAAY91B,EAASyB,GACnBxC,KAAKoF,SAAWrE,EAChBf,KAAK+J,QAAW/J,KAAKgK,WAAWxH,GAChCxC,KAAKkxB,SAAW,KAChBlxB,KAAKsxB,2CAmBPxhB,KAAA,WAAO,IAAA/P,EAAAC,KACCsnB,EAAYpnB,EAAE8F,MArDR,iBAwDZ,GADA9F,EAAEF,KAAKoF,UAAUpD,QAAQslB,IACrBA,EAAU7hB,qBAAd,CAIIzF,KAAK+J,QAAQ0lB,WACfzvB,KAAKoF,SAASmC,UAAUkB,IA1DH,QA6DvB,IAAMmqB,EAAW,WACf7yB,EAAKqF,SAASmC,UAAUlB,OA3DH,WA4DrBtG,EAAKqF,SAASmC,UAAUkB,IA7DH,QA+DrBvI,EAAEH,EAAKqF,UAAUpD,QAnEN,kBAqEPjC,EAAKgK,QAAQ6sB,WACf72B,EAAKmxB,SAAW5wB,YAAW,WACzBP,EAAK8P,SACJ9P,EAAKgK,QAAQ6lB,SAOpB,GAHA5vB,KAAKoF,SAASmC,UAAUlB,OAzED,QA0EvBjG,EAAK0B,OAAO9B,KAAKoF,UACjBpF,KAAKoF,SAASmC,UAAUkB,IAzED,WA0EnBzI,KAAK+J,QAAQ0lB,UAAW,CAC1B,IAAMluB,EAAqBnB,EAAKkB,iCAAiCtB,KAAKoF,UAEtElF,EAAEF,KAAKoF,UACJjF,IAAIC,EAAKC,eAAgBuyB,GACzBvuB,qBAAqB9C,QAExBqxB,QAIJ/iB,KAAA,WACE,GAAK7P,KAAKoF,SAASmC,UAAUC,SAvFN,QAuFvB,CAIA,IAAMmgB,EAAYznB,EAAE8F,MAlGR,iBAoGZ9F,EAAEF,KAAKoF,UAAUpD,QAAQ2lB,GACrBA,EAAUliB,sBAIdzF,KAAK82B,aAGPnxB,QAAA,WACE4G,aAAavM,KAAKkxB,UAClBlxB,KAAKkxB,SAAW,KAEZlxB,KAAKoF,SAASmC,UAAUC,SAzGL,SA0GrBxH,KAAKoF,SAASmC,UAAUlB,OA1GH,QA6GvBnG,EAAEF,KAAKoF,UAAUoG,IArHI,0BAuHrBtL,EAAE0F,WAAW5F,KAAKoF,SA3HK,YA4HvBpF,KAAKoF,SAAW,KAChBpF,KAAK+J,QAAW,QAKlBC,WAAA,SAAWxH,GAaT,OAZAA,EAAMiJ,EAAAA,EAAAA,EAAA,GACD9C,IACAzI,EAAEF,KAAKoF,UAAUqB,QACC,iBAAXjE,GAAuBA,EAASA,EAAS,IAGrDpC,EAAKkC,gBA3IkB,QA6IrBE,EACAxC,KAAK6nB,YAAY3e,aAGZ1G,KAGT8uB,cAAA,WAAgB,IAAAzlB,EAAA7L,KACdE,EAAEF,KAAKoF,UAAUyB,GA/II,yBAuBK,0BAwHsC,WAAA,OAAMgF,EAAKgE,aAG7EinB,OAAA,WAAS,IAAA9qB,EAAAhM,KACD4yB,EAAW,WACf5mB,EAAK5G,SAASmC,UAAUkB,IA7IH,QA8IrBvI,EAAE8L,EAAK5G,UAAUpD,QAnJL,oBAuJd,GADAhC,KAAKoF,SAASmC,UAAUlB,OAhJD,QAiJnBrG,KAAK+J,QAAQ0lB,UAAW,CAC1B,IAAMluB,EAAqBnB,EAAKkB,iCAAiCtB,KAAKoF,UAEtElF,EAAEF,KAAKoF,UACJjF,IAAIC,EAAKC,eAAgBuyB,GACzBvuB,qBAAqB9C,QAExBqxB,OAMGtsB,iBAAP,SAAwB9D,GACtB,OAAOxC,KAAKuG,MAAK,WACf,IAAMC,EAAWtG,EAAEF,MACfyG,EAAaD,EAASC,KA7KL,YAqLrB,GALKA,IACHA,EAAO,IAAIowB,EAAM72B,KAHgB,iBAAXwC,GAAuBA,GAI7CgE,EAASC,KAlLU,WAkLKA,IAGJ,iBAAXjE,EAAqB,CAC9B,GAA4B,oBAAjBiE,EAAKjE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAGRiE,EAAKjE,GAAQxC,mDA5IjB,MA/CuB,4CAmDvB,OAAOkJ,mCAIP,OAAOP,SAnBLkuB,GAmKN32B,EAAEiE,GAAF,MAAyB0yB,GAAMvwB,iBAC/BpG,EAAEiE,GAAF,MAAW2C,YAAc+vB,GACzB32B,EAAEiE,GAAF,MAAW4C,WAAc,WAEvB,OADA7G,EAAEiE,GAAF,MAAae,GACN2xB,GAAMvwB","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n SELECTOR_DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {\n event.preventDefault() // work around event sent to label and input\n }\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? DIRECTION_NEXT\n : DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, (event) => this.pause(event))\n .on(EVENT_MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, (e) => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, (event) => start(event))\n $(this._element).on(EVENT_POINTERUP, (event) => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, (event) => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, (event) => move(event))\n $(this._element).on(EVENT_TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)\n ? PLACEMENT_TOPEND\n : PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE)\n ? CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst 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\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, (event) => this._enter(event))\n .on(eventOut, this.config.selector, (event) => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .addClass(CLASS_NAME_ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(SELECTOR_NAV_ITEMS)\n .children(SELECTOR_NAV_LINKS)\n .addClass(CLASS_NAME_ACTIVE)\n }\n\n $(this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = '> li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(CLASS_NAME_ACTIVE) ||\n $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(EVENT_HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(SELECTOR_ACTIVE_UL)\n : $(container).children(SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(CLASS_NAME_SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(CLASS_NAME_ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n SELECTOR_DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(EVENT_SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n $(this._element).trigger(EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n Util.reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n $(this._element).trigger(EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/js/bootstrap.js b/vendor/twbs/bootstrap/dist/js/bootstrap.js
index f1e68d319..363e0013b 100644
--- a/vendor/twbs/bootstrap/dist/js/bootstrap.js
+++ b/vendor/twbs/bootstrap/dist/js/bootstrap.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
}(this, (function (exports, $, Popper) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Popper = Popper && Object.prototype.hasOwnProperty.call(Popper, 'default') ? Popper['default'] : Popper;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -85,7 +85,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): util.js
+ * Bootstrap (v4.5.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -100,6 +100,10 @@
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();
}
@@ -112,7 +116,7 @@
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
- return undefined; // eslint-disable-line no-undefined
+ return undefined;
}
};
}
@@ -262,33 +266,25 @@
*/
var NAME = 'alert';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var Selector = {
- DISMISS: '[data-dismiss="alert"]'
- };
- var Event = {
- CLOSE: "close" + EVENT_KEY,
- CLOSED: "closed" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- ALERT: 'alert',
- FADE: 'fade',
- SHOW: 'show'
- };
+ 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 () {
+ var Alert = /*#__PURE__*/function () {
function Alert(element) {
this._element = element;
} // Getters
@@ -328,14 +324,14 @@
}
if (!parent) {
- parent = $(element).closest("." + ClassName.ALERT)[0];
+ parent = $(element).closest("." + CLASS_NAME_ALERT)[0];
}
return parent;
};
_proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- var closeEvent = $.Event(Event.CLOSE);
+ var closeEvent = $.Event(EVENT_CLOSE);
$(element).trigger(closeEvent);
return closeEvent;
};
@@ -343,9 +339,9 @@
_proto._removeElement = function _removeElement(element) {
var _this = this;
- $(element).removeClass(ClassName.SHOW);
+ $(element).removeClass(CLASS_NAME_SHOW);
- if (!$(element).hasClass(ClassName.FADE)) {
+ if (!$(element).hasClass(CLASS_NAME_FADE)) {
this._destroyElement(element);
return;
@@ -358,7 +354,7 @@
};
_proto._destroyElement = function _destroyElement(element) {
- $(element).detach().trigger(Event.CLOSED).remove();
+ $(element).detach().trigger(EVENT_CLOSED).remove();
} // Static
;
@@ -404,7 +400,7 @@
*/
- $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
/**
* ------------------------------------------------------------------------
* jQuery
@@ -426,39 +422,31 @@
*/
var NAME$1 = 'button';
- var VERSION$1 = '4.4.1';
+ var VERSION$1 = '4.5.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 = $.fn[NAME$1];
- var ClassName$1 = {
- ACTIVE: 'active',
- BUTTON: 'btn',
- FOCUS: 'focus'
- };
- var Selector$1 = {
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
- DATA_TOGGLES: '[data-toggle="buttons"]',
- DATA_TOGGLE: '[data-toggle="button"]',
- DATA_TOGGLES_BUTTONS: '[data-toggle="buttons"] .btn',
- INPUT: 'input:not([type="hidden"])',
- ACTIVE: '.active',
- BUTTON: '.btn'
- };
- var Event$1 = {
- CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1),
- LOAD_DATA_API: "load" + EVENT_KEY$1 + DATA_API_KEY$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 () {
+ var Button = /*#__PURE__*/function () {
function Button(element) {
this._element = element;
} // Getters
@@ -470,33 +458,30 @@
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
- var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLES)[0];
+ var rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0];
if (rootElement) {
- var input = this._element.querySelector(Selector$1.INPUT);
+ var input = this._element.querySelector(SELECTOR_INPUT);
if (input) {
if (input.type === 'radio') {
- if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
+ if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
triggerChangeEvent = false;
} else {
- var activeElement = rootElement.querySelector(Selector$1.ACTIVE);
+ var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
if (activeElement) {
- $(activeElement).removeClass(ClassName$1.ACTIVE);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE);
}
}
- } else if (input.type === 'checkbox') {
- if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName$1.ACTIVE)) {
- triggerChangeEvent = false;
- }
- } else {
- // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
- triggerChangeEvent = false;
}
if (triggerChangeEvent) {
- input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
+ // 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);
+ }
+
$(input).trigger('change');
}
@@ -507,11 +492,11 @@
if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
}
if (triggerChangeEvent) {
- $(this._element).toggleClass(ClassName$1.ACTIVE);
+ $(this._element).toggleClass(CLASS_NAME_ACTIVE);
}
}
};
@@ -553,17 +538,18 @@
*/
- $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
var button = event.target;
+ var initialButton = button;
- if (!$(button).hasClass(ClassName$1.BUTTON)) {
- button = $(button).closest(Selector$1.BUTTON)[0];
+ if (!$(button).hasClass(CLASS_NAME_BUTTON)) {
+ button = $(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$1.INPUT);
+ var inputBtn = button.querySelector(SELECTOR_INPUT);
if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
event.preventDefault(); // work around Firefox bug #1540995
@@ -571,38 +557,42 @@
return;
}
+ if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {
+ event.preventDefault(); // work around event sent to label and input
+ }
+
Button._jQueryInterface.call($(button), 'toggle');
}
- }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
- var button = $(event.target).closest(Selector$1.BUTTON)[0];
- $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
+ }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = $(event.target).closest(SELECTOR_BUTTON)[0];
+ $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
});
- $(window).on(Event$1.LOAD_DATA_API, function () {
+ $(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$1.DATA_TOGGLES_BUTTONS));
+ 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$1.INPUT);
+ var input = button.querySelector(SELECTOR_INPUT);
if (input.checked || input.hasAttribute('checked')) {
- button.classList.add(ClassName$1.ACTIVE);
+ button.classList.add(CLASS_NAME_ACTIVE);
} else {
- button.classList.remove(ClassName$1.ACTIVE);
+ button.classList.remove(CLASS_NAME_ACTIVE);
}
} // find all button toggles
- buttons = [].slice.call(document.querySelectorAll(Selector$1.DATA_TOGGLE));
+ 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(ClassName$1.ACTIVE);
+ _button.classList.add(CLASS_NAME_ACTIVE);
} else {
- _button.classList.remove(ClassName$1.ACTIVE);
+ _button.classList.remove(CLASS_NAME_ACTIVE);
}
}
});
@@ -627,7 +617,7 @@
*/
var NAME$2 = 'carousel';
- var VERSION$2 = '4.4.1';
+ var VERSION$2 = '4.5.0';
var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api';
@@ -655,48 +645,39 @@
wrap: 'boolean',
touch: 'boolean'
};
- var Direction = {
- NEXT: 'next',
- PREV: 'prev',
- LEFT: 'left',
- RIGHT: 'right'
- };
- var Event$2 = {
- SLIDE: "slide" + EVENT_KEY$2,
- SLID: "slid" + EVENT_KEY$2,
- KEYDOWN: "keydown" + EVENT_KEY$2,
- MOUSEENTER: "mouseenter" + EVENT_KEY$2,
- MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
- TOUCHSTART: "touchstart" + EVENT_KEY$2,
- TOUCHMOVE: "touchmove" + EVENT_KEY$2,
- TOUCHEND: "touchend" + EVENT_KEY$2,
- POINTERDOWN: "pointerdown" + EVENT_KEY$2,
- POINTERUP: "pointerup" + EVENT_KEY$2,
- DRAG_START: "dragstart" + EVENT_KEY$2,
- LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
- CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
- };
- var ClassName$2 = {
- CAROUSEL: 'carousel',
- ACTIVE: 'active',
- SLIDE: 'slide',
- RIGHT: 'carousel-item-right',
- LEFT: 'carousel-item-left',
- NEXT: 'carousel-item-next',
- PREV: 'carousel-item-prev',
- ITEM: 'carousel-item',
- POINTER_EVENT: 'pointer-event'
- };
- var Selector$2 = {
- ACTIVE: '.active',
- ACTIVE_ITEM: '.active.carousel-item',
- ITEM: '.carousel-item',
- ITEM_IMG: '.carousel-item img',
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
- INDICATORS: '.carousel-indicators',
- DATA_SLIDE: '[data-slide], [data-slide-to]',
- DATA_RIDE: '[data-ride="carousel"]'
- };
+ 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'
@@ -707,9 +688,7 @@
* ------------------------------------------------------------------------
*/
- var Carousel =
- /*#__PURE__*/
- function () {
+ var Carousel = /*#__PURE__*/function () {
function Carousel(element, config) {
this._items = null;
this._interval = null;
@@ -721,7 +700,7 @@
this.touchDeltaX = 0;
this._config = this._getConfig(config);
this._element = element;
- this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
+ this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
@@ -734,7 +713,7 @@
// Public
_proto.next = function next() {
if (!this._isSliding) {
- this._slide(Direction.NEXT);
+ this._slide(DIRECTION_NEXT);
}
};
@@ -748,7 +727,7 @@
_proto.prev = function prev() {
if (!this._isSliding) {
- this._slide(Direction.PREV);
+ this._slide(DIRECTION_PREV);
}
};
@@ -757,7 +736,7 @@
this._isPaused = true;
}
- if (this._element.querySelector(Selector$2.NEXT_PREV)) {
+ if (this._element.querySelector(SELECTOR_NEXT_PREV)) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
@@ -784,7 +763,7 @@
_proto.to = function to(index) {
var _this = this;
- this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
+ this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
var activeIndex = this._getItemIndex(this._activeElement);
@@ -793,7 +772,7 @@
}
if (this._isSliding) {
- $(this._element).one(Event$2.SLID, function () {
+ $(this._element).one(EVENT_SLID, function () {
return _this.to(index);
});
return;
@@ -805,7 +784,7 @@
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
this._slide(direction, this._items[index]);
};
@@ -825,7 +804,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default), config);
Util.typeCheckConfig(NAME$2, config, DefaultType);
return config;
};
@@ -854,15 +833,15 @@
var _this2 = this;
if (this._config.keyboard) {
- $(this._element).on(Event$2.KEYDOWN, function (event) {
+ $(this._element).on(EVENT_KEYDOWN, function (event) {
return _this2._keydown(event);
});
}
if (this._config.pause === 'hover') {
- $(this._element).on(Event$2.MOUSEENTER, function (event) {
+ $(this._element).on(EVENT_MOUSEENTER, function (event) {
return _this2.pause(event);
- }).on(Event$2.MOUSELEAVE, function (event) {
+ }).on(EVENT_MOUSELEAVE, function (event) {
return _this2.cycle(event);
});
}
@@ -923,27 +902,27 @@
}
};
- $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {
+ $(this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {
return e.preventDefault();
});
if (this._pointerEvent) {
- $(this._element).on(Event$2.POINTERDOWN, function (event) {
+ $(this._element).on(EVENT_POINTERDOWN, function (event) {
return start(event);
});
- $(this._element).on(Event$2.POINTERUP, function (event) {
+ $(this._element).on(EVENT_POINTERUP, function (event) {
return end(event);
});
- this._element.classList.add(ClassName$2.POINTER_EVENT);
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
} else {
- $(this._element).on(Event$2.TOUCHSTART, function (event) {
+ $(this._element).on(EVENT_TOUCHSTART, function (event) {
return start(event);
});
- $(this._element).on(Event$2.TOUCHMOVE, function (event) {
+ $(this._element).on(EVENT_TOUCHMOVE, function (event) {
return move(event);
});
- $(this._element).on(Event$2.TOUCHEND, function (event) {
+ $(this._element).on(EVENT_TOUCHEND, function (event) {
return end(event);
});
}
@@ -968,13 +947,13 @@
};
_proto._getItemIndex = function _getItemIndex(element) {
- this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];
+ 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 isNextDirection = direction === DIRECTION_NEXT;
+ var isPrevDirection = direction === DIRECTION_PREV;
var activeIndex = this._getItemIndex(activeElement);
@@ -985,7 +964,7 @@
return activeElement;
}
- var delta = direction === Direction.PREV ? -1 : 1;
+ 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];
};
@@ -993,9 +972,9 @@
_proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var targetIndex = this._getItemIndex(relatedTarget);
- var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
+ var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));
- var slideEvent = $.Event(Event$2.SLIDE, {
+ var slideEvent = $.Event(EVENT_SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName,
from: fromIndex,
@@ -1007,13 +986,13 @@
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
- $(indicators).removeClass(ClassName$2.ACTIVE);
+ var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));
+ $(indicators).removeClass(CLASS_NAME_ACTIVE$1);
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
if (nextIndicator) {
- $(nextIndicator).addClass(ClassName$2.ACTIVE);
+ $(nextIndicator).addClass(CLASS_NAME_ACTIVE$1);
}
}
};
@@ -1021,7 +1000,7 @@
_proto._slide = function _slide(direction, element) {
var _this4 = this;
- var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
+ var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
var activeElementIndex = this._getItemIndex(activeElement);
@@ -1034,17 +1013,17 @@
var orderClassName;
var eventDirectionName;
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName$2.LEFT;
- orderClassName = ClassName$2.NEXT;
- eventDirectionName = Direction.LEFT;
+ if (direction === DIRECTION_NEXT) {
+ directionalClassName = CLASS_NAME_LEFT;
+ orderClassName = CLASS_NAME_NEXT;
+ eventDirectionName = DIRECTION_LEFT;
} else {
- directionalClassName = ClassName$2.RIGHT;
- orderClassName = ClassName$2.PREV;
- eventDirectionName = Direction.RIGHT;
+ directionalClassName = CLASS_NAME_RIGHT;
+ orderClassName = CLASS_NAME_PREV;
+ eventDirectionName = DIRECTION_RIGHT;
}
- if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
+ if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE$1)) {
this._isSliding = false;
return;
}
@@ -1068,14 +1047,14 @@
this._setActiveIndicatorElement(nextElement);
- var slidEvent = $.Event(Event$2.SLID, {
+ var slidEvent = $.Event(EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
to: nextElementIndex
});
- if ($(this._element).hasClass(ClassName$2.SLIDE)) {
+ if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {
$(nextElement).addClass(orderClassName);
Util.reflow(nextElement);
$(activeElement).addClass(directionalClassName);
@@ -1091,16 +1070,16 @@
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
$(activeElement).one(Util.TRANSITION_END, function () {
- $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE);
- $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName);
+ $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$1);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE$1 + " " + orderClassName + " " + directionalClassName);
_this4._isSliding = false;
setTimeout(function () {
return $(_this4._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(transitionDuration);
} else {
- $(activeElement).removeClass(ClassName$2.ACTIVE);
- $(nextElement).addClass(ClassName$2.ACTIVE);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE$1);
+ $(nextElement).addClass(CLASS_NAME_ACTIVE$1);
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
@@ -1115,10 +1094,10 @@
return this.each(function () {
var data = $(this).data(DATA_KEY$2);
- var _config = _objectSpread2({}, Default, {}, $(this).data());
+ var _config = _objectSpread2(_objectSpread2({}, Default), $(this).data());
if (typeof config === 'object') {
- _config = _objectSpread2({}, _config, {}, config);
+ _config = _objectSpread2(_objectSpread2({}, _config), config);
}
var action = typeof config === 'string' ? config : _config.slide;
@@ -1152,11 +1131,11 @@
var target = $(selector)[0];
- if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
+ if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {
return;
}
- var config = _objectSpread2({}, $(target).data(), {}, $(this).data());
+ var config = _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
@@ -1194,9 +1173,9 @@
*/
- $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
- $(window).on(Event$2.LOAD_DATA_API, function () {
- var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
+ $(document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);
+ $(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 = $(carousels[i]);
@@ -1225,7 +1204,7 @@
*/
var NAME$3 = 'collapse';
- var VERSION$3 = '4.4.1';
+ var VERSION$3 = '4.5.0';
var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api';
@@ -1238,42 +1217,32 @@
toggle: 'boolean',
parent: '(string|element)'
};
- var Event$3 = {
- SHOW: "show" + EVENT_KEY$3,
- SHOWN: "shown" + EVENT_KEY$3,
- HIDE: "hide" + EVENT_KEY$3,
- HIDDEN: "hidden" + EVENT_KEY$3,
- CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
- };
- var ClassName$3 = {
- SHOW: 'show',
- COLLAPSE: 'collapse',
- COLLAPSING: 'collapsing',
- COLLAPSED: 'collapsed'
- };
- var Dimension = {
- WIDTH: 'width',
- HEIGHT: 'height'
- };
- var Selector$3 = {
- ACTIVES: '.show, .collapsing',
- DATA_TOGGLE: '[data-toggle="collapse"]'
- };
+ 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 () {
+ 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$3.DATA_TOGGLE));
+ var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));
for (var i = 0, len = toggleList.length; i < len; i++) {
var elem = toggleList[i];
@@ -1305,7 +1274,7 @@
// Public
_proto.toggle = function toggle() {
- if ($(this._element).hasClass(ClassName$3.SHOW)) {
+ if ($(this._element).hasClass(CLASS_NAME_SHOW$1)) {
this.hide();
} else {
this.show();
@@ -1315,7 +1284,7 @@
_proto.show = function show() {
var _this = this;
- if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {
+ if (this._isTransitioning || $(this._element).hasClass(CLASS_NAME_SHOW$1)) {
return;
}
@@ -1323,12 +1292,12 @@
var activesData;
if (this._parent) {
- actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {
+ 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(ClassName$3.COLLAPSE);
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
});
if (actives.length === 0) {
@@ -1344,7 +1313,7 @@
}
}
- var startEvent = $.Event(Event$3.SHOW);
+ var startEvent = $.Event(EVENT_SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
@@ -1361,22 +1330,22 @@
var dimension = this._getDimension();
- $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);
+ $(this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
- $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);
+ $(this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
}
this.setTransitioning(true);
var complete = function complete() {
- $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);
+ $(_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1);
_this._element.style[dimension] = '';
_this.setTransitioning(false);
- $(_this._element).trigger(Event$3.SHOWN);
+ $(_this._element).trigger(EVENT_SHOWN);
};
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
@@ -1389,11 +1358,11 @@
_proto.hide = function hide() {
var _this2 = this;
- if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {
+ if (this._isTransitioning || !$(this._element).hasClass(CLASS_NAME_SHOW$1)) {
return;
}
- var startEvent = $.Event(Event$3.HIDE);
+ var startEvent = $.Event(EVENT_HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
@@ -1404,7 +1373,7 @@
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
Util.reflow(this._element);
- $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);
+ $(this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1);
var triggerArrayLength = this._triggerArray.length;
if (triggerArrayLength > 0) {
@@ -1415,8 +1384,8 @@
if (selector !== null) {
var $elem = $([].slice.call(document.querySelectorAll(selector)));
- if (!$elem.hasClass(ClassName$3.SHOW)) {
- $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);
+ if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {
+ $(trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
}
}
}
@@ -1427,7 +1396,7 @@
var complete = function complete() {
_this2.setTransitioning(false);
- $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);
+ $(_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
};
this._element.style[dimension] = '';
@@ -1450,7 +1419,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default$1, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default$1), config);
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME$3, config, DefaultType$1);
@@ -1458,8 +1427,8 @@
};
_proto._getDimension = function _getDimension() {
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ var hasWidth = $(this._element).hasClass(DIMENSION_WIDTH);
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
};
_proto._getParent = function _getParent() {
@@ -1486,10 +1455,10 @@
};
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
- var isOpen = $(element).hasClass(ClassName$3.SHOW);
+ var isOpen = $(element).hasClass(CLASS_NAME_SHOW$1);
if (triggerArray.length) {
- $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ $(triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
} // Static
;
@@ -1504,9 +1473,9 @@
var $this = $(this);
var data = $this.data(DATA_KEY$3);
- var _config = _objectSpread2({}, Default$1, {}, $this.data(), {}, typeof config === 'object' && config ? config : {});
+ var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$1), $this.data()), typeof config === 'object' && config ? config : {});
- if (!data && _config.toggle && /show|hide/.test(config)) {
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
_config.toggle = false;
}
@@ -1546,7 +1515,7 @@
*/
- $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
if (event.currentTarget.tagName === 'A') {
event.preventDefault();
@@ -1584,7 +1553,7 @@
*/
var NAME$4 = 'dropdown';
- var VERSION$4 = '4.4.1';
+ var VERSION$4 = '4.5.0';
var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api';
@@ -1602,43 +1571,32 @@
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$4 = {
- HIDE: "hide" + EVENT_KEY$4,
- HIDDEN: "hidden" + EVENT_KEY$4,
- SHOW: "show" + EVENT_KEY$4,
- SHOWN: "shown" + EVENT_KEY$4,
- CLICK: "click" + EVENT_KEY$4,
- CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
- };
- var ClassName$4 = {
- DISABLED: 'disabled',
- SHOW: 'show',
- DROPUP: 'dropup',
- DROPRIGHT: 'dropright',
- DROPLEFT: 'dropleft',
- MENURIGHT: 'dropdown-menu-right',
- MENULEFT: 'dropdown-menu-left',
- POSITION_STATIC: 'position-static'
- };
- var Selector$4 = {
- DATA_TOGGLE: '[data-toggle="dropdown"]',
- FORM_CHILD: '.dropdown form',
- MENU: '.dropdown-menu',
- NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
- };
- var AttachmentMap = {
- TOP: 'top-start',
- TOPEND: 'top-end',
- BOTTOM: 'bottom-start',
- BOTTOMEND: 'bottom-end',
- RIGHT: 'right-start',
- RIGHTEND: 'right-end',
- LEFT: 'left-start',
- LEFTEND: 'left-end'
- };
+ 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,
@@ -1661,9 +1619,7 @@
* ------------------------------------------------------------------------
*/
- var Dropdown =
- /*#__PURE__*/
- function () {
+ var Dropdown = /*#__PURE__*/function () {
function Dropdown(element, config) {
this._element = element;
this._popper = null;
@@ -1679,11 +1635,11 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {
return;
}
- var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
+ var isActive = $(this._menu).hasClass(CLASS_NAME_SHOW$2);
Dropdown._clearMenus();
@@ -1699,14 +1655,14 @@
usePopper = false;
}
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW$2)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
- var showEvent = $.Event(Event$4.SHOW, relatedTarget);
+ var showEvent = $.Event(EVENT_SHOW$1, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
@@ -1742,7 +1698,7 @@
if (this._config.boundary !== 'scrollParent') {
- $(parent).addClass(ClassName$4.POSITION_STATIC);
+ $(parent).addClass(CLASS_NAME_POSITION_STATIC);
}
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
@@ -1752,7 +1708,7 @@
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
+ if ('ontouchstart' in document.documentElement && $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
$(document.body).children().on('mouseover', null, $.noop);
}
@@ -1760,19 +1716,19 @@
this._element.setAttribute('aria-expanded', true);
- $(this._menu).toggleClass(ClassName$4.SHOW);
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
+ $(this._menu).toggleClass(CLASS_NAME_SHOW$2);
+ $(parent).toggleClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_SHOWN$1, relatedTarget));
};
_proto.hide = function hide() {
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW$2)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
- var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
+ var hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
@@ -1786,8 +1742,8 @@
this._popper.destroy();
}
- $(this._menu).toggleClass(ClassName$4.SHOW);
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
+ $(this._menu).toggleClass(CLASS_NAME_SHOW$2);
+ $(parent).toggleClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_HIDDEN$1, relatedTarget));
};
_proto.dispose = function dispose() {
@@ -1815,7 +1771,7 @@
_proto._addEventListeners = function _addEventListeners() {
var _this = this;
- $(this._element).on(Event$4.CLICK, function (event) {
+ $(this._element).on(EVENT_CLICK, function (event) {
event.preventDefault();
event.stopPropagation();
@@ -1824,7 +1780,7 @@
};
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, this.constructor.Default, {}, $(this._element).data(), {}, config);
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), $(this._element).data()), config);
Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
return config;
};
@@ -1834,7 +1790,7 @@
var parent = Dropdown._getParentFromElement(this._element);
if (parent) {
- this._menu = parent.querySelector(Selector$4.MENU);
+ this._menu = parent.querySelector(SELECTOR_MENU);
}
}
@@ -1843,20 +1799,16 @@
_proto._getPlacement = function _getPlacement() {
var $parentDropdown = $(this._element.parentNode);
- var placement = AttachmentMap.BOTTOM; // Handle dropup
-
- if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
- placement = AttachmentMap.TOP;
+ var placement = PLACEMENT_BOTTOM; // Handle dropup
- if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
- }
- } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT;
- } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
- placement = AttachmentMap.LEFT;
- } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
+ if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
+ placement = $(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 ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_BOTTOMEND;
}
return placement;
@@ -1873,7 +1825,7 @@
if (typeof this._config.offset === 'function') {
offset.fn = function (data) {
- data.offsets = _objectSpread2({}, data.offsets, {}, _this2._config.offset(data.offsets, _this2._element) || {});
+ data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this2._config.offset(data.offsets, _this2._element) || {});
return data;
};
} else {
@@ -1903,7 +1855,7 @@
};
}
- return _objectSpread2({}, popperConfig, {}, this._config.popperConfig);
+ return _objectSpread2(_objectSpread2({}, popperConfig), this._config.popperConfig);
} // Static
;
@@ -1933,7 +1885,7 @@
return;
}
- var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
+ 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]);
@@ -1953,7 +1905,7 @@
var dropdownMenu = context._menu;
- if (!$(parent).hasClass(ClassName$4.SHOW)) {
+ if (!$(parent).hasClass(CLASS_NAME_SHOW$2)) {
continue;
}
@@ -1961,7 +1913,7 @@
continue;
}
- var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
+ var hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);
$(parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
@@ -1980,8 +1932,8 @@
context._popper.destroy();
}
- $(dropdownMenu).removeClass(ClassName$4.SHOW);
- $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
+ $(dropdownMenu).removeClass(CLASS_NAME_SHOW$2);
+ $(parent).removeClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_HIDDEN$1, relatedTarget));
}
};
@@ -2005,36 +1957,35 @@
// - 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 || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+ 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 || $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
return;
}
- event.preventDefault();
- event.stopPropagation();
-
- if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
+ if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {
return;
}
var parent = Dropdown._getParentFromElement(this);
- var isActive = $(parent).hasClass(ClassName$4.SHOW);
+ var isActive = $(parent).hasClass(CLASS_NAME_SHOW$2);
if (!isActive && event.which === ESCAPE_KEYCODE) {
return;
}
+ event.preventDefault();
+ event.stopPropagation();
+
if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
- var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
- $(toggle).trigger('focus');
+ $(parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');
}
$(this).trigger('click');
return;
}
- var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS)).filter(function (item) {
+ var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
return $(item).is(':visible');
});
@@ -2087,12 +2038,12 @@
*/
- $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
+ $(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($(this), 'toggle');
- }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
+ }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
e.stopPropagation();
});
/**
@@ -2116,7 +2067,7 @@
*/
var NAME$5 = 'modal';
- var VERSION$5 = '4.4.1';
+ var VERSION$5 = '4.5.0';
var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api';
@@ -2135,50 +2086,42 @@
focus: 'boolean',
show: 'boolean'
};
- var Event$5 = {
- HIDE: "hide" + EVENT_KEY$5,
- HIDE_PREVENTED: "hidePrevented" + EVENT_KEY$5,
- HIDDEN: "hidden" + EVENT_KEY$5,
- SHOW: "show" + EVENT_KEY$5,
- SHOWN: "shown" + EVENT_KEY$5,
- FOCUSIN: "focusin" + EVENT_KEY$5,
- RESIZE: "resize" + EVENT_KEY$5,
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
- CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
- };
- var ClassName$5 = {
- SCROLLABLE: 'modal-dialog-scrollable',
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
- BACKDROP: 'modal-backdrop',
- OPEN: 'modal-open',
- FADE: 'fade',
- SHOW: 'show',
- STATIC: 'modal-static'
- };
- var Selector$5 = {
- DIALOG: '.modal-dialog',
- MODAL_BODY: '.modal-body',
- DATA_TOGGLE: '[data-toggle="modal"]',
- DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT: '.sticky-top'
- };
+ 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 () {
+ var Modal = /*#__PURE__*/function () {
function Modal(element, config) {
this._config = this._getConfig(config);
this._element = element;
- this._dialog = element.querySelector(Selector$5.DIALOG);
+ this._dialog = element.querySelector(SELECTOR_DIALOG);
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
@@ -2202,11 +2145,11 @@
return;
}
- if ($(this._element).hasClass(ClassName$5.FADE)) {
+ if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {
this._isTransitioning = true;
}
- var showEvent = $.Event(Event$5.SHOW, {
+ var showEvent = $.Event(EVENT_SHOW$2, {
relatedTarget: relatedTarget
});
$(this._element).trigger(showEvent);
@@ -2227,11 +2170,11 @@
this._setResizeEvent();
- $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
+ $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
return _this.hide(event);
});
- $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
- $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
+ $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {
+ $(_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this._element)) {
_this._ignoreBackdropClick = true;
}
@@ -2254,7 +2197,7 @@
return;
}
- var hideEvent = $.Event(Event$5.HIDE);
+ var hideEvent = $.Event(EVENT_HIDE$2);
$(this._element).trigger(hideEvent);
if (!this._isShown || hideEvent.isDefaultPrevented()) {
@@ -2262,7 +2205,7 @@
}
this._isShown = false;
- var transition = $(this._element).hasClass(ClassName$5.FADE);
+ var transition = $(this._element).hasClass(CLASS_NAME_FADE$1);
if (transition) {
this._isTransitioning = true;
@@ -2272,10 +2215,10 @@
this._setResizeEvent();
- $(document).off(Event$5.FOCUSIN);
- $(this._element).removeClass(ClassName$5.SHOW);
- $(this._element).off(Event$5.CLICK_DISMISS);
- $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
+ $(document).off(EVENT_FOCUSIN);
+ $(this._element).removeClass(CLASS_NAME_SHOW$3);
+ $(this._element).off(EVENT_CLICK_DISMISS);
+ $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
if (transition) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
@@ -2292,12 +2235,12 @@
return $(htmlElement).off(EVENT_KEY$5);
});
/**
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+ * `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
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
*/
- $(document).off(Event$5.FOCUSIN);
+ $(document).off(EVENT_FOCUSIN);
$.removeData(this._element, DATA_KEY$5);
this._config = null;
this._element = null;
@@ -2316,7 +2259,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default$3, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default$3), config);
Util.typeCheckConfig(NAME$5, config, DefaultType$3);
return config;
};
@@ -2325,18 +2268,18 @@
var _this3 = this;
if (this._config.backdrop === 'static') {
- var hideEventPrevented = $.Event(Event$5.HIDE_PREVENTED);
+ var hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);
$(this._element).trigger(hideEventPrevented);
if (hideEventPrevented.defaultPrevented) {
return;
}
- this._element.classList.add(ClassName$5.STATIC);
+ this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
$(this._element).one(Util.TRANSITION_END, function () {
- _this3._element.classList.remove(ClassName$5.STATIC);
+ _this3._element.classList.remove(CLASS_NAME_STATIC);
}).emulateTransitionEnd(modalTransitionDuration);
this._element.focus();
@@ -2348,8 +2291,8 @@
_proto._showElement = function _showElement(relatedTarget) {
var _this4 = this;
- var transition = $(this._element).hasClass(ClassName$5.FADE);
- var modalBody = this._dialog ? this._dialog.querySelector(Selector$5.MODAL_BODY) : null;
+ var transition = $(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
@@ -2362,7 +2305,7 @@
this._element.setAttribute('aria-modal', true);
- if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE) && modalBody) {
+ if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
this._element.scrollTop = 0;
@@ -2372,13 +2315,13 @@
Util.reflow(this._element);
}
- $(this._element).addClass(ClassName$5.SHOW);
+ $(this._element).addClass(CLASS_NAME_SHOW$3);
if (this._config.focus) {
this._enforceFocus();
}
- var shownEvent = $.Event(Event$5.SHOWN, {
+ var shownEvent = $.Event(EVENT_SHOWN$2, {
relatedTarget: relatedTarget
});
@@ -2402,8 +2345,8 @@
_proto._enforceFocus = function _enforceFocus() {
var _this5 = this;
- $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
- .on(Event$5.FOCUSIN, function (event) {
+ $(document).off(EVENT_FOCUSIN) // Guard against infinite focus loop
+ .on(EVENT_FOCUSIN, function (event) {
if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {
_this5._element.focus();
}
@@ -2413,14 +2356,18 @@
_proto._setEscapeEvent = function _setEscapeEvent() {
var _this6 = this;
- if (this._isShown && this._config.keyboard) {
- $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE$1) {
+ if (this._isShown) {
+ $(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) {
- $(this._element).off(Event$5.KEYDOWN_DISMISS);
+ $(this._element).off(EVENT_KEYDOWN_DISMISS);
}
};
@@ -2428,11 +2375,11 @@
var _this7 = this;
if (this._isShown) {
- $(window).on(Event$5.RESIZE, function (event) {
+ $(window).on(EVENT_RESIZE, function (event) {
return _this7.handleUpdate(event);
});
} else {
- $(window).off(Event$5.RESIZE);
+ $(window).off(EVENT_RESIZE);
}
};
@@ -2448,13 +2395,13 @@
this._isTransitioning = false;
this._showBackdrop(function () {
- $(document.body).removeClass(ClassName$5.OPEN);
+ $(document.body).removeClass(CLASS_NAME_OPEN);
_this8._resetAdjustments();
_this8._resetScrollbar();
- $(_this8._element).trigger(Event$5.HIDDEN);
+ $(_this8._element).trigger(EVENT_HIDDEN$2);
});
};
@@ -2468,18 +2415,18 @@
_proto._showBackdrop = function _showBackdrop(callback) {
var _this9 = this;
- var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
+ var animate = $(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 = ClassName$5.BACKDROP;
+ this._backdrop.className = CLASS_NAME_BACKDROP;
if (animate) {
this._backdrop.classList.add(animate);
}
$(this._backdrop).appendTo(document.body);
- $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
+ $(this._element).on(EVENT_CLICK_DISMISS, function (event) {
if (_this9._ignoreBackdropClick) {
_this9._ignoreBackdropClick = false;
return;
@@ -2496,7 +2443,7 @@
Util.reflow(this._backdrop);
}
- $(this._backdrop).addClass(ClassName$5.SHOW);
+ $(this._backdrop).addClass(CLASS_NAME_SHOW$3);
if (!callback) {
return;
@@ -2510,7 +2457,7 @@
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) {
- $(this._backdrop).removeClass(ClassName$5.SHOW);
+ $(this._backdrop).removeClass(CLASS_NAME_SHOW$3);
var callbackRemove = function callbackRemove() {
_this9._removeBackdrop();
@@ -2520,7 +2467,7 @@
}
};
- if ($(this._element).hasClass(ClassName$5.FADE)) {
+ if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
@@ -2555,7 +2502,7 @@
_proto._checkScrollbar = function _checkScrollbar() {
var rect = document.body.getBoundingClientRect();
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+ this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth();
};
@@ -2565,8 +2512,8 @@
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$5.FIXED_CONTENT));
- var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
+ var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
$(fixedContent).each(function (index, element) {
var actualPadding = element.style.paddingRight;
@@ -2585,19 +2532,19 @@
$(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
}
- $(document.body).addClass(ClassName$5.OPEN);
+ $(document.body).addClass(CLASS_NAME_OPEN);
};
_proto._resetScrollbar = function _resetScrollbar() {
// Restore fixed content padding
- var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
$(fixedContent).each(function (index, element) {
var padding = $(element).data('padding-right');
$(element).removeData('padding-right');
element.style.paddingRight = padding ? padding : '';
}); // Restore sticky content
- var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT));
+ var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT));
$(elements).each(function (index, element) {
var margin = $(element).data('margin-right');
@@ -2614,7 +2561,7 @@
_proto._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
- scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
@@ -2626,7 +2573,7 @@
return this.each(function () {
var data = $(this).data(DATA_KEY$5);
- var _config = _objectSpread2({}, Default$3, {}, $(this).data(), {}, typeof config === 'object' && config ? config : {});
+ var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$3), $(this).data()), typeof config === 'object' && config ? config : {});
if (!data) {
data = new Modal(this, _config);
@@ -2666,7 +2613,7 @@
*/
- $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
var _this11 = this;
var target;
@@ -2676,19 +2623,19 @@
target = document.querySelector(selector);
}
- var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2({}, $(target).data(), {}, $(this).data());
+ var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
}
- var $target = $(target).one(Event$5.SHOW, function (showEvent) {
+ var $target = $(target).one(EVENT_SHOW$2, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// Only register focus restorer if modal will actually get shown
return;
}
- $target.one(Event$5.HIDDEN, function () {
+ $target.one(EVENT_HIDDEN$2, function () {
if ($(_this11).is(':visible')) {
_this11.focus();
}
@@ -2713,7 +2660,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): tools/sanitizer.js
+ * Bootstrap (v4.5.0): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2738,7 +2685,7 @@
h5: [],
h6: [],
i: [],
- img: ['src', 'alt', 'title', 'width', 'height'],
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
@@ -2758,14 +2705,14 @@
* 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;
+ 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,[a-z0-9+/]+=*$/i;
+ 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();
@@ -2782,7 +2729,7 @@
return attrRegex instanceof RegExp;
}); // Check if a regular expression validates the attribute.
- for (var i = 0, l = regExp.length; i < l; i++) {
+ for (var i = 0, len = regExp.length; i < len; i++) {
if (attrName.match(regExp[i])) {
return true;
}
@@ -2839,7 +2786,7 @@
*/
var NAME$6 = 'tooltip';
- var VERSION$6 = '4.4.1';
+ var VERSION$6 = '4.5.0';
var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6;
var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
@@ -2864,7 +2811,7 @@
whiteList: 'object',
popperConfig: '(null|object)'
};
- var AttachmentMap$1 = {
+ var AttachmentMap = {
AUTO: 'auto',
TOP: 'top',
RIGHT: 'right',
@@ -2889,11 +2836,9 @@
whiteList: DefaultWhitelist,
popperConfig: null
};
- var HoverState = {
- SHOW: 'show',
- OUT: 'out'
- };
- var Event$6 = {
+ 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,
@@ -2905,30 +2850,21 @@
MOUSEENTER: "mouseenter" + EVENT_KEY$6,
MOUSELEAVE: "mouseleave" + EVENT_KEY$6
};
- var ClassName$6 = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$6 = {
- TOOLTIP: '.tooltip',
- TOOLTIP_INNER: '.tooltip-inner',
- ARROW: '.arrow'
- };
- var Trigger = {
- HOVER: 'hover',
- FOCUS: 'focus',
- CLICK: 'click',
- MANUAL: 'manual'
- };
+ 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 () {
+ var Tooltip = /*#__PURE__*/function () {
function Tooltip(element, config) {
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
@@ -2986,7 +2922,7 @@
context._leave(null, context);
}
} else {
- if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
+ if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {
this._leave(null, this);
return;
@@ -3046,7 +2982,7 @@
this.setContent();
if (this.config.animation) {
- $(tip).addClass(ClassName$6.FADE);
+ $(tip).addClass(CLASS_NAME_FADE$2);
}
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -3065,7 +3001,7 @@
$(this.element).trigger(this.constructor.Event.INSERTED);
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
- $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
+ $(tip).addClass(CLASS_NAME_SHOW$4); // 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
@@ -3083,12 +3019,12 @@
_this._hoverState = null;
$(_this.element).trigger(_this.constructor.Event.SHOWN);
- if (prevHoverState === HoverState.OUT) {
+ if (prevHoverState === HOVER_STATE_OUT) {
_this._leave(null, _this);
}
};
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
+ if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
@@ -3104,7 +3040,7 @@
var hideEvent = $.Event(this.constructor.Event.HIDE);
var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
@@ -3129,18 +3065,18 @@
return;
}
- $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
+ $(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) {
$(document.body).children().off('mouseover', null, $.noop);
}
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
+ this._activeTrigger[TRIGGER_CLICK] = false;
+ this._activeTrigger[TRIGGER_FOCUS] = false;
+ this._activeTrigger[TRIGGER_HOVER] = false;
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
+ if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {
var transitionDuration = Util.getTransitionDurationFromElement(tip);
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
@@ -3172,8 +3108,8 @@
_proto.setContent = function setContent() {
var tip = this.getTipElement();
- this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
- $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW);
+ this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
+ $(tip).removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$4);
};
_proto.setElementContent = function setElementContent($element, content) {
@@ -3223,7 +3159,7 @@
behavior: this.config.fallbackPlacement
},
arrow: {
- element: Selector$6.ARROW
+ element: SELECTOR_ARROW
},
preventOverflow: {
boundariesElement: this.config.boundary
@@ -3238,7 +3174,7 @@
return _this3._handlePopperPlacementChange(data);
}
};
- return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig);
+ return _objectSpread2(_objectSpread2({}, defaultBsConfig), this.config.popperConfig);
};
_proto._getOffset = function _getOffset() {
@@ -3248,7 +3184,7 @@
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
- data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {});
+ data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this4.config.offset(data.offsets, _this4.element) || {});
return data;
};
} else {
@@ -3271,7 +3207,7 @@
};
_proto._getAttachment = function _getAttachment(placement) {
- return AttachmentMap$1[placement.toUpperCase()];
+ return AttachmentMap[placement.toUpperCase()];
};
_proto._setListeners = function _setListeners() {
@@ -3283,9 +3219,9 @@
$(_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;
+ } 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;
$(_this5.element).on(eventIn, _this5.config.selector, function (event) {
return _this5._enter(event);
}).on(eventOut, _this5.config.selector, function (event) {
@@ -3303,7 +3239,7 @@
$(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
- this.config = _objectSpread2({}, this.config, {
+ this.config = _objectSpread2(_objectSpread2({}, this.config), {}, {
trigger: 'manual',
selector: ''
});
@@ -3331,16 +3267,16 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
}
- if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
- context._hoverState = HoverState.SHOW;
+ if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {
+ context._hoverState = HOVER_STATE_SHOW;
return;
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.SHOW;
+ context._hoverState = HOVER_STATE_SHOW;
if (!context.config.delay || !context.config.delay.show) {
context.show();
@@ -3348,7 +3284,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (context._hoverState === HOVER_STATE_SHOW) {
context.show();
}
}, context.config.delay.show);
@@ -3364,7 +3300,7 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
}
if (context._isWithActiveTrigger()) {
@@ -3372,7 +3308,7 @@
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.OUT;
+ context._hoverState = HOVER_STATE_OUT;
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
@@ -3380,7 +3316,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
+ if (context._hoverState === HOVER_STATE_OUT) {
context.hide();
}
}, context.config.delay.hide);
@@ -3403,7 +3339,7 @@
delete dataAttributes[dataAttr];
}
});
- config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), dataAttributes), typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') {
config.delay = {
@@ -3453,8 +3389,7 @@
};
_proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
- var popperInstance = popperData.instance;
- this.tip = popperInstance.popper;
+ this.tip = popperData.instance.popper;
this._cleanTipClass();
@@ -3469,7 +3404,7 @@
return;
}
- $(tip).removeClass(ClassName$6.FADE);
+ $(tip).removeClass(CLASS_NAME_FADE$2);
this.config.animation = false;
this.hide();
this.show();
@@ -3525,7 +3460,7 @@
}, {
key: "Event",
get: function get() {
- return Event$6;
+ return Event;
}
}, {
key: "EVENT_KEY",
@@ -3563,33 +3498,29 @@
*/
var NAME$7 = 'popover';
- var VERSION$7 = '4.4.1';
+ var VERSION$7 = '4.5.0';
var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7;
var JQUERY_NO_CONFLICT$7 = $.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 = _objectSpread2({}, Tooltip.Default, {
+ var Default$5 = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
});
- var DefaultType$5 = _objectSpread2({}, Tooltip.DefaultType, {
+ var DefaultType$5 = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {
content: '(string|element|function)'
});
- var ClassName$7 = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$7 = {
- TITLE: '.popover-header',
- CONTENT: '.popover-body'
- };
- var Event$7 = {
+ 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,
@@ -3607,9 +3538,7 @@
* ------------------------------------------------------------------------
*/
- var Popover =
- /*#__PURE__*/
- function (_Tooltip) {
+ var Popover = /*#__PURE__*/function (_Tooltip) {
_inheritsLoose(Popover, _Tooltip);
function Popover() {
@@ -3635,7 +3564,7 @@
_proto.setContent = function setContent() {
var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
- this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
var content = this._getContent();
@@ -3643,8 +3572,8 @@
content = content.call(this.element);
}
- this.setElementContent($tip.find(Selector$7.CONTENT), content);
- $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content);
+ $tip.removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$5);
} // Private
;
@@ -3711,7 +3640,7 @@
}, {
key: "Event",
get: function get() {
- return Event$7;
+ return Event$1;
}
}, {
key: "EVENT_KEY",
@@ -3749,7 +3678,7 @@
*/
var NAME$8 = 'scrollspy';
- var VERSION$8 = '4.4.1';
+ var VERSION$8 = '4.5.0';
var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api';
@@ -3764,52 +3693,40 @@
method: 'string',
target: '(string|element)'
};
- var Event$8 = {
- ACTIVATE: "activate" + EVENT_KEY$8,
- SCROLL: "scroll" + EVENT_KEY$8,
- LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
- };
- var ClassName$8 = {
- DROPDOWN_ITEM: 'dropdown-item',
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active'
- };
- var Selector$8 = {
- DATA_SPY: '[data-spy="scroll"]',
- ACTIVE: '.active',
- NAV_LIST_GROUP: '.nav, .list-group',
- NAV_LINKS: '.nav-link',
- NAV_ITEMS: '.nav-item',
- LIST_ITEMS: '.list-group-item',
- DROPDOWN: '.dropdown',
- DROPDOWN_ITEMS: '.dropdown-item',
- DROPDOWN_TOGGLE: '.dropdown-toggle'
- };
- var OffsetMethod = {
- OFFSET: 'offset',
- POSITION: 'position'
- };
+ 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 () {
+ 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$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
+ 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;
- $(this._scrollElement).on(Event$8.SCROLL, function (event) {
+ $(this._scrollElement).on(EVENT_SCROLL, function (event) {
return _this._process(event);
});
this.refresh();
@@ -3824,9 +3741,9 @@
_proto.refresh = function refresh() {
var _this2 = this;
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
this._offsets = [];
this._targets = [];
this._scrollHeight = this._getScrollHeight();
@@ -3875,9 +3792,9 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default$6, {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2({}, Default$6), typeof config === 'object' && config ? config : {});
- if (typeof config.target !== 'string') {
+ if (typeof config.target !== 'string' && Util.isElement(config.target)) {
var id = $(config.target).attr('id');
if (!id) {
@@ -3933,9 +3850,7 @@
return;
}
- var offsetLength = this._offsets.length;
-
- for (var i = offsetLength; i--;) {
+ 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) {
@@ -3955,29 +3870,29 @@
var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
- if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
- $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
- $link.addClass(ClassName$8.ACTIVE);
+ 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(ClassName$8.ACTIVE); // Set triggered links parents as active
+ $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE$2); // Handle special case when .nav-link is inside .nav-item
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE$2);
}
- $(this._scrollElement).trigger(Event$8.ACTIVATE, {
+ $(this._scrollElement).trigger(EVENT_ACTIVATE, {
relatedTarget: target
});
};
_proto._clear = function _clear() {
[].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
- return node.classList.contains(ClassName$8.ACTIVE);
+ return node.classList.contains(CLASS_NAME_ACTIVE$2);
}).forEach(function (node) {
- return node.classList.remove(ClassName$8.ACTIVE);
+ return node.classList.remove(CLASS_NAME_ACTIVE$2);
});
} // Static
;
@@ -4024,8 +3939,8 @@
*/
- $(window).on(Event$8.LOAD_DATA_API, function () {
- var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
+ $(window).on(EVENT_LOAD_DATA_API$2, function () {
+ var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
var scrollSpysLength = scrollSpys.length;
for (var i = scrollSpysLength; i--;) {
@@ -4055,43 +3970,35 @@
*/
var NAME$9 = 'tab';
- var VERSION$9 = '4.4.1';
+ var VERSION$9 = '4.5.0';
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
- var Event$9 = {
- HIDE: "hide" + EVENT_KEY$9,
- HIDDEN: "hidden" + EVENT_KEY$9,
- SHOW: "show" + EVENT_KEY$9,
- SHOWN: "shown" + EVENT_KEY$9,
- CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
- };
- var ClassName$9 = {
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active',
- DISABLED: 'disabled',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$9 = {
- DROPDOWN: '.dropdown',
- NAV_LIST_GROUP: '.nav, .list-group',
- ACTIVE: '.active',
- ACTIVE_UL: '> li > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE: '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
- };
+ var EVENT_HIDE$3 = "hide" + EVENT_KEY$9;
+ var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$9;
+ var EVENT_SHOW$3 = "show" + EVENT_KEY$9;
+ var EVENT_SHOWN$3 = "shown" + EVENT_KEY$9;
+ var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
+ var CLASS_NAME_ACTIVE$3 = 'active';
+ var CLASS_NAME_DISABLED$1 = 'disabled';
+ var CLASS_NAME_FADE$4 = 'fade';
+ var CLASS_NAME_SHOW$6 = 'show';
+ var SELECTOR_DROPDOWN$1 = '.dropdown';
+ var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
+ var SELECTOR_ACTIVE$2 = '.active';
+ var SELECTOR_ACTIVE_UL = '> li > .active';
+ var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
+ var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Tab =
- /*#__PURE__*/
- function () {
+ var Tab = /*#__PURE__*/function () {
function Tab(element) {
this._element = element;
} // Getters
@@ -4103,25 +4010,25 @@
_proto.show = function show() {
var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(CLASS_NAME_ACTIVE$3) || $(this._element).hasClass(CLASS_NAME_DISABLED$1)) {
return;
}
var target;
var previous;
- var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
+ var listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP$1)[0];
var selector = Util.getSelectorFromElement(this._element);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
previous = $.makeArray($(listElement).find(itemSelector));
previous = previous[previous.length - 1];
}
- var hideEvent = $.Event(Event$9.HIDE, {
+ var hideEvent = $.Event(EVENT_HIDE$3, {
relatedTarget: this._element
});
- var showEvent = $.Event(Event$9.SHOW, {
+ var showEvent = $.Event(EVENT_SHOW$3, {
relatedTarget: previous
});
@@ -4142,10 +4049,10 @@
this._activate(this._element, listElement);
var complete = function complete() {
- var hiddenEvent = $.Event(Event$9.HIDDEN, {
+ var hiddenEvent = $.Event(EVENT_HIDDEN$3, {
relatedTarget: _this._element
});
- var shownEvent = $.Event(Event$9.SHOWN, {
+ var shownEvent = $.Event(EVENT_SHOWN$3, {
relatedTarget: previous
});
$(previous).trigger(hiddenEvent);
@@ -4168,9 +4075,9 @@
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(SELECTOR_ACTIVE_UL) : $(container).children(SELECTOR_ACTIVE$2);
var active = activeElements[0];
- var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);
+ var isTransitioning = callback && active && $(active).hasClass(CLASS_NAME_FADE$4);
var complete = function complete() {
return _this2._transitionComplete(element, active, callback);
@@ -4178,7 +4085,7 @@
if (active && isTransitioning) {
var transitionDuration = Util.getTransitionDurationFromElement(active);
- $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ $(active).removeClass(CLASS_NAME_SHOW$6).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
complete();
}
@@ -4186,11 +4093,11 @@
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
if (active) {
- $(active).removeClass(ClassName$9.ACTIVE);
- var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];
+ $(active).removeClass(CLASS_NAME_ACTIVE$3);
+ var dropdownChild = $(active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
if (dropdownChild) {
- $(dropdownChild).removeClass(ClassName$9.ACTIVE);
+ $(dropdownChild).removeClass(CLASS_NAME_ACTIVE$3);
}
if (active.getAttribute('role') === 'tab') {
@@ -4198,7 +4105,7 @@
}
}
- $(element).addClass(ClassName$9.ACTIVE);
+ $(element).addClass(CLASS_NAME_ACTIVE$3);
if (element.getAttribute('role') === 'tab') {
element.setAttribute('aria-selected', true);
@@ -4206,16 +4113,16 @@
Util.reflow(element);
- if (element.classList.contains(ClassName$9.FADE)) {
- element.classList.add(ClassName$9.SHOW);
+ if (element.classList.contains(CLASS_NAME_FADE$4)) {
+ element.classList.add(CLASS_NAME_SHOW$6);
}
- if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
- var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
+ if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
+ var dropdownElement = $(element).closest(SELECTOR_DROPDOWN$1)[0];
if (dropdownElement) {
- var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
- $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
+ var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE$1));
+ $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE$3);
}
element.setAttribute('aria-expanded', true);
@@ -4263,7 +4170,7 @@
*/
- $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
@@ -4289,23 +4196,19 @@
*/
var NAME$a = 'toast';
- var VERSION$a = '4.4.1';
+ var VERSION$a = '4.5.0';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
- var Event$a = {
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
- HIDE: "hide" + EVENT_KEY$a,
- HIDDEN: "hidden" + EVENT_KEY$a,
- SHOW: "show" + EVENT_KEY$a,
- SHOWN: "shown" + EVENT_KEY$a
- };
- var ClassName$a = {
- FADE: 'fade',
- HIDE: 'hide',
- SHOW: 'show',
- SHOWING: 'showing'
- };
+ var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
+ var EVENT_HIDE$4 = "hide" + EVENT_KEY$a;
+ var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$a;
+ var EVENT_SHOW$4 = "show" + EVENT_KEY$a;
+ var EVENT_SHOWN$4 = "shown" + EVENT_KEY$a;
+ var CLASS_NAME_FADE$5 = 'fade';
+ var CLASS_NAME_HIDE = 'hide';
+ var CLASS_NAME_SHOW$7 = 'show';
+ var CLASS_NAME_SHOWING = 'showing';
var DefaultType$7 = {
animation: 'boolean',
autohide: 'boolean',
@@ -4316,18 +4219,14 @@
autohide: true,
delay: 500
};
- var Selector$a = {
- DATA_DISMISS: '[data-dismiss="toast"]'
- };
+ var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="toast"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Toast =
- /*#__PURE__*/
- function () {
+ var Toast = /*#__PURE__*/function () {
function Toast(element, config) {
this._element = element;
this._config = this._getConfig(config);
@@ -4343,7 +4242,7 @@
_proto.show = function show() {
var _this = this;
- var showEvent = $.Event(Event$a.SHOW);
+ var showEvent = $.Event(EVENT_SHOW$4);
$(this._element).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
@@ -4351,15 +4250,15 @@
}
if (this._config.animation) {
- this._element.classList.add(ClassName$a.FADE);
+ this._element.classList.add(CLASS_NAME_FADE$5);
}
var complete = function complete() {
- _this._element.classList.remove(ClassName$a.SHOWING);
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
- _this._element.classList.add(ClassName$a.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW$7);
- $(_this._element).trigger(Event$a.SHOWN);
+ $(_this._element).trigger(EVENT_SHOWN$4);
if (_this._config.autohide) {
_this._timeout = setTimeout(function () {
@@ -4368,11 +4267,11 @@
}
};
- this._element.classList.remove(ClassName$a.HIDE);
+ this._element.classList.remove(CLASS_NAME_HIDE);
Util.reflow(this._element);
- this._element.classList.add(ClassName$a.SHOWING);
+ this._element.classList.add(CLASS_NAME_SHOWING);
if (this._config.animation) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
@@ -4383,11 +4282,11 @@
};
_proto.hide = function hide() {
- if (!this._element.classList.contains(ClassName$a.SHOW)) {
+ if (!this._element.classList.contains(CLASS_NAME_SHOW$7)) {
return;
}
- var hideEvent = $.Event(Event$a.HIDE);
+ var hideEvent = $.Event(EVENT_HIDE$4);
$(this._element).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
@@ -4401,11 +4300,11 @@
clearTimeout(this._timeout);
this._timeout = null;
- if (this._element.classList.contains(ClassName$a.SHOW)) {
- this._element.classList.remove(ClassName$a.SHOW);
+ if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {
+ this._element.classList.remove(CLASS_NAME_SHOW$7);
}
- $(this._element).off(Event$a.CLICK_DISMISS);
+ $(this._element).off(EVENT_CLICK_DISMISS$1);
$.removeData(this._element, DATA_KEY$a);
this._element = null;
this._config = null;
@@ -4413,7 +4312,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default$7, {}, $(this._element).data(), {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$7), $(this._element).data()), typeof config === 'object' && config ? config : {});
Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
return config;
};
@@ -4421,7 +4320,7 @@
_proto._setListeners = function _setListeners() {
var _this2 = this;
- $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
+ $(this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {
return _this2.hide();
});
};
@@ -4430,12 +4329,12 @@
var _this3 = this;
var complete = function complete() {
- _this3._element.classList.add(ClassName$a.HIDE);
+ _this3._element.classList.add(CLASS_NAME_HIDE);
- $(_this3._element).trigger(Event$a.HIDDEN);
+ $(_this3._element).trigger(EVENT_HIDDEN$4);
};
- this._element.classList.remove(ClassName$a.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW$7);
if (this._config.animation) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
diff --git a/vendor/twbs/bootstrap/dist/js/bootstrap.js.map b/vendor/twbs/bootstrap/dist/js/bootstrap.js.map
index e5f6ce91b..53abe137b 100644
--- a/vendor/twbs/bootstrap/dist/js/bootstrap.js.map
+++ b/vendor/twbs/bootstrap/dist/js/bootstrap.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLES : '[data-toggle=\"buttons\"]',\n DATA_TOGGLE : '[data-toggle=\"button\"]',\n DATA_TOGGLES_BUTTONS : '[data-toggle=\"buttons\"] .btn',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n } else if (input.type === 'checkbox') {\n if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n }\n } else {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n triggerChangeEvent = false\n }\n\n if (triggerChangeEvent) {\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(Selector.INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(Event.LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(Selector.INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show',\n STATIC : 'modal-static'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(Event.HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show',\n SHOWING : 'showing'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(Event.SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n Util.reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","jquery","minMajor","ltMajor","minMinor","minPatch","maxMajor","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLES","DATA_TOGGLE","DATA_TOGGLES_BUTTONS","INPUT","FOCUS_BLUR_DATA_API","LOAD_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","tagName","focus","hasAttribute","setAttribute","toggleClass","button","inputBtn","window","buttons","slice","querySelectorAll","i","len","length","add","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","e","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","STATIC","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","keys","el","elName","attributeList","attributes","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","$link","parents","node","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","SHOWING","autohide","Toast","_close"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n SELECTOR_DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {\n event.preventDefault() // work around event sent to label and input\n }\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? DIRECTION_NEXT\n : DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, (event) => this.pause(event))\n .on(EVENT_MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, (e) => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, (event) => start(event))\n $(this._element).on(EVENT_POINTERUP, (event) => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, (event) => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, (event) => move(event))\n $(this._element).on(EVENT_TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)\n ? PLACEMENT_TOPEND\n : PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE)\n ? CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst 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\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, (event) => this._enter(event))\n .on(eventOut, this.config.selector, (event) => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .addClass(CLASS_NAME_ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(SELECTOR_NAV_ITEMS)\n .children(SELECTOR_NAV_LINKS)\n .addClass(CLASS_NAME_ACTIVE)\n }\n\n $(this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = '> li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(CLASS_NAME_ACTIVE) ||\n $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(EVENT_HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(SELECTOR_ACTIVE_UL)\n : $(container).children(SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(CLASS_NAME_SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(CLASS_NAME_ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n SELECTOR_DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(EVENT_SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n $(this._element).trigger(EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n Util.reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n $(this._element).trigger(EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","jquery","minMajor","ltMajor","minMinor","minPatch","maxMajor","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASS_NAME_ALERT","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","CLASS_NAME_ACTIVE","CLASS_NAME_BUTTON","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLES","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLES_BUTTONS","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_BLUR_DATA_API","EVENT_LOAD_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","e","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","DIMENSION_WIDTH","DIMENSION_HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","round","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","keys","el","elName","attributeList","attributes","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HOVER_STATE_SHOW","HOVER_STATE_OUT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","SELECTOR_TOOLTIP_INNER","SELECTOR_ARROW","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","instance","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_ITEMS","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","parents","node","scrollSpys","scrollSpysLength","$spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_close"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/js/bootstrap.min.js b/vendor/twbs/bootstrap/dist/js/bootstrap.min.js
index e5a242994..3ecf55f28 100644
--- a/vendor/twbs/bootstrap/dist/js/bootstrap.min.js
+++ b/vendor/twbs/bootstrap/dist/js/bootstrap.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?e(Object(r),!0).forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach(function(t){Object.defineProperty(o,t,Object.getOwnPropertyDescriptor(r,t))})}return o}g=g&&g.hasOwnProperty("default")?g.default:g,u=u&&u.hasOwnProperty("default")?u.default:u;var n="transitionend";function o(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(n)},supportsTransitionEnd:function(){return Boolean(n)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&_.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null},jQueryDetection:function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};_.jQueryDetection(),g.fn.emulateTransitionEnd=o,g.event.special[_.TRANSITION_END]={bindType:n,delegateType:n,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var r="alert",a="bs.alert",c="."+a,h=g.fn[r],f={CLOSE:"close"+c,CLOSED:"closed"+c,CLICK_DATA_API:"click"+c+".data-api"},d="alert",m="fade",p="show",v=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,a),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n=n||g(t).closest("."+d)[0]},t._triggerCloseEvent=function(t){var e=g.Event(f.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(p),g(e).hasClass(m)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(f.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(a);e||(e=new i(this),t.data(a,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();g(document).on(f.CLICK_DATA_API,'[data-dismiss="alert"]',v._handleDismiss(new v)),g.fn[r]=v._jQueryInterface,g.fn[r].Constructor=v,g.fn[r].noConflict=function(){return g.fn[r]=h,v._jQueryInterface};var y="button",E="bs.button",C="."+E,T=".data-api",b=g.fn[y],S="active",D="btn",I="focus",w='[data-toggle^="button"]',A='[data-toggle="buttons"]',N='[data-toggle="button"]',O='[data-toggle="buttons"] .btn',k='input:not([type="hidden"])',P=".active",L=".btn",j={CLICK_DATA_API:"click"+C+T,FOCUS_BLUR_DATA_API:"focus"+C+T+" blur"+C+T,LOAD_DATA_API:"load"+C+T},H=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(A)[0];if(n){var i=this._element.querySelector(k);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(P);o&&g(o).removeClass(S)}else"checkbox"===i.type?"LABEL"===this._element.tagName&&i.checked===this._element.classList.contains(S)&&(t=!1):t=!1;t&&(i.checked=!this._element.classList.contains(S),g(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S))},t.dispose=function(){g.removeData(this._element,E),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(E);t||(t=new n(this),g(this).data(E,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),n}();g(document).on(j.CLICK_DATA_API,w,function(t){var e=t.target;if(g(e).hasClass(D)||(e=g(e).closest(L)[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var n=e.querySelector(k);if(n&&(n.hasAttribute("disabled")||n.classList.contains("disabled")))return void t.preventDefault();H._jQueryInterface.call(g(e),"toggle")}}).on(j.FOCUS_BLUR_DATA_API,w,function(t){var e=g(t.target).closest(L)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g(window).on(j.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(O)),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector(k);o.checked||o.hasAttribute("checked")?i.classList.add(S):i.classList.remove(S)}for(var r=0,s=(t=[].slice.call(document.querySelectorAll(N))).length;r<s;r++){var a=t[r];"true"===a.getAttribute("aria-pressed")?a.classList.add(S):a.classList.remove(S)}}),g.fn[y]=H._jQueryInterface,g.fn[y].Constructor=H,g.fn[y].noConflict=function(){return g.fn[y]=b,H._jQueryInterface};var R="carousel",x="bs.carousel",F="."+x,U=".data-api",W=g.fn[R],q={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},M={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",Q="prev",B="left",V="right",Y={SLIDE:"slide"+F,SLID:"slid"+F,KEYDOWN:"keydown"+F,MOUSEENTER:"mouseenter"+F,MOUSELEAVE:"mouseleave"+F,TOUCHSTART:"touchstart"+F,TOUCHMOVE:"touchmove"+F,TOUCHEND:"touchend"+F,POINTERDOWN:"pointerdown"+F,POINTERUP:"pointerup"+F,DRAG_START:"dragstart"+F,LOAD_DATA_API:"load"+F+U,CLICK_DATA_API:"click"+F+U},z="carousel",X="active",$="slide",G="carousel-item-right",J="carousel-item-left",Z="carousel-item-next",tt="carousel-item-prev",et="pointer-event",nt=".active",it=".active.carousel-item",ot=".carousel-item",rt=".carousel-item img",st=".carousel-item-next, .carousel-item-prev",at=".carousel-indicators",lt="[data-slide], [data-slide-to]",ct='[data-ride="carousel"]',ht={TOUCH:"touch",PEN:"pen"},ut=function(){function r(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(at),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(K)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(Q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(st)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(it);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?K:Q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(F),g.removeData(this._element,x),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},q,{},t),_.typeCheckConfig(R,t,M),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;(this.touchDeltaX=0)<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Y.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Y.MOUSEENTER,function(t){return e.pause(t)}).on(Y.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this;if(this._touchSupported){var n=function(t){e._pointerEvent&&ht[t.originalEvent.pointerType.toUpperCase()]?e.touchStartX=t.originalEvent.clientX:e._pointerEvent||(e.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){e._pointerEvent&&ht[t.originalEvent.pointerType.toUpperCase()]&&(e.touchDeltaX=t.originalEvent.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval))};g(this._element.querySelectorAll(rt)).on(Y.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Y.POINTERDOWN,function(t){return n(t)}),g(this._element).on(Y.POINTERUP,function(t){return i(t)}),this._element.classList.add(et)):(g(this._element).on(Y.TOUCHSTART,function(t){return n(t)}),g(this._element).on(Y.TOUCHMOVE,function(t){return function(t){t.originalEvent.touches&&1<t.originalEvent.touches.length?e.touchDeltaX=0:e.touchDeltaX=t.originalEvent.touches[0].clientX-e.touchStartX}(t)}),g(this._element).on(Y.TOUCHEND,function(t){return i(t)}))}},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(ot)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===K,i=t===Q,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===Q?-1:1))%this._items.length;return-1==s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(it)),o=g.Event(Y.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(nt));g(e).removeClass(X);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(X)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(it),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===K?(n=J,i=Z,B):(n=G,i=tt,V),l&&g(l).hasClass(X))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Y.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass($)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(X),g(s).removeClass(X+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(X),g(l).addClass(X),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(x),e=l({},q,{},g(this).data());"object"==typeof i&&(e=l({},e,{},i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(x,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(z)){var i=l({},g(n).data(),{},g(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(x).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return q}}]),r}();g(document).on(Y.CLICK_DATA_API,lt,ut._dataApiClickHandler),g(window).on(Y.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(ct)),e=0,n=t.length;e<n;e++){var i=g(t[e]);ut._jQueryInterface.call(i,i.data())}}),g.fn[R]=ut._jQueryInterface,g.fn[R].Constructor=ut,g.fn[R].noConflict=function(){return g.fn[R]=W,ut._jQueryInterface};var ft="collapse",dt="bs.collapse",gt="."+dt,_t=g.fn[ft],mt={toggle:!0,parent:""},pt={toggle:"boolean",parent:"(string|element)"},vt={SHOW:"show"+gt,SHOWN:"shown"+gt,HIDE:"hide"+gt,HIDDEN:"hidden"+gt,CLICK_DATA_API:"click"+gt+".data-api"},yt="show",Et="collapse",Ct="collapsing",Tt="collapsed",bt="width",St="height",Dt=".show, .collapsing",It='[data-toggle="collapse"]',wt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(It)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(yt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(yt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Dt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(Et)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(dt))&&e._isTransitioning))){var i=g.Event(vt.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(dt,null));var o=this._getDimension();g(this._element).removeClass(Et).addClass(Ct),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(Tt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(Ct).addClass(Et).addClass(yt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(vt.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(yt)){var e=g.Event(vt.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(Ct).removeClass(Et).removeClass(yt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(yt)||g(r).addClass(Tt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(Ct).addClass(Et).trigger(vt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,dt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},mt,{},t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ft,t,pt),t},t._getDimension=function(){return g(this._element).hasClass(bt)?bt:St},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(yt);e.length&&g(e).toggleClass(Tt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(dt),n=l({},mt,{},t.data(),{},"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(dt,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return mt}}]),a}();g(document).on(vt.CLICK_DATA_API,It,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(dt)?"toggle":n.data();wt._jQueryInterface.call(t,e)})}),g.fn[ft]=wt._jQueryInterface,g.fn[ft].Constructor=wt,g.fn[ft].noConflict=function(){return g.fn[ft]=_t,wt._jQueryInterface};var At="dropdown",Nt="bs.dropdown",Ot="."+Nt,kt=".data-api",Pt=g.fn[At],Lt=new RegExp("38|40|27"),jt={HIDE:"hide"+Ot,HIDDEN:"hidden"+Ot,SHOW:"show"+Ot,SHOWN:"shown"+Ot,CLICK:"click"+Ot,CLICK_DATA_API:"click"+Ot+kt,KEYDOWN_DATA_API:"keydown"+Ot+kt,KEYUP_DATA_API:"keyup"+Ot+kt},Ht="disabled",Rt="show",xt="dropup",Ft="dropright",Ut="dropleft",Wt="dropdown-menu-right",qt="position-static",Mt='[data-toggle="dropdown"]',Kt=".dropdown form",Qt=".dropdown-menu",Bt=".navbar-nav",Vt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Yt="top-start",zt="top-end",Xt="bottom-start",$t="bottom-end",Gt="right-start",Jt="left-start",Zt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},te={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},ee=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Ht)){var t=g(this._menu).hasClass(Rt);c._clearMenus(),t||this.show(!0)}},t.show=function(t){if(void 0===t&&(t=!1),!(this._element.disabled||g(this._element).hasClass(Ht)||g(this._menu).hasClass(Rt))){var e={relatedTarget:this._element},n=g.Event(jt.SHOW,e),i=c._getParentFromElement(this._element);if(g(i).trigger(n),!n.isDefaultPrevented()){if(!this._inNavbar&&t){if("undefined"==typeof u)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=i:_.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(i).addClass(qt),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(i).closest(Bt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Rt),g(i).toggleClass(Rt).trigger(g.Event(jt.SHOWN,e))}}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Ht)&&g(this._menu).hasClass(Rt)){var t={relatedTarget:this._element},e=g.Event(jt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(this._popper&&this._popper.destroy(),g(this._menu).toggleClass(Rt),g(n).toggleClass(Rt).trigger(g.Event(jt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Nt),g(this._element).off(Ot),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(jt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,{},g(this._element).data(),{},t),_.typeCheckConfig(At,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(Qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Xt;return t.hasClass(xt)?(e=Yt,g(this._menu).hasClass(Wt)&&(e=zt)):t.hasClass(Ft)?e=Gt:t.hasClass(Ut)?e=Jt:g(this._menu).hasClass(Wt)&&(e=$t),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),l({},t,{},this._config.popperConfig)},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Nt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Nt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Mt)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Nt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Rt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(jt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),g(a).removeClass(Rt),g(o).removeClass(Rt).trigger(g.Event(jt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(Qt).length)):Lt.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Ht))){var e=c._getParentFromElement(this),n=g(e).hasClass(Rt);if(n||27!==t.which)if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Vt)).filter(function(t){return g(t).is(":visible")});if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(Mt);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Zt}},{key:"DefaultType",get:function(){return te}}]),c}();g(document).on(jt.KEYDOWN_DATA_API,Mt,ee._dataApiKeydownHandler).on(jt.KEYDOWN_DATA_API,Qt,ee._dataApiKeydownHandler).on(jt.CLICK_DATA_API+" "+jt.KEYUP_DATA_API,ee._clearMenus).on(jt.CLICK_DATA_API,Mt,function(t){t.preventDefault(),t.stopPropagation(),ee._jQueryInterface.call(g(this),"toggle")}).on(jt.CLICK_DATA_API,Kt,function(t){t.stopPropagation()}),g.fn[At]=ee._jQueryInterface,g.fn[At].Constructor=ee,g.fn[At].noConflict=function(){return g.fn[At]=Pt,ee._jQueryInterface};var ne="modal",ie="bs.modal",oe="."+ie,re=g.fn[ne],se={backdrop:!0,keyboard:!0,focus:!0,show:!0},ae={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},le={HIDE:"hide"+oe,HIDE_PREVENTED:"hidePrevented"+oe,HIDDEN:"hidden"+oe,SHOW:"show"+oe,SHOWN:"shown"+oe,FOCUSIN:"focusin"+oe,RESIZE:"resize"+oe,CLICK_DISMISS:"click.dismiss"+oe,KEYDOWN_DISMISS:"keydown.dismiss"+oe,MOUSEUP_DISMISS:"mouseup.dismiss"+oe,MOUSEDOWN_DISMISS:"mousedown.dismiss"+oe,CLICK_DATA_API:"click"+oe+".data-api"},ce="modal-dialog-scrollable",he="modal-scrollbar-measure",ue="modal-backdrop",fe="modal-open",de="fade",ge="show",_e="modal-static",me=".modal-dialog",pe=".modal-body",ve='[data-toggle="modal"]',ye='[data-dismiss="modal"]',Ee=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Ce=".sticky-top",Te=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(me),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(de)&&(this._isTransitioning=!0);var n=g.Event(le.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(le.CLICK_DISMISS,ye,function(t){return e.hide(t)}),g(this._dialog).on(le.MOUSEDOWN_DISMISS,function(){g(e._element).one(le.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(le.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(de);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(le.FOCUSIN),g(this._element).removeClass(ge),g(this._element).off(le.CLICK_DISMISS),g(this._dialog).off(le.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(oe)}),g(document).off(le.FOCUSIN),g.removeData(this._element,ie),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},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},se,{},t),_.typeCheckConfig(ne,t,ae),t},t._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var e=g.Event(le.HIDE_PREVENTED);if(g(this._element).trigger(e),e.defaultPrevented)return;this._element.classList.add(_e);var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t._element.classList.remove(_e)}).emulateTransitionEnd(n),this._element.focus()}else this.hide()},t._showElement=function(t){var e=this,n=g(this._element).hasClass(de),i=this._dialog?this._dialog.querySelector(pe):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),g(this._dialog).hasClass(ce)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ge),this._config.focus&&this._enforceFocus();function o(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(r)}var r=g.Event(le.SHOWN,{relatedTarget:t});if(n){var s=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(s)}else o()},t._enforceFocus=function(){var e=this;g(document).off(le.FOCUSIN).on(le.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(le.KEYDOWN_DISMISS,function(t){27===t.which&&e._triggerBackdropTransition()}):this._isShown||g(this._element).off(le.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(le.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(le.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(fe),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(le.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(de)?de:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ue,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(le.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ge),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(ge);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(de)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(Ee)),e=[].slice.call(document.querySelectorAll(Ce));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(fe)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(Ee));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+Ce));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=he,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(ie),e=l({},se,{},g(this).data(),{},"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(ie,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return se}}]),o}();g(document).on(le.CLICK_DATA_API,ve,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(ie)?"toggle":l({},g(e).data(),{},g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(le.SHOW,function(t){t.isDefaultPrevented()||r.one(le.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});Te._jQueryInterface.call(g(e),o,this)}),g.fn[ne]=Te._jQueryInterface,g.fn[ne].Constructor=Te,g.fn[ne].noConflict=function(){return g.fn[ne]=re,Te._jQueryInterface};var be=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Se={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},De=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Ie=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function we(t,r,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(r),a=[].slice.call(n.body.querySelectorAll("*")),i=function(t){var e=a[t],n=e.nodeName.toLowerCase();if(-1===s.indexOf(e.nodeName.toLowerCase()))return e.parentNode.removeChild(e),"continue";var i=[].slice.call(e.attributes),o=[].concat(r["*"]||[],r[n]||[]);i.forEach(function(t){!function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===be.indexOf(n)||Boolean(t.nodeValue.match(De)||t.nodeValue.match(Ie));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1}(t,o)&&e.removeAttribute(t.nodeName)})},o=0,l=a.length;o<l;o++)i(o);return n.body.innerHTML}var Ae="tooltip",Ne="bs.tooltip",Oe="."+Ne,ke=g.fn[Ae],Pe="bs-tooltip",Le=new RegExp("(^|\\s)"+Pe+"\\S+","g"),je=["sanitize","whiteList","sanitizeFn"],He={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)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Re={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},xe={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Me))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Pe+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ke)),this.getTitle()),g(t).removeClass(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t=t||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},t._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==t||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Le);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(qe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ge),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ge,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return nn}},{key:"NAME",get:function(){return $e}},{key:"DATA_KEY",get:function(){return Ge}},{key:"Event",get:function(){return cn}},{key:"EVENT_KEY",get:function(){return Je}},{key:"DefaultType",get:function(){return on}}]),i}(Xe);g.fn[$e]=hn._jQueryInterface,g.fn[$e].Constructor=hn,g.fn[$e].noConflict=function(){return g.fn[$e]=Ze,hn._jQueryInterface};var un="scrollspy",fn="bs.scrollspy",dn="."+fn,gn=g.fn[un],_n={offset:10,method:"auto",target:""},mn={offset:"number",method:"string",target:"(string|element)"},pn={ACTIVATE:"activate"+dn,SCROLL:"scroll"+dn,LOAD_DATA_API:"load"+dn+".data-api"},vn="dropdown-item",yn="active",En='[data-spy="scroll"]',Cn=".nav, .list-group",Tn=".nav-link",bn=".nav-item",Sn=".list-group-item",Dn=".dropdown",In=".dropdown-item",wn=".dropdown-toggle",An="offset",Nn="position",On=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Tn+","+this._config.target+" "+Sn+","+this._config.target+" "+In,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(pn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?An:Nn,o="auto"===this._config.method?t:this._config.method,r=o===Nn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,fn),g(this._scrollElement).off(dn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},_n,{},"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(un),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(un,t,mn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(vn)?(n.closest(Dn).find(wn).addClass(yn),n.addClass(yn)):(n.addClass(yn),n.parents(Cn).prev(Tn+", "+Sn).addClass(yn),n.parents(Cn).prev(bn).children(Tn).addClass(yn)),g(this._scrollElement).trigger(pn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(yn)}).forEach(function(t){return t.classList.remove(yn)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(fn);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(fn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return _n}}]),n}();g(window).on(pn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(En)),e=t.length;e--;){var n=g(t[e]);On._jQueryInterface.call(n,n.data())}}),g.fn[un]=On._jQueryInterface,g.fn[un].Constructor=On,g.fn[un].noConflict=function(){return g.fn[un]=gn,On._jQueryInterface};var kn="bs.tab",Pn="."+kn,Ln=g.fn.tab,jn={HIDE:"hide"+Pn,HIDDEN:"hidden"+Pn,SHOW:"show"+Pn,SHOWN:"shown"+Pn,CLICK_DATA_API:"click"+Pn+".data-api"},Hn="dropdown-menu",Rn="active",xn="disabled",Fn="fade",Un="show",Wn=".dropdown",qn=".nav, .list-group",Mn=".active",Kn="> li > .active",Qn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Bn=".dropdown-toggle",Vn="> .dropdown-menu .active",Yn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Rn)||g(this._element).hasClass(xn))){var t,i,e=g(this._element).closest(qn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Kn:Mn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(jn.HIDE,{relatedTarget:this._element}),a=g.Event(jn.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(jn.HIDDEN,{relatedTarget:n._element}),e=g.Event(jn.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,kn),this._element=null},t._activate=function(t,e,n){function i(){return o._transitionComplete(t,r,n)}var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Mn):g(e).find(Kn))[0],s=n&&r&&g(r).hasClass(Fn);if(r&&s){var a=_.getTransitionDurationFromElement(r);g(r).removeClass(Un).one(_.TRANSITION_END,i).emulateTransitionEnd(a)}else i()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Rn);var i=g(e.parentNode).find(Vn)[0];i&&g(i).removeClass(Rn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Rn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(Fn)&&t.classList.add(Un),t.parentNode&&g(t.parentNode).hasClass(Hn)){var o=g(t).closest(Wn)[0];if(o){var r=[].slice.call(o.querySelectorAll(Bn));g(r).addClass(Rn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(kn);if(e||(e=new i(this),t.data(kn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();g(document).on(jn.CLICK_DATA_API,Qn,function(t){t.preventDefault(),Yn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Yn._jQueryInterface,g.fn.tab.Constructor=Yn,g.fn.tab.noConflict=function(){return g.fn.tab=Ln,Yn._jQueryInterface};var zn="toast",Xn="bs.toast",$n="."+Xn,Gn=g.fn[zn],Jn={CLICK_DISMISS:"click.dismiss"+$n,HIDE:"hide"+$n,HIDDEN:"hidden"+$n,SHOW:"show"+$n,SHOWN:"shown"+$n},Zn="fade",ti="hide",ei="show",ni="showing",ii={animation:"boolean",autohide:"boolean",delay:"number"},oi={animation:!0,autohide:!0,delay:500},ri='[data-dismiss="toast"]',si=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this,e=g.Event(Jn.SHOW);if(g(this._element).trigger(e),!e.isDefaultPrevented()){this._config.animation&&this._element.classList.add(Zn);var n=function(){t._element.classList.remove(ni),t._element.classList.add(ei),g(t._element).trigger(Jn.SHOWN),t._config.autohide&&(t._timeout=setTimeout(function(){t.hide()},t._config.delay))};if(this._element.classList.remove(ti),_.reflow(this._element),this._element.classList.add(ni),this._config.animation){var i=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},t.hide=function(){if(this._element.classList.contains(ei)){var t=g.Event(Jn.HIDE);g(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(ei)&&this._element.classList.remove(ei),g(this._element).off(Jn.CLICK_DISMISS),g.removeData(this._element,Xn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},oi,{},g(this._element).data(),{},"object"==typeof t&&t?t:{}),_.typeCheckConfig(zn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(Jn.CLICK_DISMISS,ri,function(){return t.hide()})},t._close=function(){function t(){e._element.classList.add(ti),g(e._element).trigger(Jn.HIDDEN)}var e=this;if(this._element.classList.remove(ei),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,t).emulateTransitionEnd(n)}else t()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Xn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Xn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"DefaultType",get:function(){return ii}},{key:"Default",get:function(){return oi}}]),i}();g.fn[zn]=si._jQueryInterface,g.fn[zn].Constructor=si,g.fn[zn].noConflict=function(){return g.fn[zn]=Gn,si._jQueryInterface},t.Alert=v,t.Button=H,t.Carousel=ut,t.Collapse=wt,t.Dropdown=ee,t.Modal=Te,t.Popover=hn,t.Scrollspy=On,t.Tab=Yn,t.Toast=si,t.Tooltip=Xe,t.Util=_,Object.defineProperty(t,"__esModule",{value:!0})});
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){s(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e,n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n;function l(t){var n=this,i=!1;return e(this).one(c.TRANSITION_END,(function(){i=!0})),setTimeout((function(){i||c.triggerTransitionEnd(n)}),t),this}var c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var n=e(t).css("transition-duration"),i=e(t).css("transition-delay"),o=parseFloat(n),s=parseFloat(i);return o||s?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger("transitionend")},supportsTransitionEnd:function(){return Boolean("transitionend")},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],s=e[i],r=s&&c.isElement(s)?"element":null===(a=s)||"undefined"==typeof a?""+a:{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(r))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+r+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof e)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};c.jQueryDetection(),e.fn.emulateTransitionEnd=l,e.event.special[c.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var h="alert",u=e.fn[h],d=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=c.getSelectorFromElement(t),i=!1;return n&&(i=document.querySelector(n)),i||(i=e(t).closest(".alert")[0]),i},n._triggerCloseEvent=function(t){var n=e.Event("close.bs.alert");return e(t).trigger(n),n},n._removeElement=function(t){var n=this;if(e(t).removeClass("show"),e(t).hasClass("fade")){var i=c.getTransitionDurationFromElement(t);e(t).one(c.TRANSITION_END,(function(e){return n._destroyElement(t,e)})).emulateTransitionEnd(i)}else this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.alert");o||(o=new t(this),i.data("bs.alert",o)),"close"===n&&o[n](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',d._handleDismiss(new d)),e.fn[h]=d._jQueryInterface,e.fn[h].Constructor=d,e.fn[h].noConflict=function(){return e.fn[h]=u,d._jQueryInterface};var f=e.fn.button,g=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,i=e(this._element).closest('[data-toggle="buttons"]')[0];if(i){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var s=i.querySelector(".active");s&&e(s).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),e(o).trigger("change")),o.focus(),n=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(n&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&e(this._element).toggleClass("active"))},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=t.target,i=n;if(e(n).hasClass("btn")||(n=e(n).closest(".btn")[0]),!n||n.hasAttribute("disabled")||n.classList.contains("disabled"))t.preventDefault();else{var o=n.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"LABEL"===i.tagName&&o&&"checkbox"===o.type&&t.preventDefault(),g._jQueryInterface.call(e(n),"toggle")}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=e(t.target).closest(".btn")[0];e(n).toggleClass("focus",/^focus(in)?$/.test(t.type))})),e(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector('input:not([type="hidden"])');o.checked||o.hasAttribute("checked")?i.classList.add("active"):i.classList.remove("active")}for(var s=0,r=(t=[].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length;s<r;s++){var a=t[s];"true"===a.getAttribute("aria-pressed")?a.classList.add("active"):a.classList.remove("active")}})),e.fn.button=g._jQueryInterface,e.fn.button.Constructor=g,e.fn.button.noConflict=function(){return e.fn.button=f,g._jQueryInterface};var m="carousel",p=".bs.carousel",_=e.fn[m],v={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},b={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},y={TOUCH:"touch",PEN:"pen"},E=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(".carousel-indicators"),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(c.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var n=this;this._activeElement=this._element.querySelector(".active.carousel-item");var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one("slid.bs.carousel",(function(){return n.to(t)}));else{if(i===t)return this.pause(),void this.cycle();var o=t>i?"next":"prev";this._slide(o,this._items[t])}},n.dispose=function(){e(this._element).off(p),e.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=a(a({},v),t),c.typeCheckConfig(m,t,b),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&e(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var n=function(e){t._pointerEvent&&y[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},i=function(e){t._pointerEvent&&y[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};e(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(e(this._element).on("pointerdown.bs.carousel",(function(t){return n(t)})),e(this._element).on("pointerup.bs.carousel",(function(t){return i(t)})),this._element.classList.add("pointer-event")):(e(this._element).on("touchstart.bs.carousel",(function(t){return n(t)})),e(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),e(this._element).on("touchend.bs.carousel",(function(t){return i(t)})))}},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),s=this._items.length-1;if((i&&0===o||n&&o===s)&&!this._config.wrap)return e;var r=(o+("prev"===t?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]},n._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),s=e.Event("slide.bs.carousel",{relatedTarget:t,direction:n,from:o,to:i});return e(this._element).trigger(s),s},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var n=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));e(n).removeClass("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&e(i).addClass("active")}},n._slide=function(t,n){var i,o,s,r=this,a=this._element.querySelector(".active.carousel-item"),l=this._getItemIndex(a),h=n||a&&this._getItemByDirection(t,a),u=this._getItemIndex(h),d=Boolean(this._interval);if("next"===t?(i="carousel-item-left",o="carousel-item-next",s="left"):(i="carousel-item-right",o="carousel-item-prev",s="right"),h&&e(h).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(h,s).isDefaultPrevented()&&a&&h){this._isSliding=!0,d&&this.pause(),this._setActiveIndicatorElement(h);var f=e.Event("slid.bs.carousel",{relatedTarget:h,direction:s,from:l,to:u});if(e(this._element).hasClass("slide")){e(h).addClass(o),c.reflow(h),e(a).addClass(i),e(h).addClass(i);var g=parseInt(h.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=c.getTransitionDurationFromElement(a);e(a).one(c.TRANSITION_END,(function(){e(h).removeClass(i+" "+o).addClass("active"),e(a).removeClass("active "+o+" "+i),r._isSliding=!1,setTimeout((function(){return e(r._element).trigger(f)}),0)})).emulateTransitionEnd(m)}else e(a).removeClass("active"),e(h).addClass("active"),this._isSliding=!1,e(this._element).trigger(f);d&&this.cycle()}},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.carousel"),o=a(a({},v),e(this).data());"object"==typeof n&&(o=a(a({},o),n));var s="string"==typeof n?n:o.slide;if(i||(i=new t(this,o),e(this).data("bs.carousel",i)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else o.interval&&o.ride&&(i.pause(),i.cycle())}))},t._dataApiClickHandler=function(n){var i=c.getSelectorFromElement(this);if(i){var o=e(i)[0];if(o&&e(o).hasClass("carousel")){var s=a(a({},e(o).data()),e(this).data()),r=this.getAttribute("data-slide-to");r&&(s.interval=!1),t._jQueryInterface.call(e(o),s),r&&e(o).data("bs.carousel").to(r),n.preventDefault()}}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return v}}]),t}();e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",E._dataApiClickHandler),e(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),n=0,i=t.length;n<i;n++){var o=e(t[n]);E._jQueryInterface.call(o,o.data())}})),e.fn[m]=E._jQueryInterface,e.fn[m].Constructor=E,e.fn[m].noConflict=function(){return e.fn[m]=_,E._jQueryInterface};var w="collapse",T=e.fn[w],C={toggle:!0,parent:""},S={toggle:"boolean",parent:"(string|element)"},D=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll('[data-toggle="collapse"]')),i=0,o=n.length;i<o;i++){var s=n[i],r=c.getSelectorFromElement(s),a=[].slice.call(document.querySelectorAll(r)).filter((function(e){return e===t}));null!==r&&a.length>0&&(this._selector=r,this._triggerArray.push(s))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var n=t.prototype;return n.toggle=function(){e(this._element).hasClass("show")?this.hide():this.show()},n.show=function(){var n,i,o=this;if(!this._isTransitioning&&!e(this._element).hasClass("show")&&(this._parent&&0===(n=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(n=null),!(n&&(i=e(n).not(this._selector).data("bs.collapse"))&&i._isTransitioning))){var s=e.Event("show.bs.collapse");if(e(this._element).trigger(s),!s.isDefaultPrevented()){n&&(t._jQueryInterface.call(e(n).not(this._selector),"hide"),i||e(n).data("bs.collapse",null));var r=this._getDimension();e(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[r]=0,this._triggerArray.length&&e(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var a="scroll"+(r[0].toUpperCase()+r.slice(1)),l=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(){e(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[r]="",o.setTransitioning(!1),e(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(l),this._element.style[r]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass("show")){var n=e.Event("hide.bs.collapse");if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",c.reflow(this._element),e(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var s=0;s<o;s++){var r=this._triggerArray[s],a=c.getSelectorFromElement(r);if(null!==a)e([].slice.call(document.querySelectorAll(a))).hasClass("show")||e(r).addClass("collapsed").attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[i]="";var l=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(){t.setTransitioning(!1),e(t._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")})).emulateTransitionEnd(l)}}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){e.removeData(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=a(a({},C),t)).toggle=Boolean(t.toggle),c.typeCheckConfig(w,t,S),t},n._getDimension=function(){return e(this._element).hasClass("width")?"width":"height"},n._getParent=function(){var n,i=this;c.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=document.querySelector(this._config.parent);var o='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',s=[].slice.call(n.querySelectorAll(o));return e(s).each((function(e,n){i._addAriaAndCollapsedClass(t._getTargetFromElement(n),[n])})),n},n._addAriaAndCollapsedClass=function(t,n){var i=e(t).hasClass("show");n.length&&e(n).toggleClass("collapsed",!i).attr("aria-expanded",i)},t._getTargetFromElement=function(t){var e=c.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.collapse"),s=a(a(a({},C),i.data()),"object"==typeof n&&n?n:{});if(!o&&s.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(s.toggle=!1),o||(o=new t(this,s),i.data("bs.collapse",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return C}}]),t}();e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=e(this),i=c.getSelectorFromElement(this),o=[].slice.call(document.querySelectorAll(i));e(o).each((function(){var t=e(this),i=t.data("bs.collapse")?"toggle":n.data();D._jQueryInterface.call(t,i)}))})),e.fn[w]=D._jQueryInterface,e.fn[w].Constructor=D,e.fn[w].noConflict=function(){return e.fn[w]=T,D._jQueryInterface};var k="dropdown",N=e.fn[k],A=new RegExp("38|40|27"),I={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},O={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},j=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var i=t.prototype;return i.toggle=function(){if(!this._element.disabled&&!e(this._element).hasClass("disabled")){var n=e(this._menu).hasClass("show");t._clearMenus(),n||this.show(!0)}},i.show=function(i){if(void 0===i&&(i=!1),!(this._element.disabled||e(this._element).hasClass("disabled")||e(this._menu).hasClass("show"))){var o={relatedTarget:this._element},s=e.Event("show.bs.dropdown",o),r=t._getParentFromElement(this._element);if(e(r).trigger(s),!s.isDefaultPrevented()){if(!this._inNavbar&&i){if("undefined"==typeof n)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var a=this._element;"parent"===this._config.reference?a=r:c.isElement(this._config.reference)&&(a=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(a=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e(r).addClass("position-static"),this._popper=new n(a,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===e(r).closest(".navbar-nav").length&&e(document.body).children().on("mouseover",null,e.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),e(this._menu).toggleClass("show"),e(r).toggleClass("show").trigger(e.Event("shown.bs.dropdown",o))}}},i.hide=function(){if(!this._element.disabled&&!e(this._element).hasClass("disabled")&&e(this._menu).hasClass("show")){var n={relatedTarget:this._element},i=e.Event("hide.bs.dropdown",n),o=t._getParentFromElement(this._element);e(o).trigger(i),i.isDefaultPrevented()||(this._popper&&this._popper.destroy(),e(this._menu).toggleClass("show"),e(o).toggleClass("show").trigger(e.Event("hidden.bs.dropdown",n)))}},i.dispose=function(){e.removeData(this._element,"bs.dropdown"),e(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},i.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},i._addEventListeners=function(){var t=this;e(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=a(a(a({},this.constructor.Default),e(this._element).data()),t),c.typeCheckConfig(k,t,this.constructor.DefaultType),t},i._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},i._getPlacement=function(){var t=e(this._element.parentNode),n="bottom-start";return t.hasClass("dropup")?n=e(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?n="right-start":t.hasClass("dropleft")?n="left-start":e(this._menu).hasClass("dropdown-menu-right")&&(n="bottom-end"),n},i._detectNavbar=function(){return e(this._element).closest(".navbar").length>0},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=a(a({},e.offsets),t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a(a({},t),this._config.popperConfig)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.dropdown");if(i||(i=new t(this,"object"==typeof n?n:null),e(this).data("bs.dropdown",i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},t._clearMenus=function(n){if(!n||3!==n.which&&("keyup"!==n.type||9===n.which))for(var i=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,s=i.length;o<s;o++){var r=t._getParentFromElement(i[o]),a=e(i[o]).data("bs.dropdown"),l={relatedTarget:i[o]};if(n&&"click"===n.type&&(l.clickEvent=n),a){var c=a._menu;if(e(r).hasClass("show")&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"keyup"===n.type&&9===n.which)&&e.contains(r,n.target))){var h=e.Event("hide.bs.dropdown",l);e(r).trigger(h),h.isDefaultPrevented()||("ontouchstart"in document.documentElement&&e(document.body).children().off("mouseover",null,e.noop),i[o].setAttribute("aria-expanded","false"),a._popper&&a._popper.destroy(),e(c).removeClass("show"),e(r).removeClass("show").trigger(e.Event("hidden.bs.dropdown",l)))}}}},t._getParentFromElement=function(t){var e,n=c.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},t._dataApiKeydownHandler=function(n){if(!(/input|textarea/i.test(n.target.tagName)?32===n.which||27!==n.which&&(40!==n.which&&38!==n.which||e(n.target).closest(".dropdown-menu").length):!A.test(n.which))&&!this.disabled&&!e(this).hasClass("disabled")){var i=t._getParentFromElement(this),o=e(i).hasClass("show");if(o||27!==n.which){if(n.preventDefault(),n.stopPropagation(),!o||o&&(27===n.which||32===n.which))return 27===n.which&&e(i.querySelector('[data-toggle="dropdown"]')).trigger("focus"),void e(this).trigger("click");var s=[].slice.call(i.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter((function(t){return e(t).is(":visible")}));if(0!==s.length){var r=s.indexOf(n.target);38===n.which&&r>0&&r--,40===n.which&&r<s.length-1&&r++,r<0&&(r=0),s[r].focus()}}}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return I}},{key:"DefaultType",get:function(){return O}}]),t}();e(document).on("keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',j._dataApiKeydownHandler).on("keydown.bs.dropdown.data-api",".dropdown-menu",j._dataApiKeydownHandler).on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api",j._clearMenus).on("click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),j._jQueryInterface.call(e(this),"toggle")})).on("click.bs.dropdown.data-api",".dropdown form",(function(t){t.stopPropagation()})),e.fn[k]=j._jQueryInterface,e.fn[k].Constructor=j,e.fn[k].noConflict=function(){return e.fn[k]=N,j._jQueryInterface};var P=e.fn.modal,x={backdrop:!0,keyboard:!0,focus:!0,show:!0},L={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},R=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(".modal-dialog"),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.show=function(t){var n=this;if(!this._isShown&&!this._isTransitioning){e(this._element).hasClass("fade")&&(this._isTransitioning=!0);var i=e.Event("show.bs.modal",{relatedTarget:t});e(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),e(this._element).on("click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return n.hide(t)})),e(this._dialog).on("mousedown.dismiss.bs.modal",(function(){e(n._element).one("mouseup.dismiss.bs.modal",(function(t){e(t.target).is(n._element)&&(n._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return n._showElement(t)})))}},n.hide=function(t){var n=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var i=e.Event("hide.bs.modal");if(e(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var o=e(this._element).hasClass("fade");if(o&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),e(document).off("focusin.bs.modal"),e(this._element).removeClass("show"),e(this._element).off("click.dismiss.bs.modal"),e(this._dialog).off("mousedown.dismiss.bs.modal"),o){var s=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(t){return n._hideModal(t)})).emulateTransitionEnd(s)}else this._hideModal()}}},n.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return e(t).off(".bs.modal")})),e(document).off("focusin.bs.modal"),e.removeData(this._element,"bs.modal"),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},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=a(a({},x),t),c.typeCheckConfig("modal",t,L),t},n._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var n=e.Event("hidePrevented.bs.modal");if(e(this._element).trigger(n),n.defaultPrevented)return;this._element.classList.add("modal-static");var i=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(){t._element.classList.remove("modal-static")})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},n._showElement=function(t){var n=this,i=e(this._element).hasClass("fade"),o=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),e(this._dialog).hasClass("modal-dialog-scrollable")&&o?o.scrollTop=0:this._element.scrollTop=0,i&&c.reflow(this._element),e(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var s=e.Event("shown.bs.modal",{relatedTarget:t}),r=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,e(n._element).trigger(s)};if(i){var a=c.getTransitionDurationFromElement(this._dialog);e(this._dialog).one(c.TRANSITION_END,r).emulateTransitionEnd(a)}else r()},n._enforceFocus=function(){var t=this;e(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(n){document!==n.target&&t._element!==n.target&&0===e(t._element).has(n.target).length&&t._element.focus()}))},n._setEscapeEvent=function(){var t=this;this._isShown?e(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||e(this._element).off("keydown.dismiss.bs.modal")},n._setResizeEvent=function(){var t=this;this._isShown?e(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):e(window).off("resize.bs.modal")},n._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){e(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),e(t._element).trigger("hidden.bs.modal")}))},n._removeBackdrop=function(){this._backdrop&&(e(this._backdrop).remove(),this._backdrop=null)},n._showBackdrop=function(t){var n=this,i=e(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",i&&this._backdrop.classList.add(i),e(this._backdrop).appendTo(document.body),e(this._element).on("click.dismiss.bs.modal",(function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&n._triggerBackdropTransition()})),i&&c.reflow(this._backdrop),e(this._backdrop).addClass("show"),!t)return;if(!i)return void t();var o=c.getTransitionDurationFromElement(this._backdrop);e(this._backdrop).one(c.TRANSITION_END,t).emulateTransitionEnd(o)}else if(!this._isShown&&this._backdrop){e(this._backdrop).removeClass("show");var s=function(){n._removeBackdrop(),t&&t()};if(e(this._element).hasClass("fade")){var r=c.getTransitionDurationFromElement(this._backdrop);e(this._backdrop).one(c.TRANSITION_END,s).emulateTransitionEnd(r)}else s()}else t&&t()},n._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var n=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),i=[].slice.call(document.querySelectorAll(".sticky-top"));e(n).each((function(n,i){var o=i.style.paddingRight,s=e(i).css("padding-right");e(i).data("padding-right",o).css("padding-right",parseFloat(s)+t._scrollbarWidth+"px")})),e(i).each((function(n,i){var o=i.style.marginRight,s=e(i).css("margin-right");e(i).data("margin-right",o).css("margin-right",parseFloat(s)-t._scrollbarWidth+"px")}));var o=document.body.style.paddingRight,s=e(document.body).css("padding-right");e(document.body).data("padding-right",o).css("padding-right",parseFloat(s)+this._scrollbarWidth+"px")}e(document.body).addClass("modal-open")},n._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));e(t).each((function(t,n){var i=e(n).data("padding-right");e(n).removeData("padding-right"),n.style.paddingRight=i||""}));var n=[].slice.call(document.querySelectorAll(".sticky-top"));e(n).each((function(t,n){var i=e(n).data("margin-right");"undefined"!=typeof i&&e(n).css("margin-right",i).removeData("margin-right")}));var i=e(document.body).data("padding-right");e(document.body).removeData("padding-right"),document.body.style.paddingRight=i||""},n._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(n,i){return this.each((function(){var o=e(this).data("bs.modal"),s=a(a(a({},x),e(this).data()),"object"==typeof n&&n?n:{});if(o||(o=new t(this,s),e(this).data("bs.modal",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n](i)}else s.show&&o.show(i)}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return x}}]),t}();e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var n,i=this,o=c.getSelectorFromElement(this);o&&(n=document.querySelector(o));var s=e(n).data("bs.modal")?"toggle":a(a({},e(n).data()),e(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=e(n).one("show.bs.modal",(function(t){t.isDefaultPrevented()||r.one("hidden.bs.modal",(function(){e(i).is(":visible")&&i.focus()}))}));R._jQueryInterface.call(e(n),s,this)})),e.fn.modal=R._jQueryInterface,e.fn.modal.Constructor=R,e.fn.modal.noConflict=function(){return e.fn.modal=P,R._jQueryInterface};var q=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],F={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Q=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,B=/^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 H(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),s=[].slice.call(i.body.querySelectorAll("*")),r=function(t,n){var i=s[t],r=i.nodeName.toLowerCase();if(-1===o.indexOf(i.nodeName.toLowerCase()))return i.parentNode.removeChild(i),"continue";var a=[].slice.call(i.attributes),l=[].concat(e["*"]||[],e[r]||[]);a.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===q.indexOf(n)||Boolean(t.nodeValue.match(Q)||t.nodeValue.match(B));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,s=i.length;o<s;o++)if(n.match(i[o]))return!0;return!1})(t,l)||i.removeAttribute(t.nodeName)}))},a=0,l=s.length;a<l;a++)r(a);return i.body.innerHTML}var U="tooltip",M=e.fn[U],W=new RegExp("(^|\\s)bs-tooltip\\S+","g"),V=["sanitize","whiteList","sanitizeFn"],z={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)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},K={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},X={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:F,popperConfig:null},Y={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},$=function(){function t(t,e){if("undefined"==typeof n)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var i=t.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var i=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(i);var o=c.findShadowRoot(this.element),s=e.contains(null!==o?o:this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),a=c.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&e(r).addClass("fade");var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var u=this._getContainer();e(r).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(r).appendTo(u),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,this._getPopperConfig(h)),e(r).addClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().on("mouseover",null,e.noop);var d=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),"out"===n&&t._leave(null,t)};if(e(this.tip).hasClass("fade")){var f=c.getTransitionDurationFromElement(this.tip);e(this.tip).one(c.TRANSITION_END,d).emulateTransitionEnd(f)}else d()}},i.hide=function(t){var n=this,i=this.getTipElement(),o=e.Event(this.constructor.Event.HIDE),s=function(){"show"!==n._hoverState&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};if(e(this.element).trigger(o),!o.isDefaultPrevented()){if(e(i).removeClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().off("mouseover",null,e.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,e(this.tip).hasClass("fade")){var r=c.getTransitionDurationFromElement(i);e(i).one(c.TRANSITION_END,s).emulateTransitionEnd(r)}else s();this._hoverState=""}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},i.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent(e(t.querySelectorAll(".tooltip-inner")),this.getTitle()),e(t).removeClass("fade show")},i.setElementContent=function(t,n){"object"!=typeof n||!n.nodeType&&!n.jquery?this.config.html?(this.config.sanitize&&(n=H(n,this.config.whiteList,this.config.sanitizeFn)),t.html(n)):t.text(n):this.config.html?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text())},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return a(a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),this.config.popperConfig)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a(a({},e.offsets),t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:c.isElement(this.config.container)?e(this.config.container):e(document).find(this.config.container)},i._getAttachment=function(t){return K[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==n){var i="hover"===n?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===n?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},e(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a(a({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e(n.getTipElement()).hasClass("show")||"show"===n._hoverState?n._hoverState="show":(clearTimeout(n._timeout),n._hoverState="show",n.config.delay&&n.config.delay.show?n._timeout=setTimeout((function(){"show"===n._hoverState&&n.show()}),n.config.delay.show):n.show())},i._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState="out",n.config.delay&&n.config.delay.hide?n._timeout=setTimeout((function(){"out"===n._hoverState&&n.hide()}),n.config.delay.hide):n.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var n=e(this.element).data();return Object.keys(n).forEach((function(t){-1!==V.indexOf(t)&&delete n[t]})),"number"==typeof(t=a(a(a({},this.constructor.Default),n),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),c.typeCheckConfig(U,t,this.constructor.DefaultType),t.sanitize&&(t.template=H(t.template,t.whiteList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(W);null!==n&&n.length&&t.removeClass(n.join(""))},i._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.tooltip"),o="object"==typeof n&&n;if((i||!/dispose|hide/.test(n))&&(i||(i=new t(this,o),e(this).data("bs.tooltip",i)),"string"==typeof n)){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return X}},{key:"NAME",get:function(){return U}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Y}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return z}}]),t}();e.fn[U]=$._jQueryInterface,e.fn[U].Constructor=$,e.fn[U].noConflict=function(){return e.fn[U]=M,$._jQueryInterface};var J="popover",G=e.fn[J],Z=new RegExp("(^|\\s)bs-popover\\S+","g"),tt=a(a({},$.Default),{},{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),et=a(a({},$.DefaultType),{},{content:"(string|element|function)"}),nt={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},it=function(t){var n,i;function s(){return t.apply(this,arguments)||this}i=t,(n=s).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=s.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},r.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},r.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(t.find(".popover-body"),n),t.removeClass("fade show")},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(Z);null!==n&&n.length>0&&t.removeClass(n.join(""))},s._jQueryInterface=function(t){return this.each((function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/dispose|hide/.test(t))&&(n||(n=new s(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},o(s,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return tt}},{key:"NAME",get:function(){return J}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return nt}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return et}}]),s}($);e.fn[J]=it._jQueryInterface,e.fn[J].Constructor=it,e.fn[J].noConflict=function(){return e.fn[J]=G,it._jQueryInterface};var ot="scrollspy",st=e.fn[ot],rt={offset:10,method:"auto",target:""},at={offset:"number",method:"string",target:"(string|element)"},lt=function(){function t(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return i._process(t)})),this.refresh(),this._process()}var n=t.prototype;return n.refresh=function(){var t=this,n=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?n:this._config.method,o="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var n,s=c.getSelectorFromElement(t);if(s&&(n=document.querySelector(s)),n){var r=n.getBoundingClientRect();if(r.width||r.height)return[e(n)[i]().top+o,s]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=a(a({},rt),"object"==typeof t&&t?t:{})).target&&c.isElement(t.target)){var n=e(t.target).attr("id");n||(n=c.getUID(ot),e(t.target).attr("id",n)),t.target="#"+n}return c.typeCheckConfig(ot,t,at),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},n._activate=function(t){this._activeTarget=t,this._clear();var n=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),i=e([].slice.call(document.querySelectorAll(n.join(","))));i.hasClass("dropdown-item")?(i.closest(".dropdown").find(".dropdown-toggle").addClass("active"),i.addClass("active")):(i.addClass("active"),i.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),i.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")),e(this._scrollElement).trigger("activate.bs.scrollspy",{relatedTarget:t})},n._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.scrollspy");if(i||(i=new t(this,"object"==typeof n&&n),e(this).data("bs.scrollspy",i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return rt}}]),t}();e(window).on("load.bs.scrollspy.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),n=t.length;n--;){var i=e(t[n]);lt._jQueryInterface.call(i,i.data())}})),e.fn[ot]=lt._jQueryInterface,e.fn[ot].Constructor=lt,e.fn[ot].noConflict=function(){return e.fn[ot]=st,lt._jQueryInterface};var ct=e.fn.tab,ht=function(){function t(t){this._element=t}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass("active")||e(this._element).hasClass("disabled"))){var n,i,o=e(this._element).closest(".nav, .list-group")[0],s=c.getSelectorFromElement(this._element);if(o){var r="UL"===o.nodeName||"OL"===o.nodeName?"> li > .active":".active";i=(i=e.makeArray(e(o).find(r)))[i.length-1]}var a=e.Event("hide.bs.tab",{relatedTarget:this._element}),l=e.Event("show.bs.tab",{relatedTarget:i});if(i&&e(i).trigger(a),e(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=document.querySelector(s)),this._activate(this._element,o);var h=function(){var n=e.Event("hidden.bs.tab",{relatedTarget:t._element}),o=e.Event("shown.bs.tab",{relatedTarget:i});e(i).trigger(n),e(t._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},n.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},n._activate=function(t,n,i){var o=this,s=(!n||"UL"!==n.nodeName&&"OL"!==n.nodeName?e(n).children(".active"):e(n).find("> li > .active"))[0],r=i&&s&&e(s).hasClass("fade"),a=function(){return o._transitionComplete(t,s,i)};if(s&&r){var l=c.getTransitionDurationFromElement(s);e(s).removeClass("show").one(c.TRANSITION_END,a).emulateTransitionEnd(l)}else a()},n._transitionComplete=function(t,n,i){if(n){e(n).removeClass("active");var o=e(n.parentNode).find("> .dropdown-menu .active")[0];o&&e(o).removeClass("active"),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),c.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&e(t.parentNode).hasClass("dropdown-menu")){var s=e(t).closest(".dropdown")[0];if(s){var r=[].slice.call(s.querySelectorAll(".dropdown-toggle"));e(r).addClass("active")}t.setAttribute("aria-expanded",!0)}i&&i()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.tab");if(o||(o=new t(this),i.data("bs.tab",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ht._jQueryInterface.call(e(this),"show")})),e.fn.tab=ht._jQueryInterface,e.fn.tab.Constructor=ht,e.fn.tab.noConflict=function(){return e.fn.tab=ct,ht._jQueryInterface};var ut=e.fn.toast,dt={animation:"boolean",autohide:"boolean",delay:"number"},ft={animation:!0,autohide:!0,delay:500},gt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var n=t.prototype;return n.show=function(){var t=this,n=e.Event("show.bs.toast");if(e(this._element).trigger(n),!n.isDefaultPrevented()){this._config.animation&&this._element.classList.add("fade");var i=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),e(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),c.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,i).emulateTransitionEnd(o)}else i()}},n.hide=function(){if(this._element.classList.contains("show")){var t=e.Event("hide.bs.toast");e(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),e(this._element).off("click.dismiss.bs.toast"),e.removeData(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=a(a(a({},ft),e(this._element).data()),"object"==typeof t&&t?t:{}),c.typeCheckConfig("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;e(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},n._close=function(){var t=this,n=function(){t._element.classList.add("hide"),e(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var i=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,n).emulateTransitionEnd(i)}else n()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.toast");if(o||(o=new t(this,"object"==typeof n&&n),i.data("bs.toast",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n](this)}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"DefaultType",get:function(){return dt}},{key:"Default",get:function(){return ft}}]),t}();e.fn.toast=gt._jQueryInterface,e.fn.toast.Constructor=gt,e.fn.toast.noConflict=function(){return e.fn.toast=ut,gt._jQueryInterface},t.Alert=d,t.Button=g,t.Carousel=E,t.Collapse=D,t.Dropdown=j,t.Modal=R,t.Popover=it,t.Scrollspy=lt,t.Tab=ht,t.Toast=gt,t.Tooltip=$,t.Util=c,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/dist/js/bootstrap.min.js.map b/vendor/twbs/bootstrap/dist/js/bootstrap.min.js.map
index 757dbf30c..712fcfe73 100644
--- a/vendor/twbs/bootstrap/dist/js/bootstrap.min.js.map
+++ b/vendor/twbs/bootstrap/dist/js/bootstrap.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","ShadowRoot","parentNode","root","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","LOAD_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","tagName","focus","hasAttribute","setAttribute","toggleClass","button","inputBtn","window","buttons","slice","querySelectorAll","i","len","length","add","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_objectSpread2","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","transitionComplete","shownEvent","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this11","uriAttrs","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","keys","_loop","el","elName","nodeName","attributeList","attributes","whitelistedAttributes","concat","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","text","empty","append","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","node","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","_transitionComplete","active","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLES : '[data-toggle=\"buttons\"]',\n DATA_TOGGLE : '[data-toggle=\"button\"]',\n DATA_TOGGLES_BUTTONS : '[data-toggle=\"buttons\"] .btn',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n } else if (input.type === 'checkbox') {\n if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n }\n } else {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n triggerChangeEvent = false\n }\n\n if (triggerChangeEvent) {\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(Selector.INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(Event.LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(Selector.INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show',\n STATIC : 'modal-static'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(Event.HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show',\n SHOWING : 'showing'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(Event.SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n Util.reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["transitionEndEmulator","duration","_this","this","called","$","one","Util","TRANSITION_END","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","JQUERY_NO_CONFLICT","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_objectSpread2","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","CLASS_NAME_ACTIVE","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","round","left","right","innerWidth","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this11","uriAttrs","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","keys","_loop","el","elName","nodeName","attributeList","attributes","whitelistedAttributes","concat","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","content","text","empty","append","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","instance","popper","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","node","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n SELECTOR_DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {\n event.preventDefault() // work around event sent to label and input\n }\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? DIRECTION_NEXT\n : DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, (event) => this.pause(event))\n .on(EVENT_MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, (e) => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, (event) => start(event))\n $(this._element).on(EVENT_POINTERUP, (event) => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, (event) => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, (event) => move(event))\n $(this._element).on(EVENT_TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)\n ? PLACEMENT_TOPEND\n : PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE)\n ? CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst 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\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, (event) => this._enter(event))\n .on(eventOut, this.config.selector, (event) => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .addClass(CLASS_NAME_ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(SELECTOR_NAV_ITEMS)\n .children(SELECTOR_NAV_LINKS)\n .addClass(CLASS_NAME_ACTIVE)\n }\n\n $(this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = '> li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(CLASS_NAME_ACTIVE) ||\n $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(EVENT_HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(SELECTOR_ACTIVE_UL)\n : $(container).children(SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(CLASS_NAME_SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(CLASS_NAME_ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n SELECTOR_DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(EVENT_SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n $(this._element).trigger(EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n Util.reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n $(this._element).trigger(EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/alert.js b/vendor/twbs/bootstrap/js/dist/alert.js
index b825d19d5..464114f75 100644
--- a/vendor/twbs/bootstrap/js/dist/alert.js
+++ b/vendor/twbs/bootstrap/js/dist/alert.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap alert.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap alert.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, global.Alert = factory(global.jQuery, global.Util));
}(this, (function ($, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -35,33 +35,25 @@
*/
var NAME = 'alert';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var Selector = {
- DISMISS: '[data-dismiss="alert"]'
- };
- var Event = {
- CLOSE: "close" + EVENT_KEY,
- CLOSED: "closed" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- ALERT: 'alert',
- FADE: 'fade',
- SHOW: 'show'
- };
+ 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 () {
+ var Alert = /*#__PURE__*/function () {
function Alert(element) {
this._element = element;
} // Getters
@@ -101,14 +93,14 @@
}
if (!parent) {
- parent = $(element).closest("." + ClassName.ALERT)[0];
+ parent = $(element).closest("." + CLASS_NAME_ALERT)[0];
}
return parent;
};
_proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- var closeEvent = $.Event(Event.CLOSE);
+ var closeEvent = $.Event(EVENT_CLOSE);
$(element).trigger(closeEvent);
return closeEvent;
};
@@ -116,9 +108,9 @@
_proto._removeElement = function _removeElement(element) {
var _this = this;
- $(element).removeClass(ClassName.SHOW);
+ $(element).removeClass(CLASS_NAME_SHOW);
- if (!$(element).hasClass(ClassName.FADE)) {
+ if (!$(element).hasClass(CLASS_NAME_FADE)) {
this._destroyElement(element);
return;
@@ -131,7 +123,7 @@
};
_proto._destroyElement = function _destroyElement(element) {
- $(element).detach().trigger(Event.CLOSED).remove();
+ $(element).detach().trigger(EVENT_CLOSED).remove();
} // Static
;
@@ -177,7 +169,7 @@
*/
- $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
/**
* ------------------------------------------------------------------------
* jQuery
diff --git a/vendor/twbs/bootstrap/js/dist/alert.js.map b/vendor/twbs/bootstrap/js/dist/alert.js.map
index 21b7991e6..2e77aa9ee 100644
--- a/vendor/twbs/bootstrap/js/dist/alert.js.map
+++ b/vendor/twbs/bootstrap/js/dist/alert.js.map
@@ -1 +1 @@
-{"version":3,"file":"alert.js","sources":["../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","element","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","selector","Util","getSelectorFromElement","parent","document","querySelector","closest","closeEvent","trigger","removeClass","hasClass","_destroyElement","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"alert.js","sources":["../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASS_NAME_ALERT","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","element","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","selector","Util","getSelectorFromElement","parent","document","querySelector","closest","closeEvent","Event","trigger","removeClass","hasClass","_destroyElement","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA;;;;;;EAMA,IAAMA,IAAI,GAAkB,OAA5B;EACA,IAAMC,OAAO,GAAe,OAA5B;EACA,IAAMC,QAAQ,GAAc,UAA5B;EACA,IAAMC,SAAS,SAAiBD,QAAhC;EACA,IAAME,YAAY,GAAU,WAA5B;EACA,IAAMC,kBAAkB,GAAIC,CAAC,CAACC,EAAF,CAAKP,IAAL,CAA5B;EAEA,IAAMQ,gBAAgB,GAAG,wBAAzB;EAEA,IAAMC,WAAW,aAAoBN,SAArC;EACA,IAAMO,YAAY,cAAoBP,SAAtC;EACA,IAAMQ,oBAAoB,aAAWR,SAAX,GAAuBC,YAAjD;EAEA,IAAMQ,gBAAgB,GAAG,OAAzB;EACA,IAAMC,eAAe,GAAI,MAAzB;EACA,IAAMC,eAAe,GAAI,MAAzB;EAEA;;;;;;MAMMC;EACJ,iBAAYC,OAAZ,EAAqB;EACnB,SAAKC,QAAL,GAAgBD,OAAhB;EACD;;;;;EAQD;WAEAE,QAAA,eAAMF,OAAN,EAAe;EACb,QAAIG,WAAW,GAAG,KAAKF,QAAvB;;EACA,QAAID,OAAJ,EAAa;EACXG,MAAAA,WAAW,GAAG,KAAKC,eAAL,CAAqBJ,OAArB,CAAd;EACD;;EAED,QAAMK,WAAW,GAAG,KAAKC,kBAAL,CAAwBH,WAAxB,CAApB;;EAEA,QAAIE,WAAW,CAACE,kBAAZ,EAAJ,EAAsC;EACpC;EACD;;EAED,SAAKC,cAAL,CAAoBL,WAApB;EACD;;WAEDM,UAAA,mBAAU;EACRnB,IAAAA,CAAC,CAACoB,UAAF,CAAa,KAAKT,QAAlB,EAA4Bf,QAA5B;EACA,SAAKe,QAAL,GAAgB,IAAhB;EACD;;;WAIDG,kBAAA,yBAAgBJ,OAAhB,EAAyB;EACvB,QAAMW,QAAQ,GAAGC,IAAI,CAACC,sBAAL,CAA4Bb,OAA5B,CAAjB;EACA,QAAIc,MAAM,GAAO,KAAjB;;EAEA,QAAIH,QAAJ,EAAc;EACZG,MAAAA,MAAM,GAAGC,QAAQ,CAACC,aAAT,CAAuBL,QAAvB,CAAT;EACD;;EAED,QAAI,CAACG,MAAL,EAAa;EACXA,MAAAA,MAAM,GAAGxB,CAAC,CAACU,OAAD,CAAD,CAAWiB,OAAX,OAAuBrB,gBAAvB,EAA2C,CAA3C,CAAT;EACD;;EAED,WAAOkB,MAAP;EACD;;WAEDR,qBAAA,4BAAmBN,OAAnB,EAA4B;EAC1B,QAAMkB,UAAU,GAAG5B,CAAC,CAAC6B,KAAF,CAAQ1B,WAAR,CAAnB;EAEAH,IAAAA,CAAC,CAACU,OAAD,CAAD,CAAWoB,OAAX,CAAmBF,UAAnB;EACA,WAAOA,UAAP;EACD;;WAEDV,iBAAA,wBAAeR,OAAf,EAAwB;EAAA;;EACtBV,IAAAA,CAAC,CAACU,OAAD,CAAD,CAAWqB,WAAX,CAAuBvB,eAAvB;;EAEA,QAAI,CAACR,CAAC,CAACU,OAAD,CAAD,CAAWsB,QAAX,CAAoBzB,eAApB,CAAL,EAA2C;EACzC,WAAK0B,eAAL,CAAqBvB,OAArB;;EACA;EACD;;EAED,QAAMwB,kBAAkB,GAAGZ,IAAI,CAACa,gCAAL,CAAsCzB,OAAtC,CAA3B;EAEAV,IAAAA,CAAC,CAACU,OAAD,CAAD,CACG0B,GADH,CACOd,IAAI,CAACe,cADZ,EAC4B,UAACC,KAAD;EAAA,aAAW,KAAI,CAACL,eAAL,CAAqBvB,OAArB,EAA8B4B,KAA9B,CAAX;EAAA,KAD5B,EAEGC,oBAFH,CAEwBL,kBAFxB;EAGD;;WAEDD,kBAAA,yBAAgBvB,OAAhB,EAAyB;EACvBV,IAAAA,CAAC,CAACU,OAAD,CAAD,CACG8B,MADH,GAEGV,OAFH,CAEW1B,YAFX,EAGGqC,MAHH;EAID;;;UAIMC,mBAAP,0BAAwBC,MAAxB,EAAgC;EAC9B,WAAO,KAAKC,IAAL,CAAU,YAAY;EAC3B,UAAMC,QAAQ,GAAG7C,CAAC,CAAC,IAAD,CAAlB;EACA,UAAI8C,IAAI,GAASD,QAAQ,CAACC,IAAT,CAAclD,QAAd,CAAjB;;EAEA,UAAI,CAACkD,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIrC,KAAJ,CAAU,IAAV,CAAP;EACAoC,QAAAA,QAAQ,CAACC,IAAT,CAAclD,QAAd,EAAwBkD,IAAxB;EACD;;EAED,UAAIH,MAAM,KAAK,OAAf,EAAwB;EACtBG,QAAAA,IAAI,CAACH,MAAD,CAAJ,CAAa,IAAb;EACD;EACF,KAZM,CAAP;EAaD;;UAEMI,iBAAP,wBAAsBC,aAAtB,EAAqC;EACnC,WAAO,UAAUV,KAAV,EAAiB;EACtB,UAAIA,KAAJ,EAAW;EACTA,QAAAA,KAAK,CAACW,cAAN;EACD;;EAEDD,MAAAA,aAAa,CAACpC,KAAd,CAAoB,IAApB;EACD,KAND;EAOD;;;;0BAlGoB;EACnB,aAAOjB,OAAP;EACD;;;;;EAmGH;;;;;;;EAMAK,CAAC,CAACyB,QAAD,CAAD,CAAYyB,EAAZ,CACE7C,oBADF,EAEEH,gBAFF,EAGEO,KAAK,CAACsC,cAAN,CAAqB,IAAItC,KAAJ,EAArB,CAHF;EAMA;;;;;;EAMAT,CAAC,CAACC,EAAF,CAAKP,IAAL,IAAyBe,KAAK,CAACiC,gBAA/B;EACA1C,CAAC,CAACC,EAAF,CAAKP,IAAL,EAAWyD,WAAX,GAAyB1C,KAAzB;;EACAT,CAAC,CAACC,EAAF,CAAKP,IAAL,EAAW0D,UAAX,GAAyB,YAAM;EAC7BpD,EAAAA,CAAC,CAACC,EAAF,CAAKP,IAAL,IAAaK,kBAAb;EACA,SAAOU,KAAK,CAACiC,gBAAb;EACD,CAHD;;;;;;;;"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/button.js b/vendor/twbs/bootstrap/js/dist/button.js
index 92a3640fc..669fb2990 100644
--- a/vendor/twbs/bootstrap/js/dist/button.js
+++ b/vendor/twbs/bootstrap/js/dist/button.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap button.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap button.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,7 +9,7 @@
(global = global || self, global.Button = factory(global.jQuery));
}(this, (function ($) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -34,39 +34,31 @@
*/
var NAME = 'button';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var ClassName = {
- ACTIVE: 'active',
- BUTTON: 'btn',
- FOCUS: 'focus'
- };
- var Selector = {
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
- DATA_TOGGLES: '[data-toggle="buttons"]',
- DATA_TOGGLE: '[data-toggle="button"]',
- DATA_TOGGLES_BUTTONS: '[data-toggle="buttons"] .btn',
- INPUT: 'input:not([type="hidden"])',
- ACTIVE: '.active',
- BUTTON: '.btn'
- };
- var Event = {
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY),
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
- };
+ 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 = "click" + EVENT_KEY + DATA_API_KEY;
+ var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY);
+ var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Button =
- /*#__PURE__*/
- function () {
+ var Button = /*#__PURE__*/function () {
function Button(element) {
this._element = element;
} // Getters
@@ -78,33 +70,30 @@
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
- var rootElement = $(this._element).closest(Selector.DATA_TOGGLES)[0];
+ var rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0];
if (rootElement) {
- var input = this._element.querySelector(Selector.INPUT);
+ var input = this._element.querySelector(SELECTOR_INPUT);
if (input) {
if (input.type === 'radio') {
- if (input.checked && this._element.classList.contains(ClassName.ACTIVE)) {
+ if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
triggerChangeEvent = false;
} else {
- var activeElement = rootElement.querySelector(Selector.ACTIVE);
+ var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
if (activeElement) {
- $(activeElement).removeClass(ClassName.ACTIVE);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE);
}
}
- } else if (input.type === 'checkbox') {
- if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {
- triggerChangeEvent = false;
- }
- } else {
- // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
- triggerChangeEvent = false;
}
if (triggerChangeEvent) {
- input.checked = !this._element.classList.contains(ClassName.ACTIVE);
+ // 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);
+ }
+
$(input).trigger('change');
}
@@ -115,11 +104,11 @@
if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE));
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
}
if (triggerChangeEvent) {
- $(this._element).toggleClass(ClassName.ACTIVE);
+ $(this._element).toggleClass(CLASS_NAME_ACTIVE);
}
}
};
@@ -161,17 +150,18 @@
*/
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
var button = event.target;
+ var initialButton = button;
- if (!$(button).hasClass(ClassName.BUTTON)) {
- button = $(button).closest(Selector.BUTTON)[0];
+ if (!$(button).hasClass(CLASS_NAME_BUTTON)) {
+ button = $(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);
+ var inputBtn = button.querySelector(SELECTOR_INPUT);
if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
event.preventDefault(); // work around Firefox bug #1540995
@@ -179,38 +169,42 @@
return;
}
+ if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {
+ event.preventDefault(); // work around event sent to label and input
+ }
+
Button._jQueryInterface.call($(button), 'toggle');
}
- }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
- var button = $(event.target).closest(Selector.BUTTON)[0];
- $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+ }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = $(event.target).closest(SELECTOR_BUTTON)[0];
+ $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
});
- $(window).on(Event.LOAD_DATA_API, function () {
+ $(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));
+ 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);
+ var input = button.querySelector(SELECTOR_INPUT);
if (input.checked || input.hasAttribute('checked')) {
- button.classList.add(ClassName.ACTIVE);
+ button.classList.add(CLASS_NAME_ACTIVE);
} else {
- button.classList.remove(ClassName.ACTIVE);
+ button.classList.remove(CLASS_NAME_ACTIVE);
}
} // find all button toggles
- buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE));
+ 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(ClassName.ACTIVE);
+ _button.classList.add(CLASS_NAME_ACTIVE);
} else {
- _button.classList.remove(ClassName.ACTIVE);
+ _button.classList.remove(CLASS_NAME_ACTIVE);
}
}
});
diff --git a/vendor/twbs/bootstrap/js/dist/button.js.map b/vendor/twbs/bootstrap/js/dist/button.js.map
index 462a16bc6..6ab032d1d 100644
--- a/vendor/twbs/bootstrap/js/dist/button.js.map
+++ b/vendor/twbs/bootstrap/js/dist/button.js.map
@@ -1 +1 @@
-{"version":3,"file":"button.js","sources":["../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLES : '[data-toggle=\"buttons\"]',\n DATA_TOGGLE : '[data-toggle=\"button\"]',\n DATA_TOGGLES_BUTTONS : '[data-toggle=\"buttons\"] .btn',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n } else if (input.type === 'checkbox') {\n if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n }\n } else {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n triggerChangeEvent = false\n }\n\n if (triggerChangeEvent) {\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(Selector.INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(Event.LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(Selector.INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ClassName","ACTIVE","BUTTON","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLES","DATA_TOGGLE","DATA_TOGGLES_BUTTONS","INPUT","Event","CLICK_DATA_API","FOCUS_BLUR_DATA_API","LOAD_DATA_API","Button","element","_element","toggle","triggerChangeEvent","addAriaPressed","rootElement","closest","input","querySelector","type","checked","classList","contains","activeElement","removeClass","tagName","trigger","focus","hasAttribute","setAttribute","toggleClass","dispose","removeData","_jQueryInterface","config","each","data","document","on","event","button","target","hasClass","preventDefault","inputBtn","call","test","window","buttons","slice","querySelectorAll","i","len","length","add","remove","getAttribute","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"button.js","sources":["../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n SELECTOR_DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {\n event.preventDefault() // work around event sent to label and input\n }\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_NAME_ACTIVE","CLASS_NAME_BUTTON","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLES","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLES_BUTTONS","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_CLICK_DATA_API","EVENT_FOCUS_BLUR_DATA_API","EVENT_LOAD_DATA_API","Button","element","_element","toggle","triggerChangeEvent","addAriaPressed","rootElement","closest","input","querySelector","type","checked","classList","contains","activeElement","removeClass","trigger","focus","hasAttribute","setAttribute","toggleClass","dispose","removeData","_jQueryInterface","config","each","data","document","on","event","button","target","initialButton","hasClass","preventDefault","inputBtn","tagName","call","test","window","buttons","slice","querySelectorAll","i","len","length","add","remove","getAttribute","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/carousel.js b/vendor/twbs/bootstrap/js/dist/carousel.js
index 66e8147c0..f0dbbae99 100644
--- a/vendor/twbs/bootstrap/js/dist/carousel.js
+++ b/vendor/twbs/bootstrap/js/dist/carousel.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap carousel.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap carousel.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, global.Carousel = factory(global.jQuery, global.Util));
}(this, (function ($, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -84,7 +84,7 @@
*/
var NAME = 'carousel';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -112,48 +112,39 @@
wrap: 'boolean',
touch: 'boolean'
};
- var Direction = {
- NEXT: 'next',
- PREV: 'prev',
- LEFT: 'left',
- RIGHT: 'right'
- };
- var Event = {
- SLIDE: "slide" + EVENT_KEY,
- SLID: "slid" + EVENT_KEY,
- KEYDOWN: "keydown" + EVENT_KEY,
- MOUSEENTER: "mouseenter" + EVENT_KEY,
- MOUSELEAVE: "mouseleave" + EVENT_KEY,
- TOUCHSTART: "touchstart" + EVENT_KEY,
- TOUCHMOVE: "touchmove" + EVENT_KEY,
- TOUCHEND: "touchend" + EVENT_KEY,
- POINTERDOWN: "pointerdown" + EVENT_KEY,
- POINTERUP: "pointerup" + EVENT_KEY,
- DRAG_START: "dragstart" + EVENT_KEY,
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- CAROUSEL: 'carousel',
- ACTIVE: 'active',
- SLIDE: 'slide',
- RIGHT: 'carousel-item-right',
- LEFT: 'carousel-item-left',
- NEXT: 'carousel-item-next',
- PREV: 'carousel-item-prev',
- ITEM: 'carousel-item',
- POINTER_EVENT: 'pointer-event'
- };
- var Selector = {
- ACTIVE: '.active',
- ACTIVE_ITEM: '.active.carousel-item',
- ITEM: '.carousel-item',
- ITEM_IMG: '.carousel-item img',
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
- INDICATORS: '.carousel-indicators',
- DATA_SLIDE: '[data-slide], [data-slide-to]',
- DATA_RIDE: '[data-ride="carousel"]'
- };
+ var DIRECTION_NEXT = 'next';
+ var DIRECTION_PREV = 'prev';
+ var DIRECTION_LEFT = 'left';
+ var DIRECTION_RIGHT = 'right';
+ var EVENT_SLIDE = "slide" + EVENT_KEY;
+ var EVENT_SLID = "slid" + EVENT_KEY;
+ var EVENT_KEYDOWN = "keydown" + EVENT_KEY;
+ var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY;
+ var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY;
+ var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY;
+ var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY;
+ var EVENT_TOUCHEND = "touchend" + EVENT_KEY;
+ var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY;
+ var EVENT_POINTERUP = "pointerup" + EVENT_KEY;
+ var EVENT_DRAG_START = "dragstart" + EVENT_KEY;
+ var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
+ var CLASS_NAME_CAROUSEL = 'carousel';
+ var CLASS_NAME_ACTIVE = '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 = '.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'
@@ -164,9 +155,7 @@
* ------------------------------------------------------------------------
*/
- var Carousel =
- /*#__PURE__*/
- function () {
+ var Carousel = /*#__PURE__*/function () {
function Carousel(element, config) {
this._items = null;
this._interval = null;
@@ -178,7 +167,7 @@
this.touchDeltaX = 0;
this._config = this._getConfig(config);
this._element = element;
- this._indicatorsElement = this._element.querySelector(Selector.INDICATORS);
+ this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
@@ -191,7 +180,7 @@
// Public
_proto.next = function next() {
if (!this._isSliding) {
- this._slide(Direction.NEXT);
+ this._slide(DIRECTION_NEXT);
}
};
@@ -205,7 +194,7 @@
_proto.prev = function prev() {
if (!this._isSliding) {
- this._slide(Direction.PREV);
+ this._slide(DIRECTION_PREV);
}
};
@@ -214,7 +203,7 @@
this._isPaused = true;
}
- if (this._element.querySelector(Selector.NEXT_PREV)) {
+ if (this._element.querySelector(SELECTOR_NEXT_PREV)) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
@@ -241,7 +230,7 @@
_proto.to = function to(index) {
var _this = this;
- this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM);
+ this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
var activeIndex = this._getItemIndex(this._activeElement);
@@ -250,7 +239,7 @@
}
if (this._isSliding) {
- $(this._element).one(Event.SLID, function () {
+ $(this._element).one(EVENT_SLID, function () {
return _this.to(index);
});
return;
@@ -262,7 +251,7 @@
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
this._slide(direction, this._items[index]);
};
@@ -282,7 +271,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default), config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
@@ -311,15 +300,15 @@
var _this2 = this;
if (this._config.keyboard) {
- $(this._element).on(Event.KEYDOWN, function (event) {
+ $(this._element).on(EVENT_KEYDOWN, function (event) {
return _this2._keydown(event);
});
}
if (this._config.pause === 'hover') {
- $(this._element).on(Event.MOUSEENTER, function (event) {
+ $(this._element).on(EVENT_MOUSEENTER, function (event) {
return _this2.pause(event);
- }).on(Event.MOUSELEAVE, function (event) {
+ }).on(EVENT_MOUSELEAVE, function (event) {
return _this2.cycle(event);
});
}
@@ -380,27 +369,27 @@
}
};
- $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, function (e) {
+ $(this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {
return e.preventDefault();
});
if (this._pointerEvent) {
- $(this._element).on(Event.POINTERDOWN, function (event) {
+ $(this._element).on(EVENT_POINTERDOWN, function (event) {
return start(event);
});
- $(this._element).on(Event.POINTERUP, function (event) {
+ $(this._element).on(EVENT_POINTERUP, function (event) {
return end(event);
});
- this._element.classList.add(ClassName.POINTER_EVENT);
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
} else {
- $(this._element).on(Event.TOUCHSTART, function (event) {
+ $(this._element).on(EVENT_TOUCHSTART, function (event) {
return start(event);
});
- $(this._element).on(Event.TOUCHMOVE, function (event) {
+ $(this._element).on(EVENT_TOUCHMOVE, function (event) {
return move(event);
});
- $(this._element).on(Event.TOUCHEND, function (event) {
+ $(this._element).on(EVENT_TOUCHEND, function (event) {
return end(event);
});
}
@@ -425,13 +414,13 @@
};
_proto._getItemIndex = function _getItemIndex(element) {
- this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : [];
+ 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 isNextDirection = direction === DIRECTION_NEXT;
+ var isPrevDirection = direction === DIRECTION_PREV;
var activeIndex = this._getItemIndex(activeElement);
@@ -442,7 +431,7 @@
return activeElement;
}
- var delta = direction === Direction.PREV ? -1 : 1;
+ 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];
};
@@ -450,9 +439,9 @@
_proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var targetIndex = this._getItemIndex(relatedTarget);
- var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM));
+ var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));
- var slideEvent = $.Event(Event.SLIDE, {
+ var slideEvent = $.Event(EVENT_SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName,
from: fromIndex,
@@ -464,13 +453,13 @@
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE));
- $(indicators).removeClass(ClassName.ACTIVE);
+ var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE));
+ $(indicators).removeClass(CLASS_NAME_ACTIVE);
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
if (nextIndicator) {
- $(nextIndicator).addClass(ClassName.ACTIVE);
+ $(nextIndicator).addClass(CLASS_NAME_ACTIVE);
}
}
};
@@ -478,7 +467,7 @@
_proto._slide = function _slide(direction, element) {
var _this4 = this;
- var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM);
+ var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
var activeElementIndex = this._getItemIndex(activeElement);
@@ -491,17 +480,17 @@
var orderClassName;
var eventDirectionName;
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName.LEFT;
- orderClassName = ClassName.NEXT;
- eventDirectionName = Direction.LEFT;
+ if (direction === DIRECTION_NEXT) {
+ directionalClassName = CLASS_NAME_LEFT;
+ orderClassName = CLASS_NAME_NEXT;
+ eventDirectionName = DIRECTION_LEFT;
} else {
- directionalClassName = ClassName.RIGHT;
- orderClassName = ClassName.PREV;
- eventDirectionName = Direction.RIGHT;
+ directionalClassName = CLASS_NAME_RIGHT;
+ orderClassName = CLASS_NAME_PREV;
+ eventDirectionName = DIRECTION_RIGHT;
}
- if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
+ if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {
this._isSliding = false;
return;
}
@@ -525,14 +514,14 @@
this._setActiveIndicatorElement(nextElement);
- var slidEvent = $.Event(Event.SLID, {
+ var slidEvent = $.Event(EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
to: nextElementIndex
});
- if ($(this._element).hasClass(ClassName.SLIDE)) {
+ if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {
$(nextElement).addClass(orderClassName);
Util.reflow(nextElement);
$(activeElement).addClass(directionalClassName);
@@ -548,16 +537,16 @@
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
$(activeElement).one(Util.TRANSITION_END, function () {
- $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
- $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
+ $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE + " " + orderClassName + " " + directionalClassName);
_this4._isSliding = false;
setTimeout(function () {
return $(_this4._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(transitionDuration);
} else {
- $(activeElement).removeClass(ClassName.ACTIVE);
- $(nextElement).addClass(ClassName.ACTIVE);
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE);
+ $(nextElement).addClass(CLASS_NAME_ACTIVE);
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
@@ -572,10 +561,10 @@
return this.each(function () {
var data = $(this).data(DATA_KEY);
- var _config = _objectSpread2({}, Default, {}, $(this).data());
+ var _config = _objectSpread2(_objectSpread2({}, Default), $(this).data());
if (typeof config === 'object') {
- _config = _objectSpread2({}, _config, {}, config);
+ _config = _objectSpread2(_objectSpread2({}, _config), config);
}
var action = typeof config === 'string' ? config : _config.slide;
@@ -609,11 +598,11 @@
var target = $(selector)[0];
- if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
+ if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {
return;
}
- var config = _objectSpread2({}, $(target).data(), {}, $(this).data());
+ var config = _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
@@ -651,9 +640,9 @@
*/
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
- $(window).on(Event.LOAD_DATA_API, function () {
- var carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE));
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);
+ $(window).on(EVENT_LOAD_DATA_API, function () {
+ var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));
for (var i = 0, len = carousels.length; i < len; i++) {
var $carousel = $(carousels[i]);
diff --git a/vendor/twbs/bootstrap/js/dist/carousel.js.map b/vendor/twbs/bootstrap/js/dist/carousel.js.map
index 2c625b33f..d33c6f1d4 100644
--- a/vendor/twbs/bootstrap/js/dist/carousel.js.map
+++ b/vendor/twbs/bootstrap/js/dist/carousel.js.map
@@ -1 +1 @@
-{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","POINTER_EVENT","Selector","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_element","_indicatorsElement","querySelector","_touchSupported","document","documentElement","navigator","maxTouchPoints","_pointerEvent","Boolean","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","is","css","prev","event","Util","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","typeCheckConfig","_handleSwipe","absDeltax","Math","abs","on","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","toUpperCase","clientX","touches","move","end","clearTimeout","setTimeout","querySelectorAll","e","preventDefault","classList","add","test","target","tagName","which","parentNode","slice","call","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","_setActiveIndicatorElement","indicators","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","nextElementInterval","parseInt","getAttribute","defaultInterval","transitionDuration","getTransitionDurationFromElement","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","TypeError","ride","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","carousels","i","len","$carousel","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? DIRECTION_NEXT\n : DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, (event) => this.pause(event))\n .on(EVENT_MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, (e) => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, (event) => start(event))\n $(this._element).on(EVENT_POINTERUP, (event) => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, (event) => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, (event) => move(event))\n $(this._element).on(EVENT_TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_element","_indicatorsElement","querySelector","_touchSupported","document","documentElement","navigator","maxTouchPoints","_pointerEvent","Boolean","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","is","css","prev","event","Util","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","typeCheckConfig","_handleSwipe","absDeltax","Math","abs","on","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","toUpperCase","clientX","touches","move","end","clearTimeout","setTimeout","querySelectorAll","e","preventDefault","classList","add","test","target","tagName","which","parentNode","slice","call","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","Event","from","trigger","_setActiveIndicatorElement","indicators","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","nextElementInterval","parseInt","getAttribute","defaultInterval","transitionDuration","getTransitionDurationFromElement","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","TypeError","ride","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","carousels","i","len","$carousel","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/collapse.js b/vendor/twbs/bootstrap/js/dist/collapse.js
index 6b128b58f..df44b9551 100644
--- a/vendor/twbs/bootstrap/js/dist/collapse.js
+++ b/vendor/twbs/bootstrap/js/dist/collapse.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap collapse.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap collapse.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, global.Collapse = factory(global.jQuery, global.Util));
}(this, (function ($, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -84,7 +84,7 @@
*/
var NAME = 'collapse';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -97,42 +97,32 @@
toggle: 'boolean',
parent: '(string|element)'
};
- var Event = {
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- SHOW: 'show',
- COLLAPSE: 'collapse',
- COLLAPSING: 'collapsing',
- COLLAPSED: 'collapsed'
- };
- var Dimension = {
- WIDTH: 'width',
- HEIGHT: 'height'
- };
- var Selector = {
- ACTIVES: '.show, .collapsing',
- DATA_TOGGLE: '[data-toggle="collapse"]'
- };
+ var EVENT_SHOW = "show" + EVENT_KEY;
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
+ var EVENT_HIDE = "hide" + EVENT_KEY;
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
+ var CLASS_NAME_SHOW = '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 = '[data-toggle="collapse"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Collapse =
- /*#__PURE__*/
- function () {
+ 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));
+ var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
for (var i = 0, len = toggleList.length; i < len; i++) {
var elem = toggleList[i];
@@ -164,7 +154,7 @@
// Public
_proto.toggle = function toggle() {
- if ($(this._element).hasClass(ClassName.SHOW)) {
+ if ($(this._element).hasClass(CLASS_NAME_SHOW)) {
this.hide();
} else {
this.show();
@@ -174,7 +164,7 @@
_proto.show = function show() {
var _this = this;
- if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning || $(this._element).hasClass(CLASS_NAME_SHOW)) {
return;
}
@@ -182,12 +172,12 @@
var activesData;
if (this._parent) {
- actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) {
+ 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(ClassName.COLLAPSE);
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
});
if (actives.length === 0) {
@@ -203,7 +193,7 @@
}
}
- var startEvent = $.Event(Event.SHOW);
+ var startEvent = $.Event(EVENT_SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
@@ -220,22 +210,22 @@
var dimension = this._getDimension();
- $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+ $(this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
- $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+ $(this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
}
this.setTransitioning(true);
var complete = function complete() {
- $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+ $(_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
_this._element.style[dimension] = '';
_this.setTransitioning(false);
- $(_this._element).trigger(Event.SHOWN);
+ $(_this._element).trigger(EVENT_SHOWN);
};
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
@@ -248,11 +238,11 @@
_proto.hide = function hide() {
var _this2 = this;
- if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning || !$(this._element).hasClass(CLASS_NAME_SHOW)) {
return;
}
- var startEvent = $.Event(Event.HIDE);
+ var startEvent = $.Event(EVENT_HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
@@ -263,7 +253,7 @@
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
Util.reflow(this._element);
- $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+ $(this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
var triggerArrayLength = this._triggerArray.length;
if (triggerArrayLength > 0) {
@@ -274,8 +264,8 @@
if (selector !== null) {
var $elem = $([].slice.call(document.querySelectorAll(selector)));
- if (!$elem.hasClass(ClassName.SHOW)) {
- $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ if (!$elem.hasClass(CLASS_NAME_SHOW)) {
+ $(trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
}
}
}
@@ -286,7 +276,7 @@
var complete = function complete() {
_this2.setTransitioning(false);
- $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+ $(_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
};
this._element.style[dimension] = '';
@@ -309,7 +299,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default), config);
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
@@ -317,8 +307,8 @@
};
_proto._getDimension = function _getDimension() {
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ var hasWidth = $(this._element).hasClass(DIMENSION_WIDTH);
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
};
_proto._getParent = function _getParent() {
@@ -345,10 +335,10 @@
};
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
- var isOpen = $(element).hasClass(ClassName.SHOW);
+ var isOpen = $(element).hasClass(CLASS_NAME_SHOW);
if (triggerArray.length) {
- $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ $(triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
} // Static
;
@@ -363,9 +353,9 @@
var $this = $(this);
var data = $this.data(DATA_KEY);
- var _config = _objectSpread2({}, Default, {}, $this.data(), {}, typeof config === 'object' && config ? config : {});
+ var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default), $this.data()), typeof config === 'object' && config ? config : {});
- if (!data && _config.toggle && /show|hide/.test(config)) {
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
_config.toggle = false;
}
@@ -405,7 +395,7 @@
*/
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
if (event.currentTarget.tagName === 'A') {
event.preventDefault();
diff --git a/vendor/twbs/bootstrap/js/dist/collapse.js.map b/vendor/twbs/bootstrap/js/dist/collapse.js.map
index bed8da9df..a8010f81c 100644
--- a/vendor/twbs/bootstrap/js/dist/collapse.js.map
+++ b/vendor/twbs/bootstrap/js/dist/collapse.js.map
@@ -1 +1 @@
-{"version":3,"file":"collapse.js","sources":["../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","Collapse","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","slice","call","document","querySelectorAll","id","toggleList","i","len","length","elem","selector","Util","getSelectorFromElement","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","getAttribute","classList","contains","not","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","capitalizedDimension","toUpperCase","scrollSize","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","triggerArrayLength","$elem","isTransitioning","dispose","removeData","Boolean","typeCheckConfig","hasWidth","isElement","jquery","querySelector","children","each","_getTargetFromElement","triggerArray","isOpen","toggleClass","$this","test","TypeError","on","event","currentTarget","tagName","preventDefault","$trigger","selectors","$target","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"collapse.js","sources":["../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Default","toggle","parent","DefaultType","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","DIMENSION_WIDTH","DIMENSION_HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE","Collapse","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","slice","call","document","querySelectorAll","id","toggleList","i","len","length","elem","selector","Util","getSelectorFromElement","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","getAttribute","classList","contains","not","data","startEvent","Event","trigger","isDefaultPrevented","_jQueryInterface","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","capitalizedDimension","toUpperCase","scrollSize","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","triggerArrayLength","$elem","isTransitioning","dispose","removeData","Boolean","typeCheckConfig","hasWidth","isElement","jquery","querySelector","children","each","_getTargetFromElement","triggerArray","isOpen","toggleClass","$this","test","TypeError","on","event","currentTarget","tagName","preventDefault","$trigger","selectors","$target","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/dropdown.js b/vendor/twbs/bootstrap/js/dist/dropdown.js
index 3557cecba..290b64b49 100644
--- a/vendor/twbs/bootstrap/js/dist/dropdown.js
+++ b/vendor/twbs/bootstrap/js/dist/dropdown.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap dropdown.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap dropdown.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,9 +9,9 @@
(global = global || self, global.Dropdown = factory(global.jQuery, global.Popper, global.Util));
}(this, (function ($, Popper, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Popper = Popper && Object.prototype.hasOwnProperty.call(Popper, 'default') ? Popper['default'] : Popper;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -85,7 +85,7 @@
*/
var NAME = 'dropdown';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -103,43 +103,32 @@
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: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- CLICK: "click" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
- KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DISABLED: 'disabled',
- SHOW: 'show',
- DROPUP: 'dropup',
- DROPRIGHT: 'dropright',
- DROPLEFT: 'dropleft',
- MENURIGHT: 'dropdown-menu-right',
- MENULEFT: 'dropdown-menu-left',
- POSITION_STATIC: 'position-static'
- };
- var Selector = {
- DATA_TOGGLE: '[data-toggle="dropdown"]',
- FORM_CHILD: '.dropdown form',
- MENU: '.dropdown-menu',
- NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
- };
- var AttachmentMap = {
- TOP: 'top-start',
- TOPEND: 'top-end',
- BOTTOM: 'bottom-start',
- BOTTOMEND: 'bottom-end',
- RIGHT: 'right-start',
- RIGHTEND: 'right-end',
- LEFT: 'left-start',
- LEFTEND: 'left-end'
- };
+ var EVENT_HIDE = "hide" + EVENT_KEY;
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
+ var EVENT_SHOW = "show" + EVENT_KEY;
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
+ var EVENT_CLICK = "click" + EVENT_KEY;
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
+ var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY + DATA_API_KEY;
+ var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY + DATA_API_KEY;
+ var CLASS_NAME_DISABLED = 'disabled';
+ var CLASS_NAME_SHOW = '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 = '[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 = {
offset: 0,
flip: true,
@@ -162,9 +151,7 @@
* ------------------------------------------------------------------------
*/
- var Dropdown =
- /*#__PURE__*/
- function () {
+ var Dropdown = /*#__PURE__*/function () {
function Dropdown(element, config) {
this._element = element;
this._popper = null;
@@ -180,11 +167,11 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {
return;
}
- var isActive = $(this._menu).hasClass(ClassName.SHOW);
+ var isActive = $(this._menu).hasClass(CLASS_NAME_SHOW);
Dropdown._clearMenus();
@@ -200,14 +187,14 @@
usePopper = false;
}
- if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
- var showEvent = $.Event(Event.SHOW, relatedTarget);
+ var showEvent = $.Event(EVENT_SHOW, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
@@ -243,7 +230,7 @@
if (this._config.boundary !== 'scrollParent') {
- $(parent).addClass(ClassName.POSITION_STATIC);
+ $(parent).addClass(CLASS_NAME_POSITION_STATIC);
}
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
@@ -253,7 +240,7 @@
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && $(parent).closest(Selector.NAVBAR_NAV).length === 0) {
+ if ('ontouchstart' in document.documentElement && $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
$(document.body).children().on('mouseover', null, $.noop);
}
@@ -261,19 +248,19 @@
this._element.setAttribute('aria-expanded', true);
- $(this._menu).toggleClass(ClassName.SHOW);
- $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
+ $(this._menu).toggleClass(CLASS_NAME_SHOW);
+ $(parent).toggleClass(CLASS_NAME_SHOW).trigger($.Event(EVENT_SHOWN, relatedTarget));
};
_proto.hide = function hide() {
- if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
- var hideEvent = $.Event(Event.HIDE, relatedTarget);
+ var hideEvent = $.Event(EVENT_HIDE, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
@@ -287,8 +274,8 @@
this._popper.destroy();
}
- $(this._menu).toggleClass(ClassName.SHOW);
- $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
+ $(this._menu).toggleClass(CLASS_NAME_SHOW);
+ $(parent).toggleClass(CLASS_NAME_SHOW).trigger($.Event(EVENT_HIDDEN, relatedTarget));
};
_proto.dispose = function dispose() {
@@ -316,7 +303,7 @@
_proto._addEventListeners = function _addEventListeners() {
var _this = this;
- $(this._element).on(Event.CLICK, function (event) {
+ $(this._element).on(EVENT_CLICK, function (event) {
event.preventDefault();
event.stopPropagation();
@@ -325,7 +312,7 @@
};
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, this.constructor.Default, {}, $(this._element).data(), {}, config);
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), $(this._element).data()), config);
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config;
};
@@ -335,7 +322,7 @@
var parent = Dropdown._getParentFromElement(this._element);
if (parent) {
- this._menu = parent.querySelector(Selector.MENU);
+ this._menu = parent.querySelector(SELECTOR_MENU);
}
}
@@ -344,20 +331,16 @@
_proto._getPlacement = function _getPlacement() {
var $parentDropdown = $(this._element.parentNode);
- var placement = AttachmentMap.BOTTOM; // Handle dropup
-
- if ($parentDropdown.hasClass(ClassName.DROPUP)) {
- placement = AttachmentMap.TOP;
-
- if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
- }
- } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT;
- } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
- placement = AttachmentMap.LEFT;
- } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
+ var placement = PLACEMENT_BOTTOM; // Handle dropup
+
+ if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
+ placement = $(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 ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_BOTTOMEND;
}
return placement;
@@ -374,7 +357,7 @@
if (typeof this._config.offset === 'function') {
offset.fn = function (data) {
- data.offsets = _objectSpread2({}, data.offsets, {}, _this2._config.offset(data.offsets, _this2._element) || {});
+ data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this2._config.offset(data.offsets, _this2._element) || {});
return data;
};
} else {
@@ -404,7 +387,7 @@
};
}
- return _objectSpread2({}, popperConfig, {}, this._config.popperConfig);
+ return _objectSpread2(_objectSpread2({}, popperConfig), this._config.popperConfig);
} // Static
;
@@ -434,7 +417,7 @@
return;
}
- var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE));
+ var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
for (var i = 0, len = toggles.length; i < len; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
@@ -454,7 +437,7 @@
var dropdownMenu = context._menu;
- if (!$(parent).hasClass(ClassName.SHOW)) {
+ if (!$(parent).hasClass(CLASS_NAME_SHOW)) {
continue;
}
@@ -462,7 +445,7 @@
continue;
}
- var hideEvent = $.Event(Event.HIDE, relatedTarget);
+ var hideEvent = $.Event(EVENT_HIDE, relatedTarget);
$(parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
@@ -481,8 +464,8 @@
context._popper.destroy();
}
- $(dropdownMenu).removeClass(ClassName.SHOW);
- $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
+ $(dropdownMenu).removeClass(CLASS_NAME_SHOW);
+ $(parent).removeClass(CLASS_NAME_SHOW).trigger($.Event(EVENT_HIDDEN, relatedTarget));
}
};
@@ -506,36 +489,35 @@
// - 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 || $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+ 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 || $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
return;
}
- event.preventDefault();
- event.stopPropagation();
-
- if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+ if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {
return;
}
var parent = Dropdown._getParentFromElement(this);
- var isActive = $(parent).hasClass(ClassName.SHOW);
+ var isActive = $(parent).hasClass(CLASS_NAME_SHOW);
if (!isActive && event.which === ESCAPE_KEYCODE) {
return;
}
+ event.preventDefault();
+ event.stopPropagation();
+
if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
- var toggle = parent.querySelector(Selector.DATA_TOGGLE);
- $(toggle).trigger('focus');
+ $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus');
}
$(this).trigger('click');
return;
}
- var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS)).filter(function (item) {
+ var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
return $(item).is(':visible');
});
@@ -588,12 +570,12 @@
*/
- $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault();
event.stopPropagation();
Dropdown._jQueryInterface.call($(this), 'toggle');
- }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ }).on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {
e.stopPropagation();
});
/**
diff --git a/vendor/twbs/bootstrap/js/dist/dropdown.js.map b/vendor/twbs/bootstrap/js/dist/dropdown.js.map
index 51cf39f4e..a4873f651 100644
--- a/vendor/twbs/bootstrap/js/dist/dropdown.js.map
+++ b/vendor/twbs/bootstrap/js/dist/dropdown.js.map
@@ -1 +1 @@
-{"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","offset","flip","boundary","reference","display","popperConfig","DefaultType","Dropdown","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","hasClass","isActive","_clearMenus","show","usePopper","relatedTarget","showEvent","parent","_getParentFromElement","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","body","children","on","noop","focus","setAttribute","toggleClass","hide","hideEvent","destroy","dispose","removeData","off","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","data","typeCheckConfig","querySelector","_getPlacement","$parentDropdown","parentNode","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","_jQueryInterface","each","which","type","toggles","slice","call","querySelectorAll","i","len","context","clickEvent","dropdownMenu","test","target","tagName","contains","removeClass","selector","getSelectorFromElement","_dataApiKeydownHandler","items","filter","item","is","index","indexOf","e","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)\n ? PLACEMENT_TOPEND\n : PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_SHOW","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_POSITION_STATIC","SELECTOR_DATA_TOGGLE","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default","offset","flip","boundary","reference","display","popperConfig","DefaultType","Dropdown","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","hasClass","isActive","_clearMenus","show","usePopper","relatedTarget","showEvent","Event","parent","_getParentFromElement","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","body","children","on","noop","focus","setAttribute","toggleClass","hide","hideEvent","destroy","dispose","removeData","off","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","data","typeCheckConfig","querySelector","_getPlacement","$parentDropdown","parentNode","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","_jQueryInterface","each","which","type","toggles","slice","call","querySelectorAll","i","len","context","clickEvent","dropdownMenu","test","target","tagName","contains","removeClass","selector","getSelectorFromElement","_dataApiKeydownHandler","items","filter","item","is","index","indexOf","e","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/modal.js b/vendor/twbs/bootstrap/js/dist/modal.js
index dbdb64951..5be3c2069 100644
--- a/vendor/twbs/bootstrap/js/dist/modal.js
+++ b/vendor/twbs/bootstrap/js/dist/modal.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap modal.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap modal.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, global.Modal = factory(global.jQuery, global.Util));
}(this, (function ($, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -84,7 +84,7 @@
*/
var NAME = 'modal';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -103,50 +103,42 @@
focus: 'boolean',
show: 'boolean'
};
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDE_PREVENTED: "hidePrevented" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- FOCUSIN: "focusin" + EVENT_KEY,
- RESIZE: "resize" + EVENT_KEY,
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- SCROLLABLE: 'modal-dialog-scrollable',
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
- BACKDROP: 'modal-backdrop',
- OPEN: 'modal-open',
- FADE: 'fade',
- SHOW: 'show',
- STATIC: 'modal-static'
- };
- var Selector = {
- DIALOG: '.modal-dialog',
- MODAL_BODY: '.modal-body',
- DATA_TOGGLE: '[data-toggle="modal"]',
- DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT: '.sticky-top'
- };
+ var EVENT_HIDE = "hide" + EVENT_KEY;
+ var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY;
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
+ var EVENT_SHOW = "show" + EVENT_KEY;
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
+ var EVENT_FOCUSIN = "focusin" + EVENT_KEY;
+ var EVENT_RESIZE = "resize" + EVENT_KEY;
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
+ var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY;
+ var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY;
+ var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY;
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
+ 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 = 'fade';
+ var CLASS_NAME_SHOW = 'show';
+ var CLASS_NAME_STATIC = 'modal-static';
+ var SELECTOR_DIALOG = '.modal-dialog';
+ var SELECTOR_MODAL_BODY = '.modal-body';
+ var SELECTOR_DATA_TOGGLE = '[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 () {
+ var Modal = /*#__PURE__*/function () {
function Modal(element, config) {
this._config = this._getConfig(config);
this._element = element;
- this._dialog = element.querySelector(Selector.DIALOG);
+ this._dialog = element.querySelector(SELECTOR_DIALOG);
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
@@ -170,11 +162,11 @@
return;
}
- if ($(this._element).hasClass(ClassName.FADE)) {
+ if ($(this._element).hasClass(CLASS_NAME_FADE)) {
this._isTransitioning = true;
}
- var showEvent = $.Event(Event.SHOW, {
+ var showEvent = $.Event(EVENT_SHOW, {
relatedTarget: relatedTarget
});
$(this._element).trigger(showEvent);
@@ -195,11 +187,11 @@
this._setResizeEvent();
- $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+ $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
return _this.hide(event);
});
- $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
- $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {
+ $(_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this._element)) {
_this._ignoreBackdropClick = true;
}
@@ -222,7 +214,7 @@
return;
}
- var hideEvent = $.Event(Event.HIDE);
+ var hideEvent = $.Event(EVENT_HIDE);
$(this._element).trigger(hideEvent);
if (!this._isShown || hideEvent.isDefaultPrevented()) {
@@ -230,7 +222,7 @@
}
this._isShown = false;
- var transition = $(this._element).hasClass(ClassName.FADE);
+ var transition = $(this._element).hasClass(CLASS_NAME_FADE);
if (transition) {
this._isTransitioning = true;
@@ -240,10 +232,10 @@
this._setResizeEvent();
- $(document).off(Event.FOCUSIN);
- $(this._element).removeClass(ClassName.SHOW);
- $(this._element).off(Event.CLICK_DISMISS);
- $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+ $(document).off(EVENT_FOCUSIN);
+ $(this._element).removeClass(CLASS_NAME_SHOW);
+ $(this._element).off(EVENT_CLICK_DISMISS);
+ $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
if (transition) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
@@ -260,12 +252,12 @@
return $(htmlElement).off(EVENT_KEY);
});
/**
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+ * `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
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
*/
- $(document).off(Event.FOCUSIN);
+ $(document).off(EVENT_FOCUSIN);
$.removeData(this._element, DATA_KEY);
this._config = null;
this._element = null;
@@ -284,7 +276,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default, {}, config);
+ config = _objectSpread2(_objectSpread2({}, Default), config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
@@ -293,18 +285,18 @@
var _this3 = this;
if (this._config.backdrop === 'static') {
- var hideEventPrevented = $.Event(Event.HIDE_PREVENTED);
+ var hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);
$(this._element).trigger(hideEventPrevented);
if (hideEventPrevented.defaultPrevented) {
return;
}
- this._element.classList.add(ClassName.STATIC);
+ this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
$(this._element).one(Util.TRANSITION_END, function () {
- _this3._element.classList.remove(ClassName.STATIC);
+ _this3._element.classList.remove(CLASS_NAME_STATIC);
}).emulateTransitionEnd(modalTransitionDuration);
this._element.focus();
@@ -316,8 +308,8 @@
_proto._showElement = function _showElement(relatedTarget) {
var _this4 = this;
- var transition = $(this._element).hasClass(ClassName.FADE);
- var modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null;
+ var transition = $(this._element).hasClass(CLASS_NAME_FADE);
+ 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
@@ -330,7 +322,7 @@
this._element.setAttribute('aria-modal', true);
- if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {
+ if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
this._element.scrollTop = 0;
@@ -340,13 +332,13 @@
Util.reflow(this._element);
}
- $(this._element).addClass(ClassName.SHOW);
+ $(this._element).addClass(CLASS_NAME_SHOW);
if (this._config.focus) {
this._enforceFocus();
}
- var shownEvent = $.Event(Event.SHOWN, {
+ var shownEvent = $.Event(EVENT_SHOWN, {
relatedTarget: relatedTarget
});
@@ -370,8 +362,8 @@
_proto._enforceFocus = function _enforceFocus() {
var _this5 = this;
- $(document).off(Event.FOCUSIN) // Guard against infinite focus loop
- .on(Event.FOCUSIN, function (event) {
+ $(document).off(EVENT_FOCUSIN) // Guard against infinite focus loop
+ .on(EVENT_FOCUSIN, function (event) {
if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {
_this5._element.focus();
}
@@ -381,14 +373,18 @@
_proto._setEscapeEvent = function _setEscapeEvent() {
var _this6 = this;
- if (this._isShown && this._config.keyboard) {
- $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE) {
+ if (this._isShown) {
+ $(this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {
+ if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
+ event.preventDefault();
+
+ _this6.hide();
+ } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
_this6._triggerBackdropTransition();
}
});
} else if (!this._isShown) {
- $(this._element).off(Event.KEYDOWN_DISMISS);
+ $(this._element).off(EVENT_KEYDOWN_DISMISS);
}
};
@@ -396,11 +392,11 @@
var _this7 = this;
if (this._isShown) {
- $(window).on(Event.RESIZE, function (event) {
+ $(window).on(EVENT_RESIZE, function (event) {
return _this7.handleUpdate(event);
});
} else {
- $(window).off(Event.RESIZE);
+ $(window).off(EVENT_RESIZE);
}
};
@@ -416,13 +412,13 @@
this._isTransitioning = false;
this._showBackdrop(function () {
- $(document.body).removeClass(ClassName.OPEN);
+ $(document.body).removeClass(CLASS_NAME_OPEN);
_this8._resetAdjustments();
_this8._resetScrollbar();
- $(_this8._element).trigger(Event.HIDDEN);
+ $(_this8._element).trigger(EVENT_HIDDEN);
});
};
@@ -436,18 +432,18 @@
_proto._showBackdrop = function _showBackdrop(callback) {
var _this9 = this;
- var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+ var animate = $(this._element).hasClass(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
if (this._isShown && this._config.backdrop) {
this._backdrop = document.createElement('div');
- this._backdrop.className = ClassName.BACKDROP;
+ this._backdrop.className = CLASS_NAME_BACKDROP;
if (animate) {
this._backdrop.classList.add(animate);
}
$(this._backdrop).appendTo(document.body);
- $(this._element).on(Event.CLICK_DISMISS, function (event) {
+ $(this._element).on(EVENT_CLICK_DISMISS, function (event) {
if (_this9._ignoreBackdropClick) {
_this9._ignoreBackdropClick = false;
return;
@@ -464,7 +460,7 @@
Util.reflow(this._backdrop);
}
- $(this._backdrop).addClass(ClassName.SHOW);
+ $(this._backdrop).addClass(CLASS_NAME_SHOW);
if (!callback) {
return;
@@ -478,7 +474,7 @@
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) {
- $(this._backdrop).removeClass(ClassName.SHOW);
+ $(this._backdrop).removeClass(CLASS_NAME_SHOW);
var callbackRemove = function callbackRemove() {
_this9._removeBackdrop();
@@ -488,7 +484,7 @@
}
};
- if ($(this._element).hasClass(ClassName.FADE)) {
+ if ($(this._element).hasClass(CLASS_NAME_FADE)) {
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
@@ -523,7 +519,7 @@
_proto._checkScrollbar = function _checkScrollbar() {
var rect = document.body.getBoundingClientRect();
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+ this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth();
};
@@ -533,8 +529,8 @@
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
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
+ var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
$(fixedContent).each(function (index, element) {
var actualPadding = element.style.paddingRight;
@@ -553,19 +549,19 @@
$(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
}
- $(document.body).addClass(ClassName.OPEN);
+ $(document.body).addClass(CLASS_NAME_OPEN);
};
_proto._resetScrollbar = function _resetScrollbar() {
// Restore fixed content padding
- var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
$(fixedContent).each(function (index, element) {
var padding = $(element).data('padding-right');
$(element).removeData('padding-right');
element.style.paddingRight = padding ? padding : '';
}); // Restore sticky content
- var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT));
+ var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT));
$(elements).each(function (index, element) {
var margin = $(element).data('margin-right');
@@ -582,7 +578,7 @@
_proto._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
- scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
@@ -594,7 +590,7 @@
return this.each(function () {
var data = $(this).data(DATA_KEY);
- var _config = _objectSpread2({}, Default, {}, $(this).data(), {}, typeof config === 'object' && config ? config : {});
+ var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default), $(this).data()), typeof config === 'object' && config ? config : {});
if (!data) {
data = new Modal(this, _config);
@@ -634,7 +630,7 @@
*/
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
var _this11 = this;
var target;
@@ -644,19 +640,19 @@
target = document.querySelector(selector);
}
- var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread2({}, $(target).data(), {}, $(this).data());
+ var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
}
- var $target = $(target).one(Event.SHOW, function (showEvent) {
+ var $target = $(target).one(EVENT_SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// Only register focus restorer if modal will actually get shown
return;
}
- $target.one(Event.HIDDEN, function () {
+ $target.one(EVENT_HIDDEN, function () {
if ($(_this11).is(':visible')) {
_this11.focus();
}
diff --git a/vendor/twbs/bootstrap/js/dist/modal.js.map b/vendor/twbs/bootstrap/js/dist/modal.js.map
index 78643ea6f..ca8ce4fab 100644
--- a/vendor/twbs/bootstrap/js/dist/modal.js.map
+++ b/vendor/twbs/bootstrap/js/dist/modal.js.map
@@ -1 +1 @@
-{"version":3,"file":"modal.js","sources":["../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show',\n STATIC : 'modal-static'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(Event.HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDE_PREVENTED","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","STATIC","Selector","DIALOG","MODAL_BODY","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","element","config","_config","_getConfig","_element","_dialog","querySelector","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","toggle","relatedTarget","hide","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","hideEvent","transition","document","off","removeClass","transitionDuration","Util","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","window","forEach","htmlElement","removeData","handleUpdate","typeCheckConfig","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","classList","add","modalTransitionDuration","remove","modalBody","parentNode","nodeType","Node","ELEMENT_NODE","body","appendChild","style","display","removeAttribute","setAttribute","scrollTop","reflow","addClass","_enforceFocus","shownEvent","transitionComplete","has","length","which","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","fixedContent","slice","call","querySelectorAll","stickyContent","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_jQueryInterface","TypeError","selector","getSelectorFromElement","tagName","$target","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"modal.js","sources":["../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE)\n ? CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","element","config","_config","_getConfig","_element","_dialog","querySelector","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","toggle","relatedTarget","hide","hasClass","showEvent","Event","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","hideEvent","transition","document","off","removeClass","transitionDuration","Util","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","window","forEach","htmlElement","removeData","handleUpdate","typeCheckConfig","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","classList","add","modalTransitionDuration","remove","modalBody","parentNode","nodeType","Node","ELEMENT_NODE","body","appendChild","style","display","removeAttribute","setAttribute","scrollTop","reflow","addClass","_enforceFocus","shownEvent","transitionComplete","has","length","which","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","Math","round","left","right","innerWidth","_getScrollbarWidth","fixedContent","slice","call","querySelectorAll","stickyContent","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_jQueryInterface","TypeError","selector","getSelectorFromElement","tagName","$target","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/popover.js b/vendor/twbs/bootstrap/js/dist/popover.js
index daaa2bfd6..00e86e3c7 100644
--- a/vendor/twbs/bootstrap/js/dist/popover.js
+++ b/vendor/twbs/bootstrap/js/dist/popover.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap popover.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap popover.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, global.Popover = factory(global.jQuery, global.Tooltip));
}(this, (function ($, Tooltip) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Tooltip = Tooltip && Object.prototype.hasOwnProperty.call(Tooltip, 'default') ? Tooltip['default'] : Tooltip;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -90,32 +90,28 @@
*/
var NAME = 'popover';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var CLASS_PREFIX = 'bs-popover';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
- var Default = _objectSpread2({}, Tooltip.Default, {
+ var Default = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
});
- var DefaultType = _objectSpread2({}, Tooltip.DefaultType, {
+ var DefaultType = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {
content: '(string|element|function)'
});
- var ClassName = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- TITLE: '.popover-header',
- CONTENT: '.popover-body'
- };
+ var CLASS_NAME_FADE = 'fade';
+ var CLASS_NAME_SHOW = 'show';
+ var SELECTOR_TITLE = '.popover-header';
+ var SELECTOR_CONTENT = '.popover-body';
var Event = {
HIDE: "hide" + EVENT_KEY,
HIDDEN: "hidden" + EVENT_KEY,
@@ -134,9 +130,7 @@
* ------------------------------------------------------------------------
*/
- var Popover =
- /*#__PURE__*/
- function (_Tooltip) {
+ var Popover = /*#__PURE__*/function (_Tooltip) {
_inheritsLoose(Popover, _Tooltip);
function Popover() {
@@ -162,7 +156,7 @@
_proto.setContent = function setContent() {
var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
var content = this._getContent();
@@ -170,8 +164,8 @@
content = content.call(this.element);
}
- this.setElementContent($tip.find(Selector.CONTENT), content);
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content);
+ $tip.removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
} // Private
;
diff --git a/vendor/twbs/bootstrap/js/dist/popover.js.map b/vendor/twbs/bootstrap/js/dist/popover.js.map
index 7b9482a68..8df36c019 100644
--- a/vendor/twbs/bootstrap/js/dist/popover.js.map
+++ b/vendor/twbs/bootstrap/js/dist/popover.js.map
@@ -1 +1 @@
-{"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Popover","isWithContent","getTitle","_getContent","addAttachmentClass","attachment","getTipElement","addClass","tip","config","setContent","$tip","setElementContent","find","call","element","removeClass","getAttribute","_cleanTipClass","tabClass","attr","match","length","join","_jQueryInterface","each","data","_config","test","TypeError","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","trigger","content","template","DefaultType","CLASS_NAME_FADE","CLASS_NAME_SHOW","SELECTOR_TITLE","SELECTOR_CONTENT","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Popover","isWithContent","getTitle","_getContent","addAttachmentClass","attachment","getTipElement","addClass","tip","config","setContent","$tip","setElementContent","find","call","element","removeClass","getAttribute","_cleanTipClass","tabClass","attr","match","length","join","_jQueryInterface","each","data","_config","test","TypeError","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/scrollspy.js b/vendor/twbs/bootstrap/js/dist/scrollspy.js
index 067ca0c59..c73fa002a 100644
--- a/vendor/twbs/bootstrap/js/dist/scrollspy.js
+++ b/vendor/twbs/bootstrap/js/dist/scrollspy.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap scrollspy.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap scrollspy.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, global.ScrollSpy = factory(global.jQuery, global.Util));
}(this, (function ($, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -84,7 +84,7 @@
*/
var NAME = 'scrollspy';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -99,52 +99,40 @@
method: 'string',
target: '(string|element)'
};
- var Event = {
- ACTIVATE: "activate" + EVENT_KEY,
- SCROLL: "scroll" + EVENT_KEY,
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DROPDOWN_ITEM: 'dropdown-item',
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active'
- };
- var Selector = {
- DATA_SPY: '[data-spy="scroll"]',
- ACTIVE: '.active',
- NAV_LIST_GROUP: '.nav, .list-group',
- NAV_LINKS: '.nav-link',
- NAV_ITEMS: '.nav-item',
- LIST_ITEMS: '.list-group-item',
- DROPDOWN: '.dropdown',
- DROPDOWN_ITEMS: '.dropdown-item',
- DROPDOWN_TOGGLE: '.dropdown-toggle'
- };
- var OffsetMethod = {
- OFFSET: 'offset',
- POSITION: 'position'
- };
+ var EVENT_ACTIVATE = "activate" + EVENT_KEY;
+ var EVENT_SCROLL = "scroll" + EVENT_KEY;
+ var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
+ var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
+ var CLASS_NAME_ACTIVE = '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 () {
+ 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._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;
- $(this._scrollElement).on(Event.SCROLL, function (event) {
+ $(this._scrollElement).on(EVENT_SCROLL, function (event) {
return _this._process(event);
});
this.refresh();
@@ -159,9 +147,9 @@
_proto.refresh = function refresh() {
var _this2 = this;
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
this._offsets = [];
this._targets = [];
this._scrollHeight = this._getScrollHeight();
@@ -210,9 +198,9 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default, {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2({}, Default), typeof config === 'object' && config ? config : {});
- if (typeof config.target !== 'string') {
+ if (typeof config.target !== 'string' && Util.isElement(config.target)) {
var id = $(config.target).attr('id');
if (!id) {
@@ -268,9 +256,7 @@
return;
}
- var offsetLength = this._offsets.length;
-
- for (var i = offsetLength; i--;) {
+ 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) {
@@ -290,29 +276,29 @@
var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
- if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
- $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
- $link.addClass(ClassName.ACTIVE);
+ if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
+ $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE);
+ $link.addClass(CLASS_NAME_ACTIVE);
} else {
// Set triggered link as active
- $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
+ $link.addClass(CLASS_NAME_ACTIVE); // Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE); // Handle special case when .nav-link is inside .nav-item
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE);
}
- $(this._scrollElement).trigger(Event.ACTIVATE, {
+ $(this._scrollElement).trigger(EVENT_ACTIVATE, {
relatedTarget: target
});
};
_proto._clear = function _clear() {
[].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
- return node.classList.contains(ClassName.ACTIVE);
+ return node.classList.contains(CLASS_NAME_ACTIVE);
}).forEach(function (node) {
- return node.classList.remove(ClassName.ACTIVE);
+ return node.classList.remove(CLASS_NAME_ACTIVE);
});
} // Static
;
@@ -359,8 +345,8 @@
*/
- $(window).on(Event.LOAD_DATA_API, function () {
- var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY));
+ $(window).on(EVENT_LOAD_DATA_API, function () {
+ var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
var scrollSpysLength = scrollSpys.length;
for (var i = scrollSpysLength; i--;) {
diff --git a/vendor/twbs/bootstrap/js/dist/scrollspy.js.map b/vendor/twbs/bootstrap/js/dist/scrollspy.js.map
index 1c4cbfade..43e695985 100644
--- a/vendor/twbs/bootstrap/js/dist/scrollspy.js.map
+++ b/vendor/twbs/bootstrap/js/dist/scrollspy.js.map
@@ -1 +1 @@
-{"version":3,"file":"scrollspy.js","sources":["../src/scrollspy.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Default","offset","method","target","DefaultType","Event","ACTIVATE","SCROLL","LOAD_DATA_API","ClassName","DROPDOWN_ITEM","DROPDOWN_MENU","ACTIVE","Selector","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","slice","call","document","querySelectorAll","map","targetSelector","Util","getSelectorFromElement","querySelector","targetBCR","getBoundingClientRect","width","height","top","filter","item","sort","a","b","forEach","push","dispose","removeData","off","id","attr","getUID","typeCheckConfig","pageYOffset","scrollTop","scrollHeight","Math","max","body","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","offsetLength","i","isActiveTarget","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","prev","children","trigger","relatedTarget","node","classList","contains","remove","_jQueryInterface","each","data","TypeError","scrollSpys","scrollSpysLength","$spy","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"scrollspy.js","sources":["../src/scrollspy.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .addClass(CLASS_NAME_ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(SELECTOR_NAV_ITEMS)\n .children(SELECTOR_NAV_LINKS)\n .addClass(CLASS_NAME_ACTIVE)\n }\n\n $(this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Default","offset","method","target","DefaultType","EVENT_ACTIVATE","EVENT_SCROLL","EVENT_LOAD_DATA_API","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_ITEMS","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","slice","call","document","querySelectorAll","map","targetSelector","Util","getSelectorFromElement","querySelector","targetBCR","getBoundingClientRect","width","height","top","filter","item","sort","a","b","forEach","push","dispose","removeData","off","isElement","id","attr","getUID","typeCheckConfig","pageYOffset","scrollTop","scrollHeight","Math","max","body","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","i","isActiveTarget","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","prev","children","trigger","relatedTarget","node","classList","contains","remove","_jQueryInterface","each","data","TypeError","scrollSpys","scrollSpysLength","$spy","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/tab.js b/vendor/twbs/bootstrap/js/dist/tab.js
index a2b72b013..122e0e151 100644
--- a/vendor/twbs/bootstrap/js/dist/tab.js
+++ b/vendor/twbs/bootstrap/js/dist/tab.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap tab.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap tab.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, global.Tab = factory(global.jQuery, global.Util));
}(this, (function ($, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -35,43 +35,35 @@
*/
var NAME = 'tab';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active',
- DISABLED: 'disabled',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- DROPDOWN: '.dropdown',
- NAV_LIST_GROUP: '.nav, .list-group',
- ACTIVE: '.active',
- ACTIVE_UL: '> li > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE: '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
- };
+ var EVENT_HIDE = "hide" + EVENT_KEY;
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
+ var EVENT_SHOW = "show" + EVENT_KEY;
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
+ var CLASS_NAME_ACTIVE = 'active';
+ var CLASS_NAME_DISABLED = 'disabled';
+ var CLASS_NAME_FADE = 'fade';
+ var CLASS_NAME_SHOW = 'show';
+ var SELECTOR_DROPDOWN = '.dropdown';
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
+ var SELECTOR_ACTIVE = '.active';
+ var SELECTOR_ACTIVE_UL = '> li > .active';
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Tab =
- /*#__PURE__*/
- function () {
+ var Tab = /*#__PURE__*/function () {
function Tab(element) {
this._element = element;
} // Getters
@@ -83,25 +75,25 @@
_proto.show = function show() {
var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(CLASS_NAME_ACTIVE) || $(this._element).hasClass(CLASS_NAME_DISABLED)) {
return;
}
var target;
var previous;
- var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
+ var listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];
var selector = Util.getSelectorFromElement(this._element);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
previous = $.makeArray($(listElement).find(itemSelector));
previous = previous[previous.length - 1];
}
- var hideEvent = $.Event(Event.HIDE, {
+ var hideEvent = $.Event(EVENT_HIDE, {
relatedTarget: this._element
});
- var showEvent = $.Event(Event.SHOW, {
+ var showEvent = $.Event(EVENT_SHOW, {
relatedTarget: previous
});
@@ -122,10 +114,10 @@
this._activate(this._element, listElement);
var complete = function complete() {
- var hiddenEvent = $.Event(Event.HIDDEN, {
+ var hiddenEvent = $.Event(EVENT_HIDDEN, {
relatedTarget: _this._element
});
- var shownEvent = $.Event(Event.SHOWN, {
+ var shownEvent = $.Event(EVENT_SHOWN, {
relatedTarget: previous
});
$(previous).trigger(hiddenEvent);
@@ -148,9 +140,9 @@
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector.ACTIVE_UL) : $(container).children(Selector.ACTIVE);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(SELECTOR_ACTIVE_UL) : $(container).children(SELECTOR_ACTIVE);
var active = activeElements[0];
- var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE);
+ var isTransitioning = callback && active && $(active).hasClass(CLASS_NAME_FADE);
var complete = function complete() {
return _this2._transitionComplete(element, active, callback);
@@ -158,7 +150,7 @@
if (active && isTransitioning) {
var transitionDuration = Util.getTransitionDurationFromElement(active);
- $(active).removeClass(ClassName.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ $(active).removeClass(CLASS_NAME_SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
complete();
}
@@ -166,11 +158,11 @@
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
if (active) {
- $(active).removeClass(ClassName.ACTIVE);
- var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+ $(active).removeClass(CLASS_NAME_ACTIVE);
+ var dropdownChild = $(active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
if (dropdownChild) {
- $(dropdownChild).removeClass(ClassName.ACTIVE);
+ $(dropdownChild).removeClass(CLASS_NAME_ACTIVE);
}
if (active.getAttribute('role') === 'tab') {
@@ -178,7 +170,7 @@
}
}
- $(element).addClass(ClassName.ACTIVE);
+ $(element).addClass(CLASS_NAME_ACTIVE);
if (element.getAttribute('role') === 'tab') {
element.setAttribute('aria-selected', true);
@@ -186,16 +178,16 @@
Util.reflow(element);
- if (element.classList.contains(ClassName.FADE)) {
- element.classList.add(ClassName.SHOW);
+ if (element.classList.contains(CLASS_NAME_FADE)) {
+ element.classList.add(CLASS_NAME_SHOW);
}
- if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
- var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
+ if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
+ var dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0];
if (dropdownElement) {
- var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE));
- $(dropdownToggleList).addClass(ClassName.ACTIVE);
+ var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE));
+ $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE);
}
element.setAttribute('aria-expanded', true);
@@ -243,7 +235,7 @@
*/
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
diff --git a/vendor/twbs/bootstrap/js/dist/tab.js.map b/vendor/twbs/bootstrap/js/dist/tab.js.map
index d0a5cde51..a421c7759 100644
--- a/vendor/twbs/bootstrap/js/dist/tab.js.map
+++ b/vendor/twbs/bootstrap/js/dist/tab.js.map
@@ -1 +1 @@
-{"version":3,"file":"tab.js","sources":["../src/tab.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","DROPDOWN","NAV_LIST_GROUP","ACTIVE_UL","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","Tab","element","_element","show","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","target","previous","listElement","closest","selector","Util","getSelectorFromElement","itemSelector","nodeName","makeArray","find","length","hideEvent","relatedTarget","showEvent","trigger","isDefaultPrevented","document","querySelector","_activate","complete","hiddenEvent","shownEvent","dispose","removeData","container","callback","activeElements","children","active","isTransitioning","_transitionComplete","transitionDuration","getTransitionDurationFromElement","removeClass","one","TRANSITION_END","emulateTransitionEnd","dropdownChild","getAttribute","setAttribute","addClass","reflow","classList","contains","add","dropdownElement","dropdownToggleList","slice","call","querySelectorAll","_jQueryInterface","config","each","$this","data","TypeError","on","event","preventDefault","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"tab.js","sources":["../src/tab.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = '> li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(CLASS_NAME_ACTIVE) ||\n $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(EVENT_HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(SELECTOR_ACTIVE_UL)\n : $(container).children(SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(CLASS_NAME_SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(CLASS_NAME_ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n SELECTOR_DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","CLASS_NAME_DROPDOWN_MENU","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","CLASS_NAME_FADE","CLASS_NAME_SHOW","SELECTOR_DROPDOWN","SELECTOR_NAV_LIST_GROUP","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","SELECTOR_DATA_TOGGLE","SELECTOR_DROPDOWN_TOGGLE","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","element","_element","show","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","target","previous","listElement","closest","selector","Util","getSelectorFromElement","itemSelector","nodeName","makeArray","find","length","hideEvent","Event","relatedTarget","showEvent","trigger","isDefaultPrevented","document","querySelector","_activate","complete","hiddenEvent","shownEvent","dispose","removeData","container","callback","activeElements","children","active","isTransitioning","_transitionComplete","transitionDuration","getTransitionDurationFromElement","removeClass","one","TRANSITION_END","emulateTransitionEnd","dropdownChild","getAttribute","setAttribute","addClass","reflow","classList","contains","add","dropdownElement","dropdownToggleList","slice","call","querySelectorAll","_jQueryInterface","config","each","$this","data","TypeError","on","event","preventDefault","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA;;;;;;EAMA,IAAMA,IAAI,GAAiB,KAA3B;EACA,IAAMC,OAAO,GAAc,OAA3B;EACA,IAAMC,QAAQ,GAAa,QAA3B;EACA,IAAMC,SAAS,SAAgBD,QAA/B;EACA,IAAME,YAAY,GAAS,WAA3B;EACA,IAAMC,kBAAkB,GAAGC,CAAC,CAACC,EAAF,CAAKP,IAAL,CAA3B;EAEA,IAAMQ,UAAU,YAAoBL,SAApC;EACA,IAAMM,YAAY,cAAoBN,SAAtC;EACA,IAAMO,UAAU,YAAoBP,SAApC;EACA,IAAMQ,WAAW,aAAoBR,SAArC;EACA,IAAMS,oBAAoB,aAAWT,SAAX,GAAuBC,YAAjD;EAEA,IAAMS,wBAAwB,GAAG,eAAjC;EACA,IAAMC,iBAAiB,GAAU,QAAjC;EACA,IAAMC,mBAAmB,GAAQ,UAAjC;EACA,IAAMC,eAAe,GAAY,MAAjC;EACA,IAAMC,eAAe,GAAY,MAAjC;EAEA,IAAMC,iBAAiB,GAAgB,WAAvC;EACA,IAAMC,uBAAuB,GAAU,mBAAvC;EACA,IAAMC,eAAe,GAAkB,SAAvC;EACA,IAAMC,kBAAkB,GAAe,gBAAvC;EACA,IAAMC,oBAAoB,GAAa,iEAAvC;EACA,IAAMC,wBAAwB,GAAS,kBAAvC;EACA,IAAMC,8BAA8B,GAAG,0BAAvC;EAEA;;;;;;MAMMC;EACJ,eAAYC,OAAZ,EAAqB;EACnB,SAAKC,QAAL,GAAgBD,OAAhB;EACD;;;;;EAQD;WAEAE,OAAA,gBAAO;EAAA;;EACL,QAAI,KAAKD,QAAL,CAAcE,UAAd,IACA,KAAKF,QAAL,CAAcE,UAAd,CAAyBC,QAAzB,KAAsCC,IAAI,CAACC,YAD3C,IAEA1B,CAAC,CAAC,KAAKqB,QAAN,CAAD,CAAiBM,QAAjB,CAA0BnB,iBAA1B,CAFA,IAGAR,CAAC,CAAC,KAAKqB,QAAN,CAAD,CAAiBM,QAAjB,CAA0BlB,mBAA1B,CAHJ,EAGoD;EAClD;EACD;;EAED,QAAImB,MAAJ;EACA,QAAIC,QAAJ;EACA,QAAMC,WAAW,GAAG9B,CAAC,CAAC,KAAKqB,QAAN,CAAD,CAAiBU,OAAjB,CAAyBlB,uBAAzB,EAAkD,CAAlD,CAApB;EACA,QAAMmB,QAAQ,GAAGC,IAAI,CAACC,sBAAL,CAA4B,KAAKb,QAAjC,CAAjB;;EAEA,QAAIS,WAAJ,EAAiB;EACf,UAAMK,YAAY,GAAGL,WAAW,CAACM,QAAZ,KAAyB,IAAzB,IAAiCN,WAAW,CAACM,QAAZ,KAAyB,IAA1D,GAAiErB,kBAAjE,GAAsFD,eAA3G;EACAe,MAAAA,QAAQ,GAAG7B,CAAC,CAACqC,SAAF,CAAYrC,CAAC,CAAC8B,WAAD,CAAD,CAAeQ,IAAf,CAAoBH,YAApB,CAAZ,CAAX;EACAN,MAAAA,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACU,MAAT,GAAkB,CAAnB,CAAnB;EACD;;EAED,QAAMC,SAAS,GAAGxC,CAAC,CAACyC,KAAF,CAAQvC,UAAR,EAAoB;EACpCwC,MAAAA,aAAa,EAAE,KAAKrB;EADgB,KAApB,CAAlB;EAIA,QAAMsB,SAAS,GAAG3C,CAAC,CAACyC,KAAF,CAAQrC,UAAR,EAAoB;EACpCsC,MAAAA,aAAa,EAAEb;EADqB,KAApB,CAAlB;;EAIA,QAAIA,QAAJ,EAAc;EACZ7B,MAAAA,CAAC,CAAC6B,QAAD,CAAD,CAAYe,OAAZ,CAAoBJ,SAApB;EACD;;EAEDxC,IAAAA,CAAC,CAAC,KAAKqB,QAAN,CAAD,CAAiBuB,OAAjB,CAAyBD,SAAzB;;EAEA,QAAIA,SAAS,CAACE,kBAAV,MACAL,SAAS,CAACK,kBAAV,EADJ,EACoC;EAClC;EACD;;EAED,QAAIb,QAAJ,EAAc;EACZJ,MAAAA,MAAM,GAAGkB,QAAQ,CAACC,aAAT,CAAuBf,QAAvB,CAAT;EACD;;EAED,SAAKgB,SAAL,CACE,KAAK3B,QADP,EAEES,WAFF;;EAKA,QAAMmB,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,UAAMC,WAAW,GAAGlD,CAAC,CAACyC,KAAF,CAAQtC,YAAR,EAAsB;EACxCuC,QAAAA,aAAa,EAAE,KAAI,CAACrB;EADoB,OAAtB,CAApB;EAIA,UAAM8B,UAAU,GAAGnD,CAAC,CAACyC,KAAF,CAAQpC,WAAR,EAAqB;EACtCqC,QAAAA,aAAa,EAAEb;EADuB,OAArB,CAAnB;EAIA7B,MAAAA,CAAC,CAAC6B,QAAD,CAAD,CAAYe,OAAZ,CAAoBM,WAApB;EACAlD,MAAAA,CAAC,CAAC,KAAI,CAACqB,QAAN,CAAD,CAAiBuB,OAAjB,CAAyBO,UAAzB;EACD,KAXD;;EAaA,QAAIvB,MAAJ,EAAY;EACV,WAAKoB,SAAL,CAAepB,MAAf,EAAuBA,MAAM,CAACL,UAA9B,EAA0C0B,QAA1C;EACD,KAFD,MAEO;EACLA,MAAAA,QAAQ;EACT;EACF;;WAEDG,UAAA,mBAAU;EACRpD,IAAAA,CAAC,CAACqD,UAAF,CAAa,KAAKhC,QAAlB,EAA4BzB,QAA5B;EACA,SAAKyB,QAAL,GAAgB,IAAhB;EACD;;;WAID2B,YAAA,mBAAU5B,OAAV,EAAmBkC,SAAnB,EAA8BC,QAA9B,EAAwC;EAAA;;EACtC,QAAMC,cAAc,GAAGF,SAAS,KAAKA,SAAS,CAAClB,QAAV,KAAuB,IAAvB,IAA+BkB,SAAS,CAAClB,QAAV,KAAuB,IAA3D,CAAT,GACnBpC,CAAC,CAACsD,SAAD,CAAD,CAAahB,IAAb,CAAkBvB,kBAAlB,CADmB,GAEnBf,CAAC,CAACsD,SAAD,CAAD,CAAaG,QAAb,CAAsB3C,eAAtB,CAFJ;EAIA,QAAM4C,MAAM,GAAGF,cAAc,CAAC,CAAD,CAA7B;EACA,QAAMG,eAAe,GAAGJ,QAAQ,IAAKG,MAAM,IAAI1D,CAAC,CAAC0D,MAAD,CAAD,CAAU/B,QAAV,CAAmBjB,eAAnB,CAA/C;;EACA,QAAMuC,QAAQ,GAAG,SAAXA,QAAW;EAAA,aAAM,MAAI,CAACW,mBAAL,CACrBxC,OADqB,EAErBsC,MAFqB,EAGrBH,QAHqB,CAAN;EAAA,KAAjB;;EAMA,QAAIG,MAAM,IAAIC,eAAd,EAA+B;EAC7B,UAAME,kBAAkB,GAAG5B,IAAI,CAAC6B,gCAAL,CAAsCJ,MAAtC,CAA3B;EAEA1D,MAAAA,CAAC,CAAC0D,MAAD,CAAD,CACGK,WADH,CACepD,eADf,EAEGqD,GAFH,CAEO/B,IAAI,CAACgC,cAFZ,EAE4BhB,QAF5B,EAGGiB,oBAHH,CAGwBL,kBAHxB;EAID,KAPD,MAOO;EACLZ,MAAAA,QAAQ;EACT;EACF;;WAEDW,sBAAA,6BAAoBxC,OAApB,EAA6BsC,MAA7B,EAAqCH,QAArC,EAA+C;EAC7C,QAAIG,MAAJ,EAAY;EACV1D,MAAAA,CAAC,CAAC0D,MAAD,CAAD,CAAUK,WAAV,CAAsBvD,iBAAtB;EAEA,UAAM2D,aAAa,GAAGnE,CAAC,CAAC0D,MAAM,CAACnC,UAAR,CAAD,CAAqBe,IAArB,CACpBpB,8BADoB,EAEpB,CAFoB,CAAtB;;EAIA,UAAIiD,aAAJ,EAAmB;EACjBnE,QAAAA,CAAC,CAACmE,aAAD,CAAD,CAAiBJ,WAAjB,CAA6BvD,iBAA7B;EACD;;EAED,UAAIkD,MAAM,CAACU,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;EACzCV,QAAAA,MAAM,CAACW,YAAP,CAAoB,eAApB,EAAqC,KAArC;EACD;EACF;;EAEDrE,IAAAA,CAAC,CAACoB,OAAD,CAAD,CAAWkD,QAAX,CAAoB9D,iBAApB;;EACA,QAAIY,OAAO,CAACgD,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;EAC1ChD,MAAAA,OAAO,CAACiD,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAEDpC,IAAAA,IAAI,CAACsC,MAAL,CAAYnD,OAAZ;;EAEA,QAAIA,OAAO,CAACoD,SAAR,CAAkBC,QAAlB,CAA2B/D,eAA3B,CAAJ,EAAiD;EAC/CU,MAAAA,OAAO,CAACoD,SAAR,CAAkBE,GAAlB,CAAsB/D,eAAtB;EACD;;EAED,QAAIS,OAAO,CAACG,UAAR,IAAsBvB,CAAC,CAACoB,OAAO,CAACG,UAAT,CAAD,CAAsBI,QAAtB,CAA+BpB,wBAA/B,CAA1B,EAAoF;EAClF,UAAMoE,eAAe,GAAG3E,CAAC,CAACoB,OAAD,CAAD,CAAWW,OAAX,CAAmBnB,iBAAnB,EAAsC,CAAtC,CAAxB;;EAEA,UAAI+D,eAAJ,EAAqB;EACnB,YAAMC,kBAAkB,GAAG,GAAGC,KAAH,CAASC,IAAT,CAAcH,eAAe,CAACI,gBAAhB,CAAiC9D,wBAAjC,CAAd,CAA3B;EAEAjB,QAAAA,CAAC,CAAC4E,kBAAD,CAAD,CAAsBN,QAAtB,CAA+B9D,iBAA/B;EACD;;EAEDY,MAAAA,OAAO,CAACiD,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAED,QAAId,QAAJ,EAAc;EACZA,MAAAA,QAAQ;EACT;EACF;;;QAIMyB,mBAAP,0BAAwBC,MAAxB,EAAgC;EAC9B,WAAO,KAAKC,IAAL,CAAU,YAAY;EAC3B,UAAMC,KAAK,GAAGnF,CAAC,CAAC,IAAD,CAAf;EACA,UAAIoF,IAAI,GAAGD,KAAK,CAACC,IAAN,CAAWxF,QAAX,CAAX;;EAEA,UAAI,CAACwF,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIjE,GAAJ,CAAQ,IAAR,CAAP;EACAgE,QAAAA,KAAK,CAACC,IAAN,CAAWxF,QAAX,EAAqBwF,IAArB;EACD;;EAED,UAAI,OAAOH,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOG,IAAI,CAACH,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAII,SAAJ,wBAAkCJ,MAAlC,QAAN;EACD;;EACDG,QAAAA,IAAI,CAACH,MAAD,CAAJ;EACD;EACF,KAfM,CAAP;EAgBD;;;;0BAzKoB;EACnB,aAAOtF,OAAP;EACD;;;;;EA0KH;;;;;;;EAMAK,CAAC,CAAC8C,QAAD,CAAD,CACGwC,EADH,CACMhF,oBADN,EAC4BU,oBAD5B,EACkD,UAAUuE,KAAV,EAAiB;EAC/DA,EAAAA,KAAK,CAACC,cAAN;;EACArE,EAAAA,GAAG,CAAC6D,gBAAJ,CAAqBF,IAArB,CAA0B9E,CAAC,CAAC,IAAD,CAA3B,EAAmC,MAAnC;EACD,CAJH;EAMA;;;;;;EAMAA,CAAC,CAACC,EAAF,CAAKP,IAAL,IAAayB,GAAG,CAAC6D,gBAAjB;EACAhF,CAAC,CAACC,EAAF,CAAKP,IAAL,EAAW+F,WAAX,GAAyBtE,GAAzB;;EACAnB,CAAC,CAACC,EAAF,CAAKP,IAAL,EAAWgG,UAAX,GAAwB,YAAM;EAC5B1F,EAAAA,CAAC,CAACC,EAAF,CAAKP,IAAL,IAAaK,kBAAb;EACA,SAAOoB,GAAG,CAAC6D,gBAAX;EACD,CAHD;;;;;;;;"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/toast.js b/vendor/twbs/bootstrap/js/dist/toast.js
index 9283b2eff..fcfc3e83a 100644
--- a/vendor/twbs/bootstrap/js/dist/toast.js
+++ b/vendor/twbs/bootstrap/js/dist/toast.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap toast.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap toast.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,8 +9,8 @@
(global = global || self, global.Toast = factory(global.jQuery, global.Util));
}(this, (function ($, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -84,23 +84,19 @@
*/
var NAME = 'toast';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.toast';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var Event = {
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY
- };
- var ClassName = {
- FADE: 'fade',
- HIDE: 'hide',
- SHOW: 'show',
- SHOWING: 'showing'
- };
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
+ var EVENT_HIDE = "hide" + EVENT_KEY;
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
+ var EVENT_SHOW = "show" + EVENT_KEY;
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
+ var CLASS_NAME_FADE = 'fade';
+ var CLASS_NAME_HIDE = 'hide';
+ var CLASS_NAME_SHOW = 'show';
+ var CLASS_NAME_SHOWING = 'showing';
var DefaultType = {
animation: 'boolean',
autohide: 'boolean',
@@ -111,18 +107,14 @@
autohide: true,
delay: 500
};
- var Selector = {
- DATA_DISMISS: '[data-dismiss="toast"]'
- };
+ var SELECTOR_DATA_DISMISS = '[data-dismiss="toast"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Toast =
- /*#__PURE__*/
- function () {
+ var Toast = /*#__PURE__*/function () {
function Toast(element, config) {
this._element = element;
this._config = this._getConfig(config);
@@ -138,7 +130,7 @@
_proto.show = function show() {
var _this = this;
- var showEvent = $.Event(Event.SHOW);
+ var showEvent = $.Event(EVENT_SHOW);
$(this._element).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
@@ -146,15 +138,15 @@
}
if (this._config.animation) {
- this._element.classList.add(ClassName.FADE);
+ this._element.classList.add(CLASS_NAME_FADE);
}
var complete = function complete() {
- _this._element.classList.remove(ClassName.SHOWING);
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
- _this._element.classList.add(ClassName.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW);
- $(_this._element).trigger(Event.SHOWN);
+ $(_this._element).trigger(EVENT_SHOWN);
if (_this._config.autohide) {
_this._timeout = setTimeout(function () {
@@ -163,11 +155,11 @@
}
};
- this._element.classList.remove(ClassName.HIDE);
+ this._element.classList.remove(CLASS_NAME_HIDE);
Util.reflow(this._element);
- this._element.classList.add(ClassName.SHOWING);
+ this._element.classList.add(CLASS_NAME_SHOWING);
if (this._config.animation) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
@@ -178,11 +170,11 @@
};
_proto.hide = function hide() {
- if (!this._element.classList.contains(ClassName.SHOW)) {
+ if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
return;
}
- var hideEvent = $.Event(Event.HIDE);
+ var hideEvent = $.Event(EVENT_HIDE);
$(this._element).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
@@ -196,11 +188,11 @@
clearTimeout(this._timeout);
this._timeout = null;
- if (this._element.classList.contains(ClassName.SHOW)) {
- this._element.classList.remove(ClassName.SHOW);
+ if (this._element.classList.contains(CLASS_NAME_SHOW)) {
+ this._element.classList.remove(CLASS_NAME_SHOW);
}
- $(this._element).off(Event.CLICK_DISMISS);
+ $(this._element).off(EVENT_CLICK_DISMISS);
$.removeData(this._element, DATA_KEY);
this._element = null;
this._config = null;
@@ -208,7 +200,7 @@
;
_proto._getConfig = function _getConfig(config) {
- config = _objectSpread2({}, Default, {}, $(this._element).data(), {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default), $(this._element).data()), typeof config === 'object' && config ? config : {});
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config;
};
@@ -216,7 +208,7 @@
_proto._setListeners = function _setListeners() {
var _this2 = this;
- $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () {
+ $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
return _this2.hide();
});
};
@@ -225,12 +217,12 @@
var _this3 = this;
var complete = function complete() {
- _this3._element.classList.add(ClassName.HIDE);
+ _this3._element.classList.add(CLASS_NAME_HIDE);
- $(_this3._element).trigger(Event.HIDDEN);
+ $(_this3._element).trigger(EVENT_HIDDEN);
};
- this._element.classList.remove(ClassName.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW);
if (this._config.animation) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
diff --git a/vendor/twbs/bootstrap/js/dist/toast.js.map b/vendor/twbs/bootstrap/js/dist/toast.js.map
index 90c6f2d69..13988f554 100644
--- a/vendor/twbs/bootstrap/js/dist/toast.js.map
+++ b/vendor/twbs/bootstrap/js/dist/toast.js.map
@@ -1 +1 @@
-{"version":3,"file":"toast.js","sources":["../src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show',\n SHOWING : 'showing'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(Event.SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n Util.reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","Event","CLICK_DISMISS","HIDE","HIDDEN","SHOW","SHOWN","ClassName","FADE","SHOWING","DefaultType","animation","autohide","delay","Default","Selector","DATA_DISMISS","Toast","element","config","_element","_config","_getConfig","_timeout","_setListeners","show","showEvent","trigger","isDefaultPrevented","classList","add","complete","remove","setTimeout","hide","Util","reflow","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","contains","hideEvent","_close","dispose","clearTimeout","off","removeData","data","typeCheckConfig","constructor","on","_jQueryInterface","each","$element","TypeError","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"toast.js","sources":["../src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(EVENT_SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n $(this._element).trigger(EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n Util.reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n $(this._element).trigger(EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","EVENT_CLICK_DISMISS","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","DefaultType","animation","autohide","delay","Default","SELECTOR_DATA_DISMISS","Toast","element","config","_element","_config","_getConfig","_timeout","_setListeners","show","showEvent","Event","trigger","isDefaultPrevented","classList","add","complete","remove","setTimeout","hide","Util","reflow","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","contains","hideEvent","_close","dispose","clearTimeout","off","removeData","data","typeCheckConfig","constructor","on","_jQueryInterface","each","$element","TypeError","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/tooltip.js b/vendor/twbs/bootstrap/js/dist/tooltip.js
index 5608e9531..84d0b0502 100644
--- a/vendor/twbs/bootstrap/js/dist/tooltip.js
+++ b/vendor/twbs/bootstrap/js/dist/tooltip.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap tooltip.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap tooltip.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,9 +9,9 @@
(global = global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util));
}(this, (function ($, Popper, Util) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
- Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
+ Popper = Popper && Object.prototype.hasOwnProperty.call(Popper, 'default') ? Popper['default'] : Popper;
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -80,7 +80,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): tools/sanitizer.js
+ * Bootstrap (v4.5.0): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -105,7 +105,7 @@
h5: [],
h6: [],
i: [],
- img: ['src', 'alt', 'title', 'width', 'height'],
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
@@ -125,14 +125,14 @@
* 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;
+ 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,[a-z0-9+/]+=*$/i;
+ 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();
@@ -149,7 +149,7 @@
return attrRegex instanceof RegExp;
}); // Check if a regular expression validates the attribute.
- for (var i = 0, l = regExp.length; i < l; i++) {
+ for (var i = 0, len = regExp.length; i < len; i++) {
if (attrName.match(regExp[i])) {
return true;
}
@@ -206,7 +206,7 @@
*/
var NAME = 'tooltip';
- var VERSION = '4.4.1';
+ var VERSION = '4.5.0';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
@@ -256,10 +256,8 @@
whiteList: DefaultWhitelist,
popperConfig: null
};
- var HoverState = {
- SHOW: 'show',
- OUT: 'out'
- };
+ var HOVER_STATE_SHOW = 'show';
+ var HOVER_STATE_OUT = 'out';
var Event = {
HIDE: "hide" + EVENT_KEY,
HIDDEN: "hidden" + EVENT_KEY,
@@ -272,30 +270,21 @@
MOUSEENTER: "mouseenter" + EVENT_KEY,
MOUSELEAVE: "mouseleave" + EVENT_KEY
};
- var ClassName = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- TOOLTIP: '.tooltip',
- TOOLTIP_INNER: '.tooltip-inner',
- ARROW: '.arrow'
- };
- var Trigger = {
- HOVER: 'hover',
- FOCUS: 'focus',
- CLICK: 'click',
- MANUAL: 'manual'
- };
+ var CLASS_NAME_FADE = 'fade';
+ var CLASS_NAME_SHOW = '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 () {
+ var Tooltip = /*#__PURE__*/function () {
function Tooltip(element, config) {
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
@@ -353,7 +342,7 @@
context._leave(null, context);
}
} else {
- if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
+ if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {
this._leave(null, this);
return;
@@ -413,7 +402,7 @@
this.setContent();
if (this.config.animation) {
- $(tip).addClass(ClassName.FADE);
+ $(tip).addClass(CLASS_NAME_FADE);
}
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -432,7 +421,7 @@
$(this.element).trigger(this.constructor.Event.INSERTED);
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
- $(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
+ $(tip).addClass(CLASS_NAME_SHOW); // 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
@@ -450,12 +439,12 @@
_this._hoverState = null;
$(_this.element).trigger(_this.constructor.Event.SHOWN);
- if (prevHoverState === HoverState.OUT) {
+ if (prevHoverState === HOVER_STATE_OUT) {
_this._leave(null, _this);
}
};
- if ($(this.tip).hasClass(ClassName.FADE)) {
+ if ($(this.tip).hasClass(CLASS_NAME_FADE)) {
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
@@ -471,7 +460,7 @@
var hideEvent = $.Event(this.constructor.Event.HIDE);
var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
@@ -496,18 +485,18 @@
return;
}
- $(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
+ $(tip).removeClass(CLASS_NAME_SHOW); // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
$(document.body).children().off('mouseover', null, $.noop);
}
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
+ this._activeTrigger[TRIGGER_CLICK] = false;
+ this._activeTrigger[TRIGGER_FOCUS] = false;
+ this._activeTrigger[TRIGGER_HOVER] = false;
- if ($(this.tip).hasClass(ClassName.FADE)) {
+ if ($(this.tip).hasClass(CLASS_NAME_FADE)) {
var transitionDuration = Util.getTransitionDurationFromElement(tip);
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
@@ -539,8 +528,8 @@
_proto.setContent = function setContent() {
var tip = this.getTipElement();
- this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle());
- $(tip).removeClass(ClassName.FADE + " " + ClassName.SHOW);
+ this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
+ $(tip).removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
};
_proto.setElementContent = function setElementContent($element, content) {
@@ -590,7 +579,7 @@
behavior: this.config.fallbackPlacement
},
arrow: {
- element: Selector.ARROW
+ element: SELECTOR_ARROW
},
preventOverflow: {
boundariesElement: this.config.boundary
@@ -605,7 +594,7 @@
return _this3._handlePopperPlacementChange(data);
}
};
- return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig);
+ return _objectSpread2(_objectSpread2({}, defaultBsConfig), this.config.popperConfig);
};
_proto._getOffset = function _getOffset() {
@@ -615,7 +604,7 @@
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
- data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {});
+ data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this4.config.offset(data.offsets, _this4.element) || {});
return data;
};
} else {
@@ -650,9 +639,9 @@
$(_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;
+ } 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;
$(_this5.element).on(eventIn, _this5.config.selector, function (event) {
return _this5._enter(event);
}).on(eventOut, _this5.config.selector, function (event) {
@@ -670,7 +659,7 @@
$(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
- this.config = _objectSpread2({}, this.config, {
+ this.config = _objectSpread2(_objectSpread2({}, this.config), {}, {
trigger: 'manual',
selector: ''
});
@@ -698,16 +687,16 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
}
- if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
- context._hoverState = HoverState.SHOW;
+ if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {
+ context._hoverState = HOVER_STATE_SHOW;
return;
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.SHOW;
+ context._hoverState = HOVER_STATE_SHOW;
if (!context.config.delay || !context.config.delay.show) {
context.show();
@@ -715,7 +704,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (context._hoverState === HOVER_STATE_SHOW) {
context.show();
}
}, context.config.delay.show);
@@ -731,7 +720,7 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
}
if (context._isWithActiveTrigger()) {
@@ -739,7 +728,7 @@
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.OUT;
+ context._hoverState = HOVER_STATE_OUT;
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
@@ -747,7 +736,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
+ if (context._hoverState === HOVER_STATE_OUT) {
context.hide();
}
}, context.config.delay.hide);
@@ -770,7 +759,7 @@
delete dataAttributes[dataAttr];
}
});
- config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {});
+ config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), dataAttributes), typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') {
config.delay = {
@@ -820,8 +809,7 @@
};
_proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
- var popperInstance = popperData.instance;
- this.tip = popperInstance.popper;
+ this.tip = popperData.instance.popper;
this._cleanTipClass();
@@ -836,7 +824,7 @@
return;
}
- $(tip).removeClass(ClassName.FADE);
+ $(tip).removeClass(CLASS_NAME_FADE);
this.config.animation = false;
this.hide();
this.show();
diff --git a/vendor/twbs/bootstrap/js/dist/tooltip.js.map b/vendor/twbs/bootstrap/js/dist/tooltip.js.map
index 9ba528e16..188bf050d 100644
--- a/vendor/twbs/bootstrap/js/dist/tooltip.js.map
+++ b/vendor/twbs/bootstrap/js/dist/tooltip.js.map
@@ -1 +1 @@
-{"version":3,"file":"tooltip.js","sources":["../src/tools/sanitizer.js","../src/tooltip.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n"],"names":["uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","toLowerCase","indexOf","Boolean","nodeValue","match","regExp","filter","attrRegex","RegExp","l","length","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","window","DOMParser","createdDocument","parseFromString","whitelistKeys","Object","keys","elements","slice","call","body","querySelectorAll","len","el","elName","parentNode","removeChild","attributeList","attributes","whitelistedAttributes","concat","forEach","removeAttribute","innerHTML","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","FOCUS","MANUAL","Tooltip","element","config","Popper","TypeError","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","constructor","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","removeData","off","closest","_hideModalHandler","remove","destroy","show","css","Error","showEvent","isWithContent","shadowRoot","Util","findShadowRoot","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","getUID","setAttribute","setContent","addClass","attachment","_getAttachment","addAttachmentClass","_getContainer","appendTo","_getPopperConfig","document","children","on","noop","complete","_fixTransition","prevHoverState","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","hide","callback","hideEvent","_cleanTipClass","removeClass","update","scheduleUpdate","getTitle","setElementContent","$element","content","nodeType","jquery","parent","is","empty","append","text","getAttribute","defaultBsConfig","modifiers","_getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","offsets","isElement","find","toUpperCase","triggers","split","eventIn","eventOut","_fixTitle","titleType","type","setTimeout","dataAttributes","dataAttr","toString","typeCheckConfig","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","_jQueryInterface","each","_config","test","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"tooltip.js","sources":["../src/tools/sanitizer.js","../src/tooltip.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst 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\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, (event) => this._enter(event))\n .on(eventOut, this.config.selector, (event) => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n"],"names":["uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","toLowerCase","indexOf","Boolean","nodeValue","match","regExp","filter","attrRegex","RegExp","len","length","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","window","DOMParser","createdDocument","parseFromString","whitelistKeys","Object","keys","elements","slice","call","body","querySelectorAll","el","elName","parentNode","removeChild","attributeList","attributes","whitelistedAttributes","concat","forEach","removeAttribute","innerHTML","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HOVER_STATE_SHOW","HOVER_STATE_OUT","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","CLASS_NAME_SHOW","SELECTOR_TOOLTIP_INNER","SELECTOR_ARROW","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","element","config","Popper","TypeError","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","constructor","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","removeData","off","closest","_hideModalHandler","remove","destroy","show","css","Error","showEvent","isWithContent","shadowRoot","Util","findShadowRoot","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","getUID","setAttribute","setContent","addClass","attachment","_getAttachment","addAttachmentClass","_getContainer","appendTo","_getPopperConfig","document","children","on","noop","complete","_fixTransition","prevHoverState","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","hide","callback","hideEvent","_cleanTipClass","removeClass","update","scheduleUpdate","getTitle","setElementContent","$element","content","nodeType","jquery","parent","is","empty","append","text","getAttribute","defaultBsConfig","modifiers","_getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","offsets","isElement","find","toUpperCase","triggers","split","eventIn","eventOut","_fixTitle","titleType","type","setTimeout","dataAttributes","dataAttr","toString","typeCheckConfig","key","$tip","tabClass","join","popperData","instance","popper","initConfigAnimation","_jQueryInterface","each","_config","test","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/dist/util.js b/vendor/twbs/bootstrap/js/dist/util.js
index 54bd0fe68..21e8d997d 100644
--- a/vendor/twbs/bootstrap/js/dist/util.js
+++ b/vendor/twbs/bootstrap/js/dist/util.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap util.js v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap util.js v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,11 +9,11 @@
(global = global || self, global.Util = factory(global.jQuery));
}(this, (function ($) { 'use strict';
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): util.js
+ * Bootstrap (v4.5.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -28,6 +28,10 @@
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();
}
@@ -40,7 +44,7 @@
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
- return undefined; // eslint-disable-line no-undefined
+ return undefined;
}
};
}
diff --git a/vendor/twbs/bootstrap/js/dist/util.js.map b/vendor/twbs/bootstrap/js/dist/util.js.map
index b2331f9d4..716ad8dd9 100644
--- a/vendor/twbs/bootstrap/js/dist/util.js.map
+++ b/vendor/twbs/bootstrap/js/dist/util.js.map
@@ -1 +1 @@
-{"version":3,"file":"util.js","sources":["../src/util.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","jquery","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"util.js","sources":["../src/util.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","jquery","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/js/src/alert.js b/vendor/twbs/bootstrap/js/src/alert.js
index 57ab676f9..c15460ae3 100644
--- a/vendor/twbs/bootstrap/js/src/alert.js
+++ b/vendor/twbs/bootstrap/js/src/alert.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): alert.js
+ * Bootstrap (v4.5.0): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,27 +15,21 @@ import Util from './util'
*/
const NAME = 'alert'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.alert'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
const JQUERY_NO_CONFLICT = $.fn[NAME]
-const Selector = {
- DISMISS : '[data-dismiss="alert"]'
-}
+const SELECTOR_DISMISS = '[data-dismiss="alert"]'
-const Event = {
- CLOSE : `close${EVENT_KEY}`,
- CLOSED : `closed${EVENT_KEY}`,
- CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
-}
+const EVENT_CLOSE = `close${EVENT_KEY}`
+const EVENT_CLOSED = `closed${EVENT_KEY}`
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
-const ClassName = {
- ALERT : 'alert',
- FADE : 'fade',
- SHOW : 'show'
-}
+const CLASS_NAME_ALERT = 'alert'
+const CLASS_NAME_FADE = 'fade'
+const CLASS_NAME_SHOW = 'show'
/**
* ------------------------------------------------------------------------
@@ -87,23 +81,23 @@ class Alert {
}
if (!parent) {
- parent = $(element).closest(`.${ClassName.ALERT}`)[0]
+ parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]
}
return parent
}
_triggerCloseEvent(element) {
- const closeEvent = $.Event(Event.CLOSE)
+ const closeEvent = $.Event(EVENT_CLOSE)
$(element).trigger(closeEvent)
return closeEvent
}
_removeElement(element) {
- $(element).removeClass(ClassName.SHOW)
+ $(element).removeClass(CLASS_NAME_SHOW)
- if (!$(element).hasClass(ClassName.FADE)) {
+ if (!$(element).hasClass(CLASS_NAME_FADE)) {
this._destroyElement(element)
return
}
@@ -118,7 +112,7 @@ class Alert {
_destroyElement(element) {
$(element)
.detach()
- .trigger(Event.CLOSED)
+ .trigger(EVENT_CLOSED)
.remove()
}
@@ -158,8 +152,8 @@ class Alert {
*/
$(document).on(
- Event.CLICK_DATA_API,
- Selector.DISMISS,
+ EVENT_CLICK_DATA_API,
+ SELECTOR_DISMISS,
Alert._handleDismiss(new Alert())
)
diff --git a/vendor/twbs/bootstrap/js/src/button.js b/vendor/twbs/bootstrap/js/src/button.js
index f5b4fa0a7..0da254511 100644
--- a/vendor/twbs/bootstrap/js/src/button.js
+++ b/vendor/twbs/bootstrap/js/src/button.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): button.js
+ * Bootstrap (v4.5.0): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -14,34 +14,28 @@ import $ from 'jquery'
*/
const NAME = 'button'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.button'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
const JQUERY_NO_CONFLICT = $.fn[NAME]
-const ClassName = {
- ACTIVE : 'active',
- BUTTON : 'btn',
- FOCUS : 'focus'
-}
+const CLASS_NAME_ACTIVE = 'active'
+const CLASS_NAME_BUTTON = 'btn'
+const CLASS_NAME_FOCUS = 'focus'
-const Selector = {
- DATA_TOGGLE_CARROT : '[data-toggle^="button"]',
- DATA_TOGGLES : '[data-toggle="buttons"]',
- DATA_TOGGLE : '[data-toggle="button"]',
- DATA_TOGGLES_BUTTONS : '[data-toggle="buttons"] .btn',
- INPUT : 'input:not([type="hidden"])',
- ACTIVE : '.active',
- BUTTON : '.btn'
-}
+const SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]'
+const SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]'
+const SELECTOR_DATA_TOGGLE = '[data-toggle="button"]'
+const SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn'
+const SELECTOR_INPUT = 'input:not([type="hidden"])'
+const SELECTOR_ACTIVE = '.active'
+const SELECTOR_BUTTON = '.btn'
-const Event = {
- CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,
- FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +
- `blur${EVENT_KEY}${DATA_API_KEY}`,
- LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`
-}
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
+const EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +
+ `blur${EVENT_KEY}${DATA_API_KEY}`
+const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`
/**
* ------------------------------------------------------------------------
@@ -66,35 +60,31 @@ class Button {
let triggerChangeEvent = true
let addAriaPressed = true
const rootElement = $(this._element).closest(
- Selector.DATA_TOGGLES
+ SELECTOR_DATA_TOGGLES
)[0]
if (rootElement) {
- const input = this._element.querySelector(Selector.INPUT)
+ const input = this._element.querySelector(SELECTOR_INPUT)
if (input) {
if (input.type === 'radio') {
if (input.checked &&
- this._element.classList.contains(ClassName.ACTIVE)) {
+ this._element.classList.contains(CLASS_NAME_ACTIVE)) {
triggerChangeEvent = false
} else {
- const activeElement = rootElement.querySelector(Selector.ACTIVE)
+ const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)
if (activeElement) {
- $(activeElement).removeClass(ClassName.ACTIVE)
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE)
}
}
- } else if (input.type === 'checkbox') {
- if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {
- triggerChangeEvent = false
- }
- } else {
- // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
- triggerChangeEvent = false
}
if (triggerChangeEvent) {
- input.checked = !this._element.classList.contains(ClassName.ACTIVE)
+ // 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)
+ }
$(input).trigger('change')
}
@@ -106,11 +96,11 @@ class Button {
if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
if (addAriaPressed) {
this._element.setAttribute('aria-pressed',
- !this._element.classList.contains(ClassName.ACTIVE))
+ !this._element.classList.contains(CLASS_NAME_ACTIVE))
}
if (triggerChangeEvent) {
- $(this._element).toggleClass(ClassName.ACTIVE)
+ $(this._element).toggleClass(CLASS_NAME_ACTIVE)
}
}
}
@@ -145,54 +135,58 @@ class Button {
*/
$(document)
- .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {
+ .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {
let button = event.target
+ const initialButton = button
- if (!$(button).hasClass(ClassName.BUTTON)) {
- button = $(button).closest(Selector.BUTTON)[0]
+ if (!$(button).hasClass(CLASS_NAME_BUTTON)) {
+ button = $(button).closest(SELECTOR_BUTTON)[0]
}
if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
event.preventDefault() // work around Firefox bug #1540995
} else {
- const inputBtn = button.querySelector(Selector.INPUT)
+ const 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 === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {
+ event.preventDefault() // work around event sent to label and input
+ }
Button._jQueryInterface.call($(button), 'toggle')
}
})
- .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {
- const button = $(event.target).closest(Selector.BUTTON)[0]
- $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))
+ .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {
+ const button = $(event.target).closest(SELECTOR_BUTTON)[0]
+ $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))
})
-$(window).on(Event.LOAD_DATA_API, () => {
+$(window).on(EVENT_LOAD_DATA_API, () => {
// ensure correct active class is set to match the controls' actual values/states
// find all checkboxes/readio buttons inside data-toggle groups
- let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS))
+ let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))
for (let i = 0, len = buttons.length; i < len; i++) {
const button = buttons[i]
- const input = button.querySelector(Selector.INPUT)
+ const input = button.querySelector(SELECTOR_INPUT)
if (input.checked || input.hasAttribute('checked')) {
- button.classList.add(ClassName.ACTIVE)
+ button.classList.add(CLASS_NAME_ACTIVE)
} else {
- button.classList.remove(ClassName.ACTIVE)
+ button.classList.remove(CLASS_NAME_ACTIVE)
}
}
// find all button toggles
- buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))
+ buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))
for (let i = 0, len = buttons.length; i < len; i++) {
const button = buttons[i]
if (button.getAttribute('aria-pressed') === 'true') {
- button.classList.add(ClassName.ACTIVE)
+ button.classList.add(CLASS_NAME_ACTIVE)
} else {
- button.classList.remove(ClassName.ACTIVE)
+ button.classList.remove(CLASS_NAME_ACTIVE)
}
}
})
diff --git a/vendor/twbs/bootstrap/js/src/carousel.js b/vendor/twbs/bootstrap/js/src/carousel.js
index 74c410168..4efea1021 100644
--- a/vendor/twbs/bootstrap/js/src/carousel.js
+++ b/vendor/twbs/bootstrap/js/src/carousel.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): carousel.js
+ * Bootstrap (v4.5.0): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,7 +15,7 @@ import Util from './util'
*/
const NAME = 'carousel'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.carousel'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -43,51 +43,42 @@ const DefaultType = {
touch : 'boolean'
}
-const Direction = {
- NEXT : 'next',
- PREV : 'prev',
- LEFT : 'left',
- RIGHT : 'right'
-}
-
-const Event = {
- SLIDE : `slide${EVENT_KEY}`,
- SLID : `slid${EVENT_KEY}`,
- KEYDOWN : `keydown${EVENT_KEY}`,
- MOUSEENTER : `mouseenter${EVENT_KEY}`,
- MOUSELEAVE : `mouseleave${EVENT_KEY}`,
- TOUCHSTART : `touchstart${EVENT_KEY}`,
- TOUCHMOVE : `touchmove${EVENT_KEY}`,
- TOUCHEND : `touchend${EVENT_KEY}`,
- POINTERDOWN : `pointerdown${EVENT_KEY}`,
- POINTERUP : `pointerup${EVENT_KEY}`,
- DRAG_START : `dragstart${EVENT_KEY}`,
- LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,
- CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
-}
-
-const ClassName = {
- CAROUSEL : 'carousel',
- ACTIVE : 'active',
- SLIDE : 'slide',
- RIGHT : 'carousel-item-right',
- LEFT : 'carousel-item-left',
- NEXT : 'carousel-item-next',
- PREV : 'carousel-item-prev',
- ITEM : 'carousel-item',
- POINTER_EVENT : 'pointer-event'
-}
-
-const Selector = {
- ACTIVE : '.active',
- ACTIVE_ITEM : '.active.carousel-item',
- ITEM : '.carousel-item',
- ITEM_IMG : '.carousel-item img',
- NEXT_PREV : '.carousel-item-next, .carousel-item-prev',
- INDICATORS : '.carousel-indicators',
- DATA_SLIDE : '[data-slide], [data-slide-to]',
- DATA_RIDE : '[data-ride="carousel"]'
-}
+const DIRECTION_NEXT = 'next'
+const DIRECTION_PREV = 'prev'
+const DIRECTION_LEFT = 'left'
+const DIRECTION_RIGHT = 'right'
+
+const EVENT_SLIDE = `slide${EVENT_KEY}`
+const EVENT_SLID = `slid${EVENT_KEY}`
+const EVENT_KEYDOWN = `keydown${EVENT_KEY}`
+const EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`
+const EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`
+const EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`
+const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`
+const EVENT_TOUCHEND = `touchend${EVENT_KEY}`
+const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`
+const EVENT_POINTERUP = `pointerup${EVENT_KEY}`
+const EVENT_DRAG_START = `dragstart${EVENT_KEY}`
+const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
+
+const CLASS_NAME_CAROUSEL = 'carousel'
+const CLASS_NAME_ACTIVE = 'active'
+const CLASS_NAME_SLIDE = 'slide'
+const CLASS_NAME_RIGHT = 'carousel-item-right'
+const CLASS_NAME_LEFT = 'carousel-item-left'
+const CLASS_NAME_NEXT = 'carousel-item-next'
+const CLASS_NAME_PREV = 'carousel-item-prev'
+const CLASS_NAME_POINTER_EVENT = 'pointer-event'
+
+const SELECTOR_ACTIVE = '.active'
+const SELECTOR_ACTIVE_ITEM = '.active.carousel-item'
+const SELECTOR_ITEM = '.carousel-item'
+const SELECTOR_ITEM_IMG = '.carousel-item img'
+const SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'
+const SELECTOR_INDICATORS = '.carousel-indicators'
+const SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'
+const SELECTOR_DATA_RIDE = '[data-ride="carousel"]'
const PointerType = {
TOUCH : 'touch',
@@ -112,7 +103,7 @@ class Carousel {
this._config = this._getConfig(config)
this._element = element
- this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)
+ this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)
@@ -133,7 +124,7 @@ class Carousel {
next() {
if (!this._isSliding) {
- this._slide(Direction.NEXT)
+ this._slide(DIRECTION_NEXT)
}
}
@@ -148,7 +139,7 @@ class Carousel {
prev() {
if (!this._isSliding) {
- this._slide(Direction.PREV)
+ this._slide(DIRECTION_PREV)
}
}
@@ -157,7 +148,7 @@ class Carousel {
this._isPaused = true
}
- if (this._element.querySelector(Selector.NEXT_PREV)) {
+ if (this._element.querySelector(SELECTOR_NEXT_PREV)) {
Util.triggerTransitionEnd(this._element)
this.cycle(true)
}
@@ -185,7 +176,7 @@ class Carousel {
}
to(index) {
- this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)
+ this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)
const activeIndex = this._getItemIndex(this._activeElement)
@@ -194,7 +185,7 @@ class Carousel {
}
if (this._isSliding) {
- $(this._element).one(Event.SLID, () => this.to(index))
+ $(this._element).one(EVENT_SLID, () => this.to(index))
return
}
@@ -205,8 +196,8 @@ class Carousel {
}
const direction = index > activeIndex
- ? Direction.NEXT
- : Direction.PREV
+ ? DIRECTION_NEXT
+ : DIRECTION_PREV
this._slide(direction, this._items[index])
}
@@ -260,14 +251,13 @@ class Carousel {
_addEventListeners() {
if (this._config.keyboard) {
- $(this._element)
- .on(Event.KEYDOWN, (event) => this._keydown(event))
+ $(this._element).on(EVENT_KEYDOWN, (event) => this._keydown(event))
}
if (this._config.pause === 'hover') {
$(this._element)
- .on(Event.MOUSEENTER, (event) => this.pause(event))
- .on(Event.MOUSELEAVE, (event) => this.cycle(event))
+ .on(EVENT_MOUSEENTER, (event) => this.pause(event))
+ .on(EVENT_MOUSELEAVE, (event) => this.cycle(event))
}
if (this._config.touch) {
@@ -320,16 +310,18 @@ class Carousel {
}
}
- $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())
+ $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))
+ .on(EVENT_DRAG_START, (e) => e.preventDefault())
+
if (this._pointerEvent) {
- $(this._element).on(Event.POINTERDOWN, (event) => start(event))
- $(this._element).on(Event.POINTERUP, (event) => end(event))
+ $(this._element).on(EVENT_POINTERDOWN, (event) => start(event))
+ $(this._element).on(EVENT_POINTERUP, (event) => end(event))
- this._element.classList.add(ClassName.POINTER_EVENT)
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT)
} else {
- $(this._element).on(Event.TOUCHSTART, (event) => start(event))
- $(this._element).on(Event.TOUCHMOVE, (event) => move(event))
- $(this._element).on(Event.TOUCHEND, (event) => end(event))
+ $(this._element).on(EVENT_TOUCHSTART, (event) => start(event))
+ $(this._element).on(EVENT_TOUCHMOVE, (event) => move(event))
+ $(this._element).on(EVENT_TOUCHEND, (event) => end(event))
}
}
@@ -353,14 +345,14 @@ class Carousel {
_getItemIndex(element) {
this._items = element && element.parentNode
- ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))
+ ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM))
: []
return this._items.indexOf(element)
}
_getItemByDirection(direction, activeElement) {
- const isNextDirection = direction === Direction.NEXT
- const isPrevDirection = direction === Direction.PREV
+ const isNextDirection = direction === DIRECTION_NEXT
+ const isPrevDirection = direction === DIRECTION_PREV
const activeIndex = this._getItemIndex(activeElement)
const lastItemIndex = this._items.length - 1
const isGoingToWrap = isPrevDirection && activeIndex === 0 ||
@@ -370,7 +362,7 @@ class Carousel {
return activeElement
}
- const delta = direction === Direction.PREV ? -1 : 1
+ const delta = direction === DIRECTION_PREV ? -1 : 1
const itemIndex = (activeIndex + delta) % this._items.length
return itemIndex === -1
@@ -379,8 +371,8 @@ class Carousel {
_triggerSlideEvent(relatedTarget, eventDirectionName) {
const targetIndex = this._getItemIndex(relatedTarget)
- const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))
- const slideEvent = $.Event(Event.SLIDE, {
+ const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))
+ const slideEvent = $.Event(EVENT_SLIDE, {
relatedTarget,
direction: eventDirectionName,
from: fromIndex,
@@ -394,22 +386,21 @@ class Carousel {
_setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))
- $(indicators)
- .removeClass(ClassName.ACTIVE)
+ const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))
+ $(indicators).removeClass(CLASS_NAME_ACTIVE)
const nextIndicator = this._indicatorsElement.children[
this._getItemIndex(element)
]
if (nextIndicator) {
- $(nextIndicator).addClass(ClassName.ACTIVE)
+ $(nextIndicator).addClass(CLASS_NAME_ACTIVE)
}
}
}
_slide(direction, element) {
- const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)
+ const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)
const activeElementIndex = this._getItemIndex(activeElement)
const nextElement = element || activeElement &&
this._getItemByDirection(direction, activeElement)
@@ -420,17 +411,17 @@ class Carousel {
let orderClassName
let eventDirectionName
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName.LEFT
- orderClassName = ClassName.NEXT
- eventDirectionName = Direction.LEFT
+ if (direction === DIRECTION_NEXT) {
+ directionalClassName = CLASS_NAME_LEFT
+ orderClassName = CLASS_NAME_NEXT
+ eventDirectionName = DIRECTION_LEFT
} else {
- directionalClassName = ClassName.RIGHT
- orderClassName = ClassName.PREV
- eventDirectionName = Direction.RIGHT
+ directionalClassName = CLASS_NAME_RIGHT
+ orderClassName = CLASS_NAME_PREV
+ eventDirectionName = DIRECTION_RIGHT
}
- if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
+ if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {
this._isSliding = false
return
}
@@ -453,14 +444,14 @@ class Carousel {
this._setActiveIndicatorElement(nextElement)
- const slidEvent = $.Event(Event.SLID, {
+ const slidEvent = $.Event(EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
to: nextElementIndex
})
- if ($(this._element).hasClass(ClassName.SLIDE)) {
+ if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {
$(nextElement).addClass(orderClassName)
Util.reflow(nextElement)
@@ -482,9 +473,9 @@ class Carousel {
.one(Util.TRANSITION_END, () => {
$(nextElement)
.removeClass(`${directionalClassName} ${orderClassName}`)
- .addClass(ClassName.ACTIVE)
+ .addClass(CLASS_NAME_ACTIVE)
- $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)
+ $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)
this._isSliding = false
@@ -492,8 +483,8 @@ class Carousel {
})
.emulateTransitionEnd(transitionDuration)
} else {
- $(activeElement).removeClass(ClassName.ACTIVE)
- $(nextElement).addClass(ClassName.ACTIVE)
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE)
+ $(nextElement).addClass(CLASS_NAME_ACTIVE)
this._isSliding = false
$(this._element).trigger(slidEvent)
@@ -551,7 +542,7 @@ class Carousel {
const target = $(selector)[0]
- if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
+ if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {
return
}
@@ -581,11 +572,10 @@ class Carousel {
* ------------------------------------------------------------------------
*/
-$(document)
- .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)
+$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)
-$(window).on(Event.LOAD_DATA_API, () => {
- const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))
+$(window).on(EVENT_LOAD_DATA_API, () => {
+ const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))
for (let i = 0, len = carousels.length; i < len; i++) {
const $carousel = $(carousels[i])
Carousel._jQueryInterface.call($carousel, $carousel.data())
diff --git a/vendor/twbs/bootstrap/js/src/collapse.js b/vendor/twbs/bootstrap/js/src/collapse.js
index 8abab3f1d..270eb85e2 100644
--- a/vendor/twbs/bootstrap/js/src/collapse.js
+++ b/vendor/twbs/bootstrap/js/src/collapse.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): collapse.js
+ * Bootstrap (v4.5.0): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,7 +15,7 @@ import Util from './util'
*/
const NAME = 'collapse'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.collapse'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -31,30 +31,22 @@ const DefaultType = {
parent : '(string|element)'
}
-const Event = {
- SHOW : `show${EVENT_KEY}`,
- SHOWN : `shown${EVENT_KEY}`,
- HIDE : `hide${EVENT_KEY}`,
- HIDDEN : `hidden${EVENT_KEY}`,
- CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
-}
+const EVENT_SHOW = `show${EVENT_KEY}`
+const EVENT_SHOWN = `shown${EVENT_KEY}`
+const EVENT_HIDE = `hide${EVENT_KEY}`
+const EVENT_HIDDEN = `hidden${EVENT_KEY}`
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
-const ClassName = {
- SHOW : 'show',
- COLLAPSE : 'collapse',
- COLLAPSING : 'collapsing',
- COLLAPSED : 'collapsed'
-}
+const CLASS_NAME_SHOW = 'show'
+const CLASS_NAME_COLLAPSE = 'collapse'
+const CLASS_NAME_COLLAPSING = 'collapsing'
+const CLASS_NAME_COLLAPSED = 'collapsed'
-const Dimension = {
- WIDTH : 'width',
- HEIGHT : 'height'
-}
+const DIMENSION_WIDTH = 'width'
+const DIMENSION_HEIGHT = 'height'
-const Selector = {
- ACTIVES : '.show, .collapsing',
- DATA_TOGGLE : '[data-toggle="collapse"]'
-}
+const SELECTOR_ACTIVES = '.show, .collapsing'
+const SELECTOR_DATA_TOGGLE = '[data-toggle="collapse"]'
/**
* ------------------------------------------------------------------------
@@ -72,7 +64,7 @@ class Collapse {
`[data-toggle="collapse"][data-target="#${element.id}"]`
))
- const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))
+ const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))
for (let i = 0, len = toggleList.length; i < len; i++) {
const elem = toggleList[i]
const selector = Util.getSelectorFromElement(elem)
@@ -109,7 +101,7 @@ class Collapse {
// Public
toggle() {
- if ($(this._element).hasClass(ClassName.SHOW)) {
+ if ($(this._element).hasClass(CLASS_NAME_SHOW)) {
this.hide()
} else {
this.show()
@@ -118,7 +110,7 @@ class Collapse {
show() {
if (this._isTransitioning ||
- $(this._element).hasClass(ClassName.SHOW)) {
+ $(this._element).hasClass(CLASS_NAME_SHOW)) {
return
}
@@ -126,13 +118,13 @@ class Collapse {
let activesData
if (this._parent) {
- actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))
+ actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))
.filter((elem) => {
if (typeof this._config.parent === 'string') {
return elem.getAttribute('data-parent') === this._config.parent
}
- return elem.classList.contains(ClassName.COLLAPSE)
+ return elem.classList.contains(CLASS_NAME_COLLAPSE)
})
if (actives.length === 0) {
@@ -147,7 +139,7 @@ class Collapse {
}
}
- const startEvent = $.Event(Event.SHOW)
+ const startEvent = $.Event(EVENT_SHOW)
$(this._element).trigger(startEvent)
if (startEvent.isDefaultPrevented()) {
return
@@ -163,14 +155,14 @@ class Collapse {
const dimension = this._getDimension()
$(this._element)
- .removeClass(ClassName.COLLAPSE)
- .addClass(ClassName.COLLAPSING)
+ .removeClass(CLASS_NAME_COLLAPSE)
+ .addClass(CLASS_NAME_COLLAPSING)
this._element.style[dimension] = 0
if (this._triggerArray.length) {
$(this._triggerArray)
- .removeClass(ClassName.COLLAPSED)
+ .removeClass(CLASS_NAME_COLLAPSED)
.attr('aria-expanded', true)
}
@@ -178,15 +170,14 @@ class Collapse {
const complete = () => {
$(this._element)
- .removeClass(ClassName.COLLAPSING)
- .addClass(ClassName.COLLAPSE)
- .addClass(ClassName.SHOW)
+ .removeClass(CLASS_NAME_COLLAPSING)
+ .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)
this._element.style[dimension] = ''
this.setTransitioning(false)
- $(this._element).trigger(Event.SHOWN)
+ $(this._element).trigger(EVENT_SHOWN)
}
const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)
@@ -202,11 +193,11 @@ class Collapse {
hide() {
if (this._isTransitioning ||
- !$(this._element).hasClass(ClassName.SHOW)) {
+ !$(this._element).hasClass(CLASS_NAME_SHOW)) {
return
}
- const startEvent = $.Event(Event.HIDE)
+ const startEvent = $.Event(EVENT_HIDE)
$(this._element).trigger(startEvent)
if (startEvent.isDefaultPrevented()) {
return
@@ -219,9 +210,8 @@ class Collapse {
Util.reflow(this._element)
$(this._element)
- .addClass(ClassName.COLLAPSING)
- .removeClass(ClassName.COLLAPSE)
- .removeClass(ClassName.SHOW)
+ .addClass(CLASS_NAME_COLLAPSING)
+ .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)
const triggerArrayLength = this._triggerArray.length
if (triggerArrayLength > 0) {
@@ -231,8 +221,8 @@ class Collapse {
if (selector !== null) {
const $elem = $([].slice.call(document.querySelectorAll(selector)))
- if (!$elem.hasClass(ClassName.SHOW)) {
- $(trigger).addClass(ClassName.COLLAPSED)
+ if (!$elem.hasClass(CLASS_NAME_SHOW)) {
+ $(trigger).addClass(CLASS_NAME_COLLAPSED)
.attr('aria-expanded', false)
}
}
@@ -244,9 +234,9 @@ class Collapse {
const complete = () => {
this.setTransitioning(false)
$(this._element)
- .removeClass(ClassName.COLLAPSING)
- .addClass(ClassName.COLLAPSE)
- .trigger(Event.HIDDEN)
+ .removeClass(CLASS_NAME_COLLAPSING)
+ .addClass(CLASS_NAME_COLLAPSE)
+ .trigger(EVENT_HIDDEN)
}
this._element.style[dimension] = ''
@@ -284,8 +274,8 @@ class Collapse {
}
_getDimension() {
- const hasWidth = $(this._element).hasClass(Dimension.WIDTH)
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT
+ const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT
}
_getParent() {
@@ -302,10 +292,9 @@ class Collapse {
parent = document.querySelector(this._config.parent)
}
- const selector =
- `[data-toggle="collapse"][data-parent="${this._config.parent}"]`
-
+ const selector = `[data-toggle="collapse"][data-parent="${this._config.parent}"]`
const children = [].slice.call(parent.querySelectorAll(selector))
+
$(children).each((i, element) => {
this._addAriaAndCollapsedClass(
Collapse._getTargetFromElement(element),
@@ -317,11 +306,11 @@ class Collapse {
}
_addAriaAndCollapsedClass(element, triggerArray) {
- const isOpen = $(element).hasClass(ClassName.SHOW)
+ const isOpen = $(element).hasClass(CLASS_NAME_SHOW)
if (triggerArray.length) {
$(triggerArray)
- .toggleClass(ClassName.COLLAPSED, !isOpen)
+ .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)
.attr('aria-expanded', isOpen)
}
}
@@ -343,7 +332,7 @@ class Collapse {
...typeof config === 'object' && config ? config : {}
}
- if (!data && _config.toggle && /show|hide/.test(config)) {
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
_config.toggle = false
}
@@ -368,7 +357,7 @@ class Collapse {
* ------------------------------------------------------------------------
*/
-$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
if (event.currentTarget.tagName === 'A') {
event.preventDefault()
diff --git a/vendor/twbs/bootstrap/js/src/dropdown.js b/vendor/twbs/bootstrap/js/src/dropdown.js
index f907c0849..cba645a7a 100644
--- a/vendor/twbs/bootstrap/js/src/dropdown.js
+++ b/vendor/twbs/bootstrap/js/src/dropdown.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): dropdown.js
+ * Bootstrap (v4.5.0): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -16,7 +16,7 @@ import Util from './util'
*/
const NAME = 'dropdown'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.dropdown'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -29,46 +29,35 @@ const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow
const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)
const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)
-const Event = {
- HIDE : `hide${EVENT_KEY}`,
- HIDDEN : `hidden${EVENT_KEY}`,
- SHOW : `show${EVENT_KEY}`,
- SHOWN : `shown${EVENT_KEY}`,
- CLICK : `click${EVENT_KEY}`,
- CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,
- KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,
- KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`
-}
-
-const ClassName = {
- DISABLED : 'disabled',
- SHOW : 'show',
- DROPUP : 'dropup',
- DROPRIGHT : 'dropright',
- DROPLEFT : 'dropleft',
- MENURIGHT : 'dropdown-menu-right',
- MENULEFT : 'dropdown-menu-left',
- POSITION_STATIC : 'position-static'
-}
-
-const Selector = {
- DATA_TOGGLE : '[data-toggle="dropdown"]',
- FORM_CHILD : '.dropdown form',
- MENU : '.dropdown-menu',
- NAVBAR_NAV : '.navbar-nav',
- VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
-}
-
-const AttachmentMap = {
- TOP : 'top-start',
- TOPEND : 'top-end',
- BOTTOM : 'bottom-start',
- BOTTOMEND : 'bottom-end',
- RIGHT : 'right-start',
- RIGHTEND : 'right-end',
- LEFT : 'left-start',
- LEFTEND : 'left-end'
-}
+const EVENT_HIDE = `hide${EVENT_KEY}`
+const EVENT_HIDDEN = `hidden${EVENT_KEY}`
+const EVENT_SHOW = `show${EVENT_KEY}`
+const EVENT_SHOWN = `shown${EVENT_KEY}`
+const EVENT_CLICK = `click${EVENT_KEY}`
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
+const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`
+const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
+
+const CLASS_NAME_DISABLED = 'disabled'
+const CLASS_NAME_SHOW = 'show'
+const CLASS_NAME_DROPUP = 'dropup'
+const CLASS_NAME_DROPRIGHT = 'dropright'
+const CLASS_NAME_DROPLEFT = 'dropleft'
+const CLASS_NAME_MENURIGHT = 'dropdown-menu-right'
+const CLASS_NAME_POSITION_STATIC = 'position-static'
+
+const SELECTOR_DATA_TOGGLE = '[data-toggle="dropdown"]'
+const SELECTOR_FORM_CHILD = '.dropdown form'
+const SELECTOR_MENU = '.dropdown-menu'
+const SELECTOR_NAVBAR_NAV = '.navbar-nav'
+const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
+
+const PLACEMENT_TOP = 'top-start'
+const PLACEMENT_TOPEND = 'top-end'
+const PLACEMENT_BOTTOM = 'bottom-start'
+const PLACEMENT_BOTTOMEND = 'bottom-end'
+const PLACEMENT_RIGHT = 'right-start'
+const PLACEMENT_LEFT = 'left-start'
const Default = {
offset : 0,
@@ -122,11 +111,11 @@ class Dropdown {
// Public
toggle() {
- if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {
return
}
- const isActive = $(this._menu).hasClass(ClassName.SHOW)
+ const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)
Dropdown._clearMenus()
@@ -138,14 +127,14 @@ class Dropdown {
}
show(usePopper = false) {
- if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {
return
}
const relatedTarget = {
relatedTarget: this._element
}
- const showEvent = $.Event(Event.SHOW, relatedTarget)
+ const showEvent = $.Event(EVENT_SHOW, relatedTarget)
const parent = Dropdown._getParentFromElement(this._element)
$(parent).trigger(showEvent)
@@ -181,7 +170,7 @@ class Dropdown {
// to allow the menu to "escape" the scroll parent's boundaries
// https://github.com/twbs/bootstrap/issues/24251
if (this._config.boundary !== 'scrollParent') {
- $(parent).addClass(ClassName.POSITION_STATIC)
+ $(parent).addClass(CLASS_NAME_POSITION_STATIC)
}
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())
}
@@ -191,28 +180,28 @@ class Dropdown {
// 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 &&
- $(parent).closest(Selector.NAVBAR_NAV).length === 0) {
+ $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
$(document.body).children().on('mouseover', null, $.noop)
}
this._element.focus()
this._element.setAttribute('aria-expanded', true)
- $(this._menu).toggleClass(ClassName.SHOW)
+ $(this._menu).toggleClass(CLASS_NAME_SHOW)
$(parent)
- .toggleClass(ClassName.SHOW)
- .trigger($.Event(Event.SHOWN, relatedTarget))
+ .toggleClass(CLASS_NAME_SHOW)
+ .trigger($.Event(EVENT_SHOWN, relatedTarget))
}
hide() {
- if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {
return
}
const relatedTarget = {
relatedTarget: this._element
}
- const hideEvent = $.Event(Event.HIDE, relatedTarget)
+ const hideEvent = $.Event(EVENT_HIDE, relatedTarget)
const parent = Dropdown._getParentFromElement(this._element)
$(parent).trigger(hideEvent)
@@ -225,10 +214,10 @@ class Dropdown {
this._popper.destroy()
}
- $(this._menu).toggleClass(ClassName.SHOW)
+ $(this._menu).toggleClass(CLASS_NAME_SHOW)
$(parent)
- .toggleClass(ClassName.SHOW)
- .trigger($.Event(Event.HIDDEN, relatedTarget))
+ .toggleClass(CLASS_NAME_SHOW)
+ .trigger($.Event(EVENT_HIDDEN, relatedTarget))
}
dispose() {
@@ -252,7 +241,7 @@ class Dropdown {
// Private
_addEventListeners() {
- $(this._element).on(Event.CLICK, (event) => {
+ $(this._element).on(EVENT_CLICK, (event) => {
event.preventDefault()
event.stopPropagation()
this.toggle()
@@ -280,7 +269,7 @@ class Dropdown {
const parent = Dropdown._getParentFromElement(this._element)
if (parent) {
- this._menu = parent.querySelector(Selector.MENU)
+ this._menu = parent.querySelector(SELECTOR_MENU)
}
}
return this._menu
@@ -288,20 +277,19 @@ class Dropdown {
_getPlacement() {
const $parentDropdown = $(this._element.parentNode)
- let placement = AttachmentMap.BOTTOM
+ let placement = PLACEMENT_BOTTOM
// Handle dropup
- if ($parentDropdown.hasClass(ClassName.DROPUP)) {
- placement = AttachmentMap.TOP
- if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.TOPEND
- }
- } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT
- } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
- placement = AttachmentMap.LEFT
- } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND
+ if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
+ placement = $(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 ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_BOTTOMEND
}
return placement
}
@@ -383,7 +371,7 @@ class Dropdown {
return
}
- const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))
+ const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))
for (let i = 0, len = toggles.length; i < len; i++) {
const parent = Dropdown._getParentFromElement(toggles[i])
@@ -401,7 +389,7 @@ class Dropdown {
}
const dropdownMenu = context._menu
- if (!$(parent).hasClass(ClassName.SHOW)) {
+ if (!$(parent).hasClass(CLASS_NAME_SHOW)) {
continue
}
@@ -411,7 +399,7 @@ class Dropdown {
continue
}
- const hideEvent = $.Event(Event.HIDE, relatedTarget)
+ const hideEvent = $.Event(EVENT_HIDE, relatedTarget)
$(parent).trigger(hideEvent)
if (hideEvent.isDefaultPrevented()) {
continue
@@ -429,10 +417,10 @@ class Dropdown {
context._popper.destroy()
}
- $(dropdownMenu).removeClass(ClassName.SHOW)
+ $(dropdownMenu).removeClass(CLASS_NAME_SHOW)
$(parent)
- .removeClass(ClassName.SHOW)
- .trigger($.Event(Event.HIDDEN, relatedTarget))
+ .removeClass(CLASS_NAME_SHOW)
+ .trigger($.Event(EVENT_HIDDEN, relatedTarget))
}
}
@@ -459,35 +447,34 @@ class Dropdown {
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 ||
- $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+ $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
return
}
- event.preventDefault()
- event.stopPropagation()
-
- if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+ if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {
return
}
const parent = Dropdown._getParentFromElement(this)
- const isActive = $(parent).hasClass(ClassName.SHOW)
+ const isActive = $(parent).hasClass(CLASS_NAME_SHOW)
if (!isActive && event.which === ESCAPE_KEYCODE) {
return
}
+ event.preventDefault()
+ event.stopPropagation()
+
if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
- const toggle = parent.querySelector(Selector.DATA_TOGGLE)
- $(toggle).trigger('focus')
+ $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')
}
$(this).trigger('click')
return
}
- const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))
+ const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))
.filter((item) => $(item).is(':visible'))
if (items.length === 0) {
@@ -519,15 +506,15 @@ class Dropdown {
*/
$(document)
- .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)
- .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)
- .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)
- .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)
+ .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)
+ .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)
+ .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault()
event.stopPropagation()
Dropdown._jQueryInterface.call($(this), 'toggle')
})
- .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {
+ .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => {
e.stopPropagation()
})
@@ -544,5 +531,4 @@ $.fn[NAME].noConflict = () => {
return Dropdown._jQueryInterface
}
-
export default Dropdown
diff --git a/vendor/twbs/bootstrap/js/src/index.js b/vendor/twbs/bootstrap/js/src/index.js
index dbba72db3..1caed5020 100644
--- a/vendor/twbs/bootstrap/js/src/index.js
+++ b/vendor/twbs/bootstrap/js/src/index.js
@@ -13,7 +13,7 @@ import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): index.js
+ * Bootstrap (v4.5.0): index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
diff --git a/vendor/twbs/bootstrap/js/src/modal.js b/vendor/twbs/bootstrap/js/src/modal.js
index ad925f6ff..7338ffd37 100644
--- a/vendor/twbs/bootstrap/js/src/modal.js
+++ b/vendor/twbs/bootstrap/js/src/modal.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): modal.js
+ * Bootstrap (v4.5.0): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,7 +15,7 @@ import Util from './util'
*/
const NAME = 'modal'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.modal'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -36,39 +36,33 @@ const DefaultType = {
show : 'boolean'
}
-const Event = {
- HIDE : `hide${EVENT_KEY}`,
- HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`,
- HIDDEN : `hidden${EVENT_KEY}`,
- SHOW : `show${EVENT_KEY}`,
- SHOWN : `shown${EVENT_KEY}`,
- FOCUSIN : `focusin${EVENT_KEY}`,
- RESIZE : `resize${EVENT_KEY}`,
- CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,
- KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,
- MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,
- MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,
- CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
-}
-
-const ClassName = {
- SCROLLABLE : 'modal-dialog-scrollable',
- SCROLLBAR_MEASURER : 'modal-scrollbar-measure',
- BACKDROP : 'modal-backdrop',
- OPEN : 'modal-open',
- FADE : 'fade',
- SHOW : 'show',
- STATIC : 'modal-static'
-}
-
-const Selector = {
- DIALOG : '.modal-dialog',
- MODAL_BODY : '.modal-body',
- DATA_TOGGLE : '[data-toggle="modal"]',
- DATA_DISMISS : '[data-dismiss="modal"]',
- FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT : '.sticky-top'
-}
+const EVENT_HIDE = `hide${EVENT_KEY}`
+const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`
+const EVENT_HIDDEN = `hidden${EVENT_KEY}`
+const EVENT_SHOW = `show${EVENT_KEY}`
+const EVENT_SHOWN = `shown${EVENT_KEY}`
+const EVENT_FOCUSIN = `focusin${EVENT_KEY}`
+const EVENT_RESIZE = `resize${EVENT_KEY}`
+const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`
+const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`
+const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`
+const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
+
+const CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'
+const CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'
+const CLASS_NAME_BACKDROP = 'modal-backdrop'
+const CLASS_NAME_OPEN = 'modal-open'
+const CLASS_NAME_FADE = 'fade'
+const CLASS_NAME_SHOW = 'show'
+const CLASS_NAME_STATIC = 'modal-static'
+
+const SELECTOR_DIALOG = '.modal-dialog'
+const SELECTOR_MODAL_BODY = '.modal-body'
+const SELECTOR_DATA_TOGGLE = '[data-toggle="modal"]'
+const SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]'
+const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
+const SELECTOR_STICKY_CONTENT = '.sticky-top'
/**
* ------------------------------------------------------------------------
@@ -80,7 +74,7 @@ class Modal {
constructor(element, config) {
this._config = this._getConfig(config)
this._element = element
- this._dialog = element.querySelector(Selector.DIALOG)
+ this._dialog = element.querySelector(SELECTOR_DIALOG)
this._backdrop = null
this._isShown = false
this._isBodyOverflowing = false
@@ -110,11 +104,11 @@ class Modal {
return
}
- if ($(this._element).hasClass(ClassName.FADE)) {
+ if ($(this._element).hasClass(CLASS_NAME_FADE)) {
this._isTransitioning = true
}
- const showEvent = $.Event(Event.SHOW, {
+ const showEvent = $.Event(EVENT_SHOW, {
relatedTarget
})
@@ -135,13 +129,13 @@ class Modal {
this._setResizeEvent()
$(this._element).on(
- Event.CLICK_DISMISS,
- Selector.DATA_DISMISS,
+ EVENT_CLICK_DISMISS,
+ SELECTOR_DATA_DISMISS,
(event) => this.hide(event)
)
- $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {
- $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {
+ $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {
+ $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {
if ($(event.target).is(this._element)) {
this._ignoreBackdropClick = true
}
@@ -160,7 +154,7 @@ class Modal {
return
}
- const hideEvent = $.Event(Event.HIDE)
+ const hideEvent = $.Event(EVENT_HIDE)
$(this._element).trigger(hideEvent)
@@ -169,7 +163,7 @@ class Modal {
}
this._isShown = false
- const transition = $(this._element).hasClass(ClassName.FADE)
+ const transition = $(this._element).hasClass(CLASS_NAME_FADE)
if (transition) {
this._isTransitioning = true
@@ -178,13 +172,12 @@ class Modal {
this._setEscapeEvent()
this._setResizeEvent()
- $(document).off(Event.FOCUSIN)
-
- $(this._element).removeClass(ClassName.SHOW)
+ $(document).off(EVENT_FOCUSIN)
- $(this._element).off(Event.CLICK_DISMISS)
- $(this._dialog).off(Event.MOUSEDOWN_DISMISS)
+ $(this._element).removeClass(CLASS_NAME_SHOW)
+ $(this._element).off(EVENT_CLICK_DISMISS)
+ $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)
if (transition) {
const transitionDuration = Util.getTransitionDurationFromElement(this._element)
@@ -202,11 +195,11 @@ class Modal {
.forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))
/**
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+ * `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
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
*/
- $(document).off(Event.FOCUSIN)
+ $(document).off(EVENT_FOCUSIN)
$.removeData(this._element, DATA_KEY)
@@ -238,19 +231,19 @@ class Modal {
_triggerBackdropTransition() {
if (this._config.backdrop === 'static') {
- const hideEventPrevented = $.Event(Event.HIDE_PREVENTED)
+ const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)
$(this._element).trigger(hideEventPrevented)
if (hideEventPrevented.defaultPrevented) {
return
}
- this._element.classList.add(ClassName.STATIC)
+ this._element.classList.add(CLASS_NAME_STATIC)
const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)
$(this._element).one(Util.TRANSITION_END, () => {
- this._element.classList.remove(ClassName.STATIC)
+ this._element.classList.remove(CLASS_NAME_STATIC)
})
.emulateTransitionEnd(modalTransitionDuration)
this._element.focus()
@@ -260,8 +253,8 @@ class Modal {
}
_showElement(relatedTarget) {
- const transition = $(this._element).hasClass(ClassName.FADE)
- const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null
+ const transition = $(this._element).hasClass(CLASS_NAME_FADE)
+ const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null
if (!this._element.parentNode ||
this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
@@ -273,7 +266,7 @@ class Modal {
this._element.removeAttribute('aria-hidden')
this._element.setAttribute('aria-modal', true)
- if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {
+ if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0
} else {
this._element.scrollTop = 0
@@ -283,13 +276,13 @@ class Modal {
Util.reflow(this._element)
}
- $(this._element).addClass(ClassName.SHOW)
+ $(this._element).addClass(CLASS_NAME_SHOW)
if (this._config.focus) {
this._enforceFocus()
}
- const shownEvent = $.Event(Event.SHOWN, {
+ const shownEvent = $.Event(EVENT_SHOWN, {
relatedTarget
})
@@ -314,8 +307,8 @@ class Modal {
_enforceFocus() {
$(document)
- .off(Event.FOCUSIN) // Guard against infinite focus loop
- .on(Event.FOCUSIN, (event) => {
+ .off(EVENT_FOCUSIN) // Guard against infinite focus loop
+ .on(EVENT_FOCUSIN, (event) => {
if (document !== event.target &&
this._element !== event.target &&
$(this._element).has(event.target).length === 0) {
@@ -325,22 +318,25 @@ class Modal {
}
_setEscapeEvent() {
- if (this._isShown && this._config.keyboard) {
- $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {
- if (event.which === ESCAPE_KEYCODE) {
+ if (this._isShown) {
+ $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {
+ if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {
+ event.preventDefault()
+ this.hide()
+ } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {
this._triggerBackdropTransition()
}
})
} else if (!this._isShown) {
- $(this._element).off(Event.KEYDOWN_DISMISS)
+ $(this._element).off(EVENT_KEYDOWN_DISMISS)
}
}
_setResizeEvent() {
if (this._isShown) {
- $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))
+ $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))
} else {
- $(window).off(Event.RESIZE)
+ $(window).off(EVENT_RESIZE)
}
}
@@ -350,10 +346,10 @@ class Modal {
this._element.removeAttribute('aria-modal')
this._isTransitioning = false
this._showBackdrop(() => {
- $(document.body).removeClass(ClassName.OPEN)
+ $(document.body).removeClass(CLASS_NAME_OPEN)
this._resetAdjustments()
this._resetScrollbar()
- $(this._element).trigger(Event.HIDDEN)
+ $(this._element).trigger(EVENT_HIDDEN)
})
}
@@ -365,12 +361,12 @@ class Modal {
}
_showBackdrop(callback) {
- const animate = $(this._element).hasClass(ClassName.FADE)
- ? ClassName.FADE : ''
+ const animate = $(this._element).hasClass(CLASS_NAME_FADE)
+ ? CLASS_NAME_FADE : ''
if (this._isShown && this._config.backdrop) {
this._backdrop = document.createElement('div')
- this._backdrop.className = ClassName.BACKDROP
+ this._backdrop.className = CLASS_NAME_BACKDROP
if (animate) {
this._backdrop.classList.add(animate)
@@ -378,7 +374,7 @@ class Modal {
$(this._backdrop).appendTo(document.body)
- $(this._element).on(Event.CLICK_DISMISS, (event) => {
+ $(this._element).on(EVENT_CLICK_DISMISS, (event) => {
if (this._ignoreBackdropClick) {
this._ignoreBackdropClick = false
return
@@ -394,7 +390,7 @@ class Modal {
Util.reflow(this._backdrop)
}
- $(this._backdrop).addClass(ClassName.SHOW)
+ $(this._backdrop).addClass(CLASS_NAME_SHOW)
if (!callback) {
return
@@ -411,7 +407,7 @@ class Modal {
.one(Util.TRANSITION_END, callback)
.emulateTransitionEnd(backdropTransitionDuration)
} else if (!this._isShown && this._backdrop) {
- $(this._backdrop).removeClass(ClassName.SHOW)
+ $(this._backdrop).removeClass(CLASS_NAME_SHOW)
const callbackRemove = () => {
this._removeBackdrop()
@@ -420,7 +416,7 @@ class Modal {
}
}
- if ($(this._element).hasClass(ClassName.FADE)) {
+ if ($(this._element).hasClass(CLASS_NAME_FADE)) {
const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)
$(this._backdrop)
@@ -459,7 +455,7 @@ class Modal {
_checkScrollbar() {
const rect = document.body.getBoundingClientRect()
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth
+ this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth
this._scrollbarWidth = this._getScrollbarWidth()
}
@@ -467,8 +463,8 @@ class Modal {
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
- const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))
- const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))
+ const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))
+ const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))
// Adjust fixed content padding
$(fixedContent).each((index, element) => {
@@ -496,12 +492,12 @@ class Modal {
.css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)
}
- $(document.body).addClass(ClassName.OPEN)
+ $(document.body).addClass(CLASS_NAME_OPEN)
}
_resetScrollbar() {
// Restore fixed content padding
- const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))
+ const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))
$(fixedContent).each((index, element) => {
const padding = $(element).data('padding-right')
$(element).removeData('padding-right')
@@ -509,7 +505,7 @@ class Modal {
})
// Restore sticky content
- const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))
+ const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))
$(elements).each((index, element) => {
const margin = $(element).data('margin-right')
if (typeof margin !== 'undefined') {
@@ -525,7 +521,7 @@ class Modal {
_getScrollbarWidth() { // thx d.walsh
const scrollDiv = document.createElement('div')
- scrollDiv.className = ClassName.SCROLLBAR_MEASURER
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER
document.body.appendChild(scrollDiv)
const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth
document.body.removeChild(scrollDiv)
@@ -566,7 +562,7 @@ class Modal {
* ------------------------------------------------------------------------
*/
-$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
let target
const selector = Util.getSelectorFromElement(this)
@@ -584,13 +580,13 @@ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault()
}
- const $target = $(target).one(Event.SHOW, (showEvent) => {
+ const $target = $(target).one(EVENT_SHOW, (showEvent) => {
if (showEvent.isDefaultPrevented()) {
// Only register focus restorer if modal will actually get shown
return
}
- $target.one(Event.HIDDEN, () => {
+ $target.one(EVENT_HIDDEN, () => {
if ($(this).is(':visible')) {
this.focus()
}
diff --git a/vendor/twbs/bootstrap/js/src/popover.js b/vendor/twbs/bootstrap/js/src/popover.js
index 570dba991..95e9edc74 100644
--- a/vendor/twbs/bootstrap/js/src/popover.js
+++ b/vendor/twbs/bootstrap/js/src/popover.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): popover.js
+ * Bootstrap (v4.5.0): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,7 +15,7 @@ import Tooltip from './tooltip'
*/
const NAME = 'popover'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.popover'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
@@ -38,15 +38,11 @@ const DefaultType = {
content : '(string|element|function)'
}
-const ClassName = {
- FADE : 'fade',
- SHOW : 'show'
-}
+const CLASS_NAME_FADE = 'fade'
+const CLASS_NAME_SHOW = 'show'
-const Selector = {
- TITLE : '.popover-header',
- CONTENT : '.popover-body'
-}
+const SELECTOR_TITLE = '.popover-header'
+const SELECTOR_CONTENT = '.popover-body'
const Event = {
HIDE : `hide${EVENT_KEY}`,
@@ -117,14 +113,14 @@ class Popover extends Tooltip {
const $tip = $(this.getTipElement())
// We use append for html objects to maintain js events
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle())
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())
let content = this._getContent()
if (typeof content === 'function') {
content = content.call(this.element)
}
- this.setElementContent($tip.find(Selector.CONTENT), content)
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content)
- $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)
+ $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)
}
// Private
diff --git a/vendor/twbs/bootstrap/js/src/scrollspy.js b/vendor/twbs/bootstrap/js/src/scrollspy.js
index e9b6c8cd2..2413d04a5 100644
--- a/vendor/twbs/bootstrap/js/src/scrollspy.js
+++ b/vendor/twbs/bootstrap/js/src/scrollspy.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): scrollspy.js
+ * Bootstrap (v4.5.0): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,7 +15,7 @@ import Util from './util'
*/
const NAME = 'scrollspy'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.scrollspy'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -33,34 +33,24 @@ const DefaultType = {
target : '(string|element)'
}
-const Event = {
- ACTIVATE : `activate${EVENT_KEY}`,
- SCROLL : `scroll${EVENT_KEY}`,
- LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`
-}
+const EVENT_ACTIVATE = `activate${EVENT_KEY}`
+const EVENT_SCROLL = `scroll${EVENT_KEY}`
+const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`
-const ClassName = {
- DROPDOWN_ITEM : 'dropdown-item',
- DROPDOWN_MENU : 'dropdown-menu',
- ACTIVE : 'active'
-}
+const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'
+const CLASS_NAME_ACTIVE = 'active'
-const Selector = {
- DATA_SPY : '[data-spy="scroll"]',
- ACTIVE : '.active',
- NAV_LIST_GROUP : '.nav, .list-group',
- NAV_LINKS : '.nav-link',
- NAV_ITEMS : '.nav-item',
- LIST_ITEMS : '.list-group-item',
- DROPDOWN : '.dropdown',
- DROPDOWN_ITEMS : '.dropdown-item',
- DROPDOWN_TOGGLE : '.dropdown-toggle'
-}
+const SELECTOR_DATA_SPY = '[data-spy="scroll"]'
+const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'
+const SELECTOR_NAV_LINKS = '.nav-link'
+const SELECTOR_NAV_ITEMS = '.nav-item'
+const SELECTOR_LIST_ITEMS = '.list-group-item'
+const SELECTOR_DROPDOWN = '.dropdown'
+const SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'
+const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'
-const OffsetMethod = {
- OFFSET : 'offset',
- POSITION : 'position'
-}
+const METHOD_OFFSET = 'offset'
+const METHOD_POSITION = 'position'
/**
* ------------------------------------------------------------------------
@@ -73,15 +63,15 @@ class ScrollSpy {
this._element = element
this._scrollElement = element.tagName === 'BODY' ? window : element
this._config = this._getConfig(config)
- this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +
- `${this._config.target} ${Selector.LIST_ITEMS},` +
- `${this._config.target} ${Selector.DROPDOWN_ITEMS}`
+ 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
- $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))
+ $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))
this.refresh()
this._process()
@@ -101,12 +91,12 @@ class ScrollSpy {
refresh() {
const autoMethod = this._scrollElement === this._scrollElement.window
- ? OffsetMethod.OFFSET : OffsetMethod.POSITION
+ ? METHOD_OFFSET : METHOD_POSITION
const offsetMethod = this._config.method === 'auto'
? autoMethod : this._config.method
- const offsetBase = offsetMethod === OffsetMethod.POSITION
+ const offsetBase = offsetMethod === METHOD_POSITION
? this._getScrollTop() : 0
this._offsets = []
@@ -167,7 +157,7 @@ class ScrollSpy {
...typeof config === 'object' && config ? config : {}
}
- if (typeof config.target !== 'string') {
+ if (typeof config.target !== 'string' && Util.isElement(config.target)) {
let id = $(config.target).attr('id')
if (!id) {
id = Util.getUID(NAME)
@@ -201,9 +191,7 @@ class ScrollSpy {
_process() {
const scrollTop = this._getScrollTop() + this._config.offset
const scrollHeight = this._getScrollHeight()
- const maxScroll = this._config.offset +
- scrollHeight -
- this._getOffsetHeight()
+ const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()
if (this._scrollHeight !== scrollHeight) {
this.refresh()
@@ -224,8 +212,7 @@ class ScrollSpy {
return
}
- const offsetLength = this._offsets.length
- for (let i = offsetLength; i--;) {
+ for (let i = this._offsets.length; i--;) {
const isActiveTarget = this._activeTarget !== this._targets[i] &&
scrollTop >= this._offsets[i] &&
(typeof this._offsets[i + 1] === 'undefined' ||
@@ -248,28 +235,35 @@ class ScrollSpy {
const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))
- if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
- $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)
- $link.addClass(ClassName.ACTIVE)
+ if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
+ $link.closest(SELECTOR_DROPDOWN)
+ .find(SELECTOR_DROPDOWN_TOGGLE)
+ .addClass(CLASS_NAME_ACTIVE)
+ $link.addClass(CLASS_NAME_ACTIVE)
} else {
// Set triggered link as active
- $link.addClass(ClassName.ACTIVE)
+ $link.addClass(CLASS_NAME_ACTIVE)
// Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)
+ $link.parents(SELECTOR_NAV_LIST_GROUP)
+ .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)
+ .addClass(CLASS_NAME_ACTIVE)
// Handle special case when .nav-link is inside .nav-item
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)
+ $link.parents(SELECTOR_NAV_LIST_GROUP)
+ .prev(SELECTOR_NAV_ITEMS)
+ .children(SELECTOR_NAV_LINKS)
+ .addClass(CLASS_NAME_ACTIVE)
}
- $(this._scrollElement).trigger(Event.ACTIVATE, {
+ $(this._scrollElement).trigger(EVENT_ACTIVATE, {
relatedTarget: target
})
}
_clear() {
[].slice.call(document.querySelectorAll(this._selector))
- .filter((node) => node.classList.contains(ClassName.ACTIVE))
- .forEach((node) => node.classList.remove(ClassName.ACTIVE))
+ .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))
+ .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE))
}
// Static
@@ -300,8 +294,8 @@ class ScrollSpy {
* ------------------------------------------------------------------------
*/
-$(window).on(Event.LOAD_DATA_API, () => {
- const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))
+$(window).on(EVENT_LOAD_DATA_API, () => {
+ const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))
const scrollSpysLength = scrollSpys.length
for (let i = scrollSpysLength; i--;) {
diff --git a/vendor/twbs/bootstrap/js/src/tab.js b/vendor/twbs/bootstrap/js/src/tab.js
index 12347b78c..5cccb1003 100644
--- a/vendor/twbs/bootstrap/js/src/tab.js
+++ b/vendor/twbs/bootstrap/js/src/tab.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): tab.js
+ * Bootstrap (v4.5.0): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,37 +15,31 @@ import Util from './util'
*/
const NAME = 'tab'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.tab'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
const JQUERY_NO_CONFLICT = $.fn[NAME]
-const Event = {
- HIDE : `hide${EVENT_KEY}`,
- HIDDEN : `hidden${EVENT_KEY}`,
- SHOW : `show${EVENT_KEY}`,
- SHOWN : `shown${EVENT_KEY}`,
- CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
-}
-
-const ClassName = {
- DROPDOWN_MENU : 'dropdown-menu',
- ACTIVE : 'active',
- DISABLED : 'disabled',
- FADE : 'fade',
- SHOW : 'show'
-}
-
-const Selector = {
- DROPDOWN : '.dropdown',
- NAV_LIST_GROUP : '.nav, .list-group',
- ACTIVE : '.active',
- ACTIVE_UL : '> li > .active',
- DATA_TOGGLE : '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE : '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'
-}
+const EVENT_HIDE = `hide${EVENT_KEY}`
+const EVENT_HIDDEN = `hidden${EVENT_KEY}`
+const EVENT_SHOW = `show${EVENT_KEY}`
+const EVENT_SHOWN = `shown${EVENT_KEY}`
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
+
+const CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'
+const CLASS_NAME_ACTIVE = 'active'
+const CLASS_NAME_DISABLED = 'disabled'
+const CLASS_NAME_FADE = 'fade'
+const CLASS_NAME_SHOW = 'show'
+
+const SELECTOR_DROPDOWN = '.dropdown'
+const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'
+const SELECTOR_ACTIVE = '.active'
+const SELECTOR_ACTIVE_UL = '> li > .active'
+const SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]'
+const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'
+const SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'
/**
* ------------------------------------------------------------------------
@@ -69,27 +63,27 @@ class Tab {
show() {
if (this._element.parentNode &&
this._element.parentNode.nodeType === Node.ELEMENT_NODE &&
- $(this._element).hasClass(ClassName.ACTIVE) ||
- $(this._element).hasClass(ClassName.DISABLED)) {
+ $(this._element).hasClass(CLASS_NAME_ACTIVE) ||
+ $(this._element).hasClass(CLASS_NAME_DISABLED)) {
return
}
let target
let previous
- const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]
+ const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0]
const selector = Util.getSelectorFromElement(this._element)
if (listElement) {
- const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE
+ const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE
previous = $.makeArray($(listElement).find(itemSelector))
previous = previous[previous.length - 1]
}
- const hideEvent = $.Event(Event.HIDE, {
+ const hideEvent = $.Event(EVENT_HIDE, {
relatedTarget: this._element
})
- const showEvent = $.Event(Event.SHOW, {
+ const showEvent = $.Event(EVENT_SHOW, {
relatedTarget: previous
})
@@ -114,11 +108,11 @@ class Tab {
)
const complete = () => {
- const hiddenEvent = $.Event(Event.HIDDEN, {
+ const hiddenEvent = $.Event(EVENT_HIDDEN, {
relatedTarget: this._element
})
- const shownEvent = $.Event(Event.SHOWN, {
+ const shownEvent = $.Event(EVENT_SHOWN, {
relatedTarget: previous
})
@@ -142,11 +136,11 @@ class Tab {
_activate(element, container, callback) {
const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')
- ? $(container).find(Selector.ACTIVE_UL)
- : $(container).children(Selector.ACTIVE)
+ ? $(container).find(SELECTOR_ACTIVE_UL)
+ : $(container).children(SELECTOR_ACTIVE)
const active = activeElements[0]
- const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))
+ const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE))
const complete = () => this._transitionComplete(
element,
active,
@@ -157,7 +151,7 @@ class Tab {
const transitionDuration = Util.getTransitionDurationFromElement(active)
$(active)
- .removeClass(ClassName.SHOW)
+ .removeClass(CLASS_NAME_SHOW)
.one(Util.TRANSITION_END, complete)
.emulateTransitionEnd(transitionDuration)
} else {
@@ -167,14 +161,14 @@ class Tab {
_transitionComplete(element, active, callback) {
if (active) {
- $(active).removeClass(ClassName.ACTIVE)
+ $(active).removeClass(CLASS_NAME_ACTIVE)
const dropdownChild = $(active.parentNode).find(
- Selector.DROPDOWN_ACTIVE_CHILD
+ SELECTOR_DROPDOWN_ACTIVE_CHILD
)[0]
if (dropdownChild) {
- $(dropdownChild).removeClass(ClassName.ACTIVE)
+ $(dropdownChild).removeClass(CLASS_NAME_ACTIVE)
}
if (active.getAttribute('role') === 'tab') {
@@ -182,24 +176,24 @@ class Tab {
}
}
- $(element).addClass(ClassName.ACTIVE)
+ $(element).addClass(CLASS_NAME_ACTIVE)
if (element.getAttribute('role') === 'tab') {
element.setAttribute('aria-selected', true)
}
Util.reflow(element)
- if (element.classList.contains(ClassName.FADE)) {
- element.classList.add(ClassName.SHOW)
+ if (element.classList.contains(CLASS_NAME_FADE)) {
+ element.classList.add(CLASS_NAME_SHOW)
}
- if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
- const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]
+ if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
+ const dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0]
if (dropdownElement) {
- const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))
+ const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE))
- $(dropdownToggleList).addClass(ClassName.ACTIVE)
+ $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE)
}
element.setAttribute('aria-expanded', true)
@@ -239,7 +233,7 @@ class Tab {
*/
$(document)
- .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault()
Tab._jQueryInterface.call($(this), 'show')
})
diff --git a/vendor/twbs/bootstrap/js/src/toast.js b/vendor/twbs/bootstrap/js/src/toast.js
index 6e2a00783..f7e58d98d 100644
--- a/vendor/twbs/bootstrap/js/src/toast.js
+++ b/vendor/twbs/bootstrap/js/src/toast.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): toast.js
+ * Bootstrap (v4.5.0): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,25 +15,21 @@ import Util from './util'
*/
const NAME = 'toast'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.toast'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
-const Event = {
- CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,
- HIDE : `hide${EVENT_KEY}`,
- HIDDEN : `hidden${EVENT_KEY}`,
- SHOW : `show${EVENT_KEY}`,
- SHOWN : `shown${EVENT_KEY}`
-}
+const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`
+const EVENT_HIDE = `hide${EVENT_KEY}`
+const EVENT_HIDDEN = `hidden${EVENT_KEY}`
+const EVENT_SHOW = `show${EVENT_KEY}`
+const EVENT_SHOWN = `shown${EVENT_KEY}`
-const ClassName = {
- FADE : 'fade',
- HIDE : 'hide',
- SHOW : 'show',
- SHOWING : 'showing'
-}
+const CLASS_NAME_FADE = 'fade'
+const CLASS_NAME_HIDE = 'hide'
+const CLASS_NAME_SHOW = 'show'
+const CLASS_NAME_SHOWING = 'showing'
const DefaultType = {
animation : 'boolean',
@@ -47,9 +43,7 @@ const Default = {
delay : 500
}
-const Selector = {
- DATA_DISMISS : '[data-dismiss="toast"]'
-}
+const SELECTOR_DATA_DISMISS = '[data-dismiss="toast"]'
/**
* ------------------------------------------------------------------------
@@ -82,7 +76,7 @@ class Toast {
// Public
show() {
- const showEvent = $.Event(Event.SHOW)
+ const showEvent = $.Event(EVENT_SHOW)
$(this._element).trigger(showEvent)
if (showEvent.isDefaultPrevented()) {
@@ -90,14 +84,14 @@ class Toast {
}
if (this._config.animation) {
- this._element.classList.add(ClassName.FADE)
+ this._element.classList.add(CLASS_NAME_FADE)
}
const complete = () => {
- this._element.classList.remove(ClassName.SHOWING)
- this._element.classList.add(ClassName.SHOW)
+ this._element.classList.remove(CLASS_NAME_SHOWING)
+ this._element.classList.add(CLASS_NAME_SHOW)
- $(this._element).trigger(Event.SHOWN)
+ $(this._element).trigger(EVENT_SHOWN)
if (this._config.autohide) {
this._timeout = setTimeout(() => {
@@ -106,9 +100,9 @@ class Toast {
}
}
- this._element.classList.remove(ClassName.HIDE)
+ this._element.classList.remove(CLASS_NAME_HIDE)
Util.reflow(this._element)
- this._element.classList.add(ClassName.SHOWING)
+ this._element.classList.add(CLASS_NAME_SHOWING)
if (this._config.animation) {
const transitionDuration = Util.getTransitionDurationFromElement(this._element)
@@ -121,11 +115,11 @@ class Toast {
}
hide() {
- if (!this._element.classList.contains(ClassName.SHOW)) {
+ if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
return
}
- const hideEvent = $.Event(Event.HIDE)
+ const hideEvent = $.Event(EVENT_HIDE)
$(this._element).trigger(hideEvent)
if (hideEvent.isDefaultPrevented()) {
@@ -139,11 +133,11 @@ class Toast {
clearTimeout(this._timeout)
this._timeout = null
- if (this._element.classList.contains(ClassName.SHOW)) {
- this._element.classList.remove(ClassName.SHOW)
+ if (this._element.classList.contains(CLASS_NAME_SHOW)) {
+ this._element.classList.remove(CLASS_NAME_SHOW)
}
- $(this._element).off(Event.CLICK_DISMISS)
+ $(this._element).off(EVENT_CLICK_DISMISS)
$.removeData(this._element, DATA_KEY)
this._element = null
@@ -169,20 +163,16 @@ class Toast {
}
_setListeners() {
- $(this._element).on(
- Event.CLICK_DISMISS,
- Selector.DATA_DISMISS,
- () => this.hide()
- )
+ $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())
}
_close() {
const complete = () => {
- this._element.classList.add(ClassName.HIDE)
- $(this._element).trigger(Event.HIDDEN)
+ this._element.classList.add(CLASS_NAME_HIDE)
+ $(this._element).trigger(EVENT_HIDDEN)
}
- this._element.classList.remove(ClassName.SHOW)
+ this._element.classList.remove(CLASS_NAME_SHOW)
if (this._config.animation) {
const transitionDuration = Util.getTransitionDurationFromElement(this._element)
diff --git a/vendor/twbs/bootstrap/js/src/tools/sanitizer.js b/vendor/twbs/bootstrap/js/src/tools/sanitizer.js
index 797159bcc..e57f856f0 100644
--- a/vendor/twbs/bootstrap/js/src/tools/sanitizer.js
+++ b/vendor/twbs/bootstrap/js/src/tools/sanitizer.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): tools/sanitizer.js
+ * Bootstrap (v4.5.0): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -37,7 +37,7 @@ export const DefaultWhitelist = {
h5: [],
h6: [],
i: [],
- img: ['src', 'alt', 'title', 'width', 'height'],
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
@@ -57,14 +57,14 @@ export const DefaultWhitelist = {
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
-const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi
+const 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
*/
-const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i
+const 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) {
const attrName = attr.nodeName.toLowerCase()
@@ -80,7 +80,7 @@ function allowedAttribute(attr, allowedAttributeList) {
const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)
// Check if a regular expression validates the attribute.
- for (let i = 0, l = regExp.length; i < l; i++) {
+ for (let i = 0, len = regExp.length; i < len; i++) {
if (attrName.match(regExp[i])) {
return true
}
diff --git a/vendor/twbs/bootstrap/js/src/tooltip.js b/vendor/twbs/bootstrap/js/src/tooltip.js
index 26fa90603..6753c4c15 100644
--- a/vendor/twbs/bootstrap/js/src/tooltip.js
+++ b/vendor/twbs/bootstrap/js/src/tooltip.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): tooltip.js
+ * Bootstrap (v4.5.0): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -20,7 +20,7 @@ import Util from './util'
*/
const NAME = 'tooltip'
-const VERSION = '4.4.1'
+const VERSION = '4.5.0'
const DATA_KEY = 'bs.tooltip'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
@@ -76,10 +76,8 @@ const Default = {
popperConfig : null
}
-const HoverState = {
- SHOW : 'show',
- OUT : 'out'
-}
+const HOVER_STATE_SHOW = 'show'
+const HOVER_STATE_OUT = 'out'
const Event = {
HIDE : `hide${EVENT_KEY}`,
@@ -94,24 +92,16 @@ const Event = {
MOUSELEAVE : `mouseleave${EVENT_KEY}`
}
-const ClassName = {
- FADE : 'fade',
- SHOW : 'show'
-}
-
-const Selector = {
- TOOLTIP : '.tooltip',
- TOOLTIP_INNER : '.tooltip-inner',
- ARROW : '.arrow'
-}
+const CLASS_NAME_FADE = 'fade'
+const CLASS_NAME_SHOW = 'show'
-const Trigger = {
- HOVER : 'hover',
- FOCUS : 'focus',
- CLICK : 'click',
- MANUAL : 'manual'
-}
+const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'
+const SELECTOR_ARROW = '.arrow'
+const TRIGGER_HOVER = 'hover'
+const TRIGGER_FOCUS = 'focus'
+const TRIGGER_CLICK = 'click'
+const TRIGGER_MANUAL = 'manual'
/**
* ------------------------------------------------------------------------
@@ -209,7 +199,7 @@ class Tooltip {
context._leave(null, context)
}
} else {
- if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
+ if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {
this._leave(null, this)
return
}
@@ -272,7 +262,7 @@ class Tooltip {
this.setContent()
if (this.config.animation) {
- $(tip).addClass(ClassName.FADE)
+ $(tip).addClass(CLASS_NAME_FADE)
}
const placement = typeof this.config.placement === 'function'
@@ -293,7 +283,7 @@ class Tooltip {
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))
- $(tip).addClass(ClassName.SHOW)
+ $(tip).addClass(CLASS_NAME_SHOW)
// If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
@@ -312,12 +302,12 @@ class Tooltip {
$(this.element).trigger(this.constructor.Event.SHOWN)
- if (prevHoverState === HoverState.OUT) {
+ if (prevHoverState === HOVER_STATE_OUT) {
this._leave(null, this)
}
}
- if ($(this.tip).hasClass(ClassName.FADE)) {
+ if ($(this.tip).hasClass(CLASS_NAME_FADE)) {
const transitionDuration = Util.getTransitionDurationFromElement(this.tip)
$(this.tip)
@@ -333,7 +323,7 @@ class Tooltip {
const tip = this.getTipElement()
const hideEvent = $.Event(this.constructor.Event.HIDE)
const complete = () => {
- if (this._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip)
}
@@ -355,7 +345,7 @@ class Tooltip {
return
}
- $(tip).removeClass(ClassName.SHOW)
+ $(tip).removeClass(CLASS_NAME_SHOW)
// If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
@@ -363,11 +353,11 @@ class Tooltip {
$(document.body).children().off('mouseover', null, $.noop)
}
- this._activeTrigger[Trigger.CLICK] = false
- this._activeTrigger[Trigger.FOCUS] = false
- this._activeTrigger[Trigger.HOVER] = false
+ this._activeTrigger[TRIGGER_CLICK] = false
+ this._activeTrigger[TRIGGER_FOCUS] = false
+ this._activeTrigger[TRIGGER_HOVER] = false
- if ($(this.tip).hasClass(ClassName.FADE)) {
+ if ($(this.tip).hasClass(CLASS_NAME_FADE)) {
const transitionDuration = Util.getTransitionDurationFromElement(tip)
$(tip)
@@ -403,8 +393,8 @@ class Tooltip {
setContent() {
const tip = this.getTipElement()
- this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())
- $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)
+ this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())
+ $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)
}
setElementContent($element, content) {
@@ -455,7 +445,7 @@ class Tooltip {
behavior: this.config.fallbackPlacement
},
arrow: {
- element: Selector.ARROW
+ element: SELECTOR_ARROW
},
preventOverflow: {
boundariesElement: this.config.boundary
@@ -520,25 +510,17 @@ class Tooltip {
this.config.selector,
(event) => this.toggle(event)
)
- } else if (trigger !== Trigger.MANUAL) {
- const eventIn = trigger === Trigger.HOVER
+ } else if (trigger !== TRIGGER_MANUAL) {
+ const eventIn = trigger === TRIGGER_HOVER
? this.constructor.Event.MOUSEENTER
: this.constructor.Event.FOCUSIN
- const eventOut = trigger === Trigger.HOVER
+ const eventOut = trigger === TRIGGER_HOVER
? this.constructor.Event.MOUSELEAVE
: this.constructor.Event.FOCUSOUT
$(this.element)
- .on(
- eventIn,
- this.config.selector,
- (event) => this._enter(event)
- )
- .on(
- eventOut,
- this.config.selector,
- (event) => this._leave(event)
- )
+ .on(eventIn, this.config.selector, (event) => this._enter(event))
+ .on(eventOut, this.config.selector, (event) => this._leave(event))
}
})
@@ -548,10 +530,7 @@ class Tooltip {
}
}
- $(this.element).closest('.modal').on(
- 'hide.bs.modal',
- this._hideModalHandler
- )
+ $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)
if (this.config.selector) {
this.config = {
@@ -591,18 +570,18 @@ class Tooltip {
if (event) {
context._activeTrigger[
- event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER
+ event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER
] = true
}
- if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
- context._hoverState = HoverState.SHOW
+ if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {
+ context._hoverState = HOVER_STATE_SHOW
return
}
clearTimeout(context._timeout)
- context._hoverState = HoverState.SHOW
+ context._hoverState = HOVER_STATE_SHOW
if (!context.config.delay || !context.config.delay.show) {
context.show()
@@ -610,7 +589,7 @@ class Tooltip {
}
context._timeout = setTimeout(() => {
- if (context._hoverState === HoverState.SHOW) {
+ if (context._hoverState === HOVER_STATE_SHOW) {
context.show()
}
}, context.config.delay.show)
@@ -630,7 +609,7 @@ class Tooltip {
if (event) {
context._activeTrigger[
- event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER
+ event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER
] = false
}
@@ -640,7 +619,7 @@ class Tooltip {
clearTimeout(context._timeout)
- context._hoverState = HoverState.OUT
+ context._hoverState = HOVER_STATE_OUT
if (!context.config.delay || !context.config.delay.hide) {
context.hide()
@@ -648,7 +627,7 @@ class Tooltip {
}
context._timeout = setTimeout(() => {
- if (context._hoverState === HoverState.OUT) {
+ if (context._hoverState === HOVER_STATE_OUT) {
context.hide()
}
}, context.config.delay.hide)
@@ -731,8 +710,7 @@ class Tooltip {
}
_handlePopperPlacementChange(popperData) {
- const popperInstance = popperData.instance
- this.tip = popperInstance.popper
+ this.tip = popperData.instance.popper
this._cleanTipClass()
this.addAttachmentClass(this._getAttachment(popperData.placement))
}
@@ -745,7 +723,7 @@ class Tooltip {
return
}
- $(tip).removeClass(ClassName.FADE)
+ $(tip).removeClass(CLASS_NAME_FADE)
this.config.animation = false
this.hide()
this.show()
diff --git a/vendor/twbs/bootstrap/js/src/util.js b/vendor/twbs/bootstrap/js/src/util.js
index d130682e3..e88feb564 100644
--- a/vendor/twbs/bootstrap/js/src/util.js
+++ b/vendor/twbs/bootstrap/js/src/util.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.4.1): util.js
+ * Bootstrap (v4.5.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -19,6 +19,10 @@ const 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()
}
@@ -30,7 +34,7 @@ function getSpecialTransitionEndEvent() {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params
}
- return undefined // eslint-disable-line no-undefined
+ return undefined
}
}
}
@@ -63,7 +67,6 @@ function setTransitionEndSupport() {
*/
const Util = {
-
TRANSITION_END: 'bsTransitionEnd',
getUID(prefix) {
diff --git a/vendor/twbs/bootstrap/nuget/bootstrap.nuspec b/vendor/twbs/bootstrap/nuget/bootstrap.nuspec
index 4ad92d7ac..142f077e4 100644
--- a/vendor/twbs/bootstrap/nuget/bootstrap.nuspec
+++ b/vendor/twbs/bootstrap/nuget/bootstrap.nuspec
@@ -2,34 +2,39 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>bootstrap</id>
- <version>4.4.1</version>
+ <!-- pulled from package.json -->
+ <version>4</version>
<title>Bootstrap CSS</title>
<authors>The Bootstrap Authors, Twitter Inc.</authors>
<owners>bootstrap</owners>
<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
<releaseNotes>https://blog.getbootstrap.com/</releaseNotes>
- <summary>Bootstrap framework in CSS. Includes fonts and JavaScript</summary>
+ <summary>Bootstrap framework in CSS. Includes JavaScript</summary>
<language>en-us</language>
<projectUrl>https://getbootstrap.com/</projectUrl>
- <iconUrl>https://getbootstrap.com/docs/4.4/assets/img/favicons/apple-touch-icon.png</iconUrl>
+ <icon>bootstrap.png</icon>
<license type="file">LICENSE.txt</license>
- <copyright>Copyright 2017-2019</copyright>
+ <copyright>Copyright 2017-2020</copyright>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies>
<dependency id="jQuery" version="[3.0.0,4)" />
<dependency id="popper.js" version="[1.16.0,2)" />
</dependencies>
<tags>css mobile-first responsive front-end framework web</tags>
+ <contentFiles>
+ <files include="**/*" buildAction="Content" />
+ </contentFiles>
</metadata>
<files>
<file src="LICENSE.txt" target="" />
+ <file src="nuget\bootstrap.png" target="" />
<file src="dist\css\*.*" target="content\Content" />
<file src="dist\js\bootstrap*.js" target="content\Scripts" />
<file src="dist\js\bootstrap*.js.map" target="content\Scripts" />
- <file src="dist\css\*.*" target="contentFiles\Content" />
- <file src="dist\js\bootstrap*.js" target="contentFiles\Scripts" />
- <file src="dist\js\bootstrap*.js.map" target="contentFiles\Scripts" />
+ <file src="dist\css\*.*" target="contentFiles\any\any\wwwroot\css" />
+ <file src="dist\js\bootstrap*.js" target="contentFiles\any\any\wwwroot\js" />
+ <file src="dist\js\bootstrap*.js.map" target="contentFiles\any\any\wwwroot\js" />
</files>
</package>
diff --git a/vendor/twbs/bootstrap/nuget/bootstrap.png b/vendor/twbs/bootstrap/nuget/bootstrap.png
new file mode 100644
index 000000000..d746a8fbb
--- /dev/null
+++ b/vendor/twbs/bootstrap/nuget/bootstrap.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/nuget/bootstrap.sass.nuspec b/vendor/twbs/bootstrap/nuget/bootstrap.sass.nuspec
index 7422358a3..c7fa2794e 100644
--- a/vendor/twbs/bootstrap/nuget/bootstrap.sass.nuspec
+++ b/vendor/twbs/bootstrap/nuget/bootstrap.sass.nuspec
@@ -2,34 +2,39 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>bootstrap.sass</id>
- <version>4.4.1</version>
+ <!-- pulled from package.json -->
+ <version>4</version>
<title>Bootstrap Sass</title>
<authors>The Bootstrap Authors, Twitter Inc.</authors>
<owners>bootstrap</owners>
<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
<releaseNotes>https://blog.getbootstrap.com/</releaseNotes>
- <summary>Bootstrap framework in Sass. Includes fonts and JavaScript</summary>
+ <summary>Bootstrap framework in Sass. Includes JavaScript</summary>
<language>en-us</language>
<projectUrl>https://getbootstrap.com/</projectUrl>
- <iconUrl>https://getbootstrap.com/docs/4.4/assets/img/favicons/apple-touch-icon.png</iconUrl>
+ <icon>bootstrap.png</icon>
<license type="file">LICENSE.txt</license>
- <copyright>Copyright 2017-2019</copyright>
+ <copyright>Copyright 2017-2020</copyright>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies>
<dependency id="jQuery" version="[3.0.0,4)" />
<dependency id="popper.js" version="[1.16.0,2)" />
</dependencies>
<tags>css sass mobile-first responsive front-end framework web</tags>
+ <contentFiles>
+ <files include="**/*" buildAction="Content" />
+ </contentFiles>
</metadata>
<files>
<file src="LICENSE.txt" target="" />
+ <file src="nuget\bootstrap.png" target="" />
<file src="scss\**\*.scss" target="content\Content\bootstrap" />
<file src="dist\js\bootstrap*.js" target="content\Scripts" />
<file src="dist\js\bootstrap*.js.map" target="content\Scripts" />
- <file src="scss\**\*.scss" target="contentFiles\Content\bootstrap" />
- <file src="dist\js\bootstrap*.js" target="contentFiles\Scripts" />
- <file src="dist\js\bootstrap*.js.map" target="contentFiles\Scripts" />
+ <file src="scss\**\*.scss" target="contentFiles\any\any\wwwroot\scss" />
+ <file src="dist\js\bootstrap*.js" target="contentFiles\any\any\wwwroot\js" />
+ <file src="dist\js\bootstrap*.js.map" target="contentFiles\any\any\wwwroot\js" />
</files>
</package>
diff --git a/vendor/twbs/bootstrap/package-lock.json b/vendor/twbs/bootstrap/package-lock.json
index 388b97e23..93bb1b851 100644
--- a/vendor/twbs/bootstrap/package-lock.json
+++ b/vendor/twbs/bootstrap/package-lock.json
@@ -1,13 +1,13 @@
{
"name": "bootstrap",
- "version": "4.4.1",
+ "version": "4.5.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/cli": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.7.4.tgz",
- "integrity": "sha512-O7mmzaWdm+VabWQmxuM8hqNrWGGihN83KfhPUzp2lAW4kzIMwBxujXkZbD4fMwKMYY9FXTbDvXsJqU+5XHXi4A==",
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.8.4.tgz",
+ "integrity": "sha512-XXLgAm6LBbaNxaGhMAznXXaxtCWfuv6PIDJ9Alsy9JYTOh+j2jJz+L/162kkfU1j/pTSxK1xGmlwI4pdIMkoag==",
"dev": true,
"requires": {
"chokidar": "^2.1.8",
@@ -22,30 +22,43 @@
}
},
"@babel/code-frame": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
- "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.0.0"
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz",
+ "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.11.1",
+ "invariant": "^2.2.4",
+ "semver": "^5.5.0"
}
},
"@babel/core": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz",
- "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.7.4",
- "@babel/helpers": "^7.7.4",
- "@babel/parser": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
- "json5": "^2.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
"lodash": "^4.17.13",
"resolve": "^1.3.2",
"semver": "^5.4.1",
@@ -70,750 +83,849 @@
}
},
"@babel/generator": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz",
- "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.7.4",
+ "@babel/types": "^7.9.6",
"jsesc": "^2.5.1",
"lodash": "^4.17.13",
"source-map": "^0.5.0"
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz",
- "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+ "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
"dev": true,
"requires": {
- "@babel/types": "^7.7.4"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz",
- "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
+ "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
"dev": true,
"requires": {
- "@babel/helper-explode-assignable-expression": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/helper-explode-assignable-expression": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
- "@babel/helper-call-delegate": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz",
- "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==",
+ "@babel/helper-compilation-targets": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz",
+ "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/compat-data": "^7.9.6",
+ "browserslist": "^4.11.1",
+ "invariant": "^2.2.4",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
}
},
"@babel/helper-create-regexp-features-plugin": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz",
- "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==",
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
+ "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
"dev": true,
"requires": {
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.6.0"
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3",
+ "regexpu-core": "^4.7.0"
}
},
"@babel/helper-define-map": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz",
- "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
+ "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.7.4",
- "@babel/types": "^7.7.4",
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/types": "^7.8.3",
"lodash": "^4.17.13"
}
},
"@babel/helper-explode-assignable-expression": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz",
- "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
+ "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-function-name": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz",
- "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
}
},
"@babel/helper-get-function-arity": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz",
- "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
"dev": true,
"requires": {
- "@babel/types": "^7.7.4"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz",
- "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
+ "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
"dev": true,
"requires": {
- "@babel/types": "^7.7.4"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz",
- "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
"dev": true,
"requires": {
- "@babel/types": "^7.7.4"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-module-imports": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz",
- "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
"dev": true,
"requires": {
- "@babel/types": "^7.7.4"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-module-transforms": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz",
- "integrity": "sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.7.4",
- "@babel/helper-simple-access": "^7.7.4",
- "@babel/helper-split-export-declaration": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/types": "^7.7.4",
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
"lodash": "^4.17.13"
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz",
- "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.7.4"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-plugin-utils": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
- "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
"dev": true
},
"@babel/helper-regex": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
- "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+ "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
"dev": true,
"requires": {
"lodash": "^4.17.13"
}
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz",
- "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
+ "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.7.4",
- "@babel/helper-wrap-function": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-wrap-function": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-replace-supers": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz",
- "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.7.4",
- "@babel/helper-optimise-call-expression": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
}
},
"@babel/helper-simple-access": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz",
- "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
"dev": true,
"requires": {
- "@babel/template": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz",
- "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
"dev": true,
"requires": {
- "@babel/types": "^7.7.4"
+ "@babel/types": "^7.8.3"
}
},
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
+ "dev": true
+ },
"@babel/helper-wrap-function": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz",
- "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
+ "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helpers": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz",
- "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
"dev": true,
"requires": {
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
}
},
"@babel/highlight": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
- "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
"dev": true,
"requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
"chalk": "^2.0.0",
- "esutils": "^2.0.2",
"js-tokens": "^4.0.0"
}
},
"@babel/parser": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz",
- "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
"dev": true
},
"@babel/plugin-proposal-async-generator-functions": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz",
- "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
+ "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.7.4",
- "@babel/plugin-syntax-async-generators": "^7.7.4"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-remap-async-to-generator": "^7.8.3",
+ "@babel/plugin-syntax-async-generators": "^7.8.0"
}
},
"@babel/plugin-proposal-dynamic-import": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz",
- "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-dynamic-import": "^7.7.4"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0"
}
},
"@babel/plugin-proposal-json-strings": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz",
- "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
+ "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-json-strings": "^7.7.4"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3"
}
},
"@babel/plugin-proposal-object-rest-spread": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz",
- "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz",
+ "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.7.4"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-transform-parameters": "^7.9.5"
}
},
"@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz",
- "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.7.4"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz",
+ "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
}
},
"@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz",
- "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==",
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
+ "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.8",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-syntax-async-generators": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz",
- "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==",
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-dynamic-import": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz",
- "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-json-strings": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz",
- "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-syntax-object-rest-spread": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz",
- "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz",
- "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-top-level-await": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz",
- "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
+ "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-arrow-functions": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz",
- "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
+ "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-async-to-generator": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz",
- "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
+ "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.7.4"
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-remap-async-to-generator": "^7.8.3"
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz",
- "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
+ "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz",
- "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
+ "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
"lodash": "^4.17.13"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz",
- "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.7.4",
- "@babel/helper-define-map": "^7.7.4",
- "@babel/helper-function-name": "^7.7.4",
- "@babel/helper-optimise-call-expression": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.7.4",
- "@babel/helper-split-export-declaration": "^7.7.4",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz",
+ "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-define-map": "^7.8.3",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-split-export-declaration": "^7.8.3",
"globals": "^11.1.0"
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz",
- "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
+ "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz",
- "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz",
+ "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz",
- "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
+ "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz",
- "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
+ "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz",
- "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
+ "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
"dev": true,
"requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz",
- "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz",
+ "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz",
- "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
+ "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-literals": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz",
- "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
+ "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz",
- "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
+ "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz",
- "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz",
+ "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz",
- "integrity": "sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz",
+ "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-simple-access": "^7.7.4",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-simple-access": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz",
- "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz",
+ "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-hoist-variables": "^7.8.3",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz",
- "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz",
+ "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz",
- "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
+ "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.7.4"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz",
- "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
+ "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz",
- "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
+ "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.7.4"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.3"
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz",
- "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz",
+ "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==",
"dev": true,
"requires": {
- "@babel/helper-call-delegate": "^7.7.4",
- "@babel/helper-get-function-arity": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz",
- "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
+ "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz",
- "integrity": "sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==",
+ "version": "7.8.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
+ "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
"dev": true,
"requires": {
- "regenerator-transform": "^0.14.0"
+ "regenerator-transform": "^0.14.2"
}
},
"@babel/plugin-transform-reserved-words": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz",
- "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
+ "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz",
- "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
+ "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz",
- "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
+ "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz",
- "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
+ "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3"
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz",
- "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
+ "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz",
- "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==",
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
+ "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz",
- "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
+ "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/preset-env": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.4.tgz",
- "integrity": "sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz",
+ "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.9.6",
+ "@babel/helper-compilation-targets": "^7.9.6",
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
+ "@babel/plugin-proposal-dynamic-import": "^7.8.3",
+ "@babel/plugin-proposal-json-strings": "^7.8.3",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-proposal-numeric-separator": "^7.8.3",
+ "@babel/plugin-proposal-object-rest-spread": "^7.9.6",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-proposal-optional-chaining": "^7.9.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.8.3",
+ "@babel/plugin-transform-async-to-generator": "^7.8.3",
+ "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
+ "@babel/plugin-transform-block-scoping": "^7.8.3",
+ "@babel/plugin-transform-classes": "^7.9.5",
+ "@babel/plugin-transform-computed-properties": "^7.8.3",
+ "@babel/plugin-transform-destructuring": "^7.9.5",
+ "@babel/plugin-transform-dotall-regex": "^7.8.3",
+ "@babel/plugin-transform-duplicate-keys": "^7.8.3",
+ "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
+ "@babel/plugin-transform-for-of": "^7.9.0",
+ "@babel/plugin-transform-function-name": "^7.8.3",
+ "@babel/plugin-transform-literals": "^7.8.3",
+ "@babel/plugin-transform-member-expression-literals": "^7.8.3",
+ "@babel/plugin-transform-modules-amd": "^7.9.6",
+ "@babel/plugin-transform-modules-commonjs": "^7.9.6",
+ "@babel/plugin-transform-modules-systemjs": "^7.9.6",
+ "@babel/plugin-transform-modules-umd": "^7.9.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
+ "@babel/plugin-transform-new-target": "^7.8.3",
+ "@babel/plugin-transform-object-super": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.9.5",
+ "@babel/plugin-transform-property-literals": "^7.8.3",
+ "@babel/plugin-transform-regenerator": "^7.8.7",
+ "@babel/plugin-transform-reserved-words": "^7.8.3",
+ "@babel/plugin-transform-shorthand-properties": "^7.8.3",
+ "@babel/plugin-transform-spread": "^7.8.3",
+ "@babel/plugin-transform-sticky-regex": "^7.8.3",
+ "@babel/plugin-transform-template-literals": "^7.8.3",
+ "@babel/plugin-transform-typeof-symbol": "^7.8.4",
+ "@babel/plugin-transform-unicode-regex": "^7.8.3",
+ "@babel/preset-modules": "^0.1.3",
+ "@babel/types": "^7.9.6",
+ "browserslist": "^4.11.1",
+ "core-js-compat": "^3.6.2",
+ "invariant": "^2.2.2",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
+ }
+ },
+ "@babel/preset-modules": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
+ "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.7.4",
"@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-async-generator-functions": "^7.7.4",
- "@babel/plugin-proposal-dynamic-import": "^7.7.4",
- "@babel/plugin-proposal-json-strings": "^7.7.4",
- "@babel/plugin-proposal-object-rest-spread": "^7.7.4",
- "@babel/plugin-proposal-optional-catch-binding": "^7.7.4",
- "@babel/plugin-proposal-unicode-property-regex": "^7.7.4",
- "@babel/plugin-syntax-async-generators": "^7.7.4",
- "@babel/plugin-syntax-dynamic-import": "^7.7.4",
- "@babel/plugin-syntax-json-strings": "^7.7.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.7.4",
- "@babel/plugin-syntax-optional-catch-binding": "^7.7.4",
- "@babel/plugin-syntax-top-level-await": "^7.7.4",
- "@babel/plugin-transform-arrow-functions": "^7.7.4",
- "@babel/plugin-transform-async-to-generator": "^7.7.4",
- "@babel/plugin-transform-block-scoped-functions": "^7.7.4",
- "@babel/plugin-transform-block-scoping": "^7.7.4",
- "@babel/plugin-transform-classes": "^7.7.4",
- "@babel/plugin-transform-computed-properties": "^7.7.4",
- "@babel/plugin-transform-destructuring": "^7.7.4",
- "@babel/plugin-transform-dotall-regex": "^7.7.4",
- "@babel/plugin-transform-duplicate-keys": "^7.7.4",
- "@babel/plugin-transform-exponentiation-operator": "^7.7.4",
- "@babel/plugin-transform-for-of": "^7.7.4",
- "@babel/plugin-transform-function-name": "^7.7.4",
- "@babel/plugin-transform-literals": "^7.7.4",
- "@babel/plugin-transform-member-expression-literals": "^7.7.4",
- "@babel/plugin-transform-modules-amd": "^7.7.4",
- "@babel/plugin-transform-modules-commonjs": "^7.7.4",
- "@babel/plugin-transform-modules-systemjs": "^7.7.4",
- "@babel/plugin-transform-modules-umd": "^7.7.4",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4",
- "@babel/plugin-transform-new-target": "^7.7.4",
- "@babel/plugin-transform-object-super": "^7.7.4",
- "@babel/plugin-transform-parameters": "^7.7.4",
- "@babel/plugin-transform-property-literals": "^7.7.4",
- "@babel/plugin-transform-regenerator": "^7.7.4",
- "@babel/plugin-transform-reserved-words": "^7.7.4",
- "@babel/plugin-transform-shorthand-properties": "^7.7.4",
- "@babel/plugin-transform-spread": "^7.7.4",
- "@babel/plugin-transform-sticky-regex": "^7.7.4",
- "@babel/plugin-transform-template-literals": "^7.7.4",
- "@babel/plugin-transform-typeof-symbol": "^7.7.4",
- "@babel/plugin-transform-unicode-regex": "^7.7.4",
- "@babel/types": "^7.7.4",
- "browserslist": "^4.6.0",
- "core-js-compat": "^3.1.1",
- "invariant": "^2.2.2",
- "js-levenshtein": "^1.1.3",
- "semver": "^5.5.0"
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
}
},
"@babel/template": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz",
- "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==",
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.7.4",
- "@babel/types": "^7.7.4"
+ "@babel/code-frame": "^7.8.3",
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
}
},
"@babel/traverse": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz",
- "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.7.4",
- "@babel/helper-function-name": "^7.7.4",
- "@babel/helper-split-export-declaration": "^7.7.4",
- "@babel/parser": "^7.7.4",
- "@babel/types": "^7.7.4",
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.13"
@@ -837,36 +949,160 @@
}
},
"@babel/types": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz",
- "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
"dev": true,
"requires": {
- "esutils": "^2.0.2",
+ "@babel/helper-validator-identifier": "^7.9.5",
"lodash": "^4.17.13",
"to-fast-properties": "^2.0.0"
}
},
- "@mrmlnc/readdir-enhanced": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
- "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "@istanbuljs/load-nyc-config": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz",
+ "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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-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": "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"
+ }
+ },
+ "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
+ },
+ "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
+ }
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+ "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+ "dev": true
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
"dev": true,
"requires": {
- "call-me-maybe": "^1.0.1",
- "glob-to-regexp": "^0.3.0"
+ "@nodelib/fs.stat": "2.0.3",
+ "run-parallel": "^1.1.9"
}
},
"@nodelib/fs.stat": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
- "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.3",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@rollup/plugin-commonjs": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz",
+ "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.8",
+ "commondir": "^1.0.1",
+ "estree-walker": "^1.0.1",
+ "glob": "^7.1.2",
+ "is-reference": "^1.1.2",
+ "magic-string": "^0.25.2",
+ "resolve": "^1.11.0"
+ }
+ },
+ "@rollup/plugin-node-resolve": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
+ "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.8",
+ "@types/resolve": "0.0.8",
+ "builtin-modules": "^3.1.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.14.2"
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.10.tgz",
+ "integrity": "sha512-d44M7t+PjmMrASHbhgpSbVgtL6EFyX7J4mYxwQ/c5eoaE6N2VgCgEcWVzNnwycIloti+/MpwFr8qfw+nRw00sw==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ }
+ },
+ "@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
"dev": true
},
"@sinonjs/commons": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.6.0.tgz",
- "integrity": "sha512-w4/WHG7C4WWFyE5geCieFJF6MZkbW4VAriol5KlmQXpAQdxvV0p26sqNZOW6Qyw6Y0l9K4g+cHvvczR2sEEpqg==",
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.2.tgz",
+ "integrity": "sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw==",
"dev": true,
"requires": {
"type-detect": "4.0.8"
@@ -899,39 +1135,68 @@
"integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
"dev": true
},
+ "@stylelint/postcss-css-in-js": {
+ "version": "0.37.1",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.1.tgz",
+ "integrity": "sha512-UMf2Rni3JGKi3ZwYRGMYJ5ipOA5ENJSKMtYA/pE1ZLURwdh7B5+z2r73RmWvub+N0UuH1Lo+TGfCgYwPvqpXNw==",
+ "dev": true,
+ "requires": {
+ "@babel/core": ">=7.9.0"
+ }
+ },
+ "@stylelint/postcss-markdown": {
+ "version": "0.36.1",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz",
+ "integrity": "sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw==",
+ "dev": true,
+ "requires": {
+ "remark": "^12.0.0",
+ "unist-util-find-all-after": "^3.0.1"
+ }
+ },
+ "@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^1.0.1"
+ }
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
"@types/estree": {
"version": "0.0.39",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
"integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
"dev": true
},
- "@types/events": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
- "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
+ "@types/minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=",
"dev": true
},
- "@types/glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
- "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
- "dev": true,
- "requires": {
- "@types/events": "*",
- "@types/minimatch": "*",
- "@types/node": "*"
- }
+ "@types/node": {
+ "version": "13.13.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.5.tgz",
+ "integrity": "sha512-3ySmiBYJPqgjiHA7oEaIo2Rzz0HrOZ7yrNO5HWyaE5q0lQ3BppDZ3N53Miz8bw2I7gh1/zir2MGVZBvpb1zq9g==",
+ "dev": true
},
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
"dev": true
},
- "@types/node": {
- "version": "12.12.12",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.12.tgz",
- "integrity": "sha512-MGuvYJrPU0HUwqF7LqvIj50RZUX23Z+m583KBygKYUZLlZ88n6w28XRNJRJgsHukLEnLz6w6SvxZoLgbr5wLqQ==",
+ "@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
"dev": true
},
"@types/resolve": {
@@ -949,25 +1214,11 @@
"integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
"dev": true
},
- "@types/vfile": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz",
- "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/unist": "*",
- "@types/vfile-message": "*"
- }
- },
- "@types/vfile-message": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz",
- "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==",
- "dev": true,
- "requires": {
- "vfile-message": "*"
- }
+ "@yarnpkg/lockfile": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+ "dev": true
},
"abbrev": {
"version": "1.1.1",
@@ -975,6 +1226,15 @@
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
},
+ "abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+ "dev": true,
+ "requires": {
+ "event-target-shim": "^5.0.0"
+ }
+ },
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -986,15 +1246,15 @@
}
},
"acorn": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
- "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
"dev": true
},
"acorn-jsx": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
- "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
+ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
"dev": true
},
"after": {
@@ -1013,12 +1273,12 @@
}
},
"ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
@@ -1031,18 +1291,24 @@
"dev": true
},
"ansi-align": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
- "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz",
+ "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==",
"dev": true,
"requires": {
- "string-width": "^2.0.0"
+ "string-width": "^3.0.0"
},
"dependencies": {
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "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
},
"is-fullwidth-code-point": {
@@ -1052,36 +1318,48 @@
"dev": true
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "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": "^4.0.0"
+ "strip-ansi": "^5.1.0"
}
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "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": "^3.0.0"
+ "ansi-regex": "^4.1.0"
}
}
}
},
"ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
- "dev": true
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
+ "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+ "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "dev": true
+ }
+ }
},
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "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": {
@@ -1098,6 +1376,7 @@
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
"integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
"dev": true,
+ "optional": true,
"requires": {
"micromatch": "^3.1.4",
"normalize-path": "^2.1.1"
@@ -1108,21 +1387,13 @@
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true,
+ "optional": true,
"requires": {
"remove-trailing-separator": "^1.0.1"
}
}
}
},
- "append-transform": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
- "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
- "dev": true,
- "requires": {
- "default-require-extensions": "^2.0.0"
- }
- },
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
@@ -1152,19 +1423,22 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"array-find-index": {
"version": "1.0.2",
@@ -1178,32 +1452,18 @@
"integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
"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
- },
"array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "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
+ "dev": true,
+ "optional": true
},
"arraybuffer.slice": {
"version": "0.0.7",
@@ -1212,9 +1472,9 @@
"dev": true
},
"arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
"dev": true
},
"asn1": {
@@ -1236,7 +1496,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"astral-regex": {
"version": "1.0.0",
@@ -1257,7 +1518,8 @@
"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
+ "dev": true,
+ "optional": true
},
"async-foreach": {
"version": "0.1.3",
@@ -1277,25 +1539,32 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "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
+ "dev": true,
+ "optional": true
},
"autoprefixer": {
- "version": "9.7.2",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.2.tgz",
- "integrity": "sha512-LCAfcdej1182uVvPOZnytbq61AhnOZ/4JelDaJGDeNwewyU1AMaNthcHsyz1NRjTmd2FkurMckLWfkHg3Z//KA==",
+ "version": "9.7.6",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.6.tgz",
+ "integrity": "sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ==",
"dev": true,
"requires": {
- "browserslist": "^4.7.3",
- "caniuse-lite": "^1.0.30001010",
+ "browserslist": "^4.11.1",
+ "caniuse-lite": "^1.0.30001039",
"chalk": "^2.4.2",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
- "postcss": "^7.0.23",
- "postcss-value-parser": "^4.0.2"
+ "postcss": "^7.0.27",
+ "postcss-value-parser": "^4.0.3"
}
},
"aws-sign2": {
@@ -1305,62 +1574,54 @@
"dev": true
},
"aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
"dev": true
},
"axios": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz",
- "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==",
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
+ "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
"dev": true,
"requires": {
- "follow-redirects": "1.5.10",
- "is-buffer": "^2.0.2"
- },
- "dependencies": {
- "is-buffer": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
- "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
- "dev": true
- }
+ "follow-redirects": "1.5.10"
}
},
"babel-eslint": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz",
- "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==",
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
+ "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.0.0",
- "@babel/traverse": "^7.0.0",
- "@babel/types": "^7.0.0",
+ "@babel/parser": "^7.7.0",
+ "@babel/traverse": "^7.7.0",
+ "@babel/types": "^7.7.0",
"eslint-visitor-keys": "^1.0.0",
"resolve": "^1.12.0"
}
},
"babel-plugin-dynamic-import-node": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
- "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
"dev": true,
"requires": {
"object.assign": "^4.1.0"
}
},
"babel-plugin-istanbul": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
- "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+ "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
- "find-up": "^3.0.0",
- "istanbul-lib-instrument": "^3.3.0",
- "test-exclude": "^5.2.3"
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
}
},
"backo2": {
@@ -1370,9 +1631,9 @@
"dev": true
},
"bail": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz",
- "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
+ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
"dev": true
},
"balanced-match": {
@@ -1386,6 +1647,7 @@
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
+ "optional": true,
"requires": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
@@ -1401,6 +1663,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -1410,6 +1673,7 @@
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -1419,6 +1683,7 @@
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -1428,6 +1693,7 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
+ "optional": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -1466,42 +1732,6 @@
"callsite": "1.0.0"
}
},
- "bhttp": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/bhttp/-/bhttp-1.2.4.tgz",
- "integrity": "sha1-/tDCT3ZbNa/ElAsIqzIUgT44848=",
- "dev": true,
- "requires": {
- "bluebird": "^2.8.2",
- "concat-stream": "^1.4.7",
- "debug": "^2.1.1",
- "dev-null": "^0.1.1",
- "errors": "^0.2.0",
- "extend": "^2.0.0",
- "form-data2": "^1.0.0",
- "form-fix-array": "^1.0.0",
- "lodash": "^2.4.1",
- "stream-length": "^1.0.2",
- "string": "^3.0.0",
- "through2-sink": "^1.0.0",
- "through2-spy": "^1.2.0",
- "tough-cookie": "^2.3.1"
- },
- "dependencies": {
- "extend": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-2.0.2.tgz",
- "integrity": "sha512-AgFD4VU+lVLP6vjnlNfF7OeInLTyeyckCNPEsuxz1vi786UuK/nk6ynPuhn/h+Ju9++TQyr5EpLRI14fc1QtTQ==",
- "dev": true
- },
- "lodash": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
- "dev": true
- }
- }
- },
"big-integer": {
"version": "1.6.48",
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz",
@@ -1522,28 +1752,17 @@
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
- "dev": true
+ "dev": true,
+ "optional": true
},
- "bl": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz",
- "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==",
+ "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": {
- "readable-stream": "^3.0.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
+ "file-uri-to-path": "1.0.0"
}
},
"blob": {
@@ -1562,9 +1781,9 @@
}
},
"bluebird": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
- "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=",
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
+ "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=",
"dev": true
},
"body-parser": {
@@ -1583,66 +1802,78 @@
"qs": "6.7.0",
"raw-body": "2.4.0",
"type-is": "~1.6.17"
- },
- "dependencies": {
- "qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
- "dev": true
- }
}
},
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
"boxen": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
- "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
- "dev": true,
- "requires": {
- "ansi-align": "^2.0.0",
- "camelcase": "^4.0.0",
- "chalk": "^2.0.1",
- "cli-boxes": "^1.0.0",
- "string-width": "^2.0.0",
- "term-size": "^1.2.0",
- "widest-line": "^2.0.0"
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
+ "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+ "dev": true,
+ "requires": {
+ "ansi-align": "^3.0.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^3.0.0",
+ "cli-boxes": "^2.2.0",
+ "string-width": "^4.1.0",
+ "term-size": "^2.1.0",
+ "type-fest": "^0.8.1",
+ "widest-line": "^3.1.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
- },
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
},
- "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
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
},
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "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": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "color-name": "~1.1.4"
}
},
- "strip-ansi": {
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "has-flag": "^4.0.0"
}
}
}
@@ -1662,6 +1893,7 @@
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
+ "optional": true,
"requires": {
"arr-flatten": "^1.1.0",
"array-unique": "^0.3.2",
@@ -1680,88 +1912,23 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
+ "optional": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
- "broken-link-checker": {
- "version": "0.7.8",
- "resolved": "https://registry.npmjs.org/broken-link-checker/-/broken-link-checker-0.7.8.tgz",
- "integrity": "sha512-/zH4/nLMNKDeDH5nVuf/R6WYd0Yjnar1NpcdAO2+VlwjGKzJa6y42C03UO+imBSHwe6BefSkVi82fImE2Rb7yg==",
- "dev": true,
- "requires": {
- "bhttp": "^1.2.1",
- "calmcard": "~0.1.1",
- "chalk": "^1.1.3",
- "char-spinner": "^1.0.1",
- "condense-whitespace": "^1.0.0",
- "default-user-agent": "^1.0.0",
- "errno": "~0.1.4",
- "extend": "^3.0.0",
- "http-equiv-refresh": "^1.0.0",
- "humanize-duration": "^3.9.1",
- "is-stream": "^1.0.1",
- "is-string": "^1.0.4",
- "limited-request-queue": "^2.0.0",
- "link-types": "^1.1.0",
- "maybe-callback": "^2.1.0",
- "nopter": "~0.3.0",
- "parse5": "^3.0.2",
- "robot-directives": "~0.3.0",
- "robots-txt-guard": "~0.1.0",
- "robots-txt-parse": "~0.0.4",
- "urlcache": "~0.7.0",
- "urlobj": "0.0.11"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "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"
- }
- },
- "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
- }
- }
- },
- "brotli-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-0.1.0.tgz",
- "integrity": "sha512-5ny7BNvpe2TSmdafF1T9dnFYp3AIrJ8qJt29K0DQJzORlK38LBim/CmlY26JtreV6SWmXza7Oa+9m61SzvxR0Q==",
- "dev": true,
- "requires": {
- "duplexer": "^0.1.1",
- "iltorb": "^2.4.3"
- }
- },
"browserslist": {
- "version": "4.7.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.3.tgz",
- "integrity": "sha512-jWvmhqYpx+9EZm/FxcZSbUZyDEvDTLDi3nSAKbzEkyWvtI0mNSmUosey+5awDW1RUlrgXbQb5A6qY1xQH9U6MQ==",
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001010",
- "electron-to-chromium": "^1.3.306",
- "node-releases": "^1.1.40"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
},
"browserstack": {
@@ -1783,28 +1950,6 @@
"unzipper": "^0.9.3"
}
},
- "buffer-alloc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
- "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
- "dev": true,
- "requires": {
- "buffer-alloc-unsafe": "^1.1.0",
- "buffer-fill": "^1.0.0"
- }
- },
- "buffer-alloc-unsafe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
- "dev": true
- },
- "buffer-fill": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
- "dev": true
- },
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
@@ -1829,29 +1974,79 @@
"integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
"dev": true
},
- "bundlesize": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/bundlesize/-/bundlesize-0.18.0.tgz",
- "integrity": "sha512-GZURr25umfYxZYZUyOlOtJRbYjAn0VfbjbnS0NBcOiF8VcjmhoEhmx8Gw4va8HeQb8j7Ra0ZltY/IeHgSHFXFw==",
+ "bundlewatch": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/bundlewatch/-/bundlewatch-0.2.7.tgz",
+ "integrity": "sha512-tTf6TZHowf2kqHMv9nk7ORDdyU8d4OCF5qjkm8jeZfY9hsOdoyvDq3xtPSw+I8eQJJhkdUvcIMp4Cd3GkUAsrA==",
"dev": true,
"requires": {
"axios": "^0.19.0",
- "brotli-size": "0.1.0",
- "bytes": "^3.1.0",
- "ci-env": "^1.4.0",
- "commander": "^2.20.0",
- "cosmiconfig": "^5.2.1",
- "github-build": "^1.2.0",
- "glob": "^7.1.4",
- "gzip-size": "^4.0.0",
- "prettycli": "^1.4.3"
+ "bytes": "^3.0.0",
+ "chalk": "^4.0.0",
+ "ci-env": "^1.14.0",
+ "commander": "^5.0.0",
+ "glob": "^7.1.2",
+ "gzip-size": "^5.1.1",
+ "jsonpack": "^1.1.5",
+ "lodash.merge": "^4.6.1",
+ "read-pkg-up": "^7.0.1"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"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==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
}
}
},
@@ -1866,6 +2061,7 @@
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
+ "optional": true,
"requires": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
@@ -1878,11 +2074,37 @@
"unset-value": "^1.0.0"
}
},
- "call-me-maybe": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
- "dev": true
+ "cacheable-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
+ "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^3.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^1.0.2"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ }
+ }
},
"caller-callsite": {
"version": "2.0.0",
@@ -1902,12 +2124,12 @@
}
},
"caller-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
- "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
"dev": true,
"requires": {
- "callsites": "^0.2.0"
+ "caller-callsite": "^2.0.0"
}
},
"callsite": {
@@ -1917,51 +2139,32 @@
"dev": true
},
"callsites": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
- "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
- "dev": true
- },
- "calmcard": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/calmcard/-/calmcard-0.1.1.tgz",
- "integrity": "sha1-NawrZkkrDtOa0GqJOg/25hEk5Ek=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true
},
"camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"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=",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
"dev": true,
"requires": {
- "camelcase": "^2.0.0",
- "map-obj": "^1.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- }
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
}
},
"caniuse-lite": {
- "version": "1.0.30001012",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001012.tgz",
- "integrity": "sha512-7RR4Uh04t9K1uYRWzOJmzplgEOAXbfK72oVNokCdMzA67trrhPzy93ahKk1AWHiA0c58tD2P+NHqxrA8FZ+Trg==",
- "dev": true
- },
- "capture-stack-trace": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
- "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
+ "version": "1.0.30001055",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001055.tgz",
+ "integrity": "sha512-MbwsBmKrBSKIWldfdIagO5OJWZclpJtS4h0Jrk/4HFrXJxTdVdH23Fd+xCiHriVGvYcWyW8mR/CPsYajlH8Iuw==",
"dev": true
},
"caseless": {
@@ -1971,9 +2174,9 @@
"dev": true
},
"ccount": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz",
- "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz",
+ "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==",
"dev": true
},
"chainsaw": {
@@ -1996,34 +2199,28 @@
"supports-color": "^5.3.0"
}
},
- "char-spinner": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz",
- "integrity": "sha1-5upnvSR+EHESmDt6sEee02KAAIE=",
- "dev": true
- },
"character-entities": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz",
- "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
"dev": true
},
"character-entities-html4": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz",
- "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz",
+ "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==",
"dev": true
},
"character-entities-legacy": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz",
- "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
"dev": true
},
"character-reference-invalid": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz",
- "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
"dev": true
},
"chardet": {
@@ -2032,11 +2229,26 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
+ "cheerio": {
+ "version": "1.0.0-rc.3",
+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz",
+ "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==",
+ "dev": true,
+ "requires": {
+ "css-select": "~1.2.0",
+ "dom-serializer": "~0.1.1",
+ "entities": "~1.1.1",
+ "htmlparser2": "^3.9.1",
+ "lodash": "^4.15.0",
+ "parse5": "^3.0.1"
+ }
+ },
"chokidar": {
"version": "2.1.8",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
"integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
"dev": true,
+ "optional": true,
"requires": {
"anymatch": "^2.0.0",
"async-each": "^1.0.1",
@@ -2052,28 +2264,16 @@
"upath": "^1.1.1"
}
},
- "chownr": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
- "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==",
- "dev": true
- },
"ci-env": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.11.1.tgz",
- "integrity": "sha512-2qKqDxoPMsUDk/XaCVYCar30EGFcV//a29fmOTQEKXxNOFYsIBMnRX9bCIGrfK+EbR+Nrc8No1RtbmlVKj3eng==",
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.14.0.tgz",
+ "integrity": "sha512-rSoyr8Fvlr3BBlCrIFmeTiIL1ORU3QRJamirxCOot0DpRO7i8ityqoKfoOXa1NVrrSNCdaPmt9al/2ebD2v3cg==",
"dev": true
},
"ci-info": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
- "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
- "dev": true
- },
- "circular-json": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz",
- "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
"dev": true
},
"class-utils": {
@@ -2081,6 +2281,7 @@
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
+ "optional": true,
"requires": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
@@ -2093,6 +2294,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -2100,9 +2302,9 @@
}
},
"clean-css": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
- "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
+ "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"
@@ -2136,50 +2338,41 @@
}
},
"cli-boxes": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
- "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz",
+ "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==",
"dev": true
},
"cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
"requires": {
- "restore-cursor": "^2.0.0"
+ "restore-cursor": "^3.1.0"
}
},
"cli-spinners": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
- "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz",
+ "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==",
"dev": true
},
- "cli-table": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
- "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
- "dev": true,
- "requires": {
- "colors": "1.0.3"
- }
- },
"cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
"dev": true
},
"cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dev": true,
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
}
},
"clone": {
@@ -2189,13 +2382,21 @@
"dev": true
},
"clone-regexp": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz",
- "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
+ "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
+ "dev": true,
+ "requires": {
+ "is-regexp": "^2.0.0"
+ }
+ },
+ "clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
"dev": true,
"requires": {
- "is-regexp": "^1.0.0",
- "is-supported-regexp-flag": "^1.0.0"
+ "mimic-response": "^1.0.0"
}
},
"code-point-at": {
@@ -2205,9 +2406,9 @@
"dev": true
},
"collapse-white-space": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz",
- "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
+ "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==",
"dev": true
},
"collection-visit": {
@@ -2215,6 +2416,7 @@
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"dev": true,
+ "optional": true,
"requires": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
@@ -2236,20 +2438,11 @@
"dev": true
},
"colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
"dev": true
},
- "combine-lists": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
- "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
- "dev": true,
- "requires": {
- "lodash": "^4.5.0"
- }
- },
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -2259,27 +2452,16 @@
"delayed-stream": "~1.0.0"
}
},
- "combined-stream2": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/combined-stream2/-/combined-stream2-1.1.2.tgz",
- "integrity": "sha1-9uFLegFWZvjHsKH6xQYkAWSsNXA=",
- "dev": true,
- "requires": {
- "bluebird": "^2.8.1",
- "debug": "^2.1.1",
- "stream-length": "^1.0.1"
- }
- },
"commander": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz",
- "integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
"dev": true
},
- "compare-versions": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz",
- "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==",
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"component-bind": {
@@ -2292,7 +2474,8 @@
"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
+ "dev": true,
+ "optional": true
},
"component-inherit": {
"version": "0.0.3",
@@ -2306,51 +2489,33 @@
"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"
- }
- },
- "condense-whitespace": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/condense-whitespace/-/condense-whitespace-1.0.0.tgz",
- "integrity": "sha1-g3bZjvAo5sss0kaOKM5CxcZasak=",
- "dev": true
- },
"configstore": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
- "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
+ "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
"dev": true,
"requires": {
- "dot-prop": "^4.1.0",
+ "dot-prop": "^5.2.0",
"graceful-fs": "^4.1.2",
- "make-dir": "^1.0.0",
- "unique-string": "^1.0.0",
- "write-file-atomic": "^2.0.0",
- "xdg-basedir": "^3.0.0"
+ "make-dir": "^3.0.0",
+ "unique-string": "^2.0.0",
+ "write-file-atomic": "^3.0.0",
+ "xdg-basedir": "^4.0.0"
},
"dependencies": {
"make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"requires": {
- "pify": "^3.0.0"
+ "semver": "^6.0.0"
}
},
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
@@ -2398,28 +2563,23 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true
- },
- "core-js": {
- "version": "2.6.10",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
- "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"core-js-compat": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.2.tgz",
- "integrity": "sha512-W0Aj+LM3EAxxjD0Kp2o4be8UlnxIZHNupBv2znqrheR4aY2nOn91794k/xoSp+SxqqriiZpTsSwBtZr60cbkwQ==",
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
+ "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
"dev": true,
"requires": {
- "browserslist": "^4.7.3",
- "semver": "^6.3.0"
+ "browserslist": "^4.8.5",
+ "semver": "7.0.0"
},
"dependencies": {
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
"dev": true
}
}
@@ -2430,59 +2590,61 @@
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
- "corser": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
- "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=",
- "dev": true
- },
"cosmiconfig": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
"dev": true,
"requires": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.13.1",
- "parse-json": "^4.0.0"
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
}
},
- "create-error-class": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
- "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "cross-env": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.2.tgz",
+ "integrity": "sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw==",
"dev": true,
"requires": {
- "capture-stack-trace": "^1.0.0"
+ "cross-spawn": "^7.0.1"
}
},
- "cross-env": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz",
- "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==",
+ "cross-spawn": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
+ "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
"dev": true,
"requires": {
- "cross-spawn": "^6.0.5"
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
}
},
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
+ "dev": true
+ },
+ "css-select": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"dev": true,
"requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
+ "boolbase": "~1.0.0",
+ "css-what": "2.1",
+ "domutils": "1.5.1",
+ "nth-check": "~1.0.1"
}
},
- "crypto-random-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
- "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "css-what": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
+ "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
"dev": true
},
"cssesc": {
@@ -2516,9 +2678,9 @@
}
},
"date-format": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
- "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
+ "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
"dev": true
},
"debug": {
@@ -2544,21 +2706,30 @@
"requires": {
"decamelize": "^1.1.0",
"map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "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
+ "dev": true,
+ "optional": true
},
"decompress-response": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
- "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
"dev": true,
"requires": {
- "mimic-response": "^2.0.0"
+ "mimic-response": "^1.0.0"
}
},
"deep-extend": {
@@ -2573,24 +2744,6 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "default-require-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
- "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
- "dev": true,
- "requires": {
- "strip-bom": "^3.0.0"
- }
- },
- "default-user-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/default-user-agent/-/default-user-agent-1.0.0.tgz",
- "integrity": "sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY=",
- "dev": true,
- "requires": {
- "os-name": "~1.0.3"
- }
- },
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
@@ -2600,6 +2753,12 @@
"clone": "^1.0.2"
}
},
+ "defer-to-connect": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
+ "dev": true
+ },
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@@ -2614,6 +2773,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^1.0.2",
"isobject": "^3.0.1"
@@ -2624,6 +2784,7 @@
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -2633,6 +2794,7 @@
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -2642,6 +2804,7 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
+ "optional": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -2669,21 +2832,15 @@
"dev": true
},
"dependency-graph": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.8.0.tgz",
- "integrity": "sha512-DCvzSq2UiMsuLnj/9AL484ummEgLtZIcRS7YvtO38QnpX3vqh9nJ8P+zhu8Ja+SmLrBHO2iDbva20jq38qvBkQ==",
- "dev": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz",
+ "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==",
"dev": true
},
- "dev-null": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/dev-null/-/dev-null-0.1.1.tgz",
- "integrity": "sha1-WiBc48Ky73e2I41roXnrdMag6Bg=",
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
},
"di": {
@@ -2699,12 +2856,12 @@
"dev": true
},
"dir-glob": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
- "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
+ "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": "^3.0.0"
+ "path-type": "^4.0.0"
}
},
"doctrine": {
@@ -2729,27 +2886,13 @@
}
},
"dom-serializer": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
- "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
+ "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
"dev": true,
"requires": {
- "domelementtype": "^2.0.1",
- "entities": "^2.0.0"
- },
- "dependencies": {
- "domelementtype": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
- "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
- "dev": true
- },
- "entities": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
- "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==",
- "dev": true
- }
+ "domelementtype": "^1.3.0",
+ "entities": "^1.1.1"
}
},
"domelementtype": {
@@ -2768,9 +2911,9 @@
}
},
"domutils": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
"dev": true,
"requires": {
"dom-serializer": "0",
@@ -2778,12 +2921,12 @@
}
},
"dot-prop": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
- "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
+ "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
"dev": true,
"requires": {
- "is-obj": "^1.0.0"
+ "is-obj": "^2.0.0"
}
},
"duplexer": {
@@ -2817,18 +2960,6 @@
"safer-buffer": "^2.1.0"
}
},
- "ecstatic": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.2.tgz",
- "integrity": "sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog==",
- "dev": true,
- "requires": {
- "he": "^1.1.1",
- "mime": "^1.6.0",
- "minimist": "^1.1.0",
- "url-join": "^2.0.5"
- }
- },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -2836,15 +2967,15 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.314",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.314.tgz",
- "integrity": "sha512-IKDR/xCxKFhPts7h+VaSXS02Z1mznP3fli1BbXWXeN89i2gCzKraU8qLpEid8YzKcmZdZD3Mly3cn5/lY9xsBQ==",
+ "version": "1.3.433",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.433.tgz",
+ "integrity": "sha512-C0gcgwB8RpPAq2Ia6teihNOHOfNzGy4jJXgjIXSmKdt6O2xrJM8CPjA8jTFyo97KozVrZ8oH2FUCixC6Hnuk2g==",
"dev": true
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "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": {
@@ -2948,21 +3079,6 @@
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
"dev": true
},
- "eol": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eol/-/eol-0.2.0.tgz",
- "integrity": "sha1-L22whqJDpG4+Xb0OE0Ncfr6/Cd0=",
- "dev": true
- },
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "requires": {
- "prr": "~1.0.1"
- }
- },
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -2972,28 +3088,23 @@
"is-arrayish": "^0.2.1"
}
},
- "errors": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/errors/-/errors-0.2.0.tgz",
- "integrity": "sha1-D1Hoidqj4RsZ5xhtEfEEqmbrJAM=",
- "dev": true
- },
"es-abstract": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.2.tgz",
- "integrity": "sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==",
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
- "is-callable": "^1.1.4",
- "is-regex": "^1.0.4",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
"object-inspect": "^1.7.0",
"object-keys": "^1.1.1",
- "string.prototype.trimleft": "^2.1.0",
- "string.prototype.trimright": "^2.1.0"
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
}
},
"es-to-primitive": {
@@ -3028,6 +3139,12 @@
"es6-promise": "^4.0.3"
}
},
+ "escape-goat": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
+ "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
+ "dev": true
+ },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -3041,53 +3158,82 @@
"dev": true
},
"eslint": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz",
- "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.0.0.tgz",
+ "integrity": "sha512-qY1cwdOxMONHJfGqw52UOpZDeqXy8xmD0u8CT6jIstil72jkhURC704W8CFyTPDPllz4z4lu0Ql1+07PG/XdIg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "ajv": "^6.9.1",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
"debug": "^4.0.1",
"doctrine": "^3.0.0",
- "eslint-scope": "^4.0.3",
- "eslint-utils": "^1.3.1",
- "eslint-visitor-keys": "^1.0.0",
- "espree": "^5.0.1",
- "esquery": "^1.0.1",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^7.0.0",
+ "esquery": "^1.2.0",
"esutils": "^2.0.2",
"file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1",
- "glob": "^7.1.2",
- "globals": "^11.7.0",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
"ignore": "^4.0.6",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
- "inquirer": "^6.2.2",
- "js-yaml": "^3.13.0",
+ "inquirer": "^7.0.0",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.11",
+ "levn": "^0.4.1",
+ "lodash": "^4.17.14",
"minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
- "path-is-inside": "^1.0.2",
+ "optionator": "^0.9.1",
"progress": "^2.0.0",
- "regexpp": "^2.0.1",
- "semver": "^5.5.1",
- "strip-ansi": "^4.0.0",
- "strip-json-comments": "^2.0.1",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
"table": "^5.2.3",
- "text-table": "^0.2.0"
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"debug": {
@@ -3099,43 +3245,57 @@
"ms": "^2.1.1"
}
},
- "import-fresh": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
- "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
+ "is-glob": "^4.0.1"
}
},
+ "globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
"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
},
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
"dev": true
},
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "has-flag": "^4.0.0"
}
}
}
},
"eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
"dev": true,
"requires": {
"esrecurse": "^4.1.0",
@@ -3143,9 +3303,9 @@
}
},
"eslint-utils": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
- "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
+ "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
"dev": true,
"requires": {
"eslint-visitor-keys": "^1.1.0"
@@ -3158,14 +3318,14 @@
"dev": true
},
"espree": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
- "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.0.0.tgz",
+ "integrity": "sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==",
"dev": true,
"requires": {
- "acorn": "^6.0.7",
- "acorn-jsx": "^5.0.0",
- "eslint-visitor-keys": "^1.0.0"
+ "acorn": "^7.1.1",
+ "acorn-jsx": "^5.2.0",
+ "eslint-visitor-keys": "^1.1.0"
}
},
"esprima": {
@@ -3175,12 +3335,20 @@
"dev": true
},
"esquery": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
- "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
"dev": true,
"requires": {
- "estraverse": "^4.0.0"
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
+ "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
+ "dev": true
+ }
}
},
"esrecurse": {
@@ -3199,9 +3367,9 @@
"dev": true
},
"estree-walker": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
- "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
"dev": true
},
"esutils": {
@@ -3210,75 +3378,31 @@
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true
},
- "eventemitter3": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
- "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==",
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- }
- }
+ "event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "dev": true
},
- "execall": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
- "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
- "dev": true,
- "requires": {
- "clone-regexp": "^1.0.0"
- }
+ "eventemitter3": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.3.tgz",
+ "integrity": "sha512-HyaFeyfTa18nYjft59vEPsvuq6ZVcrCC1rBw6Fx8ZV9NcuUITBNCnTOyr0tHHkkHn//d+lzhsL1YybgtLQ7lng==",
+ "dev": true
},
- "expand-braces": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
- "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
+ "execall": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
+ "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
"dev": true,
"requires": {
- "array-slice": "^0.2.3",
- "array-unique": "^0.2.1",
- "braces": "^0.1.2"
- },
- "dependencies": {
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "braces": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
- "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
- "dev": true,
- "requires": {
- "expand-range": "^0.1.0"
- }
- }
+ "clone-regexp": "^2.1.0"
}
},
"expand-brackets": {
@@ -3286,6 +3410,7 @@
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
+ "optional": true,
"requires": {
"debug": "^2.3.3",
"define-property": "^0.2.5",
@@ -3301,6 +3426,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -3310,42 +3436,13 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
+ "optional": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
- "expand-range": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
- "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
- "dev": true,
- "requires": {
- "is-number": "^0.1.1",
- "repeat-string": "^0.2.2"
- },
- "dependencies": {
- "is-number": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
- "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
- "dev": true
- },
- "repeat-string": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
- "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
- "dev": true
- }
- }
- },
- "expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
- "dev": true
- },
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -3357,6 +3454,7 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
+ "optional": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -3367,6 +3465,7 @@
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
+ "optional": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -3389,6 +3488,7 @@
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"dev": true,
+ "optional": true,
"requires": {
"array-unique": "^0.3.2",
"define-property": "^1.0.0",
@@ -3405,6 +3505,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -3414,6 +3515,7 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
+ "optional": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -3423,6 +3525,7 @@
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -3432,6 +3535,7 @@
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -3441,6 +3545,7 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
+ "optional": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -3456,29 +3561,83 @@
"dev": true
},
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
"dev": true
},
"fast-glob": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
- "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
+ "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
"dev": true,
"requires": {
- "@mrmlnc/readdir-enhanced": "^2.2.1",
- "@nodelib/fs.stat": "^1.1.2",
- "glob-parent": "^3.1.0",
- "is-glob": "^4.0.0",
- "merge2": "^1.2.3",
- "micromatch": "^3.1.10"
+ "@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"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "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
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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"
+ }
+ }
}
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "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": {
@@ -3487,10 +3646,19 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
+ "fastq": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz",
+ "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
"figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
"dev": true,
"requires": {
"escape-string-regexp": "^1.0.5"
@@ -3505,21 +3673,19 @@
"flat-cache": "^2.0.1"
}
},
- "fileset": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
- "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
+ "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,
- "requires": {
- "glob": "^7.0.3",
- "minimatch": "^3.0.3"
- }
+ "optional": true
},
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
+ "optional": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-number": "^3.0.0",
@@ -3532,6 +3698,7 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
+ "optional": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -3554,34 +3721,91 @@
}
},
"find-unused-sass-variables": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/find-unused-sass-variables/-/find-unused-sass-variables-0.6.0.tgz",
- "integrity": "sha512-quR9x0cwJzpVFzWq741HASlqD/YOBcIQRKuUlZf05VrVuTU8ng3Nai+BQrRIg7DxcLdA+K/274Up+yNAjANi6w==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/find-unused-sass-variables/-/find-unused-sass-variables-2.0.0.tgz",
+ "integrity": "sha512-P9QHY8AUkREpnAwCgzUysQJ5Z+Uf9NR3wpaeVN1886nNPXGxy4tgapdVzieYX9ISMi5akJGEKr0hrpzFcFMLQA==",
"dev": true,
"requires": {
- "chalk": "^2.4.2",
- "commander": "^2.20.1",
- "glob": "^7.1.4",
- "ora": "^3.4.0",
- "postcss": "^7.0.18",
+ "chalk": "^4.0.0",
+ "commander": "^5.1.0",
+ "escape-string-regexp": "^4.0.0",
+ "glob": "^7.1.6",
+ "ora": "^4.0.4",
+ "postcss": "^7.0.27",
"postcss-scss": "^2.0.0"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"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==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
}
}
},
"find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"dev": true,
"requires": {
- "locate-path": "^3.0.0"
+ "locate-path": "^2.0.0"
}
},
"flat-cache": {
@@ -3596,9 +3820,9 @@
}
},
"flatted": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
- "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
+ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
"follow-redirects": {
@@ -3625,7 +3849,8 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"forever-agent": {
"version": "0.6.1",
@@ -3644,47 +3869,20 @@
"mime-types": "^2.1.12"
}
},
- "form-data2": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/form-data2/-/form-data2-1.0.3.tgz",
- "integrity": "sha1-y6XiNgGmlE2Vq31xEf+Tl6XLKk0=",
- "dev": true,
- "requires": {
- "bluebird": "^2.8.2",
- "combined-stream2": "^1.0.2",
- "debug": "^2.1.1",
- "lodash": "^2.4.1",
- "mime": "^1.2.11",
- "uuid": "^2.0.1"
- },
- "dependencies": {
- "lodash": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
- "dev": true
- }
- }
- },
- "form-fix-array": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/form-fix-array/-/form-fix-array-1.0.0.tgz",
- "integrity": "sha1-oTR6R+UxF6t7zb8+Lz7JHGZ2m8g=",
- "dev": true
- },
"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,
+ "optional": true,
"requires": {
"map-cache": "^0.2.2"
}
},
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true
},
"fs-extra": {
@@ -3711,551 +3909,14 @@
"dev": true
},
"fsevents": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
- "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+ "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": {
- "nan": "^2.12.1",
- "node-pre-gyp": "^0.12.0"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "debug": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "dev": true,
- "optional": 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"
- }
- },
- "glob": {
- "version": "7.1.3",
- "bundled": true,
- "dev": true,
- "optional": 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"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minipass": {
- "version": "2.3.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.2.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "needle": {
- "version": "2.3.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "^4.1.0",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.12.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "npm-bundled": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.4.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.8",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "optional": 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"
- }
- },
- "rimraf": {
- "version": "2.6.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "semver": {
- "version": "5.7.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.8",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.3.4",
- "minizlib": "^1.1.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "yallist": {
- "version": "3.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- }
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
}
},
"fstream": {
@@ -4298,10 +3959,88 @@
"wide-align": "^1.1.0"
},
"dependencies": {
- "object-assign": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "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"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "gaxios": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-3.0.3.tgz",
+ "integrity": "sha512-PkzQludeIFhd535/yucALT/Wxyj/y2zLyrMwPcJmnLHDugmV49NvAi/vb+VUq/eWztATZCNcb8ue+ywPG+oLuw==",
+ "dev": true,
+ "requires": {
+ "abort-controller": "^3.0.0",
+ "extend": "^3.0.2",
+ "https-proxy-agent": "^5.0.0",
+ "is-stream": "^2.0.0",
+ "node-fetch": "^2.3.0"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz",
+ "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==",
+ "dev": true,
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "debug": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dev": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "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
}
}
@@ -4315,10 +4054,16 @@
"globule": "^1.0.0"
}
},
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true
+ },
"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==",
+ "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-stdin": {
@@ -4328,16 +4073,20 @@
"dev": true
},
"get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
},
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"getpass": {
"version": "0.1.7",
@@ -4348,21 +4097,6 @@
"assert-plus": "^1.0.0"
}
},
- "github-build": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.1.tgz",
- "integrity": "sha512-VAT4NFU8hm9Ks5yNKuuczD2zMbmouAKHtxtwvmCj34Q2DpZsjgp3LLjtrKlm/YvGSzSNGmj22ccJQQei+f/vIw==",
- "dev": true,
- "requires": {
- "axios": "0.19.0"
- }
- },
- "github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
- "dev": true
- },
"glob": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -4382,6 +4116,7 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
+ "optional": true,
"requires": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
@@ -4392,25 +4127,20 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
+ "optional": true,
"requires": {
"is-extglob": "^2.1.0"
}
}
}
},
- "glob-to-regexp": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
- "dev": true
- },
"global-dirs": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
- "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz",
+ "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==",
"dev": true,
"requires": {
- "ini": "^1.3.4"
+ "ini": "^1.3.5"
}
},
"global-modules": {
@@ -4431,6 +4161,17 @@
"ini": "^1.3.5",
"kind-of": "^6.0.2",
"which": "^1.3.1"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
}
},
"globals": {
@@ -4440,19 +4181,31 @@
"dev": true
},
"globby": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
- "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz",
+ "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==",
"dev": true,
"requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^1.0.2",
- "dir-glob": "^2.2.2",
- "fast-glob": "^2.2.6",
- "glob": "^7.1.3",
- "ignore": "^4.0.3",
- "pify": "^4.0.1",
- "slash": "^2.0.0"
+ "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"
+ },
+ "dependencies": {
+ "ignore": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
+ "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ }
}
},
"globjoin": {
@@ -4462,74 +4215,58 @@
"dev": true
},
"globule": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
- "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz",
+ "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==",
"dev": true,
"requires": {
"glob": "~7.1.1",
- "lodash": "~4.17.10",
+ "lodash": "~4.17.12",
"minimatch": "~3.0.2"
}
},
"gonzales-pe": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.4.tgz",
- "integrity": "sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
+ "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
"dev": true,
"requires": {
- "minimist": "1.1.x"
- },
- "dependencies": {
- "minimist": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
- "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
- "dev": true
- }
+ "minimist": "^1.2.5"
}
},
"got": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz",
- "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "version": "9.6.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
+ "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
"dev": true,
"requires": {
- "create-error-class": "^3.0.0",
+ "@sindresorhus/is": "^0.14.0",
+ "@szmarczak/http-timer": "^1.1.2",
+ "cacheable-request": "^6.0.0",
+ "decompress-response": "^3.3.0",
"duplexer3": "^0.1.4",
- "get-stream": "^3.0.0",
- "is-redirect": "^1.0.0",
- "is-retry-allowed": "^1.0.0",
- "is-stream": "^1.0.0",
- "lowercase-keys": "^1.0.0",
- "safe-buffer": "^5.0.1",
- "timed-out": "^4.0.0",
- "unzip-response": "^2.0.1",
- "url-parse-lax": "^1.0.0"
+ "get-stream": "^4.1.0",
+ "lowercase-keys": "^1.0.1",
+ "mimic-response": "^1.0.1",
+ "p-cancelable": "^1.0.0",
+ "to-readable-stream": "^1.0.0",
+ "url-parse-lax": "^3.0.0"
}
},
"graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
"dev": true
},
"gzip-size": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz",
- "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
+ "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
"dev": true,
"requires": {
"duplexer": "^0.1.1",
- "pify": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
+ "pify": "^4.0.1"
}
},
"hammer-simulator": {
@@ -4538,26 +4275,6 @@
"integrity": "sha1-7tO85CtDMgF1o/T4NP4gjl+iSho=",
"dev": true
},
- "handlebars": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz",
- "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==",
- "dev": true,
- "requires": {
- "neo-async": "^2.6.0",
- "optimist": "^0.6.1",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@@ -4574,6 +4291,12 @@
"har-schema": "^2.0.0"
}
},
+ "hard-rejection": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+ "dev": true
+ },
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -4590,6 +4313,14 @@
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ }
}
},
"has-binary2": {
@@ -4638,6 +4369,7 @@
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
"dev": true,
+ "optional": true,
"requires": {
"get-value": "^2.0.6",
"has-values": "^1.0.0",
@@ -4649,6 +4381,7 @@
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
+ "optional": true,
"requires": {
"is-number": "^3.0.0",
"kind-of": "^4.0.0"
@@ -4659,28 +4392,35 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
+ "optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "has-yarn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
+ "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
"dev": true
},
"hosted-git-info": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
- "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true
},
"html-tags": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
- "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
+ "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
"dev": true
},
"htmlparser2": {
@@ -4698,9 +4438,9 @@
},
"dependencies": {
"readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -4710,10 +4450,10 @@
}
}
},
- "http-equiv-refresh": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz",
- "integrity": "sha1-jsU4hmBCvl8/evpzfRmNlL6xsHs=",
+ "http-cache-semantics": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
"dev": true
},
"http-errors": {
@@ -4748,22 +4488,6 @@
"requires-port": "^1.0.0"
}
},
- "http-server": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.11.1.tgz",
- "integrity": "sha512-6JeGDGoujJLmhjiRGlt8yK8Z9Kl0vnl/dQoQZlc4oeqaUoAKQg94NILLfrY3oWzSyFaQCVNTcKE5PZ3cH8VP9w==",
- "dev": true,
- "requires": {
- "colors": "1.0.3",
- "corser": "~2.0.0",
- "ecstatic": "^3.0.0",
- "http-proxy": "^1.8.1",
- "opener": "~1.4.0",
- "optimist": "0.6.x",
- "portfinder": "^1.0.13",
- "union": "~0.4.3"
- }
- },
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
@@ -4802,12 +4526,6 @@
}
}
},
- "humanize-duration": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.21.0.tgz",
- "integrity": "sha512-7BLsrQZ2nMGeakmGDUl1pDne6/7iAdvwf1RtDLCOPHNFIHjkOVW7lcu7xHkIM9HhZAlSSO5crhC1dHvtl4dIQw==",
- "dev": true
- },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -4829,19 +4547,6 @@
"integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
"dev": true
},
- "iltorb": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-2.4.4.tgz",
- "integrity": "sha512-7Qk6O7TK3rSWVRVRkPehcNTSN+P2i7MsG9pWmw6iVw/W6NcoNj0rFKOuBDM6fbZV6NNGuUW3JBRem6Ozn4KXhg==",
- "dev": true,
- "requires": {
- "detect-libc": "^1.0.3",
- "nan": "^2.14.0",
- "npmlog": "^4.1.2",
- "prebuild-install": "^5.3.2",
- "which-pm-runs": "^1.0.0"
- }
- },
"import-cwd": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
@@ -4852,23 +4557,20 @@
}
},
"import-fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
"dev": true,
"requires": {
- "caller-path": "^2.0.0",
- "resolve-from": "^3.0.0"
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
},
"dependencies": {
- "caller-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
- "dev": true,
- "requires": {
- "caller-callsite": "^2.0.0"
- }
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
}
}
},
@@ -4879,6 +4581,14 @@
"dev": true,
"requires": {
"resolve-from": "^3.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ }
}
},
"import-lazy": {
@@ -4894,19 +4604,16 @@
"dev": true
},
"in-publish": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
- "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+ "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": "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"
- }
+ "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
},
"indexes-of": {
"version": "1.0.1",
@@ -4943,74 +4650,74 @@
"dev": true
},
"inquirer": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
- "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
+ "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
"dev": true,
"requires": {
- "ansi-escapes": "^3.2.0",
- "chalk": "^2.4.2",
- "cli-cursor": "^2.1.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "cli-cursor": "^3.1.0",
"cli-width": "^2.0.0",
"external-editor": "^3.0.3",
- "figures": "^2.0.0",
- "lodash": "^4.17.12",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rxjs": "^6.4.0",
- "string-width": "^2.1.0",
- "strip-ansi": "^5.1.0",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.15",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.4.0",
+ "rxjs": "^6.5.3",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
"through": "^2.3.6"
},
"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": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
},
- "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
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
},
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "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": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "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"
- }
- }
+ "color-name": "~1.1.4"
}
},
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "ansi-regex": "^4.1.0"
- },
- "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
- }
+ "has-flag": "^4.0.0"
}
}
}
@@ -5030,12 +4737,6 @@
"loose-envify": "^1.0.0"
}
},
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
- },
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@@ -5047,6 +4748,7 @@
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -5056,6 +4758,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
+ "optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -5063,9 +4766,9 @@
}
},
"is-alphabetical": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz",
- "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
"dev": true
},
"is-alphanumeric": {
@@ -5075,9 +4778,9 @@
"dev": true
},
"is-alphanumerical": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz",
- "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
"dev": true,
"requires": {
"is-alphabetical": "^1.0.0",
@@ -5095,35 +4798,31 @@
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
"dev": true,
+ "optional": true,
"requires": {
"binary-extensions": "^1.0.0"
}
},
- "is-browser": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz",
- "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==",
- "dev": true
- },
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
"dev": true
},
"is-ci": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
- "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
"dev": true,
"requires": {
- "ci-info": "^1.5.0"
+ "ci-info": "^2.0.0"
}
},
"is-data-descriptor": {
@@ -5131,6 +4830,7 @@
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -5140,6 +4840,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
+ "optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -5147,15 +4848,15 @@
}
},
"is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
"dev": true
},
"is-decimal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz",
- "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
"dev": true
},
"is-descriptor": {
@@ -5163,6 +4864,7 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
"dev": true,
+ "optional": true,
"requires": {
"is-accessor-descriptor": "^0.1.6",
"is-data-descriptor": "^0.1.4",
@@ -5173,7 +4875,8 @@
"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
+ "dev": true,
+ "optional": true
}
}
},
@@ -5183,11 +4886,18 @@
"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
"dev": true
},
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+ "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "dev": true
+ },
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"is-extglob": {
"version": "2.1.1",
@@ -5196,22 +4906,16 @@
"dev": true
},
"is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
+ "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"
- }
+ "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
},
"is-glob": {
"version": "4.0.1",
@@ -5223,21 +4927,27 @@
}
},
"is-hexadecimal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz",
- "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
"dev": true
},
"is-installed-globally": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
- "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
+ "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
"dev": true,
"requires": {
- "global-dirs": "^0.1.0",
- "is-path-inside": "^1.0.0"
+ "global-dirs": "^2.0.1",
+ "is-path-inside": "^3.0.1"
}
},
+ "is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "dev": true
+ },
"is-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
@@ -5245,9 +4955,9 @@
"dev": true
},
"is-npm": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
- "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
+ "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
"dev": true
},
"is-number": {
@@ -5255,6 +4965,7 @@
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -5264,6 +4975,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
+ "optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -5271,25 +4983,16 @@
}
},
"is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
- "dev": true
- },
- "is-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
- "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"dev": true
},
"is-path-inside": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
- "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
- "dev": true,
- "requires": {
- "path-is-inside": "^1.0.1"
- }
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
+ "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
+ "dev": true
},
"is-plain-obj": {
"version": "1.1.0",
@@ -5302,22 +5005,11 @@
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
+ "optional": true,
"requires": {
"isobject": "^3.0.1"
}
},
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
- "dev": true
- },
- "is-redirect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
- "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
- "dev": true
- },
"is-reference": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz",
@@ -5328,42 +5020,24 @@
}
},
"is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
"dev": true,
"requires": {
- "has": "^1.0.1"
+ "has": "^1.0.3"
}
},
"is-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
- "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
- "dev": true
- },
- "is-retry-allowed": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
- "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
+ "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
"dev": true
},
"is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
- },
- "is-string": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz",
- "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=",
- "dev": true
- },
- "is-supported-regexp-flag": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz",
- "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
"dev": true
},
"is-symbol": {
@@ -5388,27 +5062,37 @@
"dev": true
},
"is-whitespace-character": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz",
- "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
+ "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==",
"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
+ "dev": true,
+ "optional": true
},
"is-word-character": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz",
- "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
+ "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==",
"dev": true
},
"is-wsl": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
- "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "is-yarn-global": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
+ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
"dev": true
},
"isarray": {
@@ -5418,18 +5102,9 @@
"dev": true
},
"isbinaryfile": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
- "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
- "dev": true,
- "requires": {
- "buffer-alloc": "^1.2.0"
- }
- },
- "isbot": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/isbot/-/isbot-2.5.3.tgz",
- "integrity": "sha512-ayuu8vZnStKb8w0VYv0RRyiP/M8Lsrtfow1s4sE3l4r+q15H8rpR9rW3wJtW8D0vp1UYj3nTOWndNGoyF6Gu2A==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
+ "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==",
"dev": true
},
"isexe": {
@@ -5442,7 +5117,8 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"isstream": {
"version": "0.1.2",
@@ -5450,55 +5126,22 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
- "istanbul-api": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.6.tgz",
- "integrity": "sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA==",
- "dev": true,
- "requires": {
- "async": "^2.6.2",
- "compare-versions": "^3.4.0",
- "fileset": "^2.0.3",
- "istanbul-lib-coverage": "^2.0.5",
- "istanbul-lib-hook": "^2.0.7",
- "istanbul-lib-instrument": "^3.3.0",
- "istanbul-lib-report": "^2.0.8",
- "istanbul-lib-source-maps": "^3.0.6",
- "istanbul-reports": "^2.2.4",
- "js-yaml": "^3.13.1",
- "make-dir": "^2.1.0",
- "minimatch": "^3.0.4",
- "once": "^1.4.0"
- }
- },
"istanbul-lib-coverage": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
- "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
+ "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
"dev": true
},
- "istanbul-lib-hook": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz",
- "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==",
- "dev": true,
- "requires": {
- "append-transform": "^1.0.0"
- }
- },
"istanbul-lib-instrument": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
- "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
"dev": true,
"requires": {
- "@babel/generator": "^7.4.0",
- "@babel/parser": "^7.4.3",
- "@babel/template": "^7.4.0",
- "@babel/traverse": "^7.4.3",
- "@babel/types": "^7.4.0",
- "istanbul-lib-coverage": "^2.0.5",
- "semver": "^6.0.0"
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
},
"dependencies": {
"semver": {
@@ -5510,23 +5153,44 @@
}
},
"istanbul-lib-report": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
- "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
"dev": true,
"requires": {
- "istanbul-lib-coverage": "^2.0.5",
- "make-dir": "^2.1.0",
- "supports-color": "^6.1.0"
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
},
"dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
"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==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
}
}
}
@@ -5553,6 +5217,12 @@
"ms": "^2.1.1"
}
},
+ "istanbul-lib-coverage": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "dev": true
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -5568,30 +5238,25 @@
}
},
"istanbul-reports": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
- "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
+ "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
"dev": true,
"requires": {
- "handlebars": "^4.1.2"
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
}
},
"jquery": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
- "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==",
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
+ "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==",
"dev": true
},
"js-base64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
- "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
- "dev": true
- },
- "js-levenshtein": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
- "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz",
+ "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==",
"dev": true
},
"js-reporters": {
@@ -5628,6 +5293,12 @@
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true
},
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+ "dev": true
+ },
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -5659,14 +5330,20 @@
"dev": true
},
"json5": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
- "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
"dev": true,
"requires": {
- "minimist": "^1.2.0"
+ "minimist": "^1.2.5"
}
},
+ "jsonexport": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/jsonexport/-/jsonexport-2.4.1.tgz",
+ "integrity": "sha512-8O+yka4X6KxVMJDnzQh7NaoqgNX96gMbX7jb2JMb3CfxXfEvPpRpYyb+2/HpKjxR7Abr7zlvqxV4/cpqmExPSw==",
+ "dev": true
+ },
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
@@ -5676,6 +5353,12 @@
"graceful-fs": "^4.1.6"
}
},
+ "jsonpack": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/jsonpack/-/jsonpack-1.1.5.tgz",
+ "integrity": "sha1-1CsNz9kaxY7zEQ+W0sWZQEw9wnw=",
+ "dev": true
+ },
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -5689,70 +5372,147 @@
}
},
"just-extend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz",
- "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.1.0.tgz",
+ "integrity": "sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==",
"dev": true
},
"karma": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.4.tgz",
- "integrity": "sha512-31Vo8Qr5glN+dZEVIpnPCxEGleqE0EY6CtC2X9TagRV3rRQ3SNrvfhddICkJgUK3AgqpeKSZau03QumTGhGoSw==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.5.tgz",
+ "integrity": "sha512-Q4Su7kNwkTgqS+KbSCYgH0p4a/0JIxVLyp7qKNV7vgPNhIF4kIoh0GlUfMKpw67BrR3hgPQSJoxgF7xnzUtPpg==",
"dev": true,
"requires": {
- "bluebird": "^3.3.0",
"body-parser": "^1.16.1",
- "chokidar": "^2.0.3",
+ "braces": "^3.0.2",
+ "chokidar": "^3.0.0",
"colors": "^1.1.0",
- "combine-lists": "^1.0.0",
"connect": "^3.6.0",
- "core-js": "^2.2.0",
"di": "^0.0.1",
"dom-serialize": "^2.2.0",
- "expand-braces": "^0.1.1",
"flatted": "^2.0.0",
"glob": "^7.1.1",
"graceful-fs": "^4.1.2",
"http-proxy": "^1.13.0",
- "isbinaryfile": "^3.0.0",
- "lodash": "^4.17.5",
- "log4js": "^3.0.0",
+ "isbinaryfile": "^4.0.2",
+ "lodash": "^4.17.14",
+ "log4js": "^4.0.0",
"mime": "^2.3.1",
"minimatch": "^3.0.2",
- "optimist": "^0.6.1",
"qjobs": "^1.1.4",
"range-parser": "^1.2.0",
"rimraf": "^2.6.0",
- "safe-buffer": "^5.0.1",
"socket.io": "2.1.1",
"source-map": "^0.6.1",
"tmp": "0.0.33",
- "useragent": "2.3.0"
+ "ua-parser-js": "0.7.21",
+ "yargs": "^15.3.1"
},
"dependencies": {
- "bluebird": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
- "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==",
- "dev": true
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
},
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
"dev": true
},
- "mime": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
- "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
+ "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"
+ }
+ },
+ "chokidar": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
+ "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.4.0"
+ }
+ },
+ "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"
+ }
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "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-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
+ "readdirp": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
+ "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
"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
+ },
+ "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"
+ }
}
}
},
@@ -5774,15 +5534,29 @@
"dev": true,
"requires": {
"which": "^1.2.1"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
}
},
"karma-coverage-istanbul-reporter": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.1.tgz",
- "integrity": "sha512-CH8lTi8+kKXGvrhy94+EkEMldLCiUA0xMOiL31vvli9qK0T+qcXJAwWBRVJWnVWxYkTmyWar8lPz63dxX6/z1A==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.2.tgz",
+ "integrity": "sha512-pg23tKKF867UIJUIZF252cNbiBnuMIPOMkeiULzjysr9K267Js2O/SoQBL1PCPctJVzvhOkE47yQPUKrWtyl6w==",
"dev": true,
"requires": {
- "istanbul-api": "^2.1.6",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^3.0.6",
+ "istanbul-reports": "^3.0.2",
"minimatch": "^3.0.4"
}
},
@@ -5793,21 +5567,32 @@
"dev": true,
"requires": {
"which": "^1.2.4"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
}
},
"karma-firefox-launcher": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.2.0.tgz",
- "integrity": "sha512-j9Zp8M8+VLq1nI/5xZGfzeaEPtGQ/vk3G+Y8vpmFWLvKLNZ2TDjD6cu2dUu7lDbu1HXNgatsAX4jgCZTkR9qhQ==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.3.0.tgz",
+ "integrity": "sha512-Fi7xPhwrRgr+94BnHX0F5dCl1miIW4RHnzjIGxF8GaIEp7rNqX7LSi7ok63VXs3PS/5MQaQMhGxw+bvD+pibBQ==",
"dev": true,
"requires": {
"is-wsl": "^2.1.0"
}
},
"karma-qunit": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/karma-qunit/-/karma-qunit-3.1.3.tgz",
- "integrity": "sha512-RX2M2bmk3/LMJJ8BwddmKMe/nom5QXdQmbpeB7t8tf8CSy4FQaR+m3+ONuHlPsgA8snbfcZiG/KHLhN1cvi98A==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/karma-qunit/-/karma-qunit-4.1.1.tgz",
+ "integrity": "sha512-sl4rSTGK1fXWyXdNu8ySQvsf77OuJ1gQg9gbHIj0V05h4FvcNogpirO7R4ijU4L7ioXk8WupvSJZHE7QI9B7uQ==",
"dev": true
},
"karma-sinon": {
@@ -5816,68 +5601,137 @@
"integrity": "sha1-TjRD8oMP3s/2JNN0cWPxIX2qKpo=",
"dev": true
},
+ "keyv": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
+ "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.0"
+ }
+ },
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "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
},
"known-css-properties": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz",
- "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==",
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.18.0.tgz",
+ "integrity": "sha512-69AgJ1rQa7VvUsd2kpvVq+VeObDuo3zrj0CzM5Slmf6yduQFAI2kXPDQJR2IE/u6MSAUOJrwSzjg5vlz8qcMiw==",
"dev": true
},
"latest-version": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
- "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
- "dev": true,
- "requires": {
- "package-json": "^4.0.0"
- }
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
+ "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
"dev": true,
"requires": {
- "invert-kv": "^1.0.0"
+ "package-json": "^6.3.0"
}
},
"leven": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
- "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"dev": true
},
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "levenary": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
+ "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
+ "leven": "^3.1.0"
}
},
- "limited-request-queue": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/limited-request-queue/-/limited-request-queue-2.0.0.tgz",
- "integrity": "sha1-FMfBILE4BgsZoqEDCrr2aTVyZQ0=",
+ "levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
"requires": {
- "is-browser": "^2.0.1",
- "parse-domain": "~0.2.0"
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
}
},
- "link-types": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/link-types/-/link-types-1.1.0.tgz",
- "integrity": "sha1-r2XlnbUucMH/sYrEw8sFa/55aDA=",
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
"dev": true
},
+ "linkinator": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/linkinator/-/linkinator-2.1.1.tgz",
+ "integrity": "sha512-9RhsrcVwG7MgcO0pJIDHyJnrkRY9h2jJEqRFQIOFVpw1f3n/g0oDBbCfa67XTpj+KMEbEnCkoqeGRUteqMdXOg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.0.0",
+ "cheerio": "^1.0.0-rc.2",
+ "finalhandler": "^1.1.2",
+ "gaxios": "^3.0.0",
+ "jsonexport": "^2.4.1",
+ "meow": "^7.0.0",
+ "p-queue": "^6.2.1",
+ "serve-static": "^1.14.1",
+ "server-destroy": "^1.0.1",
+ "update-notifier": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"listenercount": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz",
@@ -5885,85 +5739,140 @@
"dev": true
},
"load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "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": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
},
"dependencies": {
+ "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"
+ }
+ },
"pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"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==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"dev": true,
"requires": {
- "p-locate": "^3.0.0",
+ "p-locate": "^2.0.0",
"path-exists": "^3.0.0"
}
},
+ "lockfile-lint": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/lockfile-lint/-/lockfile-lint-4.2.2.tgz",
+ "integrity": "sha512-9mr2eiFlIhr9AIlmpQlAeSd7Aov+7viRShnzymaFF4lUO6si7mODueTG5fWH0Jnb49nL0Tjsudw5lD/nu4qVqA==",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "^6.0.0",
+ "debug": "^4.1.1",
+ "lockfile-lint-api": "^5.1.2",
+ "yargs": "^15.0.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.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "lockfile-lint-api": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/lockfile-lint-api/-/lockfile-lint-api-5.1.2.tgz",
+ "integrity": "sha512-ePXCaoGFxXf8ggGPw+rxaopOMQaBm4HrV5iILVvx8qR406R4HEW9MyReEVHaP0IGxp45rzPm/euimkS78icbGg==",
+ "dev": true,
+ "requires": {
+ "@yarnpkg/lockfile": "^1.1.0",
+ "debug": "^4.1.1",
+ "object-hash": "^2.0.1"
+ },
+ "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.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
},
- "lodash.isboolean": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
- "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=",
- "dev": true
- },
- "lodash.isregexp": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.isregexp/-/lodash.isregexp-4.0.1.tgz",
- "integrity": "sha1-4T5kezDNVZdSoEzZEghvr32hwws=",
- "dev": true
- },
- "lodash.isstring": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
- "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
+ "lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
"log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+ "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
"dev": true,
"requires": {
- "chalk": "^2.0.1"
+ "chalk": "^2.4.2"
}
},
"log4js": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz",
- "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==",
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz",
+ "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==",
"dev": true,
"requires": {
- "circular-json": "^0.5.5",
- "date-format": "^1.2.0",
- "debug": "^3.1.0",
- "rfdc": "^1.1.2",
- "streamroller": "0.7.0"
+ "date-format": "^2.0.0",
+ "debug": "^4.1.1",
+ "flatted": "^2.0.0",
+ "rfdc": "^1.1.4",
+ "streamroller": "^1.0.6"
},
"dependencies": {
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "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"
@@ -5984,9 +5893,9 @@
"dev": true
},
"longest-streak": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz",
- "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
+ "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
"dev": true
},
"loose-envify": {
@@ -6025,9 +5934,9 @@
}
},
"magic-string": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
- "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
+ "version": "0.25.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+ "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
"dev": true,
"requires": {
"sourcemap-codec": "^1.4.4"
@@ -6043,25 +5952,17 @@
"semver": "^5.6.0"
}
},
- "map-age-cleaner": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
- "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
- "dev": true,
- "requires": {
- "p-defer": "^1.0.0"
- }
- },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
"dev": true
},
"map-visit": {
@@ -6069,41 +5970,39 @@
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
"dev": true,
+ "optional": true,
"requires": {
"object-visit": "^1.0.0"
}
},
"markdown-escapes": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz",
- "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
+ "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==",
"dev": true
},
"markdown-table": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
- "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==",
- "dev": true
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
+ "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
+ "dev": true,
+ "requires": {
+ "repeat-string": "^1.0.0"
+ }
},
"mathml-tag-names": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz",
- "integrity": "sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw==",
- "dev": true
- },
- "maybe-callback": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/maybe-callback/-/maybe-callback-2.1.0.tgz",
- "integrity": "sha1-ivoLp7aRp6sSPn8S9l4yu10fgkM=",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
+ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
"dev": true
},
"mdast-util-compact": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz",
- "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz",
+ "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==",
"dev": true,
"requires": {
- "unist-util-visit": "^1.1.0"
+ "unist-util-visit": "^2.0.0"
}
},
"media-typer": {
@@ -6112,25 +6011,6 @@
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
- "mem": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
- "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^2.0.0",
- "p-is-promise": "^2.0.0"
- },
- "dependencies": {
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- }
- }
- },
"memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
@@ -6138,116 +6018,37 @@
"dev": true
},
"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"
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
+ "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "arrify": "^2.0.1",
+ "camelcase": "^6.0.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "^4.0.2",
+ "normalize-package-data": "^2.5.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.13.1",
+ "yargs-parser": "^18.1.3"
},
"dependencies": {
- "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"
- }
- },
- "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"
- }
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "camelcase": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
+ "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
"dev": true
},
- "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"
- }
- },
- "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-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"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "type-fest": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
+ "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
"dev": true
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- }
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
- }
- },
- "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"
- }
}
}
},
@@ -6262,6 +6063,7 @@
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true,
+ "optional": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
@@ -6279,36 +6081,42 @@
}
},
"mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz",
+ "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==",
"dev": true
},
"mime-db": {
- "version": "1.42.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz",
- "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==",
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
"dev": true
},
"mime-types": {
- "version": "2.1.25",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz",
- "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==",
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"dev": true,
"requires": {
- "mime-db": "1.42.0"
+ "mime-db": "1.44.0"
}
},
"mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
"mimic-response": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.0.0.tgz",
- "integrity": "sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true
+ },
+ "min-indent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz",
+ "integrity": "sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=",
"dev": true
},
"minimatch": {
@@ -6321,19 +6129,27 @@
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
},
"minimist-options": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
- "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.0.2.tgz",
+ "integrity": "sha512-seq4hpWkYSUh1y7NXxzucwAN9yVlBc3Upgdjz8vLCP97jG8kaOmzYrVH/m7tQ1NYD1wdtZbSLfdy4zFmRWuc/w==",
"dev": true,
"requires": {
"arrify": "^1.0.1",
"is-plain-obj": "^1.1.0"
+ },
+ "dependencies": {
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ }
}
},
"mixin-deep": {
@@ -6341,6 +6157,7 @@
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
"integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
"dev": true,
+ "optional": true,
"requires": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
@@ -6351,6 +6168,7 @@
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
+ "optional": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -6358,20 +6176,12 @@
}
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "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": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- }
+ "minimist": "^1.2.5"
}
},
"ms": {
@@ -6381,15 +6191,15 @@
"dev": true
},
"mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
"dev": true
},
"nan": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
- "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
+ "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
"dev": true
},
"nanomatch": {
@@ -6397,6 +6207,7 @@
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
"integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
"dev": true,
+ "optional": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
@@ -6411,12 +6222,6 @@
"to-regex": "^3.0.1"
}
},
- "napi-build-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz",
- "integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==",
- "dev": true
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -6429,12 +6234,6 @@
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
"dev": true
},
- "neo-async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
- "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
- "dev": true
- },
"nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
@@ -6442,26 +6241,34 @@
"dev": true
},
"nise": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.2.tgz",
- "integrity": "sha512-/6RhOUlicRCbE9s+94qCUsyE+pKlVJ5AhIv+jEE7ESKwnbXqulKZ1FYU+XAtHHWE9TinYvAxDUJAb912PwPoWA==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.3.tgz",
+ "integrity": "sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==",
"dev": true,
"requires": {
"@sinonjs/formatio": "^3.2.1",
"@sinonjs/text-encoding": "^0.7.1",
"just-extend": "^4.0.2",
- "lolex": "^4.1.0",
+ "lolex": "^5.0.1",
"path-to-regexp": "^1.7.0"
+ },
+ "dependencies": {
+ "lolex": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
+ "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ }
}
},
- "node-abi": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.12.0.tgz",
- "integrity": "sha512-VhPBXCIcvmo/5K8HPmnWJyyhvgKxnHTUMXR/XwGHV68+wrgkzST4UmQrY/XszSWA5dtnXpNp528zkcyJ/pzVcw==",
- "dev": true,
- "requires": {
- "semver": "^5.4.1"
- }
+ "node-fetch": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
+ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
+ "dev": true
},
"node-gyp": {
"version": "3.8.0",
@@ -6488,30 +6295,28 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
"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"
+ }
}
}
},
"node-releases": {
- "version": "1.1.41",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz",
- "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==",
- "dev": true,
- "requires": {
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
+ "version": "1.1.55",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.55.tgz",
+ "integrity": "sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==",
+ "dev": true
},
"node-sass": {
- "version": "4.13.0",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz",
- "integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==",
+ "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",
@@ -6528,17 +6333,39 @@
"node-gyp": "^3.8.0",
"npmlog": "^4.0.0",
"request": "^2.88.0",
- "sass-graph": "^2.2.4",
+ "sass-graph": "2.2.5",
"stdout-stream": "^1.4.0",
"true-case-path": "^1.0.2"
},
"dependencies": {
+ "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
},
+ "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"
+ }
+ },
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
@@ -6562,11 +6389,144 @@
"which": "^1.2.9"
}
},
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "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-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"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "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-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
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "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"
+ }
}
}
},
@@ -6577,12 +6537,12 @@
"dev": true
},
"nodemon": {
- "version": "1.19.4",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.19.4.tgz",
- "integrity": "sha512-VGPaqQBNk193lrJFotBU8nvWZPqEZY2eIzymy2jjY0fJ9qIsxA0sxQ8ATPl0gZC645gijYEc1jtZvpS8QWzJGQ==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.3.tgz",
+ "integrity": "sha512-lLQLPS90Lqwc99IHe0U94rDgvjo+G9I4uEIxRG3evSLROcqQ9hwc0AxlSHKS4T1JW/IMj/7N5mthiN58NL/5kw==",
"dev": true,
"requires": {
- "chokidar": "^2.1.8",
+ "chokidar": "^3.2.2",
"debug": "^3.2.6",
"ignore-by-default": "^1.0.1",
"minimatch": "^3.0.4",
@@ -6591,9 +6551,50 @@
"supports-color": "^5.5.0",
"touch": "^3.1.0",
"undefsafe": "^2.0.2",
- "update-notifier": "^2.5.0"
+ "update-notifier": "^4.0.0"
},
"dependencies": {
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "chokidar": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
+ "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.4.0"
+ }
+ },
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
@@ -6603,96 +6604,81 @@
"ms": "^2.1.1"
}
},
- "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
- }
- }
- },
- "noop-logger": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
- "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=",
- "dev": true
- },
- "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"
- }
- },
- "nopter": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/nopter/-/nopter-0.3.0.tgz",
- "integrity": "sha1-uWkOb6uPJWs35OfM0j4rOEUMxx8=",
- "dev": true,
- "requires": {
- "caller-path": "~0.1.0",
- "camelcase": "^1.0.2",
- "chalk": "~0.5.1",
- "cli-table": "~0.3.1",
- "eol": "~0.2.0",
- "nopt": "^3.0.1",
- "object-assign": "^2.0.0",
- "splitargs": "~0.0.3"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
- "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
- "dev": 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"
+ }
},
- "ansi-styles": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
- "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
- "dev": true
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
},
- "chalk": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
- "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
- "ansi-styles": "^1.1.0",
- "escape-string-regexp": "^1.0.0",
- "has-ansi": "^0.1.0",
- "strip-ansi": "^0.3.0",
- "supports-color": "^0.2.0"
+ "is-glob": "^4.0.1"
}
},
- "has-ansi": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
- "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "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": {
- "ansi-regex": "^0.2.0"
+ "binary-extensions": "^2.0.0"
}
},
- "strip-ansi": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
- "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "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
+ },
+ "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
+ },
+ "readdirp": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
+ "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
"dev": true,
"requires": {
- "ansi-regex": "^0.2.1"
+ "picomatch": "^2.2.1"
}
},
- "supports-color": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
- "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
- "dev": true
+ "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"
+ }
}
}
},
+ "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",
@@ -6723,6 +6709,12 @@
"integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
"dev": true
},
+ "normalize-url": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
+ "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
+ "dev": true
+ },
"npm-run-all": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
@@ -6738,15 +6730,105 @@
"read-pkg": "^3.0.0",
"shell-quote": "^1.6.1",
"string.prototype.padend": "^3.0.0"
- }
- },
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "requires": {
- "path-key": "^2.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "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"
+ }
+ }
}
},
"npmlog": {
@@ -6761,6 +6843,15 @@
"set-blocking": "~2.0.0"
}
},
+ "nth-check": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
+ "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+ "dev": true,
+ "requires": {
+ "boolbase": "~1.0.0"
+ }
+ },
"num2fraction": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
@@ -6780,9 +6871,9 @@
"dev": true
},
"object-assign": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
- "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
"object-component": {
@@ -6796,6 +6887,7 @@
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
+ "optional": true,
"requires": {
"copy-descriptor": "^0.1.0",
"define-property": "^0.2.5",
@@ -6807,6 +6899,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -6816,12 +6909,19 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
+ "optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
+ "object-hash": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz",
+ "integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==",
+ "dev": true
+ },
"object-inspect": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
@@ -6839,6 +6939,7 @@
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
"dev": true,
+ "optional": true,
"requires": {
"isobject": "^3.0.0"
}
@@ -6860,6 +6961,7 @@
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
"dev": true,
+ "optional": true,
"requires": {
"isobject": "^3.0.1"
}
@@ -6883,79 +6985,92 @@
}
},
"onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true,
- "requires": {
- "mimic-fn": "^1.0.0"
- }
- },
- "opener": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz",
- "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=",
- "dev": true
- },
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
"dev": true,
"requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- }
+ "mimic-fn": "^2.1.0"
}
},
"optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
"dev": true,
"requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
}
},
"ora": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
- "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "cli-cursor": "^2.1.0",
- "cli-spinners": "^2.0.0",
- "log-symbols": "^2.2.0",
- "strip-ansi": "^5.2.0",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz",
+ "integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.2.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^3.0.0",
+ "mute-stream": "0.0.8",
+ "strip-ansi": "^6.0.0",
"wcwidth": "^1.0.1"
},
"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==",
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "ansi-regex": "^4.1.0"
+ "has-flag": "^4.0.0"
}
}
}
@@ -6966,25 +7081,6 @@
"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-name": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz",
- "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=",
- "dev": true,
- "requires": {
- "osx-release": "^1.0.0",
- "win-release": "^1.0.0"
- }
- },
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@@ -7001,19 +7097,10 @@
"os-tmpdir": "^1.0.0"
}
},
- "osx-release": {
+ "p-cancelable": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz",
- "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=",
- "dev": true,
- "requires": {
- "minimist": "^1.1.0"
- }
- },
- "p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
"dev": true
},
"p-finally": {
@@ -7022,46 +7109,67 @@
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
},
- "p-is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
- "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
- "dev": true
- },
"p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"requires": {
- "p-try": "^2.0.0"
+ "p-try": "^1.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==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-queue": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.4.0.tgz",
+ "integrity": "sha512-X7ddxxiQ+bLR/CUt3/BVKrGcJDNxBr0pEEFKHHB6vTPWNUhgDv36GpIH18RmGM3YGPpBT+JWGjDDqsVGuF0ERw==",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "^4.0.0",
+ "p-timeout": "^3.1.0"
+ }
+ },
+ "p-timeout": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
+ "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
"dev": true,
"requires": {
- "p-limit": "^2.0.0"
+ "p-finally": "^1.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==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
"dev": true
},
"package-json": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
- "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
+ "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
"dev": true,
"requires": {
- "got": "^6.7.1",
- "registry-auth-token": "^3.0.1",
- "registry-url": "^3.0.3",
- "semver": "^5.1.0"
+ "got": "^9.6.0",
+ "registry-auth-token": "^4.0.0",
+ "registry-url": "^5.0.0",
+ "semver": "^6.2.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
"parent-module": {
@@ -7071,26 +7179,12 @@
"dev": true,
"requires": {
"callsites": "^3.0.0"
- },
- "dependencies": {
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- }
}
},
- "parse-domain": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/parse-domain/-/parse-domain-0.2.2.tgz",
- "integrity": "sha1-GImJseLnOYv/PE9P19yhV+tR+sE=",
- "dev": true
- },
"parse-entities": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz",
- "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true,
"requires": {
"character-entities": "^1.0.0",
@@ -7102,13 +7196,15 @@
}
},
"parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
"dev": true,
"requires": {
+ "@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
}
},
"parse5": {
@@ -7148,13 +7244,15 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true
+ "dev": true,
+ "optional": 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
+ "dev": true,
+ "optional": true
},
"path-exists": {
"version": "3.0.0",
@@ -7168,16 +7266,10 @@
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
"path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true
},
"path-parse": {
@@ -7204,21 +7296,10 @@
}
},
"path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
- }
+ "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",
@@ -7226,10 +7307,16 @@
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
"pidtree": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz",
- "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
+ "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
"dev": true
},
"pify": {
@@ -7253,50 +7340,32 @@
"pinkie": "^2.0.0"
}
},
+ "pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
+ "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ },
"popper.js": {
"version": "1.16.0",
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz",
"integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw==",
"dev": true
},
- "portfinder": {
- "version": "1.0.25",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
- "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
- "dev": true,
- "requires": {
- "async": "^2.6.2",
- "debug": "^3.1.1",
- "mkdirp": "^0.5.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "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
- }
- }
- },
"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
+ "dev": true,
+ "optional": true
},
"postcss": {
- "version": "7.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.23.tgz",
- "integrity": "sha512-hOlMf3ouRIFXD+j2VJecwssTwbvsPGJVMzupptg+85WA+i7MwyrydmQAgY3R+m0Bc0exunhbJmijy8u8+vufuQ==",
+ "version": "7.0.30",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -7322,170 +7391,207 @@
}
},
"postcss-cli": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-6.1.3.tgz",
- "integrity": "sha512-eieqJU+OR1OFc/lQqMsDmROTJpoMZFvoAQ+82utBQ8/8qGMTfH9bBSPsTdsagYA8uvNzxHw2I2cNSSJkLAGhvw==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-7.1.1.tgz",
+ "integrity": "sha512-bYQy5ydAQJKCMSpvaMg0ThPBeGYqhQXumjbFOmWnL4u65CYXQ16RfS6afGQpit0dGv/fNzxbdDtx8dkqOhhIbg==",
"dev": true,
"requires": {
- "chalk": "^2.1.0",
- "chokidar": "^2.0.0",
- "dependency-graph": "^0.8.0",
- "fs-extra": "^7.0.0",
- "get-stdin": "^6.0.0",
- "globby": "^9.0.0",
+ "chalk": "^4.0.0",
+ "chokidar": "^3.3.0",
+ "dependency-graph": "^0.9.0",
+ "fs-extra": "^9.0.0",
+ "get-stdin": "^7.0.0",
+ "globby": "^11.0.0",
"postcss": "^7.0.0",
"postcss-load-config": "^2.0.0",
"postcss-reporter": "^6.0.0",
"pretty-hrtime": "^1.0.3",
"read-cache": "^1.0.0",
- "yargs": "^12.0.1"
+ "yargs": "^15.0.2"
},
"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": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
},
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
"dev": true
},
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "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": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
+ "fill-range": "^7.0.1"
}
},
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
"dev": true,
"requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "get-stdin": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
- "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
- "dev": true
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "chokidar": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
+ "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
"dev": true,
"requires": {
- "pump": "^3.0.0"
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.4.0"
}
},
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true
+ "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": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "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": {
- "invert-kv": "^2.0.0"
+ "to-regex-range": "^5.0.1"
}
},
- "os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "fs-extra": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz",
+ "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==",
"dev": true,
"requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^1.0.0"
}
},
- "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=",
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "get-stdin": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
+ "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
"dev": true
},
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "is-glob": "^4.0.1"
}
},
- "strip-ansi": {
+ "has-flag": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "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": {
- "ansi-regex": "^3.0.0"
+ "binary-extensions": "^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=",
+ "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
},
- "yargs": {
- "version": "12.0.5",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
- "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "jsonfile": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+ "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
"dev": true,
"requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
+ "graceful-fs": "^4.1.6",
+ "universalify": "^1.0.0"
}
},
- "yargs-parser": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
- "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "readdirp": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
+ "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
"dev": true,
"requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
+ "picomatch": "^2.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.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"
+ }
+ },
+ "universalify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+ "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
+ "dev": true
}
}
},
@@ -7498,15 +7604,6 @@
"htmlparser2": "^3.10.0"
}
},
- "postcss-jsx": {
- "version": "0.36.3",
- "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.3.tgz",
- "integrity": "sha512-yV8Ndo6KzU8eho5mCn7LoLUGPkXrRXRjhMpX4AaYJ9wLJPv099xbtpbRQ8FrPnzVxb/cuMebbPR7LweSt+hTfA==",
- "dev": true,
- "requires": {
- "@babel/core": ">=7.2.2"
- }
- },
"postcss-less": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
@@ -7524,16 +7621,46 @@
"requires": {
"cosmiconfig": "^5.0.0",
"import-cwd": "^2.0.0"
- }
- },
- "postcss-markdown": {
- "version": "0.36.0",
- "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz",
- "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==",
- "dev": true,
- "requires": {
- "remark": "^10.0.1",
- "unist-util-find-all-after": "^1.0.2"
+ },
+ "dependencies": {
+ "cosmiconfig": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "dev": true,
+ "requires": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ }
+ },
+ "import-fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "dev": true,
+ "requires": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ }
}
},
"postcss-media-query-parser": {
@@ -7552,6 +7679,17 @@
"lodash": "^4.17.11",
"log-symbols": "^2.2.0",
"postcss": "^7.0.7"
+ },
+ "dependencies": {
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ }
}
},
"postcss-resolve-nested-selector": {
@@ -7561,22 +7699,22 @@
"dev": true
},
"postcss-safe-parser": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz",
- "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
+ "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^7.0.26"
}
},
"postcss-sass": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz",
- "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==",
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz",
+ "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==",
"dev": true,
"requires": {
- "gonzales-pe": "^4.2.3",
- "postcss": "^7.0.1"
+ "gonzales-pe": "^4.3.0",
+ "postcss": "^7.0.21"
}
},
"postcss-scss": {
@@ -7589,24 +7727,24 @@
}
},
"postcss-selector-parser": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
- "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
+ "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
"dev": true,
"requires": {
- "dot-prop": "^4.1.1",
+ "cssesc": "^3.0.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
},
"postcss-sorting": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-4.1.0.tgz",
- "integrity": "sha512-r4T2oQd1giURJdHQ/RMb72dKZCuLOdWx2B/XhXN1Y1ZdnwXsKH896Qz6vD4tFy9xSjpKNYhlZoJmWyhH/7JUQw==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-5.0.1.tgz",
+ "integrity": "sha512-Y9fUFkIhfrm6i0Ta3n+89j56EFqaNRdUKqXyRp6kvTcSXnmgEjaVowCXH+JBe9+YKWqd4nc28r2sgwnzJalccA==",
"dev": true,
"requires": {
- "lodash": "^4.17.4",
- "postcss": "^7.0.0"
+ "lodash": "^4.17.14",
+ "postcss": "^7.0.17"
}
},
"postcss-syntax": {
@@ -7616,44 +7754,21 @@
"dev": true
},
"postcss-value-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
- "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==",
+ "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
},
- "prebuild-install": {
- "version": "5.3.3",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz",
- "integrity": "sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g==",
- "dev": true,
- "requires": {
- "detect-libc": "^1.0.3",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.0",
- "mkdirp": "^0.5.1",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^2.7.0",
- "noop-logger": "^0.1.1",
- "npmlog": "^4.0.1",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^3.0.3",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0",
- "which-pm-runs": "^1.0.0"
- }
- },
"prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
"prepend-http": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
- "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
"dev": true
},
"pretty-hrtime": {
@@ -7662,43 +7777,6 @@
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
"dev": true
},
- "prettycli": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/prettycli/-/prettycli-1.4.3.tgz",
- "integrity": "sha512-KLiwAXXfSWXZqGmZlnKPuGMTFp+0QbcySplL1ft9gfteT/BNsG64Xo8u2Qr9r+qnsIZWBQ66Zs8tg+8s2fmzvw==",
- "dev": true,
- "requires": {
- "chalk": "2.1.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz",
- "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.1.0",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^4.0.0"
- }
- },
- "has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "^2.0.0"
- }
- }
- }
- },
"private": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
@@ -7717,12 +7795,6 @@
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true
},
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- },
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -7730,9 +7802,9 @@
"dev": true
},
"psl": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
- "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
"dev": true
},
"pstree.remy": {
@@ -7757,6 +7829,15 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
+ "pupa": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
+ "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
+ "dev": true,
+ "requires": {
+ "escape-goat": "^2.0.0"
+ }
+ },
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
@@ -7770,15 +7851,15 @@
"dev": true
},
"qs": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
- "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=",
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
"dev": true
},
"quick-lru": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
- "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
"dev": true
},
"qunit": {
@@ -7839,6 +7920,14 @@
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ }
}
},
"read-cache": {
@@ -7859,30 +7948,91 @@
}
},
"read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
"requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
}
},
"read-pkg-up": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
- "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
"dev": true,
"requires": {
- "find-up": "^3.0.0",
- "read-pkg": "^3.0.0"
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "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-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": "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"
+ }
+ },
+ "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
+ },
+ "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
+ }
}
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "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",
@@ -7899,6 +8049,7 @@
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
"integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
"dev": true,
+ "optional": true,
"requires": {
"graceful-fs": "^4.1.11",
"micromatch": "^3.1.10",
@@ -7915,13 +8066,13 @@
}
},
"redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
"dev": true,
"requires": {
- "indent-string": "^2.1.0",
- "strip-indent": "^1.0.1"
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
}
},
"regenerate": {
@@ -7931,21 +8082,28 @@
"dev": true
},
"regenerate-unicode-properties": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
- "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
+ "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
"dev": true,
"requires": {
"regenerate": "^1.4.0"
}
},
+ "regenerator-runtime": {
+ "version": "0.13.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
+ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
+ "dev": true
+ },
"regenerator-transform": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
- "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
+ "version": "0.14.4",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
+ "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
"dev": true,
"requires": {
- "private": "^0.1.6"
+ "@babel/runtime": "^7.8.4",
+ "private": "^0.1.8"
}
},
"regex-not": {
@@ -7953,48 +8111,48 @@
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
"dev": true,
+ "optional": true,
"requires": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
}
},
"regexpp": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
- "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
},
"regexpu-core": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
- "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+ "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
"dev": true,
"requires": {
"regenerate": "^1.4.0",
- "regenerate-unicode-properties": "^8.1.0",
- "regjsgen": "^0.5.0",
- "regjsparser": "^0.6.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
"unicode-match-property-ecmascript": "^1.0.4",
- "unicode-match-property-value-ecmascript": "^1.1.0"
+ "unicode-match-property-value-ecmascript": "^1.2.0"
}
},
"registry-auth-token": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz",
- "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz",
+ "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==",
"dev": true,
"requires": {
- "rc": "^1.1.6",
- "safe-buffer": "^5.0.1"
+ "rc": "^1.2.8"
}
},
"registry-url": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
- "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
+ "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
"dev": true,
"requires": {
- "rc": "^1.0.1"
+ "rc": "^1.2.8"
}
},
"regjsgen": {
@@ -8004,9 +8162,9 @@
"dev": true
},
"regjsparser": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
- "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+ "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
"dev": true,
"requires": {
"jsesc": "~0.5.0"
@@ -8021,51 +8179,44 @@
}
},
"remark": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
- "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.0.tgz",
+ "integrity": "sha512-oX4lMIS0csgk8AEbzY0h2jdR0ngiCHOpwwpxjmRa5TqAkeknY+tkhjRJGZqnCmvyuWh55/0SW5WY3R3nn3PH9A==",
"dev": true,
"requires": {
- "remark-parse": "^6.0.0",
- "remark-stringify": "^6.0.0",
- "unified": "^7.0.0"
+ "remark-parse": "^8.0.0",
+ "remark-stringify": "^8.0.0",
+ "unified": "^9.0.0"
}
},
"remark-parse": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
- "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.2.tgz",
+ "integrity": "sha512-eMI6kMRjsAGpMXXBAywJwiwAse+KNpmt+BK55Oofy4KvBZEqUDj6mWbGLJZrujoPIPPxDXzn3T9baRlpsm2jnQ==",
"dev": true,
"requires": {
+ "ccount": "^1.0.0",
"collapse-white-space": "^1.0.2",
"is-alphabetical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-whitespace-character": "^1.0.0",
"is-word-character": "^1.0.0",
"markdown-escapes": "^1.0.0",
- "parse-entities": "^1.1.0",
+ "parse-entities": "^2.0.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
"trim": "0.0.1",
"trim-trailing-lines": "^1.0.0",
"unherit": "^1.0.4",
- "unist-util-remove-position": "^1.0.0",
- "vfile-location": "^2.0.0",
+ "unist-util-remove-position": "^2.0.0",
+ "vfile-location": "^3.0.0",
"xtend": "^4.0.1"
- },
- "dependencies": {
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true
- }
}
},
"remark-stringify": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
- "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.0.0.tgz",
+ "integrity": "sha512-cABVYVloFH+2ZI5bdqzoOmemcz/ZuhQSH6W6ZNYnLojAUUn3xtX7u+6BpnYp35qHoGr2NFBsERV14t4vCIeW8w==",
"dev": true,
"requires": {
"ccount": "^1.0.0",
@@ -8074,35 +8225,29 @@
"is-whitespace-character": "^1.0.0",
"longest-streak": "^2.0.1",
"markdown-escapes": "^1.0.0",
- "markdown-table": "^1.1.0",
- "mdast-util-compact": "^1.0.0",
- "parse-entities": "^1.0.2",
+ "markdown-table": "^2.0.0",
+ "mdast-util-compact": "^2.0.0",
+ "parse-entities": "^2.0.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
- "stringify-entities": "^1.0.1",
+ "stringify-entities": "^3.0.0",
"unherit": "^1.0.4",
"xtend": "^4.0.1"
- },
- "dependencies": {
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true
- }
}
},
"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
+ "dev": true,
+ "optional": true
},
"repeat-element": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
"integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"repeat-string": {
"version": "1.6.1",
@@ -8126,9 +8271,9 @@
"dev": true
},
"request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "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",
@@ -8138,7 +8283,7 @@
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
- "har-validator": "~5.1.0",
+ "har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
@@ -8148,38 +8293,16 @@
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
+ "tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
},
"dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- },
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"dev": true
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- }
- },
- "uuid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
- "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
- "dev": true
}
}
},
@@ -8202,33 +8325,43 @@
"dev": true
},
"resolve": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.2.tgz",
- "integrity": "sha512-cAVTI2VLHWYsGOirfeYVVQ7ZDejtQ9fp4YhYckWDEkFfqbVjaT11iM8k6xSAfGFMM+gDpZjMnFssPu8we+mqFw==",
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
"dev": true,
"requires": {
"path-parse": "^1.0.6"
}
},
"resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
"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
+ "dev": true,
+ "optional": true
+ },
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^1.0.0"
+ }
},
"restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
"requires": {
- "onetime": "^2.0.0",
+ "onetime": "^5.1.0",
"signal-exit": "^3.0.2"
}
},
@@ -8236,6 +8369,13 @@
"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,
+ "optional": 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
},
"rfdc": {
@@ -8253,89 +8393,34 @@
"glob": "^7.1.3"
}
},
- "robot-directives": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/robot-directives/-/robot-directives-0.3.0.tgz",
- "integrity": "sha1-F0+x/8KpuXh3MB6HyJs5X0KdH2U=",
- "dev": true,
- "requires": {
- "isbot": "^2.0.0",
- "useragent": "^2.1.8"
- }
- },
- "robots-txt-guard": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/robots-txt-guard/-/robots-txt-guard-0.1.1.tgz",
- "integrity": "sha512-6+nGkE6c2dI9/dmhmNcoMKVwJxlA6sgN/XNo0rm6LLdA0hnj4YkpgrZdhMPl58gJkAqeiHlf4+8tJcLM1tv1Ew==",
- "dev": true
- },
- "robots-txt-parse": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/robots-txt-parse/-/robots-txt-parse-0.0.4.tgz",
- "integrity": "sha1-99HzI/eZIdfpxsS70lBI9umBDXE=",
- "dev": true,
- "requires": {
- "bluebird": "^2.3.5",
- "split": "^0.3.0",
- "stream-combiner": "^0.2.1",
- "through": "^2.3.4"
- }
- },
"rollup": {
- "version": "1.26.5",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.26.5.tgz",
- "integrity": "sha512-c6Pv0yWzjYNpy2DIhLFUnyP6e1UTGownr4IfpJcPY/k186RJjpaGGPRwKQ62KCauctG6dgtHt88pw1EGrPRkuA==",
+ "version": "2.9.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.9.1.tgz",
+ "integrity": "sha512-kEZn76R0j+WD4AActu5Np4RShNlewTtJhdUaWNtHwHnAA8AOapyXgH6O7NL2RkcQLHnl49oz1xW1VrDcu5yP+Q==",
"dev": true,
"requires": {
- "@types/estree": "*",
- "@types/node": "*",
- "acorn": "^7.1.0"
+ "fsevents": "~2.1.2"
},
"dependencies": {
- "acorn": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
- "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
- "dev": true
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
}
}
},
"rollup-plugin-babel": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz",
- "integrity": "sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz",
+ "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.0.0",
"rollup-pluginutils": "^2.8.1"
}
},
- "rollup-plugin-commonjs": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz",
- "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==",
- "dev": true,
- "requires": {
- "estree-walker": "^0.6.1",
- "is-reference": "^1.1.2",
- "magic-string": "^0.25.2",
- "resolve": "^1.11.0",
- "rollup-pluginutils": "^2.8.1"
- }
- },
- "rollup-plugin-node-resolve": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz",
- "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==",
- "dev": true,
- "requires": {
- "@types/resolve": "0.0.8",
- "builtin-modules": "^3.1.0",
- "is-module": "^1.0.0",
- "resolve": "^1.11.1",
- "rollup-pluginutils": "^2.8.1"
- }
- },
"rollup-pluginutils": {
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
@@ -8343,21 +8428,32 @@
"dev": true,
"requires": {
"estree-walker": "^0.6.1"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
+ "dev": true
+ }
}
},
"run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "^2.1.0"
- }
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true
+ },
+ "run-parallel": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+ "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
+ "dev": true
},
"rxjs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
- "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+ "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
@@ -8374,6 +8470,7 @@
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
+ "optional": true,
"requires": {
"ret": "~0.1.10"
}
@@ -8385,15 +8482,148 @@
"dev": true
},
"sass-graph": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
- "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+ "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": "^7.0.0"
+ "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
+ },
+ "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
+ },
+ "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"
+ }
+ },
+ "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-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
+ },
+ "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": {
@@ -8424,14 +8654,75 @@
"dev": true
},
"semver-diff": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
- "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
+ "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+ "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
"dev": true,
"requires": {
- "semver": "^5.0.3"
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
}
},
+ "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",
@@ -8443,6 +8734,7 @@
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
"integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
"dev": true,
+ "optional": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -8455,6 +8747,7 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
+ "optional": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -8474,18 +8767,18 @@
"dev": true
},
"shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "shebang-regex": "^3.0.0"
}
},
"shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
"shell-quote": {
@@ -8495,9 +8788,9 @@
"dev": true
},
"shelljs": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz",
- "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==",
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz",
+ "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==",
"dev": true,
"requires": {
"glob": "^7.0.0",
@@ -8517,28 +8810,11 @@
}
},
"signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "simple-concat": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
- "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
"dev": true
},
- "simple-get": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz",
- "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
- "dev": true,
- "requires": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
"sinon": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-7.5.0.tgz",
@@ -8584,6 +8860,7 @@
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
"dev": true,
+ "optional": true,
"requires": {
"base": "^0.11.1",
"debug": "^2.2.0",
@@ -8600,6 +8877,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -8609,6 +8887,7 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
+ "optional": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -8620,6 +8899,7 @@
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
+ "optional": true,
"requires": {
"define-property": "^1.0.0",
"isobject": "^3.0.0",
@@ -8631,6 +8911,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -8640,6 +8921,7 @@
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -8649,6 +8931,7 @@
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -8658,6 +8941,7 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
+ "optional": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -8671,6 +8955,7 @@
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^3.2.0"
},
@@ -8680,6 +8965,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
+ "optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -8712,9 +8998,9 @@
}
},
"socket.io-adapter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
- "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
+ "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": {
@@ -8797,28 +9083,48 @@
"dev": true
},
"source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "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,
+ "optional": true,
"requires": {
- "atob": "^2.1.1",
+ "atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
"urix": "^0.1.0"
}
},
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"sourcemap-codec": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz",
- "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==",
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"dev": true
},
"spdx-correct": {
@@ -8832,9 +9138,9 @@
}
},
"spdx-exceptions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "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": {
@@ -8859,30 +9165,16 @@
"integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
"dev": true
},
- "split": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
- "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
- "dev": true,
- "requires": {
- "through": "2"
- }
- },
"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,
+ "optional": true,
"requires": {
"extend-shallow": "^3.0.0"
}
},
- "splitargs": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/splitargs/-/splitargs-0.0.7.tgz",
- "integrity": "sha1-/p965lc3GzOxDLgNoUPPgknPazs=",
- "dev": true
- },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -8907,9 +9199,9 @@
}
},
"state-toggle": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz",
- "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
+ "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==",
"dev": true
},
"static-extend": {
@@ -8917,6 +9209,7 @@
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
+ "optional": true,
"requires": {
"define-property": "^0.2.5",
"object-copy": "^0.1.0"
@@ -8927,6 +9220,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
+ "optional": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -8948,35 +9242,17 @@
"readable-stream": "^2.0.1"
}
},
- "stream-combiner": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
- "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
- "dev": true,
- "requires": {
- "duplexer": "~0.1.1",
- "through": "~2.3.4"
- }
- },
- "stream-length": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/stream-length/-/stream-length-1.0.2.tgz",
- "integrity": "sha1-gnfzy+5JpNqrz9tOL0qbXp8snwA=",
- "dev": true,
- "requires": {
- "bluebird": "^2.6.2"
- }
- },
"streamroller": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
- "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz",
+ "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==",
"dev": true,
"requires": {
- "date-format": "^1.2.0",
- "debug": "^3.1.0",
- "mkdirp": "^0.5.1",
- "readable-stream": "^2.3.0"
+ "async": "^2.6.2",
+ "date-format": "^2.0.0",
+ "debug": "^3.2.6",
+ "fs-extra": "^7.0.1",
+ "lodash": "^4.17.14"
},
"dependencies": {
"debug": {
@@ -8996,52 +9272,67 @@
}
}
},
- "string": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/string/-/string-3.3.3.tgz",
- "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=",
- "dev": true
- },
"string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"string.prototype.padend": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz",
- "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz",
+ "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.4.3",
- "function-bind": "^1.0.2"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
+ }
+ },
+ "string.prototype.trimend": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
+ "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
}
},
"string.prototype.trimleft": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
- "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "function-bind": "^1.1.1"
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
}
},
"string.prototype.trimright": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
- "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "function-bind": "^1.1.1"
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
+ "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
}
},
"string_decoder": {
@@ -9054,51 +9345,49 @@
}
},
"stringify-entities": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
- "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.0.1.tgz",
+ "integrity": "sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ==",
"dev": true,
"requires": {
"character-entities-html4": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.2",
"is-hexadecimal": "^1.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=",
+ "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": "^2.0.0"
+ "ansi-regex": "^5.0.0"
}
},
"strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
- },
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true
+ "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=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
"dev": true,
"requires": {
- "get-stdin": "^4.0.1"
+ "min-indent": "^1.0.0"
}
},
"strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
+ "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
"dev": true
},
"style-search": {
@@ -9108,83 +9397,105 @@
"dev": true
},
"stylelint": {
- "version": "9.10.1",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz",
- "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==",
+ "version": "13.3.3",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.3.tgz",
+ "integrity": "sha512-j8Oio2T1YNiJc6iXDaPYd74Jg4zOa1bByNm/g9/Nvnq4tDPsIjMi46jhRZyPPktGPwjJ5FwcmCqIRlH6PVP8mA==",
"dev": true,
"requires": {
- "autoprefixer": "^9.0.0",
+ "@stylelint/postcss-css-in-js": "^0.37.1",
+ "@stylelint/postcss-markdown": "^0.36.1",
+ "autoprefixer": "^9.7.6",
"balanced-match": "^1.0.0",
- "chalk": "^2.4.1",
- "cosmiconfig": "^5.0.0",
- "debug": "^4.0.0",
- "execall": "^1.0.0",
- "file-entry-cache": "^4.0.0",
- "get-stdin": "^6.0.0",
+ "chalk": "^4.0.0",
+ "cosmiconfig": "^6.0.0",
+ "debug": "^4.1.1",
+ "execall": "^2.0.0",
+ "file-entry-cache": "^5.0.1",
+ "get-stdin": "^7.0.0",
"global-modules": "^2.0.0",
- "globby": "^9.0.0",
+ "globby": "^11.0.0",
"globjoin": "^0.1.4",
- "html-tags": "^2.0.0",
- "ignore": "^5.0.4",
- "import-lazy": "^3.1.0",
+ "html-tags": "^3.1.0",
+ "ignore": "^5.1.4",
+ "import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4",
- "known-css-properties": "^0.11.0",
- "leven": "^2.1.0",
- "lodash": "^4.17.4",
- "log-symbols": "^2.0.0",
- "mathml-tag-names": "^2.0.1",
- "meow": "^5.0.0",
- "micromatch": "^3.1.10",
+ "known-css-properties": "^0.18.0",
+ "leven": "^3.1.0",
+ "lodash": "^4.17.15",
+ "log-symbols": "^3.0.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^6.1.0",
+ "micromatch": "^4.0.2",
"normalize-selector": "^0.2.0",
- "pify": "^4.0.0",
- "postcss": "^7.0.13",
+ "postcss": "^7.0.27",
"postcss-html": "^0.36.0",
- "postcss-jsx": "^0.36.0",
- "postcss-less": "^3.1.0",
- "postcss-markdown": "^0.36.0",
+ "postcss-less": "^3.1.4",
"postcss-media-query-parser": "^0.2.3",
- "postcss-reporter": "^6.0.0",
+ "postcss-reporter": "^6.0.1",
"postcss-resolve-nested-selector": "^0.1.1",
- "postcss-safe-parser": "^4.0.0",
- "postcss-sass": "^0.3.5",
+ "postcss-safe-parser": "^4.0.2",
+ "postcss-sass": "^0.4.4",
"postcss-scss": "^2.0.0",
- "postcss-selector-parser": "^3.1.0",
+ "postcss-selector-parser": "^6.0.2",
"postcss-syntax": "^0.36.2",
- "postcss-value-parser": "^3.3.0",
- "resolve-from": "^4.0.0",
- "signal-exit": "^3.0.2",
- "slash": "^2.0.0",
+ "postcss-value-parser": "^4.0.3",
+ "resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
"specificity": "^0.4.1",
- "string-width": "^3.0.0",
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
"style-search": "^0.1.0",
"sugarss": "^2.0.0",
"svg-tags": "^1.0.0",
- "table": "^5.0.0"
+ "table": "^5.4.6",
+ "v8-compile-cache": "^2.1.0",
+ "write-file-atomic": "^3.0.3"
},
"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": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
},
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true
+ "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"
+ }
},
- "camelcase-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
- "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
"dev": true,
"requires": {
- "camelcase": "^4.1.0",
- "map-obj": "^2.0.0",
- "quick-lru": "^1.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -9194,28 +9505,25 @@
"ms": "^2.1.1"
}
},
- "file-entry-cache": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz",
- "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==",
- "dev": true,
- "requires": {
- "flat-cache": "^2.0.1"
- }
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "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": {
- "locate-path": "^2.0.0"
+ "to-regex-range": "^5.0.1"
}
},
"get-stdin": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
- "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
+ "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"ignore": {
@@ -9225,54 +9533,44 @@
"dev": true
},
"import-lazy": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
- "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
- "dev": true
- },
- "indent-string": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
- "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
+ "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
"dev": true
},
- "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=",
+ "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
},
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "meow": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz",
+ "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==",
"dev": true,
"requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "^4.0.2",
+ "normalize-package-data": "^2.5.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.13.1",
+ "yargs-parser": "^18.1.3"
}
},
- "map-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
- "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
- "dev": true
- },
- "meow": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
- "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
"dev": true,
"requires": {
- "camelcase-keys": "^4.0.0",
- "decamelize-keys": "^1.0.0",
- "loud-rejection": "^1.0.0",
- "minimist-options": "^3.0.1",
- "normalize-package-data": "^2.3.4",
- "read-pkg-up": "^3.0.0",
- "redent": "^2.0.0",
- "trim-newlines": "^2.0.0",
- "yargs-parser": "^10.0.0"
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
}
},
"ms": {
@@ -9281,178 +9579,96 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "dev": true,
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
- "read-pkg-up": {
+ "slash": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^3.0.0"
- }
- },
- "redent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
- "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
- "dev": true,
- "requires": {
- "indent-string": "^3.0.0",
- "strip-indent": "^2.0.0"
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"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==",
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
+ "has-flag": "^4.0.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==",
+ "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": {
- "ansi-regex": "^4.1.0"
+ "is-number": "^7.0.0"
}
},
- "strip-indent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
- "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
- "dev": true
- },
- "trim-newlines": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
- "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+ "type-fest": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
+ "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
"dev": true
- },
- "yargs-parser": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
- "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
- "dev": true,
- "requires": {
- "camelcase": "^4.1.0"
- }
}
}
},
"stylelint-config-recommended": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.2.0.tgz",
- "integrity": "sha512-bZ+d4RiNEfmoR74KZtCKmsABdBJr4iXRiCso+6LtMJPw5rd/KnxUWTxht7TbafrTJK1YRjNgnN0iVZaJfc3xJA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz",
+ "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==",
"dev": true
},
"stylelint-config-recommended-scss": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-3.3.0.tgz",
- "integrity": "sha512-BvuuLYwoet8JutOP7K1a8YaiENN+0HQn390eDi0SWe1h7Uhx6O3GUQ6Ubgie9b/AmHX4Btmp+ZzVGbzriFTBcA==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-4.2.0.tgz",
+ "integrity": "sha512-4bI5BYbabo/GCQ6LbRZx/ZlVkK65a1jivNNsD+ix/Lw0U3iAch+jQcvliGnnAX8SUPaZ0UqzNVNNAF3urswa7g==",
"dev": true,
"requires": {
- "stylelint-config-recommended": "^2.2.0"
+ "stylelint-config-recommended": "^3.0.0"
}
},
"stylelint-config-standard": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-18.3.0.tgz",
- "integrity": "sha512-Tdc/TFeddjjy64LvjPau9SsfVRexmTFqUhnMBrzz07J4p2dVQtmpncRF/o8yZn8ugA3Ut43E6o1GtjX80TFytw==",
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz",
+ "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==",
"dev": true,
"requires": {
- "stylelint-config-recommended": "^2.2.0"
+ "stylelint-config-recommended": "^3.0.0"
}
},
"stylelint-config-twbs-bootstrap": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-twbs-bootstrap/-/stylelint-config-twbs-bootstrap-0.5.0.tgz",
- "integrity": "sha512-Bl/pEDxI3Z9dJrBhFesacO8UVMtwsTTxirDEA9zbDKOqeQ7Y1o5ebvqydERPckIXV5retMZCkNCPIJ+rJvUEqA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/stylelint-config-twbs-bootstrap/-/stylelint-config-twbs-bootstrap-2.0.2.tgz",
+ "integrity": "sha512-8CBxRwdllEptFOdW0oHN5hSne/BCM4ofufF+kxtVYPx4cK18tkIYF0X/2FSymNh3gTI5a54e1Riij8kzpfFnug==",
"dev": true,
"requires": {
- "stylelint-config-recommended-scss": "^3.3.0",
- "stylelint-config-standard": "^18.3.0",
- "stylelint-order": "^2.2.1",
- "stylelint-scss": "^3.6.0"
+ "stylelint-config-recommended-scss": "^4.2.0",
+ "stylelint-config-standard": "^20.0.0",
+ "stylelint-order": "^4.0.0",
+ "stylelint-scss": "^3.17.1"
}
},
"stylelint-order": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-2.2.1.tgz",
- "integrity": "sha512-019KBV9j8qp1MfBjJuotse6MgaZqGVtXMc91GU9MsS9Feb+jYUvUU3Z8XiClqPdqJZQ0ryXQJGg3U3PcEjXwfg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-4.0.0.tgz",
+ "integrity": "sha512-bXV0v+jfB0+JKsqIn3mLglg1Dj2QCYkFHNfL1c+rVMEmruZmW5LUqT/ARBERfBm8SFtCuXpEdatidw/3IkcoiA==",
"dev": true,
"requires": {
- "lodash": "^4.17.10",
- "postcss": "^7.0.2",
- "postcss-sorting": "^4.1.0"
+ "lodash": "^4.17.15",
+ "postcss": "^7.0.26",
+ "postcss-sorting": "^5.0.1"
}
},
"stylelint-scss": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.13.0.tgz",
- "integrity": "sha512-SaLnvQyndaPcsgVJsMh6zJ1uKVzkRZJx+Wg/stzoB1mTBdEmGketbHrGbMQNymzH/0mJ06zDSpeCDvNxqIJE5A==",
+ "version": "3.17.2",
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.17.2.tgz",
+ "integrity": "sha512-e0dmxqsofy/HZj4urcGSJw4S6yHDJxiQdT20/1ciCsd5lomisa7YM4+Qtt1EG4hsqEG1dbEeF855tec1UyqcSA==",
"dev": true,
"requires": {
- "lodash.isboolean": "^3.0.3",
- "lodash.isregexp": "^4.0.1",
- "lodash.isstring": "^4.0.1",
+ "lodash": "^4.17.15",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.2"
- },
- "dependencies": {
- "postcss-selector-parser": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
- "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
- "dev": true,
- "requires": {
- "cssesc": "^3.0.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
- }
- }
+ "postcss-value-parser": "^4.1.0"
}
},
"sugarss": {
@@ -9497,6 +9713,12 @@
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
+ "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
+ },
"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",
@@ -9536,63 +9758,46 @@
"inherits": "2"
}
},
- "tar-fs": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz",
- "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==",
- "dev": true,
- "requires": {
- "chownr": "^1.1.1",
- "mkdirp": "^0.5.1",
- "pump": "^3.0.0",
- "tar-stream": "^2.0.0"
- }
+ "term-size": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz",
+ "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==",
+ "dev": true
},
- "tar-stream": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz",
- "integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==",
+ "terser": {
+ "version": "4.6.13",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz",
+ "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==",
"dev": true,
"requires": {
- "bl": "^3.0.0",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
},
"dependencies": {
- "readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
+ "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
+ },
+ "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
}
}
},
- "term-size": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
- "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
- "dev": true,
- "requires": {
- "execa": "^0.7.0"
- }
- },
"test-exclude": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
- "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
"dev": true,
"requires": {
- "glob": "^7.1.3",
- "minimatch": "^3.0.4",
- "read-pkg-up": "^4.0.0",
- "require-main-filename": "^2.0.0"
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
}
},
"text-table": {
@@ -9607,68 +9812,6 @@
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
- "through2": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
- "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.0.17",
- "xtend": "~3.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
- "through2-sink": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/through2-sink/-/through2-sink-1.0.0.tgz",
- "integrity": "sha1-XxBruh1zMNrTy6XAqxhjkjJWw5k=",
- "dev": true,
- "requires": {
- "through2": "~0.5.1",
- "xtend": "~3.0.0"
- }
- },
- "through2-spy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/through2-spy/-/through2-spy-1.2.0.tgz",
- "integrity": "sha1-nIkcqcpA4eHkzzHhrFf5TMnSSMs=",
- "dev": true,
- "requires": {
- "through2": "~0.5.1",
- "xtend": "~3.0.0"
- }
- },
- "timed-out": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
- "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
- "dev": true
- },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -9695,6 +9838,7 @@
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
+ "optional": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -9704,17 +9848,25 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
+ "optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
+ "to-readable-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
+ "dev": true
+ },
"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,
+ "optional": true,
"requires": {
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
@@ -9727,6 +9879,7 @@
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
"dev": true,
+ "optional": true,
"requires": {
"is-number": "^3.0.0",
"repeat-string": "^1.6.1"
@@ -9781,21 +9934,21 @@
"dev": true
},
"trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
"dev": true
},
"trim-trailing-lines": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz",
- "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz",
+ "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==",
"dev": true
},
"trough": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz",
- "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
+ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
"dev": true
},
"true-case-path": {
@@ -9808,9 +9961,9 @@
}
},
"tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+ "version": "1.11.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz",
+ "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==",
"dev": true
},
"tunnel-agent": {
@@ -9829,12 +9982,12 @@
"dev": true
},
"type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2"
+ "prelude-ls": "^1.2.1"
}
},
"type-detect": {
@@ -9843,6 +9996,12 @@
"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"dev": true
},
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -9853,36 +10012,21 @@
"mime-types": "~2.1.24"
}
},
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "uglify-js": {
- "version": "3.6.9",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.9.tgz",
- "integrity": "sha512-pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw==",
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
"dev": true,
"requires": {
- "commander": "~2.20.3",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "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
- },
- "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
- }
+ "is-typedarray": "^1.0.0"
}
},
+ "ua-parser-js": {
+ "version": "0.7.21",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
+ "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
+ "dev": true
+ },
"ultron": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
@@ -9890,30 +10034,22 @@
"dev": true
},
"undefsafe": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz",
- "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz",
+ "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==",
"dev": true,
"requires": {
"debug": "^2.2.0"
}
},
"unherit": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz",
- "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
+ "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
"dev": true,
"requires": {
- "inherits": "^2.0.1",
- "xtend": "^4.0.1"
- },
- "dependencies": {
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true
- }
+ "inherits": "^2.0.0",
+ "xtend": "^4.0.0"
}
},
"unicode-canonical-property-names-ecmascript": {
@@ -9933,40 +10069,43 @@
}
},
"unicode-match-property-value-ecmascript": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
- "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+ "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
"dev": true
},
"unicode-property-aliases-ecmascript": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
- "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
"dev": true
},
"unified": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
- "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-9.0.0.tgz",
+ "integrity": "sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ==",
"dev": true,
"requires": {
- "@types/unist": "^2.0.0",
- "@types/vfile": "^3.0.0",
"bail": "^1.0.0",
"extend": "^3.0.0",
- "is-plain-obj": "^1.1.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^2.0.0",
"trough": "^1.0.0",
- "vfile": "^3.0.0",
- "x-is-string": "^0.1.0"
- }
- },
- "union": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz",
- "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=",
- "dev": true,
- "requires": {
- "qs": "~2.3.3"
+ "vfile": "^4.0.0"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "dev": true
+ }
}
},
"union-value": {
@@ -9974,6 +10113,7 @@
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
"integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
"dev": true,
+ "optional": true,
"requires": {
"arr-union": "^3.1.0",
"get-value": "^2.0.6",
@@ -9988,63 +10128,66 @@
"dev": true
},
"unique-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
- "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+ "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
"dev": true,
"requires": {
- "crypto-random-string": "^1.0.0"
+ "crypto-random-string": "^2.0.0"
}
},
"unist-util-find-all-after": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz",
- "integrity": "sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz",
+ "integrity": "sha512-0GICgc++sRJesLwEYDjFVJPJttBpVQaTNgc6Jw0Jhzvfs+jtKePEMu+uD+PqkRUrAvGQqwhpDwLGWo1PK8PDEw==",
"dev": true,
"requires": {
- "unist-util-is": "^3.0.0"
+ "unist-util-is": "^4.0.0"
}
},
"unist-util-is": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
- "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
+ "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
"dev": true
},
"unist-util-remove-position": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz",
- "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
+ "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
"dev": true,
"requires": {
- "unist-util-visit": "^1.1.0"
+ "unist-util-visit": "^2.0.0"
}
},
"unist-util-stringify-position": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz",
- "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
+ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
"dev": true,
"requires": {
"@types/unist": "^2.0.2"
}
},
"unist-util-visit": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
- "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz",
+ "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==",
"dev": true,
"requires": {
- "unist-util-visit-parents": "^2.0.0"
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
}
},
"unist-util-visit-parents": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
- "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz",
+ "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==",
"dev": true,
"requires": {
- "unist-util-is": "^3.0.0"
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
}
},
"universalify": {
@@ -10064,6 +10207,7 @@
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"dev": true,
+ "optional": true,
"requires": {
"has-value": "^0.3.1",
"isobject": "^3.0.0"
@@ -10074,6 +10218,7 @@
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"dev": true,
+ "optional": true,
"requires": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
@@ -10085,6 +10230,7 @@
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"dev": true,
+ "optional": true,
"requires": {
"isarray": "1.0.0"
}
@@ -10095,16 +10241,11 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
+ "dev": true,
+ "optional": true
}
}
},
- "unzip-response": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
- "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
- "dev": true
- },
"unzipper": {
"version": "0.9.15",
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.9.15.tgz",
@@ -10120,38 +10261,86 @@
"listenercount": "~1.0.1",
"readable-stream": "~2.3.6",
"setimmediate": "~1.0.4"
- },
- "dependencies": {
- "bluebird": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
- "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=",
- "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
+ "dev": true,
+ "optional": true
},
"update-notifier": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz",
- "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz",
+ "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==",
"dev": true,
"requires": {
- "boxen": "^1.2.1",
- "chalk": "^2.0.1",
- "configstore": "^3.0.0",
+ "boxen": "^4.2.0",
+ "chalk": "^3.0.0",
+ "configstore": "^5.0.1",
+ "has-yarn": "^2.1.0",
"import-lazy": "^2.1.0",
- "is-ci": "^1.0.10",
- "is-installed-globally": "^0.1.0",
- "is-npm": "^1.0.0",
- "latest-version": "^3.0.0",
- "semver-diff": "^2.0.0",
- "xdg-basedir": "^3.0.0"
+ "is-ci": "^2.0.0",
+ "is-installed-globally": "^0.3.1",
+ "is-npm": "^4.0.0",
+ "is-yarn-global": "^0.3.0",
+ "latest-version": "^5.0.0",
+ "pupa": "^2.0.1",
+ "semver-diff": "^3.1.1",
+ "xdg-basedir": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
}
},
"uri-js": {
@@ -10167,66 +10356,24 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
- },
- "url-join": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
- "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=",
- "dev": true
- },
- "url-parse-lax": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
- "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
- "dev": true,
- "requires": {
- "prepend-http": "^1.0.1"
- }
- },
- "urlcache": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/urlcache/-/urlcache-0.7.0.tgz",
- "integrity": "sha512-xOW4t6wJDT07+VunsHwePemyXXRidCSOZ/1RIILJi2XnB+81FA5H0MRvS63/7joTWjGLajcJJGvR5odpbkV6hw==",
"dev": true,
- "requires": {
- "urlobj": "0.0.11"
- }
+ "optional": true
},
- "urlobj": {
- "version": "0.0.11",
- "resolved": "https://registry.npmjs.org/urlobj/-/urlobj-0.0.11.tgz",
- "integrity": "sha512-Ncck0WWtuFBbZhSYwKjK1AU2V51V98P/KHUPkaEc+mFy4xkpAHFNyVQT+S5SgtsJAr94e4wiKUucJSfasV2kBw==",
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
"dev": true,
"requires": {
- "is-object": "^1.0.1",
- "is-string": "^1.0.4",
- "object-assign": "^4.1.1"
- },
- "dependencies": {
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- }
+ "prepend-http": "^2.0.0"
}
},
"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
- },
- "useragent": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
- "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
"dev": true,
- "requires": {
- "lru-cache": "4.1.x",
- "tmp": "0.0.x"
- }
+ "optional": true
},
"util-deprecate": {
"version": "1.0.2",
@@ -10241,9 +10388,15 @@
"dev": true
},
"uuid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
- "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "dev": true
+ },
+ "v8-compile-cache": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
+ "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
"dev": true
},
"validate-npm-package-license": {
@@ -10268,15 +10421,16 @@
}
},
"vfile": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz",
- "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.0.tgz",
+ "integrity": "sha512-BaTPalregj++64xbGK6uIlsurN3BCRNM/P2Pg8HezlGzKd1O9PrwIac6bd9Pdx2uTb0QHoioZ+rXKolbVXEgJg==",
"dev": true,
"requires": {
+ "@types/unist": "^2.0.0",
"is-buffer": "^2.0.0",
"replace-ext": "1.0.0",
- "unist-util-stringify-position": "^1.0.0",
- "vfile-message": "^1.0.0"
+ "unist-util-stringify-position": "^2.0.0",
+ "vfile-message": "^2.0.0"
},
"dependencies": {
"is-buffer": {
@@ -10284,34 +10438,19 @@
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
"dev": true
- },
- "unist-util-stringify-position": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
- "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==",
- "dev": true
- },
- "vfile-message": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
- "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
- "dev": true,
- "requires": {
- "unist-util-stringify-position": "^1.1.1"
- }
}
}
},
"vfile-location": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz",
- "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz",
+ "integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==",
"dev": true
},
"vfile-message": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.2.tgz",
- "integrity": "sha512-gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
+ "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
@@ -10319,9 +10458,9 @@
}
},
"vnu-jar": {
- "version": "19.9.4",
- "resolved": "https://registry.npmjs.org/vnu-jar/-/vnu-jar-19.9.4.tgz",
- "integrity": "sha512-x91WyaNr1oPJaYZkbyMElRyV60BUaxPuhm3zXXjlFOpW3E2KavPWlyohX0LTf6gX7/tujIMgLE5UGc0jn7o4XQ==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/vnu-jar/-/vnu-jar-20.3.16.tgz",
+ "integrity": "sha512-CHlvP4lilQvgjSRDsiB7i0lN0gnkq6zv3sN/71FYVgOQ/nYLXFfUhGIVeGskm9W1C0+UralU1XQnbsjJr2ijaw==",
"dev": true
},
"void-elements": {
@@ -10340,24 +10479,18 @@
}
},
"which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
},
"which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
- "dev": true
- },
- "which-pm-runs": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
- "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
+ "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": {
@@ -10367,15 +10500,6 @@
"dev": true,
"requires": {
"string-width": "^1.0.2 || 2"
- }
- },
- "widest-line": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
- "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
- "dev": true,
- "requires": {
- "string-width": "^2.1.1"
},
"dependencies": {
"ansi-regex": {
@@ -10411,13 +10535,13 @@
}
}
},
- "win-release": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz",
- "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=",
+ "widest-line": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+ "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
"dev": true,
"requires": {
- "semver": "^5.0.1"
+ "string-width": "^4.0.0"
}
},
"word-wrap": {
@@ -10426,20 +10550,42 @@
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"dev": true
},
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
- "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=",
+ "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": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "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"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
}
},
"wrappy": {
@@ -10458,14 +10604,15 @@
}
},
"write-file-atomic": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
- "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.2"
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
}
},
"ws": {
@@ -10479,16 +10626,10 @@
"ultron": "~1.1.0"
}
},
- "x-is-string": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
- "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
- "dev": true
- },
"xdg-basedir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
- "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
+ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
"dev": true
},
"xmlhttprequest-ssl": {
@@ -10498,15 +10639,15 @@
"dev": true
},
"xtend": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
- "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
+ "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": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"dev": true
},
"yallist": {
@@ -10515,144 +10656,93 @@
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
+ "yaml": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz",
+ "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.9.2"
+ }
+ },
"yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
"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",
+ "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": "^1.0.1",
+ "require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^5.0.0"
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.1"
},
"dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- },
"find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "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"
- }
- },
- "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"
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "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": {
- "pinkie-promise": "^2.0.0"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
}
},
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "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": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "p-locate": "^4.1.0"
}
},
- "pify": {
+ "p-limit": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
+ "p-try": "^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=",
+ "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": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
+ "p-limit": "^2.2.0"
}
},
- "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=",
+ "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
},
- "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"
- }
+ "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
}
}
},
"yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "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": "^3.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- }
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
}
},
"yeast": {
diff --git a/vendor/twbs/bootstrap/package.js b/vendor/twbs/bootstrap/package.js
index c9839129a..624c30a92 100644
--- a/vendor/twbs/bootstrap/package.js
+++ b/vendor/twbs/bootstrap/package.js
@@ -3,7 +3,7 @@
Package.describe({
name: 'twbs:bootstrap', // https://atmospherejs.com/twbs/bootstrap
summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
- version: '4.4.1',
+ version: '4.5.0',
git: 'https://github.com/twbs/bootstrap.git'
});
diff --git a/vendor/twbs/bootstrap/package.json b/vendor/twbs/bootstrap/package.json
index c4dfc2122..2769e7b16 100644
--- a/vendor/twbs/bootstrap/package.json
+++ b/vendor/twbs/bootstrap/package.json
@@ -1,8 +1,8 @@
{
"name": "bootstrap",
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
- "version": "4.4.1",
- "version_short": "4.4",
+ "version": "4.5.0",
+ "version_short": "4.5",
"keywords": [
"css",
"sass",
@@ -19,10 +19,7 @@
],
"scripts": {
"start": "npm-run-all --parallel watch docs-serve",
- "blc": "blc --exclude-external --filter-level 3 --follow --get --ordered --recursive --host-requests 4 --input http://localhost:3000/",
- "http-server": "http-server --silent -p 3000",
- "bundlesize": "bundlesize",
- "check-broken-links": "npm-run-all --parallel --race \"http-server -- _gh_pages/\" blc",
+ "bundlewatch": "bundlewatch --config .bundlewatch.config.json",
"css": "npm-run-all css-compile css-prefix css-minify css-copy",
"css-copy": "cross-env-shell shx mkdir -p site/docs/$npm_package_version_short/dist/ && cross-env-shell shx cp -r dist/css/ site/docs/$npm_package_version_short/dist/",
"css-main": "npm-run-all css-lint css-compile-main css-prefix-main css-minify-main css-copy",
@@ -50,13 +47,13 @@
"js-compile-plugins": "node build/build-plugins.js",
"js-compile-plugins-coverage": "cross-env NODE_ENV=test node build/build-plugins.js",
"js-lint": "npm-run-all --continue-on-error --parallel js-lint-*",
- "js-lint-main": "eslint --cache --cache-location .cache/.eslintcache js/src js/tests build/",
- "js-lint-docs": "eslint --cache --cache-location .cache/.eslintcache site/",
+ "js-lint-main": "eslint --report-unused-disable-directives --cache --cache-location .cache/.eslintcache js/src js/tests build/",
+ "js-lint-docs": "eslint --report-unused-disable-directives --cache --cache-location .cache/.eslintcache site/",
"js-minify": "npm-run-all --parallel js-minify-main js-minify-docs",
"js-minify-main": "npm-run-all js-minify-standalone js-minify-bundle",
- "js-minify-standalone": "uglifyjs --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.js.map,includeSources,url=bootstrap.min.js.map\" --output dist/js/bootstrap.min.js dist/js/bootstrap.js",
- "js-minify-bundle": "uglifyjs --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.bundle.js.map,includeSources,url=bootstrap.bundle.min.js.map\" --output dist/js/bootstrap.bundle.min.js dist/js/bootstrap.bundle.js",
- "js-minify-docs": "cross-env-shell uglifyjs --mangle --comments \\\"/^!/\\\" --output site/docs/$npm_package_version_short/assets/js/docs.min.js site/docs/$npm_package_version_short/assets/js/vendor/anchor.min.js site/docs/$npm_package_version_short/assets/js/vendor/clipboard.min.js site/docs/$npm_package_version_short/assets/js/vendor/bs-custom-file-input.min.js \"site/docs/$npm_package_version_short/assets/js/src/*.js\"",
+ "js-minify-standalone": "terser --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.js.map,includeSources,url=bootstrap.min.js.map\" --output dist/js/bootstrap.min.js dist/js/bootstrap.js",
+ "js-minify-bundle": "terser --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.bundle.js.map,includeSources,url=bootstrap.bundle.min.js.map\" --output dist/js/bootstrap.bundle.min.js dist/js/bootstrap.bundle.js",
+ "js-minify-docs": "cross-env-shell terser --mangle --comments \\\"/^!/\\\" --output site/docs/$npm_package_version_short/assets/js/docs.min.js site/docs/$npm_package_version_short/assets/js/vendor/anchor.min.js site/docs/$npm_package_version_short/assets/js/vendor/clipboard.min.js site/docs/$npm_package_version_short/assets/js/vendor/bs-custom-file-input.min.js \"site/docs/$npm_package_version_short/assets/js/src/*.js\"",
"js-test": "npm-run-all js-test-karma* js-test-integration",
"js-test-karma": "karma start js/tests/karma.conf.js",
"js-test-karma-old": "cross-env USE_OLD_JQUERY=true npm run js-test-karma",
@@ -64,21 +61,26 @@
"js-test-karma-bundle-old": "cross-env BUNDLE=true USE_OLD_JQUERY=true npm run js-test-karma",
"js-test-integration": "rollup --config js/tests/integration/rollup.bundle.js",
"js-test-cloud": "cross-env BROWSER=true npm run js-test-karma",
- "lint": "npm-run-all --parallel js-lint css-lint",
- "docs": "npm-run-all css-docs js-docs docs-compile docs-lint",
- "docs-compile": "bundle exec jekyll build",
- "docs-production": "cross-env JEKYLL_ENV=production npm run docs-compile",
- "docs-netlify": "cross-env JEKYLL_ENV=netlify npm run docs-compile",
- "docs-lint": "node build/vnu-jar.js",
+ "lint": "npm-run-all --parallel js-lint css-lint lockfile-lint",
+ "docs": "npm-run-all css-docs js-docs docs-build docs-lint",
+ "docs-build": "bundle exec jekyll build",
+ "docs-compile": "npm run docs-build",
+ "docs-production": "cross-env JEKYLL_ENV=production npm run docs-build",
+ "docs-netlify": "cross-env JEKYLL_ENV=netlify npm run docs-build",
+ "docs-linkinator": "linkinator _gh_pages --recurse --silent --skip \"^(?!http://localhost)\"",
+ "docs-vnu": "node build/vnu-jar.js",
+ "docs-lint": "npm-run-all --parallel docs-vnu docs-linkinator",
"docs-serve": "bundle exec jekyll serve",
"docs-serve-only": "npm run docs-serve -- --skip-initial-build --no-watch",
- "update-deps": "ncu -a -x \"cross-env,eslint,find-unused-sass-variables,karma,karma-browserstack-launcher,karma-qunit,nodemon,qunit,rollup,stylelint,stylelint-config-twbs-bootstrap\" && npm update && bundle update && cross-env-shell echo Manually update \\\"site/docs/$npm_package_version_short/assets/js/vendor/\\\"",
- "release": "npm-run-all dist release-sri release-zip docs-production",
+ "lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json",
+ "update-deps": "ncu -u -x \"jquery,karma-browserstack-launcher,popper.js,qunit,sinon\" && npm update && bundle update && cross-env-shell echo Manually update \\\"site/docs/$npm_package_version_short/assets/js/vendor/\\\"",
+ "release": "npm-run-all dist release-sri docs-build release-zip*",
"release-sri": "node build/generate-sri.js",
"release-version": "node build/change-version.js",
"release-zip": "cross-env-shell \"shx rm -rf bootstrap-$npm_package_version-dist && shx cp -r dist/ bootstrap-$npm_package_version-dist && zip -r9 bootstrap-$npm_package_version-dist.zip bootstrap-$npm_package_version-dist && shx rm -rf bootstrap-$npm_package_version-dist\"",
+ "release-zip-examples": "node build/zip-examples.js",
"dist": "npm-run-all --parallel css js",
- "test": "npm-run-all lint dist js-test docs-compile docs-lint",
+ "test": "npm-run-all lint dist js-test docs-build docs-lint",
"netlify": "npm-run-all dist release-sri docs-netlify",
"watch": "npm-run-all --parallel watch-*",
"watch-css-main": "nodemon --watch scss/ --ext scss --exec \"npm run css-main\"",
@@ -88,7 +90,7 @@
},
"style": "dist/css/bootstrap.css",
"sass": "scss/bootstrap.scss",
- "main": "dist/js/bootstrap",
+ "main": "dist/js/bootstrap.js",
"repository": {
"type": "git",
"url": "git+https://github.com/twbs/bootstrap.git"
@@ -97,58 +99,59 @@
"url": "https://github.com/twbs/bootstrap/issues"
},
"license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ },
"dependencies": {},
"peerDependencies": {
"jquery": "1.9.1 - 3",
"popper.js": "^1.16.0"
},
"devDependencies": {
- "@babel/cli": "^7.7.4",
- "@babel/core": "^7.7.4",
- "@babel/plugin-proposal-object-rest-spread": "^7.7.4",
- "@babel/preset-env": "^7.7.4",
- "autoprefixer": "^9.7.2",
- "babel-eslint": "^10.0.3",
- "babel-plugin-istanbul": "^5.2.0",
- "broken-link-checker": "^0.7.8",
- "bundlesize": "^0.18.0",
+ "@babel/cli": "^7.8.4",
+ "@babel/core": "^7.9.6",
+ "@babel/plugin-proposal-object-rest-spread": "^7.9.6",
+ "@babel/preset-env": "^7.9.6",
+ "@rollup/plugin-commonjs": "^11.1.0",
+ "@rollup/plugin-node-resolve": "^7.1.3",
+ "autoprefixer": "^9.7.6",
+ "babel-eslint": "^10.1.0",
+ "babel-plugin-istanbul": "^6.0.0",
+ "bundlewatch": "^0.2.7",
"clean-css-cli": "^4.3.0",
- "cross-env": "^5.2.1",
- "eslint": "^5.16.0",
- "find-unused-sass-variables": "^0.6.0",
+ "cross-env": "^7.0.2",
+ "eslint": "^7.0.0",
+ "find-unused-sass-variables": "^2.0.0",
"glob": "^7.1.6",
"hammer-simulator": "0.0.1",
- "http-server": "^0.11.1",
"ip": "^1.1.5",
- "jquery": "^3.4.1",
- "karma": "^3.1.4",
+ "jquery": "^3.5.1",
+ "karma": "^5.0.5",
"karma-browserstack-launcher": "1.4.0",
"karma-chrome-launcher": "^3.1.0",
- "karma-coverage-istanbul-reporter": "^2.1.1",
+ "karma-coverage-istanbul-reporter": "^3.0.2",
"karma-detect-browsers": "^2.3.3",
- "karma-firefox-launcher": "^1.2.0",
- "karma-qunit": "^3.1.3",
+ "karma-firefox-launcher": "^1.3.0",
+ "karma-qunit": "^4.1.1",
"karma-sinon": "^1.0.5",
- "node-sass": "^4.13.0",
- "nodemon": "^1.19.4",
+ "linkinator": "^2.1.1",
+ "lockfile-lint": "^4.2.2",
+ "node-sass": "^4.14.1",
+ "nodemon": "^2.0.3",
"npm-run-all": "^4.1.5",
"popper.js": "^1.16.0",
- "postcss-cli": "^6.1.3",
+ "postcss-cli": "^7.1.1",
"qunit": "2.9.2",
- "rollup": "1.26.5",
- "rollup-plugin-babel": "^4.3.3",
- "rollup-plugin-commonjs": "^10.1.0",
- "rollup-plugin-node-resolve": "^5.2.0",
- "shelljs": "^0.8.3",
+ "rollup": "^2.9.1",
+ "rollup-plugin-babel": "^4.4.0",
+ "shelljs": "^0.8.4",
"shx": "^0.3.2",
"sinon": "^7.5.0",
- "stylelint": "^9.10.1",
- "stylelint-config-twbs-bootstrap": "^0.5.0",
- "uglify-js": "^3.6.9",
- "vnu-jar": "19.9.4"
- },
- "engines": {
- "node": ">=6"
+ "stylelint": "^13.3.3",
+ "stylelint-config-twbs-bootstrap": "^2.0.2",
+ "terser": "^4.6.13",
+ "vnu-jar": "20.3.16"
},
"files": [
"dist/{css,js}/*.{css,js,map}",
@@ -175,9 +178,5 @@
"jquery": "1.9.1 - 3",
"popper.js": "^1.16.0"
}
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/bootstrap"
}
}
diff --git a/vendor/twbs/bootstrap/scss/_breadcrumb.scss b/vendor/twbs/bootstrap/scss/_breadcrumb.scss
index d748894f9..a0cf7e29b 100644
--- a/vendor/twbs/bootstrap/scss/_breadcrumb.scss
+++ b/vendor/twbs/bootstrap/scss/_breadcrumb.scss
@@ -10,6 +10,8 @@
}
.breadcrumb-item {
+ display: flex;
+
// The separator between breadcrumbs (by default, a forward-slash: "/")
+ .breadcrumb-item {
padding-left: $breadcrumb-item-padding;
diff --git a/vendor/twbs/bootstrap/scss/_buttons.scss b/vendor/twbs/bootstrap/scss/_buttons.scss
index e87d3393a..6ee24ba1f 100644
--- a/vendor/twbs/bootstrap/scss/_buttons.scss
+++ b/vendor/twbs/bootstrap/scss/_buttons.scss
@@ -10,9 +10,9 @@
font-weight: $btn-font-weight;
color: $body-color;
text-align: center;
+ text-decoration: if($link-decoration == none, null, none);
white-space: $btn-white-space;
vertical-align: middle;
- cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
user-select: none;
background-color: transparent;
border: $btn-border-width solid transparent;
@@ -37,12 +37,16 @@
@include box-shadow(none);
}
- &:not(:disabled):not(.disabled):active,
- &:not(:disabled):not(.disabled).active {
- @include box-shadow($btn-active-box-shadow);
+ &:not(:disabled):not(.disabled) {
+ cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
- &:focus {
- @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
+ &:active,
+ &.active {
+ @include box-shadow($btn-active-box-shadow);
+
+ &:focus {
+ @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
+ }
}
}
}
@@ -89,7 +93,6 @@ fieldset:disabled a.btn {
&:focus,
&.focus {
text-decoration: $link-hover-decoration;
- box-shadow: none;
}
&:disabled,
diff --git a/vendor/twbs/bootstrap/scss/_card.scss b/vendor/twbs/bootstrap/scss/_card.scss
index d6759fde6..fabe9f367 100644
--- a/vendor/twbs/bootstrap/scss/_card.scss
+++ b/vendor/twbs/bootstrap/scss/_card.scss
@@ -19,15 +19,18 @@
margin-left: 0;
}
- > .list-group:first-child {
- .list-group-item:first-child {
- @include border-top-radius($card-border-radius);
+ > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
+
+ &:first-child {
+ border-top-width: 0;
+ @include border-top-radius($card-inner-border-radius);
}
- }
- > .list-group:last-child {
- .list-group-item:last-child {
- @include border-bottom-radius($card-border-radius);
+ &:last-child {
+ border-bottom-width: 0;
+ @include border-bottom-radius($card-inner-border-radius);
}
}
}
@@ -90,6 +93,7 @@
.card-footer {
padding: $card-spacer-y $card-spacer-x;
+ color: $card-cap-color;
background-color: $card-cap-bg;
border-top: $card-border-width solid $card-border-color;
diff --git a/vendor/twbs/bootstrap/scss/_close.scss b/vendor/twbs/bootstrap/scss/_close.scss
index 071aebe80..82e9593ef 100644
--- a/vendor/twbs/bootstrap/scss/_close.scss
+++ b/vendor/twbs/bootstrap/scss/_close.scss
@@ -30,7 +30,6 @@ button.close {
padding: 0;
background-color: transparent;
border: 0;
- appearance: none;
}
// Future-proof disabling of clicks on `<a>` elements
diff --git a/vendor/twbs/bootstrap/scss/_custom-forms.scss b/vendor/twbs/bootstrap/scss/_custom-forms.scss
index 21e72da7d..0804c63cf 100644
--- a/vendor/twbs/bootstrap/scss/_custom-forms.scss
+++ b/vendor/twbs/bootstrap/scss/_custom-forms.scss
@@ -237,8 +237,9 @@
border-color: $custom-select-focus-border-color;
outline: 0;
@if $enable-shadows {
- box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow;
+ @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);
} @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $custom-select-focus-box-shadow;
}
diff --git a/vendor/twbs/bootstrap/scss/_dropdown.scss b/vendor/twbs/bootstrap/scss/_dropdown.scss
index 76f33a4fd..2ab7536e1 100644
--- a/vendor/twbs/bootstrap/scss/_dropdown.scss
+++ b/vendor/twbs/bootstrap/scss/_dropdown.scss
@@ -128,6 +128,7 @@
font-weight: $font-weight-normal;
color: $dropdown-link-color;
text-align: inherit; // For `<button>`s
+ text-decoration: if($link-decoration == none, null, none);
white-space: nowrap; // prevent links from randomly breaking onto new lines
background-color: transparent; // For `<button>`s
border: 0; // For `<button>`s
@@ -176,7 +177,7 @@
// Dropdown section headers
.dropdown-header {
display: block;
- padding: $dropdown-padding-y $dropdown-item-padding-x;
+ padding: $dropdown-header-padding;
margin-bottom: 0; // for use with heading elements
@include font-size($font-size-sm);
color: $dropdown-header-color;
diff --git a/vendor/twbs/bootstrap/scss/_forms.scss b/vendor/twbs/bootstrap/scss/_forms.scss
index b2edb7b27..66a4efe1d 100644
--- a/vendor/twbs/bootstrap/scss/_forms.scss
+++ b/vendor/twbs/bootstrap/scss/_forms.scss
@@ -59,6 +59,15 @@
}
}
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+ &.form-control {
+ appearance: none; // Fix appearance for date inputs in Safari
+ }
+}
+
select.form-control {
&:focus::-ms-value {
// Suppress the nested default white text on blue background highlight given to
diff --git a/vendor/twbs/bootstrap/scss/_functions.scss b/vendor/twbs/bootstrap/scss/_functions.scss
index 695e6cd2f..eb2471d75 100644
--- a/vendor/twbs/bootstrap/scss/_functions.scss
+++ b/vendor/twbs/bootstrap/scss/_functions.scss
@@ -23,10 +23,12 @@
// Starts at zero
// Used to ensure the min-width of the lowest breakpoint starts at 0.
@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
- $values: map-values($map);
- $first-value: nth($values, 1);
- @if $first-value != 0 {
- @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
+ @if length($map) > 0 {
+ $values: map-values($map);
+ $first-value: nth($values, 1);
+ @if $first-value != 0 {
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
+ }
}
}
@@ -52,7 +54,12 @@
@function escape-svg($string) {
@if str-index($string, "data:image/svg+xml") {
@each $char, $encoded in $escaped-characters {
- $string: str-replace($string, $char, $encoded);
+ // Do not escape the url brackets
+ @if str-index($string, "url(") == 1 {
+ $string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
+ } @else {
+ $string: str-replace($string, $char, $encoded);
+ }
}
}
diff --git a/vendor/twbs/bootstrap/scss/_grid.scss b/vendor/twbs/bootstrap/scss/_grid.scss
index d36ee75d8..57ec5a9d0 100644
--- a/vendor/twbs/bootstrap/scss/_grid.scss
+++ b/vendor/twbs/bootstrap/scss/_grid.scss
@@ -25,11 +25,19 @@
max-width: $container-max-width;
}
+ // Extend each breakpoint which is smaller or equal to the current breakpoint
+ $extend-breakpoint: true;
+
@each $name, $width in $grid-breakpoints {
- @if ($container-max-width > $width or $breakpoint == $name) {
+ @if ($extend-breakpoint) {
.container#{breakpoint-infix($name, $grid-breakpoints)} {
@extend %responsive-container-#{$breakpoint};
}
+
+ // Once the current breakpoint is reached, stop extending
+ @if ($breakpoint == $name) {
+ $extend-breakpoint: false;
+ }
}
}
}
diff --git a/vendor/twbs/bootstrap/scss/_input-group.scss b/vendor/twbs/bootstrap/scss/_input-group.scss
index bf69ddb41..cad8ea367 100644
--- a/vendor/twbs/bootstrap/scss/_input-group.scss
+++ b/vendor/twbs/bootstrap/scss/_input-group.scss
@@ -16,7 +16,8 @@
> .custom-select,
> .custom-file {
position: relative; // For focus state's z-index
- flex: 1 1 0%;
+ flex: 1 1 auto;
+ width: 1%;
min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
margin-bottom: 0;
diff --git a/vendor/twbs/bootstrap/scss/_list-group.scss b/vendor/twbs/bootstrap/scss/_list-group.scss
index 468c2e31a..37c307e22 100644
--- a/vendor/twbs/bootstrap/scss/_list-group.scss
+++ b/vendor/twbs/bootstrap/scss/_list-group.scss
@@ -9,6 +9,7 @@
// No need to set list-style: none; since .list-group-item is block level
padding-left: 0; // reset padding because ul and ol
margin-bottom: 0;
+ @include border-radius($list-group-border-radius);
}
@@ -46,15 +47,16 @@
display: block;
padding: $list-group-item-padding-y $list-group-item-padding-x;
color: $list-group-color;
+ text-decoration: if($link-decoration == none, null, none);
background-color: $list-group-bg;
border: $list-group-border-width solid $list-group-border-color;
&:first-child {
- @include border-top-radius($list-group-border-radius);
+ @include border-top-radius(inherit);
}
&:last-child {
- @include border-bottom-radius($list-group-border-radius);
+ @include border-bottom-radius(inherit);
}
&.disabled,
@@ -94,7 +96,7 @@
.list-group-horizontal#{$infix} {
flex-direction: row;
- .list-group-item {
+ > .list-group-item {
&:first-child {
@include border-bottom-left-radius($list-group-border-radius);
@include border-top-right-radius(0);
@@ -130,18 +132,12 @@
// useful within other components (e.g., cards).
.list-group-flush {
- .list-group-item {
- border-right-width: 0;
- border-left-width: 0;
- @include border-radius(0);
+ @include border-radius(0);
- &:first-child {
- border-top-width: 0;
- }
- }
+ > .list-group-item {
+ border-width: 0 0 $list-group-border-width;
- &:last-child {
- .list-group-item:last-child {
+ &:last-child {
border-bottom-width: 0;
}
}
diff --git a/vendor/twbs/bootstrap/scss/_modal.scss b/vendor/twbs/bootstrap/scss/_modal.scss
index 9053c173f..a6d0f0651 100644
--- a/vendor/twbs/bootstrap/scss/_modal.scss
+++ b/vendor/twbs/bootstrap/scss/_modal.scss
@@ -83,6 +83,7 @@
&::before {
display: block; // IE10
height: subtract(100vh, $modal-dialog-margin * 2);
+ height: min-content; // Reset height to 0 except on IE
content: "";
}
@@ -217,6 +218,7 @@
&::before {
height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
+ height: min-content;
}
}
diff --git a/vendor/twbs/bootstrap/scss/_nav.scss b/vendor/twbs/bootstrap/scss/_nav.scss
index 667d68272..b8b73bb7a 100644
--- a/vendor/twbs/bootstrap/scss/_nav.scss
+++ b/vendor/twbs/bootstrap/scss/_nav.scss
@@ -14,6 +14,7 @@
.nav-link {
display: block;
padding: $nav-link-padding-y $nav-link-padding-x;
+ text-decoration: if($link-decoration == none, null, none);
@include hover-focus() {
text-decoration: none;
diff --git a/vendor/twbs/bootstrap/scss/_pagination.scss b/vendor/twbs/bootstrap/scss/_pagination.scss
index 953a35a7f..d7d553cca 100644
--- a/vendor/twbs/bootstrap/scss/_pagination.scss
+++ b/vendor/twbs/bootstrap/scss/_pagination.scss
@@ -11,6 +11,7 @@
margin-left: -$pagination-border-width;
line-height: $pagination-line-height;
color: $pagination-color;
+ text-decoration: if($link-decoration == none, null, none);
background-color: $pagination-bg;
border: $pagination-border-width solid $pagination-border-color;
diff --git a/vendor/twbs/bootstrap/scss/_progress.scss b/vendor/twbs/bootstrap/scss/_progress.scss
index 37ef6022e..1a037045a 100644
--- a/vendor/twbs/bootstrap/scss/_progress.scss
+++ b/vendor/twbs/bootstrap/scss/_progress.scss
@@ -10,6 +10,7 @@
display: flex;
height: $progress-height;
overflow: hidden; // force rounded corners by cropping it
+ line-height: 0;
@include font-size($progress-font-size);
background-color: $progress-bg;
@include border-radius($progress-border-radius);
diff --git a/vendor/twbs/bootstrap/scss/_reboot.scss b/vendor/twbs/bootstrap/scss/_reboot.scss
index b6c98ccd7..5a52b58fc 100644
--- a/vendor/twbs/bootstrap/scss/_reboot.scss
+++ b/vendor/twbs/bootstrap/scss/_reboot.scss
@@ -229,6 +229,9 @@ pre {
margin-bottom: 1rem;
// Don't allow content to break outside
overflow: auto;
+ // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,
+ // making it impossible to interact with the content
+ -ms-overflow-style: scrollbar;
}
@@ -330,6 +333,13 @@ select {
text-transform: none; // Remove the inheritance of text transform in Firefox
}
+// Set the cursor for non-`<button>` buttons
+//
+// Details at https://github.com/twbs/bootstrap/pull/30562
+[role="button"] {
+ cursor: pointer;
+}
+
// Remove the inheritance of word-wrap in Safari.
//
// Details at https://github.com/twbs/bootstrap/issues/24990
@@ -376,18 +386,6 @@ input[type="checkbox"] {
}
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-input[type="month"] {
- // Remove the default appearance of temporal inputs to avoid a Mobile Safari
- // bug where setting a custom line-height prevents text from being vertically
- // centered within the input.
- // See https://bugs.webkit.org/show_bug.cgi?id=139848
- // and https://github.com/twbs/bootstrap/issues/11266
- -webkit-appearance: listbox;
-}
-
textarea {
overflow: auto; // Remove the default vertical scrollbar in IE.
// Textareas should really only resize vertically so they don't break their (horizontal) containers.
diff --git a/vendor/twbs/bootstrap/scss/_spinners.scss b/vendor/twbs/bootstrap/scss/_spinners.scss
index 364a5c1a6..27c9241a7 100644
--- a/vendor/twbs/bootstrap/scss/_spinners.scss
+++ b/vendor/twbs/bootstrap/scss/_spinners.scss
@@ -34,6 +34,7 @@
}
50% {
opacity: 1;
+ transform: none;
}
}
diff --git a/vendor/twbs/bootstrap/scss/_utilities.scss b/vendor/twbs/bootstrap/scss/_utilities.scss
index a5de31ba6..10e31dd7e 100644
--- a/vendor/twbs/bootstrap/scss/_utilities.scss
+++ b/vendor/twbs/bootstrap/scss/_utilities.scss
@@ -6,12 +6,13 @@
@import "utilities/embed";
@import "utilities/flex";
@import "utilities/float";
+@import "utilities/interactions";
@import "utilities/overflow";
@import "utilities/position";
@import "utilities/screenreaders";
@import "utilities/shadows";
@import "utilities/sizing";
-@import "utilities/stretched-link";
@import "utilities/spacing";
+@import "utilities/stretched-link";
@import "utilities/text";
@import "utilities/visibility";
diff --git a/vendor/twbs/bootstrap/scss/_variables.scss b/vendor/twbs/bootstrap/scss/_variables.scss
index 5d3135cd9..22fafe10c 100644
--- a/vendor/twbs/bootstrap/scss/_variables.scss
+++ b/vendor/twbs/bootstrap/scss/_variables.scss
@@ -106,6 +106,8 @@ $escaped-characters: (
("<","%3c"),
(">","%3e"),
("#","%23"),
+ ("(","%28"),
+ (")","%29"),
) !default;
@@ -786,6 +788,7 @@ $dropdown-item-padding-y: .25rem !default;
$dropdown-item-padding-x: 1.5rem !default;
$dropdown-header-color: $gray-600 !default;
+$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;
// Pagination
@@ -1135,6 +1138,7 @@ $pre-scrollable-max-height: 340px !default;
$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
$overflows: auto, hidden !default;
$positions: static, relative, absolute, fixed, sticky !default;
+$user-selects: all, auto, none !default;
// Printing
diff --git a/vendor/twbs/bootstrap/scss/bootstrap-grid.scss b/vendor/twbs/bootstrap/scss/bootstrap-grid.scss
index 33e1376b3..4109e4fbd 100644
--- a/vendor/twbs/bootstrap/scss/bootstrap-grid.scss
+++ b/vendor/twbs/bootstrap/scss/bootstrap-grid.scss
@@ -1,7 +1,7 @@
/*!
- * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap Grid v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
diff --git a/vendor/twbs/bootstrap/scss/bootstrap-reboot.scss b/vendor/twbs/bootstrap/scss/bootstrap-reboot.scss
index 5dd6f846b..e61235ac6 100644
--- a/vendor/twbs/bootstrap/scss/bootstrap-reboot.scss
+++ b/vendor/twbs/bootstrap/scss/bootstrap-reboot.scss
@@ -1,7 +1,7 @@
/*!
- * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
diff --git a/vendor/twbs/bootstrap/scss/bootstrap.scss b/vendor/twbs/bootstrap/scss/bootstrap.scss
index 881e4d869..8ae96deb9 100644
--- a/vendor/twbs/bootstrap/scss/bootstrap.scss
+++ b/vendor/twbs/bootstrap/scss/bootstrap.scss
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v4.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap v4.5.0 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
diff --git a/vendor/twbs/bootstrap/scss/mixins/_background-variant.scss b/vendor/twbs/bootstrap/scss/mixins/_background-variant.scss
index 3ceb5c563..80580189a 100644
--- a/vendor/twbs/bootstrap/scss/mixins/_background-variant.scss
+++ b/vendor/twbs/bootstrap/scss/mixins/_background-variant.scss
@@ -15,8 +15,9 @@
@include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);
}
-@mixin bg-gradient-variant($parent, $color) {
+@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {
#{$parent} {
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
}
+ @include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);
}
diff --git a/vendor/twbs/bootstrap/scss/mixins/_border-radius.scss b/vendor/twbs/bootstrap/scss/mixins/_border-radius.scss
index 88aeb37d8..aee9bf3d3 100644
--- a/vendor/twbs/bootstrap/scss/mixins/_border-radius.scss
+++ b/vendor/twbs/bootstrap/scss/mixins/_border-radius.scss
@@ -1,9 +1,22 @@
// stylelint-disable property-blacklist
// Single side border-radius
+// Helper function to replace negative values with 0
+@function valid-radius($radius) {
+ $return: ();
+ @each $value in $radius {
+ @if type-of($value) == number {
+ $return: append($return, max($value, 0));
+ } @else {
+ $return: append($return, $value);
+ }
+ }
+ @return $return;
+}
+
@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
@if $enable-rounded {
- border-radius: $radius;
+ border-radius: valid-radius($radius);
}
@else if $fallback-border-radius != false {
border-radius: $fallback-border-radius;
@@ -12,52 +25,52 @@
@mixin border-top-radius($radius) {
@if $enable-rounded {
- border-top-left-radius: $radius;
- border-top-right-radius: $radius;
+ border-top-left-radius: valid-radius($radius);
+ border-top-right-radius: valid-radius($radius);
}
}
@mixin border-right-radius($radius) {
@if $enable-rounded {
- border-top-right-radius: $radius;
- border-bottom-right-radius: $radius;
+ border-top-right-radius: valid-radius($radius);
+ border-bottom-right-radius: valid-radius($radius);
}
}
@mixin border-bottom-radius($radius) {
@if $enable-rounded {
- border-bottom-right-radius: $radius;
- border-bottom-left-radius: $radius;
+ border-bottom-right-radius: valid-radius($radius);
+ border-bottom-left-radius: valid-radius($radius);
}
}
@mixin border-left-radius($radius) {
@if $enable-rounded {
- border-top-left-radius: $radius;
- border-bottom-left-radius: $radius;
+ border-top-left-radius: valid-radius($radius);
+ border-bottom-left-radius: valid-radius($radius);
}
}
@mixin border-top-left-radius($radius) {
@if $enable-rounded {
- border-top-left-radius: $radius;
+ border-top-left-radius: valid-radius($radius);
}
}
@mixin border-top-right-radius($radius) {
@if $enable-rounded {
- border-top-right-radius: $radius;
+ border-top-right-radius: valid-radius($radius);
}
}
@mixin border-bottom-right-radius($radius) {
@if $enable-rounded {
- border-bottom-right-radius: $radius;
+ border-bottom-right-radius: valid-radius($radius);
}
}
@mixin border-bottom-left-radius($radius) {
@if $enable-rounded {
- border-bottom-left-radius: $radius;
+ border-bottom-left-radius: valid-radius($radius);
}
}
diff --git a/vendor/twbs/bootstrap/scss/mixins/_buttons.scss b/vendor/twbs/bootstrap/scss/mixins/_buttons.scss
index c82c4d6d0..d6235aa27 100644
--- a/vendor/twbs/bootstrap/scss/mixins/_buttons.scss
+++ b/vendor/twbs/bootstrap/scss/mixins/_buttons.scss
@@ -20,10 +20,10 @@
color: color-yiq($hover-background);
@include gradient-bg($hover-background);
border-color: $hover-border;
- // Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows {
- box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
+ @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
} @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
}
}
@@ -51,10 +51,10 @@
border-color: $active-border;
&:focus {
- // Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows and $btn-active-box-shadow != none {
- box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
+ @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
} @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
}
}
@@ -90,10 +90,10 @@
border-color: $active-border;
&:focus {
- // Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows and $btn-active-box-shadow != none {
- box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);
+ @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
} @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
}
diff --git a/vendor/twbs/bootstrap/scss/mixins/_forms.scss b/vendor/twbs/bootstrap/scss/mixins/_forms.scss
index 418470d0b..57c2d79f2 100644
--- a/vendor/twbs/bootstrap/scss/mixins/_forms.scss
+++ b/vendor/twbs/bootstrap/scss/mixins/_forms.scss
@@ -16,10 +16,10 @@
background-color: $input-focus-bg;
border-color: $input-focus-border-color;
outline: 0;
- // Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows {
- box-shadow: $input-box-shadow, $input-focus-box-shadow;
+ @include box-shadow($input-box-shadow, $input-focus-box-shadow);
} @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $input-focus-box-shadow;
}
}
diff --git a/vendor/twbs/bootstrap/scss/mixins/_grid-framework.scss b/vendor/twbs/bootstrap/scss/mixins/_grid-framework.scss
index 8e291f7ae..191fb5650 100644
--- a/vendor/twbs/bootstrap/scss/mixins/_grid-framework.scss
+++ b/vendor/twbs/bootstrap/scss/mixins/_grid-framework.scss
@@ -15,12 +15,15 @@
@each $breakpoint in map-keys($breakpoints) {
$infix: breakpoint-infix($breakpoint, $breakpoints);
- // Allow columns to stretch full width below their breakpoints
- @for $i from 1 through $columns {
- .col#{$infix}-#{$i} {
- @extend %grid-column;
+ @if $columns > 0 {
+ // Allow columns to stretch full width below their breakpoints
+ @for $i from 1 through $columns {
+ .col#{$infix}-#{$i} {
+ @extend %grid-column;
+ }
}
}
+
.col#{$infix},
.col#{$infix}-auto {
@extend %grid-column;
@@ -31,12 +34,15 @@
.col#{$infix} {
flex-basis: 0;
flex-grow: 1;
+ min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410
max-width: 100%;
}
- @for $i from 1 through $grid-row-columns {
- .row-cols#{$infix}-#{$i} {
- @include row-cols($i);
+ @if $grid-row-columns > 0 {
+ @for $i from 1 through $grid-row-columns {
+ .row-cols#{$infix}-#{$i} {
+ @include row-cols($i);
+ }
}
}
@@ -44,9 +50,11 @@
@include make-col-auto();
}
- @for $i from 1 through $columns {
- .col#{$infix}-#{$i} {
- @include make-col($i, $columns);
+ @if $columns > 0 {
+ @for $i from 1 through $columns {
+ .col#{$infix}-#{$i} {
+ @include make-col($i, $columns);
+ }
}
}
@@ -58,11 +66,13 @@
.order#{$infix}-#{$i} { order: $i; }
}
- // `$columns - 1` because offsetting by the width of an entire row isn't possible
- @for $i from 0 through ($columns - 1) {
- @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
- .offset#{$infix}-#{$i} {
- @include make-col-offset($i, $columns);
+ @if $columns > 0 {
+ // `$columns - 1` because offsetting by the width of an entire row isn't possible
+ @for $i from 0 through ($columns - 1) {
+ @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
+ .offset#{$infix}-#{$i} {
+ @include make-col-offset($i, $columns);
+ }
}
}
}
diff --git a/vendor/twbs/bootstrap/scss/mixins/_transition.scss b/vendor/twbs/bootstrap/scss/mixins/_transition.scss
index 8ce35a6b8..54553deb9 100644
--- a/vendor/twbs/bootstrap/scss/mixins/_transition.scss
+++ b/vendor/twbs/bootstrap/scss/mixins/_transition.scss
@@ -1,16 +1,26 @@
// stylelint-disable property-blacklist
@mixin transition($transition...) {
+ @if length($transition) == 0 {
+ $transition: $transition-base;
+ }
+
+ @if length($transition) > 1 {
+ @each $value in $transition {
+ @if $value == null or $value == none {
+ @warn "The keyword 'none' or 'null' must be used as a single argument.";
+ }
+ }
+ }
+
@if $enable-transitions {
- @if length($transition) == 0 {
- transition: $transition-base;
- } @else {
+ @if nth($transition, 1) != null {
transition: $transition;
}
- }
- @if $enable-prefers-reduced-motion-media-query {
- @media (prefers-reduced-motion: reduce) {
- transition: none;
+ @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {
+ @media (prefers-reduced-motion: reduce) {
+ transition: none;
+ }
}
}
}
diff --git a/vendor/twbs/bootstrap/scss/utilities/_background.scss b/vendor/twbs/bootstrap/scss/utilities/_background.scss
index a997b1bdd..3accbc4fd 100644
--- a/vendor/twbs/bootstrap/scss/utilities/_background.scss
+++ b/vendor/twbs/bootstrap/scss/utilities/_background.scss
@@ -6,7 +6,7 @@
@if $enable-gradients {
@each $color, $value in $theme-colors {
- @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
+ @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true);
}
}
diff --git a/vendor/twbs/bootstrap/scss/utilities/_interactions.scss b/vendor/twbs/bootstrap/scss/utilities/_interactions.scss
new file mode 100644
index 000000000..cc75fc21b
--- /dev/null
+++ b/vendor/twbs/bootstrap/scss/utilities/_interactions.scss
@@ -0,0 +1,5 @@
+// stylelint-disable declaration-no-important
+
+@each $value in $user-selects {
+ .user-select-#{$value} { user-select: $value !important; }
+}
diff --git a/vendor/twbs/bootstrap/scss/utilities/_text.scss b/vendor/twbs/bootstrap/scss/utilities/_text.scss
index 5d0f1c845..d2b2a22ed 100644
--- a/vendor/twbs/bootstrap/scss/utilities/_text.scss
+++ b/vendor/twbs/bootstrap/scss/utilities/_text.scss
@@ -63,8 +63,7 @@
.text-decoration-none { text-decoration: none !important; }
.text-break {
- word-break: break-word !important; // IE & < Edge 18
- overflow-wrap: break-word !important;
+ word-wrap: break-word !important;
}
// Reset
diff --git a/vendor/twbs/bootstrap/site/_data/browser-features.yml b/vendor/twbs/bootstrap/site/_data/browser-features.yml
index 303113da8..8f75cb3af 100644
--- a/vendor/twbs/bootstrap/site/_data/browser-features.yml
+++ b/vendor/twbs/bootstrap/site/_data/browser-features.yml
@@ -82,7 +82,7 @@
browser: >
Chrome
summary: >
- Fire a [`transitioncancel` event](https://developer.mozilla.org/en-US/docs/Web/Events/transitioncancel) when a CSS transition is canceled
+ Fire a [`transitioncancel` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/transitioncancel_event) when a CSS transition is canceled
upstream_bug: >
Chromium#642487
origin: >
@@ -112,7 +112,7 @@
browser: >
Safari
summary: >
- Fire a [`transitioncancel` event](https://developer.mozilla.org/en-US/docs/Web/Events/transitioncancel) when a CSS transition is canceled
+ Fire a [`transitioncancel` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/transitioncancel_event) when a CSS transition is canceled
upstream_bug: >
WebKit#161535
origin: >
diff --git a/vendor/twbs/bootstrap/site/_data/core-team.yml b/vendor/twbs/bootstrap/site/_data/core-team.yml
index 096827f50..5fbae8506 100644
--- a/vendor/twbs/bootstrap/site/_data/core-team.yml
+++ b/vendor/twbs/bootstrap/site/_data/core-team.yml
@@ -24,3 +24,6 @@
- name: Martijn Cuppens
user: martijncuppens
+
+- name: Shohei Yoshida
+ user: ysds
diff --git a/vendor/twbs/bootstrap/site/_data/docs-versions.yml b/vendor/twbs/bootstrap/site/_data/docs-versions.yml
index f5ba3df81..ffbb7400d 100644
--- a/vendor/twbs/bootstrap/site/_data/docs-versions.yml
+++ b/vendor/twbs/bootstrap/site/_data/docs-versions.yml
@@ -36,10 +36,11 @@
- group: v4.x
baseurl: https://getbootstrap.com/docs
- description: Current major release with two minor releases. Last update was v4.4.1.
+ description: Current major release with two minor releases. Last update was v4.5.0.
versions:
- v: 4.0
- v: 4.1
- v: 4.2
- v: 4.3
- v: 4.4
+ - v: 4.5
diff --git a/vendor/twbs/bootstrap/site/_data/nav.yml b/vendor/twbs/bootstrap/site/_data/nav.yml
index 664be04da..fb53efacd 100644
--- a/vendor/twbs/bootstrap/site/_data/nav.yml
+++ b/vendor/twbs/bootstrap/site/_data/nav.yml
@@ -64,6 +64,7 @@
- title: Flex
- title: Float
- title: Image replacement
+ - title: Interactions
- title: Overflow
- title: Position
- title: Screen readers
diff --git a/vendor/twbs/bootstrap/site/_data/translations.yml b/vendor/twbs/bootstrap/site/_data/translations.yml
index 030fa771b..f4dfd2366 100644
--- a/vendor/twbs/bootstrap/site/_data/translations.yml
+++ b/vendor/twbs/bootstrap/site/_data/translations.yml
@@ -17,3 +17,8 @@
code: ja
description: Bootstrap 4 日本語リファレンス
url: https://getbootstrap.jp/
+
+- name: Korean
+ code: ko
+ description: Bootstrap 4 한국어 문서
+ url: https://getbootstrap.kr/
diff --git a/vendor/twbs/bootstrap/site/_includes/docs-navbar.html b/vendor/twbs/bootstrap/site/_includes/docs-navbar.html
index 25f2a0afc..aa77be0f0 100644
--- a/vendor/twbs/bootstrap/site/_includes/docs-navbar.html
+++ b/vendor/twbs/bootstrap/site/_includes/docs-navbar.html
@@ -15,7 +15,7 @@
<a class="nav-link {% if page.title == "Examples" %}active{% endif %}" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Examples');">Examples</a>
</li>
<li class="nav-item">
- <a class="nav-link" href="{{ site.icons }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Icons');">Icons</a>
+ <a class="nav-link" href="{{ site.icons }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Icons');" target="_blank" rel="noopener">Icons</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ site.themes }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Themes');" target="_blank" rel="noopener">Themes</a>
@@ -35,14 +35,9 @@
v{{ site.docs_version }}
</a>
<div class="dropdown-menu dropdown-menu-md-right" aria-labelledby="bd-versions">
- <a class="dropdown-item active" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/">Latest (4.4.x)</a>
- <a class="dropdown-item" href="https://getbootstrap.com/docs/4.3/">v4.3.1</a>
- <a class="dropdown-item" href="https://getbootstrap.com/docs/4.2/">v4.2.1</a>
- <a class="dropdown-item" href="https://getbootstrap.com/docs/4.0/">v4.0.0</a>
+ <a class="dropdown-item active" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/">Latest (4.5.x)</a>
<div class="dropdown-divider"></div>
- <a class="dropdown-item" href="https://v4-alpha.getbootstrap.com/">v4 Alpha 6</a>
<a class="dropdown-item" href="https://getbootstrap.com/docs/3.4/">v3.4.1</a>
- <a class="dropdown-item" href="https://getbootstrap.com/docs/3.3/">v3.3.7</a>
<a class="dropdown-item" href="https://getbootstrap.com/2.3.2/">v2.3.2</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="{{ site.baseurl }}/docs/versions/">All versions</a>
@@ -50,22 +45,22 @@
</li>
<li class="nav-item">
- <a class="nav-link p-2" href="{{ site.repo }}" target="_blank" rel="noopener" aria-label="GitHub">
+ <a class="nav-link pl-2 pr-1 mx-1 py-3 my-n2" href="{{ site.github_org }}" target="_blank" rel="noopener" aria-label="GitHub">
{%- include icons/github.svg class="navbar-nav-svg" -%}
</a>
</li>
<li class="nav-item">
- <a class="nav-link p-2" href="https://twitter.com/{{ site.twitter }}" target="_blank" rel="noopener" aria-label="Twitter">
+ <a class="nav-link px-1 mx-1 py-3 my-n2" href="https://twitter.com/{{ site.twitter }}" target="_blank" rel="noopener" aria-label="Twitter">
{%- include icons/twitter.svg class="navbar-nav-svg" -%}
</a>
</li>
<li class="nav-item">
- <a class="nav-link p-2" href="{{ site.slack }}/" target="_blank" rel="noopener" aria-label="Slack">
+ <a class="nav-link px-1 mx-1 py-3 my-n2" href="{{ site.slack }}/" target="_blank" rel="noopener" aria-label="Slack">
{%- include icons/slack.svg class="navbar-nav-svg" -%}
</a>
</li>
<li class="nav-item">
- <a class="nav-link p-2" href="{{ site.opencollective }}/" target="_blank" rel="noopener" aria-label="Open Collective">
+ <a class="nav-link px-1 mx-1 py-3 my-n2" href="{{ site.opencollective }}/" target="_blank" rel="noopener" aria-label="Open Collective">
{%- include icons/opencollective.svg class="navbar-nav-svg" -%}
</a>
</li>
diff --git a/vendor/twbs/bootstrap/site/_includes/docs-sidebar.html b/vendor/twbs/bootstrap/site/_includes/docs-sidebar.html
index 3f5dfb8fc..1fb4ff016 100644
--- a/vendor/twbs/bootstrap/site/_includes/docs-sidebar.html
+++ b/vendor/twbs/bootstrap/site/_includes/docs-sidebar.html
@@ -1,6 +1,6 @@
<form role="search" class="bd-search d-flex align-items-center">
<input type="search" class="form-control" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off" data-docs-version="{{ site.docs_version }}">
- <button class="btn btn-link bd-search-docs-toggle d-md-none p-0 ml-3" type="button" data-toggle="collapse" data-target="#bd-docs-nav" aria-controls="bd-docs-nav" aria-expanded="false" aria-label="Toggle docs navigation">
+ <button class="btn bd-search-docs-toggle d-md-none p-0 ml-3" type="button" data-toggle="collapse" data-target="#bd-docs-nav" aria-controls="bd-docs-nav" aria-expanded="false" aria-label="Toggle docs navigation">
{%- include icons/menu.svg width="30" height="30" -%}
</button>
</form>
diff --git a/vendor/twbs/bootstrap/site/_includes/footer.html b/vendor/twbs/bootstrap/site/_includes/footer.html
index 03192a861..a46fbf80d 100644
--- a/vendor/twbs/bootstrap/site/_includes/footer.html
+++ b/vendor/twbs/bootstrap/site/_includes/footer.html
@@ -1,7 +1,7 @@
<footer class="bd-footer text-muted">
<div class="container-fluid p-3 p-md-5">
<ul class="bd-footer-links">
- <li><a href="{{ site.repo }}">GitHub</a></li>
+ <li><a href="{{ site.github_org }}">GitHub</a></li>
<li><a href="https://twitter.com/{{ site.twitter }}">Twitter</a></li>
<li><a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/">Examples</a></li>
<li><a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/about/overview/">About</a></li>
diff --git a/vendor/twbs/bootstrap/site/_includes/header.html b/vendor/twbs/bootstrap/site/_includes/header.html
index 8fa50f395..985918bd6 100644
--- a/vendor/twbs/bootstrap/site/_includes/header.html
+++ b/vendor/twbs/bootstrap/site/_includes/header.html
@@ -9,7 +9,7 @@
<title>
{%- if page.title -%}
- {{ page.title | smartify }} · {{ site.title | smartify }}
+ {{ page.title | smartify }} · {{ site.title | smartify }} v{{ site.docs_version }}
{%- else -%}
{{ site.title | smartify }} · {{ site.description | smartify }}
{%- endif -%}
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/circle-square.svg b/vendor/twbs/bootstrap/site/_includes/icons/circle-square.svg
new file mode 100644
index 000000000..432a5ab98
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/icons/circle-square.svg
@@ -0,0 +1,4 @@
+<svg {% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} focusable="false" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
+ <path d="M0 6a6 6 0 1112 0A6 6 0 010 6z"/>
+ <path d="M12.93 5h1.57a.5.5 0 01.5.5v9a.5.5 0 01-.5.5h-9a.5.5 0 01-.5-.5v-1.57a6.953 6.953 0 01-1-.22v1.79A1.5 1.5 0 005.5 16h9a1.5 1.5 0 001.5-1.5v-9A1.5 1.5 0 0014.5 4h-1.79c.097.324.17.658.22 1z"/>
+</svg>
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/cloud-fill.svg b/vendor/twbs/bootstrap/site/_includes/icons/cloud-fill.svg
new file mode 100644
index 000000000..0116a0dcc
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/icons/cloud-fill.svg
@@ -0,0 +1,3 @@
+<svg {% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} focusable="false" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
+ <path fill-rule="evenodd" d="M3.5 13a3.5 3.5 0 11.59-6.95 5.002 5.002 0 119.804 1.98A2.5 2.5 0 0113.5 13h-10z" clip-rule="evenodd"/>
+</svg>
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/code.svg b/vendor/twbs/bootstrap/site/_includes/icons/code.svg
new file mode 100644
index 000000000..29756662a
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/icons/code.svg
@@ -0,0 +1,3 @@
+<svg {% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} focusable="false" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
+ <path fill-rule="evenodd" d="M5.854 4.146a.5.5 0 010 .708L2.707 8l3.147 3.146a.5.5 0 01-.708.708l-3.5-3.5a.5.5 0 010-.708l3.5-3.5a.5.5 0 01.708 0zm4.292 0a.5.5 0 000 .708L13.293 8l-3.147 3.146a.5.5 0 00.708.708l3.5-3.5a.5.5 0 000-.708l-3.5-3.5a.5.5 0 00-.708 0z" clip-rule="evenodd"/>
+</svg>
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/download.svg b/vendor/twbs/bootstrap/site/_includes/icons/download.svg
deleted file mode 100644
index ef8af7662..000000000
--- a/vendor/twbs/bootstrap/site/_includes/icons/download.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" focusable="false"><title>Download</title><path d="M9 22c-9 1-8-10 0-9C6 2 23 2 22 10c10-3 10 13 1 12m-12 4l5 4 5-4m-5-10v14"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/droplet-fill.svg b/vendor/twbs/bootstrap/site/_includes/icons/droplet-fill.svg
new file mode 100644
index 000000000..41b7b58f2
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/icons/droplet-fill.svg
@@ -0,0 +1,3 @@
+<svg {% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} focusable="false" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
+ <path fill-rule="evenodd" d="M8 16a6 6 0 006-6c0-1.655-1.122-2.904-2.432-4.362C10.254 4.176 8.75 2.503 8 0c0 0-6 5.686-6 10a6 6 0 006 6zM6.646 4.646c-.376.377-1.272 1.489-2.093 3.13l.894.448c.78-1.559 1.616-2.58 1.907-2.87l-.708-.708z" clip-rule="evenodd"/>
+</svg>
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/import.svg b/vendor/twbs/bootstrap/site/_includes/icons/import.svg
deleted file mode 100644
index 28563c2be..000000000
--- a/vendor/twbs/bootstrap/site/_includes/icons/import.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" focusable="false"><title>Import</title><path d="M28 22v8H4v-8M16 4v20m-8-8l8 8 8-8"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/lightning.svg b/vendor/twbs/bootstrap/site/_includes/icons/lightning.svg
deleted file mode 100644
index bbcf24a76..000000000
--- a/vendor/twbs/bootstrap/site/_includes/icons/lightning.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" focusable="false"><title>Lightning</title><path d="M18 13l8-11L8 13l6 6-8 11 18-11z"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/social.html b/vendor/twbs/bootstrap/site/_includes/social.html
index 277ee2313..cf5be1270 100644
--- a/vendor/twbs/bootstrap/site/_includes/social.html
+++ b/vendor/twbs/bootstrap/site/_includes/social.html
@@ -11,8 +11,7 @@
<meta property="og:title" content="{{ page.title | default: site.title | smartify }}">
<meta property="og:description" content="{{ page.description | default: site.description | smartify }}">
<meta property="og:type" content="website">
-<meta property="og:image" content="{{ site.url | replace: 'https://', 'http://' | append: site.social_image_path }}">
-<meta property="og:image:secure_url" content="{{ site.url | append: site.social_image_path }}">
+<meta property="og:image" content="{{ site.url | append: site.social_image_path }}">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
diff --git a/vendor/twbs/bootstrap/site/_layouts/simple.html b/vendor/twbs/bootstrap/site/_layouts/simple.html
index bbf808df3..833061b70 100644
--- a/vendor/twbs/bootstrap/site/_layouts/simple.html
+++ b/vendor/twbs/bootstrap/site/_layouts/simple.html
@@ -7,7 +7,10 @@ layout: default
<h1 class="bd-title mt-0">{{ page.title | smartify }}</h1>
<p class="bd-lead">{{ page.description | smartify }}</p>
{%- if page.title == "Examples" -%}
- <a href="{{ site.download.source }}" class="btn btn-lg btn-bd-primary" onclick="ga('send', 'event', 'Examples', 'Hero', 'Download');">Download source code</a>
+ <div class="d-flex flex-column flex-sm-row">
+ <a href="{{ site.download.dist_examples }}" class="btn btn-bd-primary py-2 px-3" onclick="ga('send', 'event', 'Examples', 'Hero', 'Download Examples');">Download examples</a>
+ <a href="{{ site.download.source }}" class="btn btn-outline-secondary py-2 px-3 mt-3 mt-sm-0 ml-sm-3" onclick="ga('send', 'event', 'Examples', 'Hero', 'Download');">Download source code</a>
+ </div>
{%- endif -%}
</div>
{% include ads.html %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/css/docs.min.css b/vendor/twbs/bootstrap/site/docs/4.4/assets/css/docs.min.css
deleted file mode 100644
index d40b45b73..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/css/docs.min.css
+++ /dev/null
@@ -1,8 +0,0 @@
-/*!
- * Bootstrap Docs (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under the Creative Commons Attribution 3.0 Unported License.
- * For details, see https://creativecommons.org/licenses/by/3.0/.
- */.bd-navbar{min-height:4rem;background-color:#563d7c;box-shadow:0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.1)}@media (max-width:991.98px){.bd-navbar{padding-right:.5rem;padding-left:.5rem}.bd-navbar .navbar-nav-scroll{max-width:100%;height:2.5rem;margin-top:.25rem;overflow:hidden}.bd-navbar .navbar-nav-scroll .navbar-nav{padding-bottom:2rem;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:1071}}}.bd-navbar .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem;color:#cbbde2}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:hover{color:#fff;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:600}.bd-navbar .navbar-nav-svg{display:inline-block;width:1rem;height:1rem;vertical-align:text-top}.bd-navbar .dropdown-menu{font-size:.875rem}.bd-navbar .dropdown-item.active{font-weight:600;color:#212529;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' 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") no-repeat .4rem .6rem/.75rem .75rem}.bd-masthead{position:relative;padding:3rem 15px}.bd-masthead h1{font-size:4rem;line-height:1}@media (max-width:1200px){.bd-masthead h1{font-size:calc(1.525rem + 3.3vw)}}.bd-masthead .btn{padding:.8rem 2rem;font-weight:600;font-size:1.25rem}.bd-masthead .carbonad{margin-top:0!important;margin-bottom:-3rem!important}@media (min-width:576px){.bd-masthead{padding-top:5rem;padding-bottom:5rem}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead .carbonad{margin-top:3rem!important}}.half-rule{width:6rem;margin:2.5rem 0}.masthead-followup .bd-clipboard{display:none}.masthead-followup .highlight{padding:.5rem 0;background-color:transparent}#carbonads{position:static;display:block;max-width:400px;padding:15px 15px 15px 160px;margin:2rem 0;overflow:hidden;font-size:.8125rem;line-height:1.4;text-align:left;background-color:rgba(0,0,0,.05)}#carbonads a{color:#333;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;border-radius:4px}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;margin-top:.75rem;color:#777!important}.bd-content{-ms-flex-order:1;order:1}.bd-content>h2[id],.bd-content>h3[id],.bd-content>h4[id]{pointer-events:none}.bd-content>h2[id]::before,.bd-content>h3[id]::before,.bd-content>h4[id]::before{display:block;height:6rem;margin-top:-6rem;content:""}.bd-content>table{width:100%;max-width:100%;margin-bottom:1rem}@media (max-width:991.98px){.bd-content>table{display:block;overflow-x:auto}.bd-content>table.table-bordered{border:0}}.bd-content>table>tbody>tr>td,.bd-content>table>tbody>tr>th,.bd-content>table>tfoot>tr>td,.bd-content>table>tfoot>tr>th,.bd-content>table>thead>tr>td,.bd-content>table>thead>tr>th{padding:.75rem;vertical-align:top;border:1px solid #dee2e6}.bd-content>table>tbody>tr>td>p:last-child,.bd-content>table>tbody>tr>th>p:last-child,.bd-content>table>tfoot>tr>td>p:last-child,.bd-content>table>tfoot>tr>th>p:last-child,.bd-content>table>thead>tr>td>p:last-child,.bd-content>table>thead>tr>th>p:last-child{margin-bottom:0}.bd-content>table td:first-child>code{white-space:nowrap}.bd-content-title{display:block;pointer-events:auto}.bd-content>h2{font-size:2rem}@media (max-width:1200px){.bd-content>h2{font-size:calc(1.325rem + .9vw)}}.bd-content>h3{font-size:1.75rem}@media (max-width:1200px){.bd-content>h3{font-size:calc(1.3rem + .6vw)}}.bd-content>h4{font-size:1.5rem}@media (max-width:1200px){.bd-content>h4{font-size:calc(1.275rem + .3vw)}}.bd-content>h2:not(:first-child){margin-top:3rem}.bd-content>h3{margin-top:1.5rem}.bd-content>ol li,.bd-content>ul li{margin-bottom:.25rem}@media (min-width:992px){.bd-content>ol,.bd-content>p,.bd-content>ul{max-width:80%}}.bd-title{margin-top:1rem;margin-bottom:.5rem;font-weight:300;font-size:3rem}@media (max-width:1200px){.bd-title{font-size:calc(1.425rem + 2.1vw)}}.bd-lead{font-size:1.5rem;font-weight:300}@media (max-width:1200px){.bd-lead{font-size:calc(1.275rem + .3vw)}}@media (min-width:992px){.bd-lead{max-width:80%}}.bd-text-purple{color:#563d7c}.bd-text-purple-bright{color:#7952b3}.skippy{display:block;padding:1em;color:#fff;text-align:center;background-color:#563d7c;outline:0}.skippy:hover{color:#fff}.skippy-text{padding:.5em;outline:1px dotted}.bd-toc{-ms-flex-order:2;order:2;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.875rem}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-toc{position:-webkit-sticky;position:sticky;top:4rem;height:calc(100vh - 4rem);overflow-y:auto}}.section-nav{padding-left:0;border-left:1px solid #eee}.section-nav ul{padding-left:1rem}.toc-entry{display:block}.toc-entry a{display:block;padding:.125rem 1.5rem;color:#77757a}.toc-entry a:hover{color:#007bff;text-decoration:none}.bd-sidebar{-ms-flex-order:0;order:0;border-bottom:1px solid rgba(0,0,0,.1)}@media (min-width:768px){.bd-sidebar{border-right:1px solid rgba(0,0,0,.1)}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-sidebar{position:-webkit-sticky;position:sticky;top:4rem;z-index:1000;height:calc(100vh - 4rem)}}}@media (min-width:1200px){.bd-sidebar{-ms-flex:0 1 320px;flex:0 1 320px}}.bd-links{padding-top:1rem;padding-bottom:1rem;margin-right:-15px;margin-left:-15px}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-links{max-height:calc(100vh - 9rem);overflow-y:auto}}}@media (min-width:768px){.bd-links{display:block!important}}.bd-search{position:relative;padding:1rem 15px;margin-right:-15px;margin-left:-15px;border-bottom:1px solid rgba(0,0,0,.05)}.bd-search .form-control:focus{border-color:#7952b3;box-shadow:0 0 0 3px rgba(121,82,179,.25)}.bd-search-docs-toggle{line-height:1;color:#212529}.bd-sidenav{display:none}.bd-toc-link{display:block;padding:.25rem 1.5rem;font-weight:600;color:rgba(0,0,0,.65)}.bd-toc-link:hover{color:rgba(0,0,0,.85);text-decoration:none}.bd-toc-item.active{margin-bottom:1rem}.bd-toc-item.active:not(:first-child){margin-top:1rem}.bd-toc-item.active>.bd-toc-link{color:rgba(0,0,0,.85)}.bd-toc-item.active>.bd-toc-link:hover{background-color:transparent}.bd-toc-item.active>.bd-sidenav{display:block}.bd-sidebar .nav>li>a{display:block;padding:.25rem 1.5rem;font-size:90%;color:rgba(0,0,0,.65)}.bd-sidebar .nav>li>a:hover{color:rgba(0,0,0,.85);text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:600;color:rgba(0,0,0,.85);background-color:transparent}.bd-footer{font-size:.875rem;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:600;color:#495057}.bd-footer a:focus,.bd-footer a:hover{color:#007bff}.bd-footer p{margin-bottom:0}@media (min-width:576px){.bd-footer{text-align:left}}.bd-footer-links{padding-left:0;margin-bottom:1rem}.bd-footer-links li{display:inline-block}.bd-footer-links li+li{margin-left:1rem}.bd-example-row .row>.col,.bd-example-row .row>[class^=col-]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.bd-example-row .row+.row{margin-top:1rem}.bd-example-row .flex-items-bottom,.bd-example-row .flex-items-middle,.bd-example-row .flex-items-top{min-height:6rem;background-color:rgba(255,0,0,.1)}.bd-example-row-flex-cols .row{min-height:10rem;background-color:rgba(255,0,0,.1)}.bd-highlight{background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.15)}.bd-example-responsive-containers [class^=container]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.example-container{width:800px;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.example-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.example-content-main{position:relative;width:100%;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-main{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-main{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}}.example-content-secondary{position:relative;width:100%;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-secondary{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-secondary{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}}.bd-example{position:relative;padding:1rem;margin:1rem -15px 0;border:solid #f8f9fa;border-width:.2rem 0 0}.bd-example::after{display:block;clear:both;content:""}@media (min-width:576px){.bd-example{padding:1.5rem;margin-right:0;margin-left:0;border-width:.2rem}}.bd-example+.clipboard+.highlight,.bd-example+.highlight{margin-top:0}.bd-example+p{margin-top:2rem}.bd-example .pos-f-t{position:relative;margin:-1rem}@media (min-width:576px){.bd-example .pos-f-t{margin:-1.5rem}}.bd-example .custom-file-input:lang(es)~.custom-file-label::after{content:"Elegir"}.bd-example>.form-control+.form-control{margin-top:.5rem}.bd-example>.alert+.alert,.bd-example>.nav+.nav,.bd-example>.navbar+.navbar,.bd-example>.progress+.btn,.bd-example>.progress+.progress{margin-top:1rem}.bd-example>.dropdown-menu:first-child{position:static;display:block}.bd-example>.form-group:last-child{margin-bottom:0}.bd-example>.close{float:none}.bd-example-type .table td{padding:1rem 0;border-color:#eee}.bd-example-type .table tr:first-child td{border-top:0}.bd-example-type h1,.bd-example-type h2,.bd-example-type h3,.bd-example-type h4,.bd-example-type h5,.bd-example-type h6{margin-top:0;margin-bottom:0}.bd-example-bg-classes p{padding:1rem}.bd-example>img+img,.bd-example>svg+svg{margin-left:.5rem}.bd-example>.btn,.bd-example>.btn-group{margin-top:.25rem;margin-bottom:.25rem}.bd-example>.btn-toolbar+.btn-toolbar{margin-top:.5rem}.bd-example-control-sizing input[type=text]+input[type=text],.bd-example-control-sizing select{margin-top:.5rem}.bd-example-form .input-group{margin-bottom:.5rem}.bd-example>textarea.form-control{resize:vertical}.bd-example>.list-group{max-width:400px}.bd-example>[class*=list-group-horizontal]{max-width:100%}.bd-example .fixed-top,.bd-example .sticky-top{position:static;margin:-1rem -1rem 1rem}.bd-example .fixed-bottom{position:static;margin:1rem -1rem -1rem}@media (min-width:576px){.bd-example .fixed-top,.bd-example .sticky-top{margin:-1.5rem -1.5rem 1rem}.bd-example .fixed-bottom{margin:1rem -1.5rem -1.5rem}}.bd-example .pagination{margin-top:.5rem;margin-bottom:.5rem}.modal{z-index:1072}.modal .popover,.modal .tooltip{z-index:1073}.modal-backdrop{z-index:1071}.bd-example-modal{background-color:#fafafa}.bd-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bd-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.bd-example-tabs .nav-tabs{margin-bottom:1rem}.bd-example-popover-static{padding-bottom:1.5rem;background-color:#f9f9f9}.bd-example-popover-static .popover{position:relative;display:block;float:left;width:260px;margin:1.25rem}.tooltip-demo a{white-space:nowrap}.bd-example-tooltip-static .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.scrollspy-example{position:relative;height:200px;margin-top:.5rem;overflow:auto}.scrollspy-example-2{position:relative;height:350px;overflow:auto}.bd-example-border-utils [class^=border]{display:inline-block;width:5rem;height:5rem;margin:.25rem;background-color:#f5f5f5}.bd-example-border-utils-0 [class^=border]{border:1px solid #dee2e6}.highlight{padding:1rem;margin-top:1rem;margin-bottom:1rem;background-color:#f8f9fa;-ms-overflow-style:-ms-autohiding-scrollbar}@media (min-width:576px){.highlight{padding:1.5rem}}.bd-content .highlight{margin-right:-15px;margin-left:-15px}@media (min-width:576px){.bd-content .highlight{margin-right:0;margin-left:0}}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#212529}.btn-bd-primary{font-weight:600;color:#7952b3;border-color:#7952b3}.btn-bd-primary:active,.btn-bd-primary:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-bd-primary:focus{box-shadow:0 0 0 3px rgba(121,82,179,.25)}.btn-bd-download{font-weight:600;color:#ffe484;border-color:#ffe484}.btn-bd-download:active,.btn-bd-download:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.btn-bd-download:focus{box-shadow:0 0 0 3px rgba(255,228,132,.25)}.bd-callout{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:.25rem}.bd-callout h4{margin-top:0;margin-bottom:.25rem}.bd-callout p:last-child{margin-bottom:0}.bd-callout code{border-radius:.25rem}.bd-callout+.bd-callout{margin-top:-.25rem}.bd-callout-info{border-left-color:#5bc0de}.bd-callout-info h4{color:#5bc0de}.bd-callout-warning{border-left-color:#f0ad4e}.bd-callout-warning h4{color:#f0ad4e}.bd-callout-danger{border-left-color:#d9534f}.bd-callout-danger h4{color:#d9534f}.bd-browser-bugs td p{margin-bottom:0}.bd-browser-bugs th:first-child{width:18%}.bd-brand-logos{display:table;width:100%;margin-bottom:1rem;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:.25rem}.bd-brand-logos .inverse{color:#fff;background-color:#563d7c}.bd-brand-item{padding:4rem 0;text-align:center}.bd-brand-item+.bd-brand-item{border-top:1px solid #fff}.bd-brand-item h1,.bd-brand-item h3{margin-top:0;margin-bottom:0}@media (min-width:768px){.bd-brand-item{display:table-cell;width:1%}.bd-brand-item+.bd-brand-item{border-top:0;border-left:1px solid #fff}.bd-brand-item h1{font-size:4rem}}@media (min-width:768px) and (max-width:1200px){.bd-brand-item h1{font-size:calc(1.525rem + 3.3vw)}}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatches .bd-purple{background-color:#563d7c}.color-swatches .bd-purple-light{background-color:#cbbde2}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.color-swatch{float:left;width:4rem;height:4rem;margin-right:.25rem;margin-left:.25rem;border-radius:.25rem}@media (min-width:768px){.color-swatch{width:6rem;height:6rem}}.swatch-blue{color:#fff;background-color:#007bff}.swatch-indigo{color:#fff;background-color:#6610f2}.swatch-purple{color:#fff;background-color:#6f42c1}.swatch-pink{color:#fff;background-color:#e83e8c}.swatch-red{color:#fff;background-color:#dc3545}.swatch-orange{color:#212529;background-color:#fd7e14}.swatch-yellow{color:#212529;background-color:#ffc107}.swatch-green{color:#fff;background-color:#28a745}.swatch-teal{color:#fff;background-color:#20c997}.swatch-cyan{color:#fff;background-color:#17a2b8}.swatch-white{color:#212529;background-color:#fff}.swatch-gray{color:#fff;background-color:#6c757d}.swatch-gray-dark{color:#fff;background-color:#343a40}.swatch-100{color:#212529;background-color:#f8f9fa}.swatch-200{color:#212529;background-color:#e9ecef}.swatch-300{color:#212529;background-color:#dee2e6}.swatch-400{color:#212529;background-color:#ced4da}.swatch-500{color:#212529;background-color:#adb5bd}.swatch-600{color:#fff;background-color:#6c757d}.swatch-700{color:#fff;background-color:#495057}.swatch-800{color:#fff;background-color:#343a40}.swatch-900{color:#fff;background-color:#212529}.bd-clipboard{position:relative;display:none;float:right}.bd-clipboard+.highlight{margin-top:0}@media (min-width:768px){.bd-clipboard{display:block}}.btn-clipboard{position:absolute;top:.5rem;right:.5rem;z-index:10;display:block;padding:.25rem .5rem;font-size:75%;color:#818a91;background-color:transparent;border:0;border-radius:.25rem}.btn-clipboard:hover{color:#fff;background-color:#027de7}.bd-placeholder-img{font-size:1.125rem;text-anchor:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bd-placeholder-img-lg{font-size:3.5rem}@media (max-width:1200px){.bd-placeholder-img-lg{font-size:calc(1.475rem + 2.7vw)}}.hll{background-color:#ffc}.c{color:#999}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gu{color:#030}.gt{color:#9c6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#f60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0a8}.no{color:#360}.nd{color:#99f}.ni{color:#999}.ne{color:#c00}.nf{color:#c0f}.nl{color:#99f}.nn{color:#0cf}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#f60}.mh{color:#f60}.mi{color:#f60}.mo{color:#f60}.sb{color:#c30}.sc{color:#c30}.sd{font-style:italic;color:#c30}.s2{color:#c30}.se{color:#c30}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#3aa}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#f60}.css .nt+.nt,.css .o,.css .o+.nt{color:#999}.language-bash::before,.language-sh::before{color:#009;content:"$ ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.language-powershell::before{color:#009;content:"PM> ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.anchorjs-link{font-weight:400;color:rgba(0,123,255,.5);transition:color .15s ease-in-out,opacity .15s ease-in-out}@media (prefers-reduced-motion:reduce){.anchorjs-link{transition:none}}.anchorjs-link:hover{color:#007bff;text-decoration:none}.algolia-autocomplete{display:block!important;-ms-flex:1;flex:1}.algolia-autocomplete .ds-dropdown-menu{width:100%;min-width:0!important;max-width:none!important;padding:.75rem 0!important;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}@media (min-width:768px){.algolia-autocomplete .ds-dropdown-menu{width:175%}}.algolia-autocomplete .ds-dropdown-menu::before{display:none!important}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{padding:0!important;overflow:visible!important;background-color:transparent!important;border:0!important}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion{padding:0!important;overflow:visible!important}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{padding:.125rem 1rem!important;margin-top:0!important;font-size:.875rem!important;font-weight:600!important;color:#7952b3!important;border-bottom:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{float:none!important;padding-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:none!important;width:auto!important;padding:0!important;text-align:left!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:block!important;font-size:.875rem;color:#495057}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline::after{padding:0 .25rem;content:"/"}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;float:none!important;width:100%!important;padding:.25rem 1rem!important}.algolia-autocomplete .algolia-docsearch-suggestion--content::before{display:none!important}.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header{padding-top:.75rem!important;margin-top:.75rem!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column{display:none!important}.algolia-autocomplete .algolia-docsearch-suggestion--title{display:block;margin-bottom:0!important;font-size:.875rem!important;font-weight:400!important}.algolia-autocomplete .algolia-docsearch-suggestion--text{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding:.2rem 0;font-size:.8125rem!important;font-weight:400;line-height:1.25!important;color:#6c757d}.algolia-autocomplete .algolia-docsearch-footer{float:none!important;width:auto!important;height:auto!important;padding:.75rem 1rem 0;font-size:.75rem!important;line-height:1!important;color:#767676!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .algolia-docsearch-footer--logo{display:inline!important;overflow:visible!important;color:inherit!important;text-indent:0!important;background:0 0!important}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#5f2dab;background-color:rgba(154,132,187,.12)}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:inset 0 -2px 0 0 rgba(95,45,171,.5)!important}.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content{background-color:rgba(208,189,236,.15)!important}
-/*# sourceMappingURL=docs.min.css.map */ \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/css/docs.min.css.map b/vendor/twbs/bootstrap/site/docs/4.4/assets/css/docs.min.css.map
deleted file mode 100644
index 437bde6c3..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/css/docs.min.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../scss/docs.scss","../scss/_nav.scss","../../../../../scss/mixins/_breakpoints.scss","../../../../../scss/vendor/_rfs.scss","../scss/_masthead.scss","../scss/_ads.scss","../../../../../scss/mixins/_border-radius.scss","../scss/_content.scss","site/docs/4.4/assets/css/docs.min.css","../scss/_skippy.scss","../../../../../scss/mixins/_hover.scss","../scss/_sidebar.scss","../scss/_footer.scss","../scss/_component-examples.scss","../../../../../scss/mixins/_grid.scss","../../../../../scss/mixins/_clearfix.scss","../scss/_buttons.scss","../scss/_callouts.scss","../scss/_browser-bugs.scss","../scss/_brand.scss","../scss/_colors.scss","../scss/_clipboard-js.scss","../scss/_placeholder-img.scss","../scss/_syntax.scss","../scss/_anchor.scss","../../../../../scss/mixins/_transition.scss","../scss/_algolia.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Docs (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License.\n * For details, see https://creativecommons.org/licenses/by/3.0/.\n */\n\n// Dev notes\n//\n// Background information on nomenclature and architecture decisions here.\n//\n// - Bootstrap functions, variables, and mixins are included for easy reuse.\n// Doing so gives us access to the same core utilities provided by Bootstrap.\n// For example, consistent media queries through those mixins.\n//\n// - Bootstrap's **docs variables** are prefixed with `$bd-`.\n// These custom colors avoid collision with the components Bootstrap provides.\n//\n// - Classes are prefixed with `.bd-`.\n// These classes indicate custom-built or modified components for the design\n// and layout of the Bootstrap docs. They are not included in our builds.\n//\n// Happy Bootstrapping!\n\n// Load Bootstrap variables and mixins\n@import \"../../../../../scss/functions\";\n@import \"../../../../../scss/variables\";\n@import \"../../../../../scss/mixins\";\n\n// Load docs components\n@import \"variables\";\n@import \"nav\";\n@import \"masthead\";\n@import \"ads\";\n@import \"content\";\n@import \"skippy\";\n@import \"sidebar\";\n@import \"footer\";\n@import \"component-examples\";\n@import \"buttons\";\n@import \"callouts\";\n@import \"browser-bugs\";\n@import \"brand\";\n@import \"colors\";\n@import \"clipboard-js\";\n@import \"placeholder-img\";\n\n// Load docs dependencies\n@import \"syntax\";\n@import \"anchor\";\n@import \"algolia\";\n","//\n// Main navbar\n//\n\n.bd-navbar {\n min-height: 4rem;\n background-color: $bd-purple;\n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05), inset 0 -1px 0 rgba(0, 0, 0, .1);\n\n @include media-breakpoint-down(md) {\n padding-right: .5rem;\n padding-left: .5rem;\n\n .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n\n .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: 1071; // over everything in bootstrap\n }\n }\n\n .navbar-nav {\n .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: $bd-purple-light;\n\n &.active,\n &:hover {\n color: $white;\n background-color: transparent;\n }\n\n &.active {\n font-weight: 600;\n }\n }\n }\n\n .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n }\n\n .dropdown-menu {\n @include font-size(.875rem);\n }\n\n .dropdown-item.active {\n font-weight: 600;\n color: $gray-900;\n background: escape-svg($dropdown-active-icon) no-repeat .4rem .6rem/.75rem .75rem;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable declaration-no-important\n\n.bd-masthead {\n position: relative;\n padding: 3rem ($grid-gutter-width / 2);\n // background-image: linear-gradient(45deg, #fafafa, #f5f5f5);\n\n h1 {\n @include font-size(4rem);\n line-height: 1;\n }\n\n .btn {\n padding: .8rem 2rem;\n font-weight: 600;\n @include font-size(1.25rem);\n }\n\n .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n }\n\n @include media-breakpoint-up(sm) {\n padding-top: 5rem;\n padding-bottom: 5rem;\n\n .carbonad {\n margin-bottom: 0 !important;\n }\n }\n\n @include media-breakpoint-up(md) {\n .carbonad {\n margin-top: 3rem !important;\n }\n }\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup {\n .bd-clipboard { display: none; }\n\n .highlight {\n padding: .5rem 0;\n background-color: transparent;\n }\n}\n","// stylelint-disable declaration-no-important, selector-max-id\n\n//\n// Carbon ads\n//\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n @include font-size(.8125rem);\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, .05);\n\n a {\n color: #333;\n text-decoration: none;\n }\n\n @include media-breakpoint-up(sm) {\n max-width: 330px;\n @include border-radius(4px);\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n margin-top: .75rem;\n color: #777 !important;\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// stylelint-disable no-duplicate-selectors, selector-max-combinators, selector-max-compound-selectors, selector-max-type, selector-no-qualifying-type\n\n//\n// Automatically style Markdown-based tables like a Bootstrap `.table`.\n//\n\n.bd-content {\n order: 1;\n\n // Hack the sticky header\n > h2[id],\n > h3[id],\n > h4[id] {\n pointer-events: none;\n\n &::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n content: \"\";\n }\n }\n\n > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n\n @include media-breakpoint-down(md) {\n display: block;\n overflow-x: auto;\n\n &.table-bordered {\n border: 0;\n }\n }\n\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-cell-padding;\n vertical-align: top;\n border: 1px solid $table-border-color;\n\n > p:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n\n // Prevent breaking of code (e.g., Grunt tasks list)\n td:first-child > code {\n white-space: nowrap;\n }\n }\n}\n\n.bd-content-title {\n display: block;\n pointer-events: auto;\n}\n\n//\n// Docs sections\n//\n\n.bd-content {\n > h2 {\n @include font-size($h2-font-size);\n }\n\n > h3 {\n @include font-size($h3-font-size);\n }\n\n > h4 {\n @include font-size($h4-font-size);\n }\n\n > h2:not(:first-child) {\n margin-top: 3rem;\n }\n\n > h3 {\n margin-top: 1.5rem;\n }\n\n > ul li,\n > ol li {\n margin-bottom: .25rem;\n }\n\n @include media-breakpoint-up(lg) {\n > ul,\n > ol,\n > p {\n max-width: 80%;\n }\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n @include font-size(3rem);\n}\n\n.bd-lead {\n @include font-size(1.5rem);\n font-weight: 300;\n\n @include media-breakpoint-up(lg) {\n max-width: 80%;\n }\n}\n\n.bd-text-purple { color: $bd-purple; }\n.bd-text-purple-bright { color: $bd-purple-bright; }\n","/*!\n * Bootstrap Docs (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License.\n * For details, see https://creativecommons.org/licenses/by/3.0/.\n */\n.bd-navbar {\n min-height: 4rem;\n background-color: #563d7c;\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n}\n\n@media (max-width: 991.98px) {\n .bd-navbar {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .bd-navbar .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n }\n .bd-navbar .navbar-nav-scroll .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-navbar {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1071;\n }\n }\n}\n\n.bd-navbar .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: #cbbde2;\n}\n\n.bd-navbar .navbar-nav .nav-link.active, .bd-navbar .navbar-nav .nav-link:hover {\n color: #fff;\n background-color: transparent;\n}\n\n.bd-navbar .navbar-nav .nav-link.active {\n font-weight: 600;\n}\n\n.bd-navbar .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n}\n\n.bd-navbar .dropdown-menu {\n font-size: 0.875rem;\n}\n\n.bd-navbar .dropdown-item.active {\n font-weight: 600;\n color: #212529;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' 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\") no-repeat 0.4rem 0.6rem/0.75rem 0.75rem;\n}\n\n.bd-masthead {\n position: relative;\n padding: 3rem 15px;\n}\n\n.bd-masthead h1 {\n font-size: 4rem;\n line-height: 1;\n}\n\n@media (max-width: 1200px) {\n .bd-masthead h1 {\n font-size: calc(1.525rem + 3.3vw) ;\n }\n}\n\n.bd-masthead .btn {\n padding: .8rem 2rem;\n font-weight: 600;\n font-size: 1.25rem;\n}\n\n.bd-masthead .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n}\n\n@media (min-width: 576px) {\n .bd-masthead {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n .bd-masthead .carbonad {\n margin-bottom: 0 !important;\n }\n}\n\n@media (min-width: 768px) {\n .bd-masthead .carbonad {\n margin-top: 3rem !important;\n }\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup .bd-clipboard {\n display: none;\n}\n\n.masthead-followup .highlight {\n padding: .5rem 0;\n background-color: transparent;\n}\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 0.8125rem;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n#carbonads a {\n color: #333;\n text-decoration: none;\n}\n\n@media (min-width: 576px) {\n #carbonads {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n margin-top: .75rem;\n color: #777 !important;\n}\n\n.bd-content {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.bd-content > h2[id],\n.bd-content > h3[id],\n.bd-content > h4[id] {\n pointer-events: none;\n}\n\n.bd-content > h2[id]::before,\n.bd-content > h3[id]::before,\n.bd-content > h4[id]::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n content: \"\";\n}\n\n.bd-content > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 991.98px) {\n .bd-content > table {\n display: block;\n overflow-x: auto;\n }\n .bd-content > table.table-bordered {\n border: 0;\n }\n}\n\n.bd-content > table > thead > tr > th,\n.bd-content > table > thead > tr > td,\n.bd-content > table > tbody > tr > th,\n.bd-content > table > tbody > tr > td,\n.bd-content > table > tfoot > tr > th,\n.bd-content > table > tfoot > tr > td {\n padding: 0.75rem;\n vertical-align: top;\n border: 1px solid #dee2e6;\n}\n\n.bd-content > table > thead > tr > th > p:last-child,\n.bd-content > table > thead > tr > td > p:last-child,\n.bd-content > table > tbody > tr > th > p:last-child,\n.bd-content > table > tbody > tr > td > p:last-child,\n.bd-content > table > tfoot > tr > th > p:last-child,\n.bd-content > table > tfoot > tr > td > p:last-child {\n margin-bottom: 0;\n}\n\n.bd-content > table td:first-child > code {\n white-space: nowrap;\n}\n\n.bd-content-title {\n display: block;\n pointer-events: auto;\n}\n\n.bd-content > h2 {\n font-size: 2rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h2 {\n font-size: calc(1.325rem + 0.9vw) ;\n }\n}\n\n.bd-content > h3 {\n font-size: 1.75rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h3 {\n font-size: calc(1.3rem + 0.6vw) ;\n }\n}\n\n.bd-content > h4 {\n font-size: 1.5rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h4 {\n font-size: calc(1.275rem + 0.3vw) ;\n }\n}\n\n.bd-content > h2:not(:first-child) {\n margin-top: 3rem;\n}\n\n.bd-content > h3 {\n margin-top: 1.5rem;\n}\n\n.bd-content > ul li,\n.bd-content > ol li {\n margin-bottom: .25rem;\n}\n\n@media (min-width: 992px) {\n .bd-content > ul,\n .bd-content > ol,\n .bd-content > p {\n max-width: 80%;\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n font-size: 3rem;\n}\n\n@media (max-width: 1200px) {\n .bd-title {\n font-size: calc(1.425rem + 2.1vw) ;\n }\n}\n\n.bd-lead {\n font-size: 1.5rem;\n font-weight: 300;\n}\n\n@media (max-width: 1200px) {\n .bd-lead {\n font-size: calc(1.275rem + 0.3vw) ;\n }\n}\n\n@media (min-width: 992px) {\n .bd-lead {\n max-width: 80%;\n }\n}\n\n.bd-text-purple {\n color: #563d7c;\n}\n\n.bd-text-purple-bright {\n color: #7952b3;\n}\n\n.skippy {\n display: block;\n padding: 1em;\n color: #fff;\n text-align: center;\n background-color: #563d7c;\n outline: 0;\n}\n\n.skippy:hover {\n color: #fff;\n}\n\n.skippy-text {\n padding: .5em;\n outline: 1px dotted;\n}\n\n.bd-toc {\n -ms-flex-order: 2;\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: 0.875rem;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-toc {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n}\n\n.section-nav ul {\n padding-left: 1rem;\n}\n\n.toc-entry {\n display: block;\n}\n\n.toc-entry a {\n display: block;\n padding: .125rem 1.5rem;\n color: #77757a;\n}\n\n.toc-entry a:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.bd-sidebar {\n -ms-flex-order: 0;\n order: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n@media (min-width: 768px) {\n .bd-sidebar {\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n }\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-sidebar {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n z-index: 1000;\n height: calc(100vh - 4rem);\n }\n }\n}\n\n@media (min-width: 1200px) {\n .bd-sidebar {\n -ms-flex: 0 1 320px;\n flex: 0 1 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-links {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n}\n\n@media (min-width: 768px) {\n .bd-links {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative;\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.bd-search .form-control:focus {\n border-color: #7952b3;\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: #212529;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-toc-link:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n}\n\n.bd-toc-item.active {\n margin-bottom: 1rem;\n}\n\n.bd-toc-item.active:not(:first-child) {\n margin-top: 1rem;\n}\n\n.bd-toc-item.active > .bd-toc-link {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.bd-toc-item.active > .bd-toc-link:hover {\n background-color: transparent;\n}\n\n.bd-toc-item.active > .bd-sidenav {\n display: block;\n}\n\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 600;\n color: rgba(0, 0, 0, 0.85);\n background-color: transparent;\n}\n\n.bd-footer {\n font-size: 0.875rem;\n text-align: center;\n background-color: #f7f7f7;\n}\n\n.bd-footer a {\n font-weight: 600;\n color: #495057;\n}\n\n.bd-footer a:hover, .bd-footer a:focus {\n color: #007bff;\n}\n\n.bd-footer p {\n margin-bottom: 0;\n}\n\n@media (min-width: 576px) {\n .bd-footer {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n}\n\n.bd-footer-links li {\n display: inline-block;\n}\n\n.bd-footer-links li + li {\n margin-left: 1rem;\n}\n\n.bd-example-row .row > .col,\n.bd-example-row .row > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.2);\n}\n\n.bd-example-row .row + .row {\n margin-top: 1rem;\n}\n\n.bd-example-row .flex-items-top,\n.bd-example-row .flex-items-middle,\n.bd-example-row .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-highlight {\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.15);\n}\n\n.bd-example-responsive-containers [class^=\"container\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.2);\n}\n\n.example-container {\n width: 800px;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.example-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.example-content-main {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-main {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-main {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n}\n\n.example-content-secondary {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-secondary {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-secondary {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n}\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem -15px 0;\n border: solid #f8f9fa;\n border-width: .2rem 0 0;\n}\n\n.bd-example::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n@media (min-width: 576px) {\n .bd-example {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n}\n\n.bd-example + .highlight,\n.bd-example + .clipboard + .highlight {\n margin-top: 0;\n}\n\n.bd-example + p {\n margin-top: 2rem;\n}\n\n.bd-example .pos-f-t {\n position: relative;\n margin: -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .pos-f-t {\n margin: -1.5rem;\n }\n}\n\n.bd-example .custom-file-input:lang(es) ~ .custom-file-label::after {\n content: \"Elegir\";\n}\n\n.bd-example > .form-control + .form-control {\n margin-top: .5rem;\n}\n\n.bd-example > .nav + .nav,\n.bd-example > .alert + .alert,\n.bd-example > .navbar + .navbar,\n.bd-example > .progress + .progress,\n.bd-example > .progress + .btn {\n margin-top: 1rem;\n}\n\n.bd-example > .dropdown-menu:first-child {\n position: static;\n display: block;\n}\n\n.bd-example > .form-group:last-child {\n margin-bottom: 0;\n}\n\n.bd-example > .close {\n float: none;\n}\n\n.bd-example-type .table td {\n padding: 1rem 0;\n border-color: #eee;\n}\n\n.bd-example-type .table tr:first-child td {\n border-top: 0;\n}\n\n.bd-example-type h1,\n.bd-example-type h2,\n.bd-example-type h3,\n.bd-example-type h4,\n.bd-example-type h5,\n.bd-example-type h6 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n.bd-example > svg + svg,\n.bd-example > img + img {\n margin-left: .5rem;\n}\n\n.bd-example > .btn,\n.bd-example > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.bd-example > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n}\n\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n.bd-example > [class*=\"list-group-horizontal\"] {\n max-width: 100%;\n}\n\n.bd-example .fixed-top,\n.bd-example .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n\n.bd-example .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .fixed-top,\n .bd-example .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .bd-example .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.modal {\n z-index: 1072;\n}\n\n.modal .tooltip,\n.modal .popover {\n z-index: 1073;\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n}\n\n.bd-example-modal .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n}\n\n.bd-example-modal .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n}\n\n.bd-example-popover-static .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n}\n\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n}\n\n.bd-example-border-utils-0 [class^=\"border\"] {\n border: 1px solid #dee2e6;\n}\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: #f8f9fa;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n@media (min-width: 576px) {\n .highlight {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .bd-content .highlight {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n}\n\n.highlight pre code {\n font-size: inherit;\n color: #212529;\n}\n\n.btn-bd-primary {\n font-weight: 600;\n color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-primary:hover, .btn-bd-primary:active {\n color: #fff;\n background-color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-primary:focus {\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.btn-bd-download {\n font-weight: 600;\n color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-download:hover, .btn-bd-download:active {\n color: #2a2730;\n background-color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-download:focus {\n box-shadow: 0 0 0 3px rgba(255, 228, 132, 0.25);\n}\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: 0.25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: 0.25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n.bd-callout-info {\n border-left-color: #5bc0de;\n}\n\n.bd-callout-info h4 {\n color: #5bc0de;\n}\n\n.bd-callout-warning {\n border-left-color: #f0ad4e;\n}\n\n.bd-callout-warning h4 {\n color: #f0ad4e;\n}\n\n.bd-callout-danger {\n border-left-color: #d9534f;\n}\n\n.bd-callout-danger h4 {\n color: #d9534f;\n}\n\n.bd-browser-bugs td p {\n margin-bottom: 0;\n}\n\n.bd-browser-bugs th:first-child {\n width: 18%;\n}\n\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: 0.25rem;\n}\n\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n@media (min-width: 768px) and (max-width: 1200px) {\n .bd-brand-item h1 {\n font-size: calc(1.525rem + 3.3vw) ;\n }\n}\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden;\n}\n\n.color-swatches .bd-purple {\n background-color: #563d7c;\n}\n\n.color-swatches .bd-purple-light {\n background-color: #cbbde2;\n}\n\n.color-swatches .bd-purple-lighter {\n background-color: #e5e1ea;\n}\n\n.color-swatches .bd-gray {\n background-color: #f9f9f9;\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: 0.25rem;\n}\n\n@media (min-width: 768px) {\n .color-swatch {\n width: 6rem;\n height: 6rem;\n }\n}\n\n.swatch-blue {\n color: #fff;\n background-color: #007bff;\n}\n\n.swatch-indigo {\n color: #fff;\n background-color: #6610f2;\n}\n\n.swatch-purple {\n color: #fff;\n background-color: #6f42c1;\n}\n\n.swatch-pink {\n color: #fff;\n background-color: #e83e8c;\n}\n\n.swatch-red {\n color: #fff;\n background-color: #dc3545;\n}\n\n.swatch-orange {\n color: #212529;\n background-color: #fd7e14;\n}\n\n.swatch-yellow {\n color: #212529;\n background-color: #ffc107;\n}\n\n.swatch-green {\n color: #fff;\n background-color: #28a745;\n}\n\n.swatch-teal {\n color: #fff;\n background-color: #20c997;\n}\n\n.swatch-cyan {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.swatch-white {\n color: #212529;\n background-color: #fff;\n}\n\n.swatch-gray {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-gray-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-100 {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.swatch-200 {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.swatch-300 {\n color: #212529;\n background-color: #dee2e6;\n}\n\n.swatch-400 {\n color: #212529;\n background-color: #ced4da;\n}\n\n.swatch-500 {\n color: #212529;\n background-color: #adb5bd;\n}\n\n.swatch-600 {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-700 {\n color: #fff;\n background-color: #495057;\n}\n\n.swatch-800 {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-900 {\n color: #fff;\n background-color: #212529;\n}\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n}\n\n.bd-clipboard + .highlight {\n margin-top: 0;\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n background-color: transparent;\n border: 0;\n border-radius: 0.25rem;\n}\n\n.btn-clipboard:hover {\n color: #fff;\n background-color: #027de7;\n}\n\n.bd-placeholder-img {\n font-size: 1.125rem;\n text-anchor: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.bd-placeholder-img-lg {\n font-size: 3.5rem;\n}\n\n@media (max-width: 1200px) {\n .bd-placeholder-img-lg {\n font-size: calc(1.475rem + 2.7vw) ;\n }\n}\n\n.hll {\n background-color: #ffc;\n}\n\n.c {\n color: #999;\n}\n\n.k {\n color: #069;\n}\n\n.o {\n color: #555;\n}\n\n.cm {\n color: #999;\n}\n\n.cp {\n color: #099;\n}\n\n.c1 {\n color: #999;\n}\n\n.cs {\n color: #999;\n}\n\n.gd {\n background-color: #fcc;\n border: 1px solid #c00;\n}\n\n.ge {\n font-style: italic;\n}\n\n.gr {\n color: #f00;\n}\n\n.gh {\n color: #030;\n}\n\n.gi {\n background-color: #cfc;\n border: 1px solid #0c0;\n}\n\n.go {\n color: #aaa;\n}\n\n.gp {\n color: #009;\n}\n\n.gu {\n color: #030;\n}\n\n.gt {\n color: #9c6;\n}\n\n.kc {\n color: #069;\n}\n\n.kd {\n color: #069;\n}\n\n.kn {\n color: #069;\n}\n\n.kp {\n color: #069;\n}\n\n.kr {\n color: #069;\n}\n\n.kt {\n color: #078;\n}\n\n.m {\n color: #f60;\n}\n\n.s {\n color: #d44950;\n}\n\n.na {\n color: #4f9fcf;\n}\n\n.nb {\n color: #366;\n}\n\n.nc {\n color: #0a8;\n}\n\n.no {\n color: #360;\n}\n\n.nd {\n color: #99f;\n}\n\n.ni {\n color: #999;\n}\n\n.ne {\n color: #c00;\n}\n\n.nf {\n color: #c0f;\n}\n\n.nl {\n color: #99f;\n}\n\n.nn {\n color: #0cf;\n}\n\n.nt {\n color: #2f6f9f;\n}\n\n.nv {\n color: #033;\n}\n\n.ow {\n color: #000;\n}\n\n.w {\n color: #bbb;\n}\n\n.mf {\n color: #f60;\n}\n\n.mh {\n color: #f60;\n}\n\n.mi {\n color: #f60;\n}\n\n.mo {\n color: #f60;\n}\n\n.sb {\n color: #c30;\n}\n\n.sc {\n color: #c30;\n}\n\n.sd {\n font-style: italic;\n color: #c30;\n}\n\n.s2 {\n color: #c30;\n}\n\n.se {\n color: #c30;\n}\n\n.sh {\n color: #c30;\n}\n\n.si {\n color: #a00;\n}\n\n.sx {\n color: #c30;\n}\n\n.sr {\n color: #3aa;\n}\n\n.s1 {\n color: #c30;\n}\n\n.ss {\n color: #fc3;\n}\n\n.bp {\n color: #366;\n}\n\n.vc {\n color: #033;\n}\n\n.vg {\n color: #033;\n}\n\n.vi {\n color: #033;\n}\n\n.il {\n color: #f60;\n}\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt {\n color: #999;\n}\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.anchorjs-link {\n font-weight: 400;\n color: rgba(0, 123, 255, 0.5);\n transition: color 0.15s ease-in-out, opacity 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .anchorjs-link {\n transition: none;\n }\n}\n\n.anchorjs-link:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.algolia-autocomplete {\n display: block !important;\n -ms-flex: 1;\n flex: 1;\n}\n\n.algolia-autocomplete .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);\n}\n\n@media (min-width: 768px) {\n .algolia-autocomplete .ds-dropdown-menu {\n width: 175%;\n }\n}\n\n.algolia-autocomplete .ds-dropdown-menu::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu .ds-suggestions {\n margin-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: 0.875rem !important;\n font-weight: 600 !important;\n color: #7952b3 !important;\n border-bottom: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline {\n display: block !important;\n font-size: 0.875rem;\n color: #495057;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline::after {\n padding: 0 .25rem;\n content: \"/\";\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n float: none !important;\n width: 100% !important;\n padding: .25rem 1rem !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--title {\n display: block;\n margin-bottom: 0 !important;\n font-size: 0.875rem !important;\n font-weight: 400 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n padding: .2rem 0;\n font-size: 0.8125rem !important;\n font-weight: 400;\n line-height: 1.25 !important;\n color: #6c757d;\n}\n\n.algolia-autocomplete .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: 0.75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, 0.12);\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, 0.5) !important;\n}\n\n.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, 0.15) !important;\n}\n/*# sourceMappingURL=docs.min.css.map */",".skippy {\n display: block;\n padding: 1em;\n color: $white;\n text-align: center;\n background-color: $bd-purple;\n outline: 0;\n\n @include hover() {\n color: $white;\n }\n}\n\n.skippy-text {\n padding: .5em;\n outline: 1px dotted;\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Right side table of contents\n//\n\n.bd-toc {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n height: subtract(100vh, 4rem);\n overflow-y: auto;\n }\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n @include font-size(.875rem);\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n\n ul {\n padding-left: 1rem;\n }\n}\n\n.toc-entry {\n display: block;\n\n a {\n display: block;\n padding: .125rem 1.5rem;\n color: #77757a;\n\n &:hover {\n color: $blue;\n text-decoration: none;\n }\n }\n}\n\n//\n// Left side navigation\n//\n\n.bd-sidebar {\n order: 0;\n // background-color: #f5f2f9;\n border-bottom: 1px solid rgba(0, 0, 0, .1);\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n z-index: 1000;\n height: subtract(100vh, 4rem);\n }\n border-right: 1px solid rgba(0, 0, 0, .1);\n }\n\n @include media-breakpoint-up(xl) {\n flex: 0 1 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n max-height: subtract(100vh, 9rem);\n overflow-y: auto;\n }\n }\n\n // Override collapse behaviors\n @include media-breakpoint-up(md) {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative; // To contain the Algolia search\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, .05);\n\n .form-control:focus {\n border-color: $bd-purple-bright;\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: $gray-900;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 600;\n color: rgba(0, 0, 0, .65);\n\n &:hover {\n color: rgba(0, 0, 0, .85);\n text-decoration: none;\n }\n}\n\n.bd-toc-item {\n &.active {\n margin-bottom: 1rem;\n\n &:not(:first-child) {\n margin-top: 1rem;\n }\n\n > .bd-toc-link {\n color: rgba(0, 0, 0, .85);\n\n &:hover {\n background-color: transparent;\n }\n }\n\n > .bd-sidenav {\n display: block;\n }\n }\n}\n\n// All levels of nav\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n @include font-size(90%);\n color: rgba(0, 0, 0, .65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, .85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 600;\n color: rgba(0, 0, 0, .85);\n background-color: transparent;\n}\n","//\n// Footer\n//\n\n.bd-footer {\n @include font-size(.875rem);\n text-align: center;\n background-color: #f7f7f7;\n\n a {\n font-weight: 600;\n color: $gray-700;\n\n &:hover,\n &:focus {\n color: $link-color;\n }\n }\n\n p {\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(sm) {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n\n li {\n display: inline-block;\n\n + li {\n margin-left: 1rem;\n }\n }\n}\n","// stylelint-disable no-duplicate-selectors, selector-no-qualifying-type\n\n//\n// Grid examples\n//\n\n.bd-example-row {\n .row {\n > .col,\n > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, .15);\n border: 1px solid rgba(86, 61, 124, .2);\n }\n }\n\n .row + .row {\n margin-top: 1rem;\n }\n\n .flex-items-top,\n .flex-items-middle,\n .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, .1);\n }\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, .1);\n}\n\n.bd-highlight {\n background-color: rgba($bd-purple, .15);\n border: 1px solid rgba($bd-purple, .15);\n}\n\n.bd-example-responsive-containers {\n [class^=\"container\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, .15);\n border: 1px solid rgba(86, 61, 124, .2);\n }\n}\n\n// Grid mixins\n.example-container {\n width: 800px;\n @include make-container();\n}\n\n.example-row {\n @include make-row();\n}\n\n.example-content-main {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(8);\n }\n}\n\n.example-content-secondary {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(4);\n }\n}\n\n\n//\n// Docs examples\n//\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem (-$grid-gutter-width / 2) 0;\n border: solid $gray-100;\n border-width: .2rem 0 0;\n @include clearfix();\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n\n + .highlight,\n + .clipboard + .highlight {\n margin-top: 0;\n }\n\n + p {\n margin-top: 2rem;\n }\n\n .pos-f-t {\n position: relative;\n margin: -1rem;\n\n @include media-breakpoint-up(sm) {\n margin: -1.5rem;\n }\n }\n\n .custom-file-input:lang(es) ~ .custom-file-label::after {\n content: \"Elegir\";\n }\n\n > .form-control {\n + .form-control {\n margin-top: .5rem;\n }\n }\n\n > .nav + .nav,\n > .alert + .alert,\n > .navbar + .navbar,\n > .progress + .progress,\n > .progress + .btn {\n margin-top: 1rem;\n }\n\n > .dropdown-menu:first-child {\n position: static;\n display: block;\n }\n\n > .form-group:last-child {\n margin-bottom: 0;\n }\n\n > .close {\n float: none;\n }\n}\n\n// Typography\n.bd-example-type {\n .table {\n td {\n padding: 1rem 0;\n border-color: #eee;\n }\n tr:first-child td {\n border-top: 0;\n }\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n// Contextual background colors\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n// Images\n.bd-example {\n > svg + svg,\n > img + img {\n margin-left: .5rem;\n }\n}\n\n// Buttons\n.bd-example {\n > .btn,\n > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n }\n > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n }\n}\n\n// Forms\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n// List groups\n.bd-example > .list-group {\n max-width: 400px;\n}\n.bd-example > [class*=\"list-group-horizontal\"] {\n max-width: 100%;\n}\n\n// Navbars\n.bd-example {\n .fixed-top,\n .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n }\n .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n }\n\n @include media-breakpoint-up(sm) {\n .fixed-top,\n .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n }\n}\n\n// Pagination\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n// Example modals\n.modal {\n z-index: 1072;\n\n .tooltip,\n .popover {\n z-index: 1073;\n }\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n\n .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n }\n\n .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n }\n}\n\n// Example tabbable tabs\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n// Popovers\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n\n .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n }\n}\n\n// Tooltips\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n// Scrollspy demo on fixed height div\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils {\n [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n }\n}\n\n.bd-example-border-utils-0 {\n [class^=\"border\"] {\n border: 1px solid $border-color;\n }\n}\n\n//\n// Code snippets\n//\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: $gray-100;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: (-$grid-gutter-width / 2);\n margin-left: (-$grid-gutter-width / 2);\n\n @include media-breakpoint-up(sm) {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight {\n pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n }\n pre code {\n @include font-size(inherit);\n color: $gray-900; // Effectively the base text color\n }\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// Buttons\n//\n// Custom buttons for the docs.\n\n.btn-bd-primary {\n font-weight: 600;\n color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n\n &:hover,\n &:active {\n color: $white;\n background-color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n }\n\n &:focus {\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.btn-bd-download {\n font-weight: 600;\n color: $bd-download;\n border-color: $bd-download;\n\n &:hover,\n &:active {\n color: $bd-dark;\n background-color: $bd-download;\n border-color: $bd-download;\n }\n\n &:focus {\n box-shadow: 0 0 0 3px rgba($bd-download, .25);\n }\n}\n","//\n// Callouts\n//\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n @include border-radius();\n\n h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n\n code {\n @include border-radius();\n }\n\n + .bd-callout {\n margin-top: -.25rem;\n }\n}\n\n// Variations\n@mixin bs-callout-variant($color) {\n border-left-color: $color;\n\n h4 { color: $color; }\n}\n\n.bd-callout-info { @include bs-callout-variant($bd-info); }\n.bd-callout-warning { @include bs-callout-variant($bd-warning); }\n.bd-callout-danger { @include bs-callout-variant($bd-danger); }\n","// Wall of Browser Bugs\n//\n// Better display for the responsive table on the Wall of Browser Bugs.\n\n.bd-browser-bugs {\n td p {\n margin-bottom: 0;\n }\n th:first-child {\n width: 18%;\n }\n}\n","//\n// Brand guidelines\n//\n\n// Logo series wrapper\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: $bd-purple;\n background-color: #f9f9f9;\n @include border-radius();\n\n .inverse {\n color: $white;\n background-color: $bd-purple;\n }\n}\n\n// Individual items\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n\n + .bd-brand-item {\n border-top: 1px solid $white;\n }\n\n // Heading content within\n h1,\n h3 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(md) {\n display: table-cell;\n width: 1%;\n\n + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid $white;\n }\n\n h1 {\n @include font-size(4rem);\n }\n }\n}\n\n\n//\n// Color swatches\n//\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden; // clearfix\n\n // Docs colors\n .bd-purple {\n background-color: $bd-purple;\n }\n .bd-purple-light {\n background-color: $bd-purple-light;\n }\n .bd-purple-lighter {\n background-color: #e5e1ea;\n }\n .bd-gray {\n background-color: #f9f9f9;\n }\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n @include border-radius();\n\n @include media-breakpoint-up(md) {\n width: 6rem;\n height: 6rem;\n }\n}\n","//\n// Docs color palette classes\n//\n\n@each $color, $value in $colors {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n\n@each $color, $value in $grays {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n","// clipboard.js\n//\n// JS-based `Copy` buttons for code snippets.\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n\n + .highlight {\n margin-top: 0;\n }\n\n @include media-breakpoint-up(md) {\n display: block;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n @include font-size(75%);\n color: #818a91;\n background-color: transparent;\n border: 0;\n @include border-radius();\n\n &:hover {\n color: $white;\n background-color: #027de7;\n }\n}\n","//\n// Placeholder svg used in the docs.\n//\n\n// Remember to update `site/_layouts/examples.html` too if this changes!\n\n.bd-placeholder-img {\n @include font-size(1.125rem);\n text-anchor: middle;\n user-select: none;\n}\n\n.bd-placeholder-img-lg {\n @include font-size(3.5rem);\n}\n","// stylelint-disable declaration-block-single-line-max-declarations, selector-class-pattern\n\n.hll { background-color: #ffc; }\n.c { color: #999; }\n.k { color: #069; }\n.o { color: #555; }\n.cm { color: #999; }\n.cp { color: #099; }\n.c1 { color: #999; }\n.cs { color: #999; }\n.gd { background-color: #fcc; border: 1px solid #c00; }\n.ge { font-style: italic; }\n.gr { color: #f00; }\n.gh { color: #030; }\n.gi { background-color: #cfc; border: 1px solid #0c0; }\n.go { color: #aaa; }\n.gp { color: #009; }\n.gu { color: #030; }\n.gt { color: #9c6; }\n.kc { color: #069; }\n.kd { color: #069; }\n.kn { color: #069; }\n.kp { color: #069; }\n.kr { color: #069; }\n.kt { color: #078; }\n.m { color: #f60; }\n.s { color: #d44950; }\n.na { color: #4f9fcf; }\n.nb { color: #366; }\n.nc { color: #0a8; }\n.no { color: #360; }\n.nd { color: #99f; }\n.ni { color: #999; }\n.ne { color: #c00; }\n.nf { color: #c0f; }\n.nl { color: #99f; }\n.nn { color: #0cf; }\n.nt { color: #2f6f9f; }\n.nv { color: #033; }\n.ow { color: #000; }\n.w { color: #bbb; }\n.mf { color: #f60; }\n.mh { color: #f60; }\n.mi { color: #f60; }\n.mo { color: #f60; }\n.sb { color: #c30; }\n.sc { color: #c30; }\n.sd { font-style: italic; color: #c30; }\n.s2 { color: #c30; }\n.se { color: #c30; }\n.sh { color: #c30; }\n.si { color: #a00; }\n.sx { color: #c30; }\n.sr { color: #3aa; }\n.s1 { color: #c30; }\n.ss { color: #fc3; }\n.bp { color: #366; }\n.vc { color: #033; }\n.vg { color: #033; }\n.vi { color: #033; }\n.il { color: #f60; }\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt { color: #999; }\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n user-select: none;\n}\n",".anchorjs-link {\n font-weight: 400;\n color: rgba($link-color, .5);\n @include transition(color .15s ease-in-out, opacity .15s ease-in-out);\n\n &:hover {\n color: $link-color;\n text-decoration: none;\n }\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Docsearch overrides\n//\n// `!important` indicates overridden properties.\n.algolia-autocomplete {\n display: block !important;\n flex: 1;\n\n // Menu container\n .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: $white;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, .1);\n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);\n\n @include media-breakpoint-up(md) {\n width: 175%;\n }\n\n // Caret\n &::before {\n display: none !important;\n }\n\n [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n }\n\n .ds-suggestions {\n margin-top: 0 !important;\n }\n }\n\n .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n }\n\n .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n @include font-size(.875rem, true);\n font-weight: 600 !important;\n color: $bd-purple-bright !important;\n border-bottom: 0 !important;\n }\n\n .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n }\n\n // Section header\n .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n }\n\n .algolia-docsearch-suggestion--subcategory-inline {\n display: block !important;\n @include font-size(.875rem);\n color: $gray-700;\n\n &::after {\n padding: 0 .25rem;\n content: \"/\";\n }\n }\n\n .algolia-docsearch-suggestion--content {\n display: flex;\n flex-wrap: wrap;\n float: none !important;\n width: 100% !important;\n padding: .25rem 1rem !important;\n\n // Vertical divider between column header and content\n &::before {\n display: none !important;\n }\n }\n\n .ds-suggestion {\n &:not(:first-child) {\n .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, .1);\n }\n }\n\n .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n }\n }\n\n .algolia-docsearch-suggestion--title {\n display: block;\n margin-bottom: 0 !important;\n @include font-size(.875rem, true);\n font-weight: 400 !important;\n }\n\n .algolia-docsearch-suggestion--text {\n flex: 0 0 100%;\n max-width: 100%;\n padding: .2rem 0;\n @include font-size(.8125rem, true);\n font-weight: 400;\n line-height: 1.25 !important;\n color: $gray-600;\n }\n\n .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n @include font-size(.75rem, true);\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, .1);\n }\n\n .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n }\n\n .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, .12);\n }\n\n .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, .5) !important;\n }\n\n .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, .15) !important;\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/bootstrap-themes.png b/vendor/twbs/bootstrap/site/docs/4.4/assets/img/bootstrap-themes.png
deleted file mode 100644
index d1e1fc267..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/bootstrap-themes.png
+++ /dev/null
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/bootstrap-themes@2x.png b/vendor/twbs/bootstrap/site/docs/4.4/assets/img/bootstrap-themes@2x.png
deleted file mode 100644
index 3876a18ee..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/bootstrap-themes@2x.png
+++ /dev/null
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/docs.min.js b/vendor/twbs/bootstrap/site/docs/4.4/assets/js/docs.min.js
deleted file mode 100644
index 8c8cdb166..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/docs.min.js
+++ /dev/null
@@ -1,22 +0,0 @@
-!function(t,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(t.AnchorJS=e(),t.anchors=new t.AnchorJS)}(this,function(){"use strict";return function(t){function d(t){t.icon=t.hasOwnProperty("icon")?t.icon:"",t.visible=t.hasOwnProperty("visible")?t.visible:"hover",t.placement=t.hasOwnProperty("placement")?t.placement:"right",t.ariaLabel=t.hasOwnProperty("ariaLabel")?t.ariaLabel:"Anchor",t.class=t.hasOwnProperty("class")?t.class:"",t.base=t.hasOwnProperty("base")?t.base:"",t.truncate=t.hasOwnProperty("truncate")?Math.floor(t.truncate):64,t.titleText=t.hasOwnProperty("titleText")?t.titleText:""}function p(t){var e;if("string"==typeof t||t instanceof String)e=[].slice.call(document.querySelectorAll(t));else{if(!(Array.isArray(t)||t instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(t)}return e}this.options=t||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(t){var e,n,o,i,r,A,a,l,s,c,u,f,h=[];if(d(this.options),"touch"===(u=this.options.visible)&&(u=this.isTouchDevice()?"always":"hover"),0===(e=p(t=t||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var t,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(t=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,t);e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}(),n=document.querySelectorAll("[id]"),o=[].map.call(n,function(t){return t.id}),r=0;r<e.length;r++)if(this.hasAnchorJSLink(e[r]))h.push(r);else{if(e[r].hasAttribute("id"))i=e[r].getAttribute("id");else if(e[r].hasAttribute("data-anchor-id"))i=e[r].getAttribute("data-anchor-id");else{for(s=l=this.urlify(e[r].textContent),a=0;void 0!==A&&(s=l+"-"+a),a+=1,-1!==(A=o.indexOf(s)););A=void 0,o.push(s),e[r].setAttribute("id",s),i=s}(c=document.createElement("a")).className="anchorjs-link "+this.options.class,c.setAttribute("aria-label",this.options.ariaLabel),c.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(c.title=this.options.titleText),f=document.querySelector("base")?window.location.pathname+window.location.search:"",f=this.options.base||f,c.href=f+"#"+i,"always"===u&&(c.style.opacity="1"),""===this.options.icon&&(c.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(c.style.lineHeight="inherit")),"left"===this.options.placement?(c.style.position="absolute",c.style.marginLeft="-1em",c.style.paddingRight="0.5em",e[r].insertBefore(c,e[r].firstChild)):(c.style.paddingLeft="0.375em",e[r].appendChild(c))}for(r=0;r<h.length;r++)e.splice(h[r]-r,1);return this.elements=this.elements.concat(e),this},this.remove=function(t){for(var e,n,o=p(t),i=0;i<o.length;i++)(n=o[i].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(o[i]))&&this.elements.splice(e,1),o[i].removeChild(n));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(t){return this.options.truncate||d(this.options),t.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(t){var e=t.firstChild&&-1<(" "+t.firstChild.className+" ").indexOf(" anchorjs-link "),n=t.lastChild&&-1<(" "+t.lastChild.className+" ").indexOf(" anchorjs-link ");return e||n||!1}}});
-/*!
- * clipboard.js v2.0.4
- * https://zenorocha.github.io/clipboard.js
- *
- * Licensed MIT © Zeno Rocha
- */
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function i(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}return i.m=n,i.c=o,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=0)}([function(t,e,n){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),A=o(n(1)),a=o(n(3)),l=o(n(4));function o(t){return t&&t.__esModule?t:{default:t}}var s=function(t){function o(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this));return n.resolveOptions(e),n.listenClick(t),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(o,a.default),r(o,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===i(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,l.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new A.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return c("action",t)}},{key:"defaultTarget",value:function(t){var e=c("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return c("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),o}();function c(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}t.exports=s},function(t,e,n){"use strict";var o,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),A=n(2),a=(o=A)&&o.__esModule?o:{default:o};var l=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return r(e,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,a.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,a.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":i(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),e}();t.exports=l},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),i=document.createRange();i.selectNodeContents(t),o.removeAllRanges(),o.addRange(i),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function i(){o.off(t,i),e.apply(n,arguments)}return i._=e,this.on(t,i,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;o<i;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,A=o.length;r<A;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},t.exports=n},function(t,e,n){var f=n(5),h=n(6);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return c=e,u=n,(s=t).addEventListener(c,u),{destroy:function(){s.removeEventListener(c,u)}};if(f.nodeList(t))return A=t,a=e,l=n,Array.prototype.forEach.call(A,function(t){t.addEventListener(a,l)}),{destroy:function(){Array.prototype.forEach.call(A,function(t){t.removeEventListener(a,l)})}};if(f.string(t))return o=t,i=e,r=n,h(document.body,o,i,r);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,i,r,A,a,l,s,c,u}},function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var A=n(7);function r(t,e,n,o,i){var r=function(e,n,t,o){return function(t){t.delegateTarget=A(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,r,i),{destroy:function(){t.removeEventListener(n,r,i)}}}t.exports=function(t,e,n,o,i){return"function"==typeof t.addEventListener?r.apply(null,arguments):"function"==typeof n?r.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return r(t,e,n,o,i)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}}])});
-/*!
- * bsCustomFileInput v1.3.2 (https://github.com/Johann-S/bs-custom-file-input)
- * Copyright 2018 - 2019 Johann-S <johann.servoire@gmail.com>
- * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
- */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).bsCustomFileInput=e()}(this,function(){"use strict";var f={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},o=function(t){if(0<t.childNodes.length)for(var e=[].slice.call(t.childNodes),n=0;n<e.length;n++){var o=e[n];if(3!==o.nodeType)return o}return t},a=function(t){var e=t.bsCustomFileInput.defaultText,n=t.parentNode.querySelector(f.CUSTOMFILELABEL);n&&(o(n).innerHTML=e)},n=!!window.File,i=function(t){if(t.hasAttribute("multiple")&&n)return[].slice.call(t.files).map(function(t){return t.name}).join(", ");if(-1===t.value.indexOf("fakepath"))return t.value;var e=t.value.split("\\");return e[e.length-1]};function h(){var t=this.parentNode.querySelector(f.CUSTOMFILELABEL);if(t){var e=o(t),n=i(this);n.length?e.innerHTML=n:a(this)}}function d(){for(var t=[].slice.call(this.querySelectorAll(f.INPUT)).filter(function(t){return!!t.bsCustomFileInput}),e=0,n=t.length;e<n;e++)a(t[e])}var p="bsCustomFileInput",y="reset",m="change";return{init:function(t,e){void 0===t&&(t=f.CUSTOMFILE),void 0===e&&(e=f.FORM);for(var n,o,i,r=[].slice.call(document.querySelectorAll(t)),A=[].slice.call(document.querySelectorAll(e)),a=0,l=r.length;a<l;a++){var s=r[a];Object.defineProperty(s,p,{value:{defaultText:(n=s,o=void 0,void 0,o="",i=n.parentNode.querySelector(f.CUSTOMFILELABEL),i&&(o=i.innerHTML),o)},writable:!0}),h.call(s),s.addEventListener(m,h)}for(var c=0,u=A.length;c<u;c++)A[c].addEventListener(y,d),Object.defineProperty(A[c],p,{value:!0,writable:!0})},destroy:function(){for(var t=[].slice.call(document.querySelectorAll(f.FORM)).filter(function(t){return!!t.bsCustomFileInput}),e=[].slice.call(document.querySelectorAll(f.INPUT)).filter(function(t){return!!t.bsCustomFileInput}),n=0,o=e.length;n<o;n++){var i=e[n];a(i),i[p]=void 0,i.removeEventListener(m,h)}for(var r=0,A=t.length;r<A;r++)t[r].removeEventListener(y,d),t[r][p]=void 0}}});
-/*!
- * JavaScript for Bootstrap's docs (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under the Creative Commons Attribution 3.0 Unported License.
- * For details, see https://creativecommons.org/licenses/by/3.0/.
- */
-(function(i){"use strict";i(function(){i(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"});i('[data-toggle="popover"]').popover();i(".toast").toast({autohide:false}).toast("show");i(".tooltip-test").tooltip();i(".popover-test").popover();i('.bd-example-indeterminate [type="checkbox"]').prop("indeterminate",true);i('.bd-content [href="#"]').click(function(t){t.preventDefault()});i("#exampleModal").on("show.bs.modal",function(t){var e=i(t.relatedTarget);var n=e.data("whatever");var o=i(this);o.find(".modal-title").text("New message to "+n);o.find(".modal-body input").val(n)});i(".bd-toggle-animated-progress").on("click",function(){i(this).siblings(".progress").find(".progress-bar-striped").toggleClass("progress-bar-animated")});i("figure.highlight, div.highlight").each(function(){var t='<div class="bd-clipboard"><button type="button" class="btn-clipboard" title="Copy to clipboard">Copy</button></div>';i(this).before(t);i(".btn-clipboard").tooltip().on("mouseleave",function(){i(this).tooltip("hide")})});var t=new ClipboardJS(".btn-clipboard",{target:function(t){return t.parentNode.nextElementSibling}});t.on("success",function(t){i(t.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle");t.clearSelection()});t.on("error",function(t){var e=/Mac/i.test(navigator.userAgent)?"⌘":"Ctrl-";var n="Press "+e+"C to copy";i(t.trigger).attr("title",n).tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle")});anchors.options={icon:"#"};anchors.add(".bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5");i(".bd-content").children("h2, h3, h4, h5").wrapInner('<span class="bd-content-title"></span>');bsCustomFileInput.init()})})(jQuery);(function(){"use strict";function t(){var t=/MSIE ([0-9.]+)/.exec(window.navigator.userAgent);if(t===null){return null}var e=parseInt(t[1],10);var n=Math.floor(e);return n}function e(){var t=new Function("/*@cc_on return @_jscript_version; @*/")();if(typeof t==="undefined"){return 11}if(t<9){return 8}return t}var n=window.navigator.userAgent;if(n.indexOf("Opera")>-1||n.indexOf("Presto")>-1){return}var o=t();if(o===null){return}var i=e();if(o!==i){window.alert("WARNING: You appear to be using IE"+i+" in IE"+o+" emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!")}})();(function(){"use strict";if(!window.docsearch){return}var t=document.getElementById("search-input");var e=t.getAttribute("data-docs-version");function o(){var t=window.location;var e=t.origin;if(!e){var n=t.port?":"+t.port:"";e=t.protocol+"//"+t.hostname+n}return e}window.docsearch({apiKey:"5990ad008512000bba2cf951ccf0332f",indexName:"bootstrap",inputSelector:"#search-input",algoliaOptions:{facetFilters:["version:"+e]},transformData:function(t){return t.map(function(t){var e=o();var n="https://getbootstrap.com";t.url=e.indexOf(n)!==-1?t.url:t.url.replace(n,"");if(t.anchor==="content"){t.url=t.url.replace(/#content$/,"");t.anchor=null}return t})},debug:false})})(); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/bs-custom-file-input.min.js b/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/bs-custom-file-input.min.js
deleted file mode 100644
index d9af3b136..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/bs-custom-file-input.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * bsCustomFileInput v1.3.2 (https://github.com/Johann-S/bs-custom-file-input)
- * Copyright 2018 - 2019 Johann-S <johann.servoire@gmail.com>
- * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
- */
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).bsCustomFileInput=t()}(this,function(){"use strict";var d={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},r=function(e){if(0<e.childNodes.length)for(var t=[].slice.call(e.childNodes),n=0;n<t.length;n++){var r=t[n];if(3!==r.nodeType)return r}return e},u=function(e){var t=e.bsCustomFileInput.defaultText,n=e.parentNode.querySelector(d.CUSTOMFILELABEL);n&&(r(n).innerHTML=t)},n=!!window.File,l=function(e){if(e.hasAttribute("multiple")&&n)return[].slice.call(e.files).map(function(e){return e.name}).join(", ");if(-1===e.value.indexOf("fakepath"))return e.value;var t=e.value.split("\\");return t[t.length-1]};function v(){var e=this.parentNode.querySelector(d.CUSTOMFILELABEL);if(e){var t=r(e),n=l(this);n.length?t.innerHTML=n:u(this)}}function p(){for(var e=[].slice.call(this.querySelectorAll(d.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),t=0,n=e.length;t<n;t++)u(e[t])}var m="bsCustomFileInput",L="reset",h="change";return{init:function(e,t){void 0===e&&(e=d.CUSTOMFILE),void 0===t&&(t=d.FORM);for(var n,r,l,i=[].slice.call(document.querySelectorAll(e)),o=[].slice.call(document.querySelectorAll(t)),u=0,c=i.length;u<c;u++){var f=i[u];Object.defineProperty(f,m,{value:{defaultText:(n=f,r=void 0,void 0,r="",l=n.parentNode.querySelector(d.CUSTOMFILELABEL),l&&(r=l.innerHTML),r)},writable:!0}),v.call(f),f.addEventListener(h,v)}for(var a=0,s=o.length;a<s;a++)o[a].addEventListener(L,p),Object.defineProperty(o[a],m,{value:!0,writable:!0})},destroy:function(){for(var e=[].slice.call(document.querySelectorAll(d.FORM)).filter(function(e){return!!e.bsCustomFileInput}),t=[].slice.call(document.querySelectorAll(d.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),n=0,r=t.length;n<r;n++){var l=t[n];u(l),l[m]=void 0,l.removeEventListener(h,v)}for(var i=0,o=e.length;i<o;i++)e[i].removeEventListener(L,p),e[i][m]=void 0}}});
-//# sourceMappingURL=bs-custom-file-input.min.js.map
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/clipboard.min.js b/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/clipboard.min.js
deleted file mode 100644
index 02c549e35..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/clipboard.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * clipboard.js v2.0.4
- * https://zenorocha.github.io/clipboard.js
- *
- * Licensed MIT © Zeno Rocha
- */
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=o(n(1)),c=o(n(3)),u=o(n(4));function o(t){return t&&t.__esModule?t:{default:t}}var l=function(t){function o(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this));return n.resolveOptions(e),n.listenClick(t),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(o,c.default),i(o,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===r(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,u.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new a.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return s("action",t)}},{key:"defaultTarget",value:function(t){var e=s("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return s("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),o}();function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}t.exports=l},function(t,e,n){"use strict";var o,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=n(2),c=(o=a)&&o.__esModule?o:{default:o};var u=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,c.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,c.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),e}();t.exports=u},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n},function(t,e,n){var d=n(5),h=n(6);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!d.string(e))throw new TypeError("Second argument must be a String");if(!d.fn(n))throw new TypeError("Third argument must be a Function");if(d.node(t))return s=e,f=n,(l=t).addEventListener(s,f),{destroy:function(){l.removeEventListener(s,f)}};if(d.nodeList(t))return a=t,c=e,u=n,Array.prototype.forEach.call(a,function(t){t.addEventListener(c,u)}),{destroy:function(){Array.prototype.forEach.call(a,function(t){t.removeEventListener(c,u)})}};if(d.string(t))return o=t,r=e,i=n,h(document.body,o,r,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,a,c,u,l,s,f}},function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var a=n(7);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}}])}); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/jquery.slim.min.js b/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/jquery.slim.min.js
deleted file mode 100644
index af151cfe3..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/jquery.slim.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],v=g.document,r=Object.getPrototypeOf,s=t.slice,y=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,m=n.hasOwnProperty,a=m.toString,l=a.call(Object),b={},x=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},w=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)},d=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function p(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!x(e)&&!w(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||x(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=m.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){C(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(d,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return y.apply([],a)},guid:1,support:b}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,N="sizzle"+1*new Date,m=n.document,A=0,r=0,d=ue(),b=ue(),k=ue(),S=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",$=new RegExp(R+"+","g"),F=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+R+"?|("+R+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&((e?e.ownerDocument||e:m)!==T&&C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!S[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=N),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+be(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){S(t,!0)}finally{s===N&&e.removeAttribute("id")}}}return g(t.replace(F,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[N]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),m!==T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=N,!T.getElementsByName||!T.getElementsByName(N).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+N+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+N+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument===m&&y(m,e)?-1:t===T||t.ownerDocument===m&&y(m,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===T?-1:t===T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==T&&C(e),p.matchesSelector&&E&&!S[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){S(t,!0)}return 0<se(t,T,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==T&&C(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==T&&C(e);var n=x.attrHandle[t.toLowerCase()],r=n&&L.call(x.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:p.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!p.detectDuplicates,u=!p.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(x=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=d[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&d(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),b="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=b&&e.nodeName.toLowerCase(),d=!n&&!b,p=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(b?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&d){p=(s=(r=(i=(o=(a=c)[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===A&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if(1===a.nodeType&&++p&&a===e){i[h]=[A,s,p];break}}else if(d&&(p=s=(r=(i=(o=(a=e)[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===A&&r[1]),!1===p)while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if((b?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++p&&(d&&((i=(o=a[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[A,p]),a===e))break;return(p-=v)===g||p%g==0&&0<=p/g}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[N]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=H(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(F,"$1"));return s[N]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return X.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=pe(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=he(e);function me(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,d=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[A,d];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[N]||(e[N]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===A&&r[1]===d)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Ce(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(p,h,g,v,y,e){return v&&!v[N]&&(v=Te(v)),y&&!y[N]&&(y=Te(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!p||!e&&h?c:Ce(c,s,p,n,r),d=g?y||(e?p:l||v)?[]:t:f;if(g&&g(f,d,n,r),v){i=Ce(d,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(d[u[o]]=!(f[u[o]]=a))}if(e){if(y||p){if(y){i=[],o=d.length;while(o--)(a=d[o])&&i.push(f[o]=a);y(null,d=[],i,r)}o=d.length;while(o--)(a=d[o])&&-1<(i=y?H(e,a):s[o])&&(e[i]=!(t[i]=a))}}else d=Ce(d===t?d.splice(l,d.length):d),y?y(null,t,d,r):O.apply(t,d)})}function Ee(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=xe(function(e){return e===i},a,!0),l=xe(function(e){return-1<H(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[xe(we(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[N]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return Te(1<s&&we(c),1<s&&be(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(F,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&be(e))}c.push(t)}return we(c)}return me.prototype=x.filters=x.pseudos,x.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=b[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=z.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=_.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(F," ")}),a=a.slice(n.length)),x.filter)!(r=Q[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):b(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,b,r,i=[],o=[],a=k[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[N]?i.push(a):o.push(a);(a=k(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=A+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t===T||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument===T||(C(o),n=!E);while(s=v[a++])if(s(o,t||T,n)){r.push(o);break}i&&(A=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=j.call(r));f=Ce(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(A=h,w=d),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=Q.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&be(o)))return O.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},p.sortStable=N.split("").sort(D).join("")===N,p.detectDuplicates=!!l,C(),p.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),p.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(g);E.find=h,E.expr=h.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=h.uniqueSort,E.text=h.getText,E.isXMLDoc=h.isXML,E.contains=h.contains,E.escapeSelector=h.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},A=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=E.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,n,r){return x(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),D.test(r[1])&&E.isPlainObject(t))for(r in t)x(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):x(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,j=E(v);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,"parentNode")},parentsUntil:function(e,t,n){return N(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return N(e,"nextSibling")},prevAll:function(e){return N(e,"previousSibling")},nextUntil:function(e,t,n){return N(e,"nextSibling",n)},prevUntil:function(e,t,n){return N(e,"previousSibling",n)},siblings:function(e){return A((e.parentNode||{}).firstChild,e)},children:function(e){return A(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(S(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(P[r]||E.uniqueSort(n),O.test(r)&&n.reverse()),this.pushStack(n)}});var I=/[^\x20\t\r\n\f]+/g;function R(e){return e}function B(e){throw e}function M(e,t,n,r){var i;try{e&&x(i=e.promise)?i.call(e).done(t).fail(n):e&&x(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(I)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){x(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==T(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=x(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&x(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,x(t)?s?t.call(e,l(u,o,R,s),l(u,o,B,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,B,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==B&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),g.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,x(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,x(t)?t:R)),o[2][3].add(l(0,e,x(n)?n:B))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(M(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||x(i[t]&&i[t].then)))return o.then();while(t--)M(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){g.console&&g.console.warn&&e&&W.test(e.name)&&g.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){g.setTimeout(function(){throw e})};var $=E.Deferred();function F(){v.removeEventListener("DOMContentLoaded",F),g.removeEventListener("load",F),E.ready()}E.fn.ready=function(e){return $.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||$.resolveWith(v,[E])}}),E.ready.then=$.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?g.setTimeout(E.ready):(v.addEventListener("DOMContentLoaded",F),g.addEventListener("load",F));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)z(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,x(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(U,V)}var Q=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=E.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Q(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(I)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var G=new Y,K=new Y,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}K.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return K.hasData(e)||G.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=K.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),ee(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){K.set(this,n)}):z(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=K.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){K.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:E.Callbacks("once memory").add(function(){G.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=v.documentElement,oe=function(e){return E.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===E.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};var le={};function ce(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=G.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=le[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),le[s]=u)))):"none"!==n&&(l[c]="none",G.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return ce(this,!0)},hide:function(){return ce(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?E(this).show():E(this).hide()})}});var fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i,he={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}he.optgroup=he.option,he.tbody=he.tfoot=he.colgroup=he.caption=he.thead,he.th=he.td;var ye,me,be=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===T(o))E.merge(d,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=he[s]||he._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ge(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])pe.test(o.type||"")&&n.push(o)}return f}ye=v.createDocumentFragment().appendChild(v.createElement("div")),(me=v.createElement("input")).setAttribute("type","radio"),me.setAttribute("checked","checked"),me.setAttribute("name","t"),ye.appendChild(me),b.checkClone=ye.cloneNode(!0).cloneNode(!0).lastChild.checked,ye.innerHTML="<textarea>x</textarea>",b.noCloneChecked=!!ye.cloneNode(!0).lastChild.defaultValue;var we=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Ne(){return!1}function Ae(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ne;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(G.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=G.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),G.set(this,i,r),t=o(this,i),this[i](),r!==(n=G.get(this,i))||t?G.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(G.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,i)&&E.event.add(e,i,Ee)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=G.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(ie,i),n.guid||(n.guid=E.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(I)||[""]).length;while(l--)p=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=E.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=E.event.special[p]||{},c=E.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),E.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(I)||[""]).length;while(l--)if(p=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=E.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||E.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)E.event.remove(e,p+t[l],n,r,!0);E.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=E.event.fix(e),u=new Array(arguments.length),l=(G.get(this,"events")||{})[s.type]||[],c=E.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=E.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:x(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Se(t,"click",Ee),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&S(t,"input")&&G.get(t,"click")||S(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:Ne,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Ne,isPropagationStopped:Ne,isImmediatePropagationStopped:Ne,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(e,t){E.event.special[e]={setup:function(){return Se(this,e,Ae),!1},trigger:function(){return Se(this,e),!0},delegateType:t}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ne),this.each(function(){E.event.remove(this,e,n,t)})}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Le=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ie(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(G.hasData(e)&&(o=G.access(e),a=G.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)E.event.add(t,i,l[i][n]);K.hasData(e)&&(s=K.access(e),u=E.extend({},s),K.set(t,u))}}function Re(n,r,i,o){r=y.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=x(p);if(h||1<f&&"string"==typeof p&&!b.checkClone&&je.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Re(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ge(e,"script"),Pe)).length;c<f;c++)u=e,c!==d&&(u=E.clone(u,!0,!0),s&&E.merge(a,ge(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,He),c=0;c<s;c++)u=a[c],pe.test(u.type||"")&&!G.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):C(u.textContent.replace(qe,""),u,l))}return n}function Be(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ge(r)),r.parentNode&&(n&&oe(r)&&ve(ge(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e.replace(De,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(b.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(c),r=0,i=(o=ge(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&fe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ge(e),a=a||ge(c),r=0,i=o.length;r<i;r++)Ie(o[r],a[r]);else Ie(e,c);return 0<(a=ge(c,"script")).length&&ve(a,!f&&ge(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(Q(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return z(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Le.test(e)&&!he[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Re(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ge(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),We=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=g),t.getComputedStyle(e)},$e=new RegExp(re.join("|"),"i");function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||We(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=E.style(e,t)),!b.pixelBoxStyles()&&Me.test(a)&&$e.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=g.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=v.createElement("div"),u=v.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",b.clearCloneStyle="content-box"===u.style.backgroundClip,E.extend(b,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var _e=["Webkit","Moz","ms"],Ue=v.createElement("div").style,Ve={};function Xe(e){var t=E.cssProps[e]||Ve[e];return t||(e in Ue?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in Ue)return e}(e)||e)}var Qe,Ye,Ge=/^(none|table(?!-c[ea]).+)/,Ke=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ze={letterSpacing:"0",fontWeight:"400"};function et(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function tt(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+re[a]+"Width",!0,i))):(u+=E.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=E.css(e,"border"+re[a]+"Width",!0,i):s+=E.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function nt(e,t,n){var r=We(e),i=(!b.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Fe(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!b.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+tt(e,t,n||(i?"border":"content"),o,r,a)+"px"}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ke.test(t),l=e.style;if(u||(t=Xe(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&ne.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),b.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ke.test(t)||(t=Xe(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ze&&(i=Ze[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?nt(e,u,n):ue(e,Je,function(){return nt(e,u,n)})},set:function(e,t,n){var r,i=We(e),o=!b.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?tt(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-tt(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),et(0,t,s)}}}),E.cssHooks.marginLeft=ze(b.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=et)}),E.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=g.setTimeout(e,r);t.stop=function(){g.clearTimeout(n)}})},Qe=v.createElement("input"),Ye=v.createElement("select").appendChild(v.createElement("option")),Qe.type="checkbox",b.checkOn=""!==Qe.value,b.optSelected=Ye.selected,(Qe=v.createElement("input")).value="t",Qe.type="radio",b.radioValue="t"===Qe.value;var rt,it=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return z(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?rt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!b.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),rt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=it[t]||E.find.attr;it[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=it[o],it[o]=r,r=null!=a(e,t,n)?o:null,it[o]=i),r}});var ot=/^(?:input|select|textarea|button)$/i,at=/^(?:a|area)$/i;function st(e){return(e.match(I)||[]).join(" ")}function ut(e){return e.getAttribute&&e.getAttribute("class")||""}function lt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(I)||[]}E.fn.extend({prop:function(e,t){return z(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):ot.test(e.nodeName)||at.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),b.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(x(t))return this.each(function(e){E(this).addClass(t.call(this,e,ut(this)))});if((e=lt(t)).length)while(n=this[u++])if(i=ut(n),r=1===n.nodeType&&" "+st(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=st(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(x(t))return this.each(function(e){E(this).removeClass(t.call(this,e,ut(this)))});if(!arguments.length)return this.attr("class","");if((e=lt(t)).length)while(n=this[u++])if(i=ut(n),r=1===n.nodeType&&" "+st(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=st(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):x(i)?this.each(function(e){E(this).toggleClass(i.call(this,e,ut(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=E(this),r=lt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=ut(this))&&G.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":G.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+st(ut(n))+" ").indexOf(t))return!0;return!1}});var ct=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=x(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ct,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:st(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},b.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),b.focusin="onfocusin"in g;var ft=/^(?:focusinfocus|focusoutblur)$/,dt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||v],p=m.call(e,"type")?e.type:e,h=m.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||v,3!==n.nodeType&&8!==n.nodeType&&!ft.test(p+E.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!w(n)){for(s=c.delegateType||p,ft.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||v)&&d.push(a.defaultView||a.parentWindow||g)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(G.get(o,"events")||{})[e.type]&&G.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&Q(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!Q(n)||u&&x(n[p])&&!w(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,dt),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,dt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),b.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=G.access(e,r);t||e.addEventListener(n,i,!0),G.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=G.access(e,r)-1;t?G.access(e,r,t):(e.removeEventListener(n,i,!0),G.remove(e,r))}}});var pt,ht=/\[\]$/,gt=/\r?\n/g,vt=/^(?:submit|button|image|reset|file)$/i,yt=/^(?:input|select|textarea|keygen)/i;function mt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||ht.test(n)?i(n,t):mt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==T(e))i(n,e);else for(t in e)mt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=x(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)mt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&yt.test(this.nodeName)&&!vt.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(gt,"\r\n")}}):{name:t.name,value:n.replace(gt,"\r\n")}}).get()}}),E.fn.extend({wrapAll:function(e){var t;return this[0]&&(x(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return x(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=x(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.createHTMLDocument=((pt=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===pt.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(b.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),x(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||ie})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return z(this,function(e,t,n){var r;if(w(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=ze(b.pixelPosition,function(e,t){if(t)return t=Fe(e,n),Me.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return z(this,function(e,t,n){var r;return w(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),E.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),x(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=S,E.isFunction=x,E.isWindow=w,E.camelCase=X,E.type=T,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var bt=g.jQuery,xt=g.$;return E.noConflict=function(e){return g.$===E&&(g.$=xt),e&&g.jQuery===E&&(g.jQuery=bt),E},e||(g.jQuery=g.$=E),E});
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_masthead.scss b/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_masthead.scss
deleted file mode 100644
index f4e70a2cf..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_masthead.scss
+++ /dev/null
@@ -1,52 +0,0 @@
-// stylelint-disable declaration-no-important
-
-.bd-masthead {
- position: relative;
- padding: 3rem ($grid-gutter-width / 2);
- // background-image: linear-gradient(45deg, #fafafa, #f5f5f5);
-
- h1 {
- @include font-size(4rem);
- line-height: 1;
- }
-
- .btn {
- padding: .8rem 2rem;
- font-weight: 600;
- @include font-size(1.25rem);
- }
-
- .carbonad {
- margin-top: 0 !important;
- margin-bottom: -3rem !important;
- }
-
- @include media-breakpoint-up(sm) {
- padding-top: 5rem;
- padding-bottom: 5rem;
-
- .carbonad {
- margin-bottom: 0 !important;
- }
- }
-
- @include media-breakpoint-up(md) {
- .carbonad {
- margin-top: 3rem !important;
- }
- }
-}
-
-.half-rule {
- width: 6rem;
- margin: 2.5rem 0;
-}
-
-.masthead-followup {
- .bd-clipboard { display: none; }
-
- .highlight {
- padding: .5rem 0;
- background-color: transparent;
- }
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/index.html b/vendor/twbs/bootstrap/site/docs/4.4/examples/index.html
deleted file mode 100644
index 965c27564..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
----
-layout: simple
-title: Examples
-description: Quickly get a project started with any of our examples ranging from using parts of the framework to custom components and layouts.
-redirect_from: "/examples/"
----
-
-{% for entry in site.data.examples %}
- <h2>{{ entry.category | capitalize }}</h2>
- <p>{{ entry.description }}</p>
- {% for example in entry.examples %}
- {% if forloop.first %}<div class="row">{% endif %}
- <div class="col-sm-6 col-md-4 col-xl-3 mb-3">
- <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/{{ example.name | slugify }}/">
- <img class="img-thumbnail mb-3" srcset="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}.png,
- {{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}@2x.png 2x"
- src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}.png" alt="{{ example.name }} screenshot" width="480" height="300">
- <h5 class="mb-1">{{ example.name }}</h5>
- </a>
- <p class="text-muted">{{ example.description }}</p>
- </div>
- {% if forloop.last %}</div>{% endif %}
- {% endfor %}
-{% endfor %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/about/brand.md b/vendor/twbs/bootstrap/site/docs/4.5/about/brand.md
index 084c36bd8..5e670091b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/about/brand.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/about/brand.md
@@ -14,10 +14,10 @@ Use either the Bootstrap mark (a capital **B**) or the standard logo (just **Boo
<div class="bd-brand-logos">
<div class="bd-brand-item">
- <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" alt="Bootstrap" width="144" height="144">
+ <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" alt="Bootstrap" width="144" height="144" loading="lazy">
</div>
<div class="bd-brand-item inverse">
- <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-outline.svg" alt="Bootstrap" width="144" height="144">
+ <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-outline.svg" alt="Bootstrap" width="144" height="144" loading="lazy">
</div>
</div>
<div class="bd-brand-logos">
@@ -35,13 +35,13 @@ Download the Bootstrap mark in one of three styles, each available as an SVG fil
<div class="bd-brand-logos">
<div class="bd-brand-item">
- <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" alt="Bootstrap" width="144" height="144">
+ <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" alt="Bootstrap" width="144" height="144" loading="lazy">
</div>
<div class="bd-brand-item inverse">
- <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-outline.svg" alt="Bootstrap" width="144" height="144">
+ <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-outline.svg" alt="Bootstrap" width="144" height="144" loading="lazy">
</div>
<div class="bd-brand-item inverse">
- <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-punchout.svg" alt="Bootstrap" width="144" height="144">
+ <img class="svg" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-punchout.svg" alt="Bootstrap" width="144" height="144" loading="lazy">
</div>
</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/about/license.md b/vendor/twbs/bootstrap/site/docs/4.5/about/license.md
index 39720029d..39720029d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/about/license.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/about/license.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/about/overview.md b/vendor/twbs/bootstrap/site/docs/4.5/about/overview.md
index 902d284ef..71572a47e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/about/overview.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/about/overview.md
@@ -5,7 +5,7 @@ description: Learn more about the team maintaining Bootstrap, how and why the pr
group: about
redirect_from:
- "/about/"
- - "/docs/4.4/about/"
+ - "/docs/4.5/about/"
---
## Team
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/about/team.md b/vendor/twbs/bootstrap/site/docs/4.5/about/team.md
index 93aecf882..231e315c5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/about/team.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/about/team.md
@@ -10,7 +10,7 @@ Bootstrap is maintained by the founding team and a small group of invaluable cor
<div class="list-group mb-3">
{% for member in site.data.core-team %}
<a class="list-group-item list-group-item-action d-flex align-items-center" href="https://github.com/{{ member.user }}">
- <img src="https://github.com/{{ member.user }}.png" alt="@{{ member.user }}" width="32" height="32" class="rounded mr-2">
+ <img src="https://github.com/{{ member.user }}.png" alt="@{{ member.user }}" width="32" height="32" class="rounded mr-2" loading="lazy">
<span>
<strong>{{ member.name }}</strong> @{{ member.user }}
</span>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/about/translations.md b/vendor/twbs/bootstrap/site/docs/4.5/about/translations.md
index 576259d35..576259d35 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/about/translations.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/about/translations.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-outline.svg b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-outline.svg
index ed1825e3e..ed1825e3e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-outline.svg
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-outline.svg
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-punchout.svg b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-punchout.svg
index be0696e1a..be0696e1a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-punchout.svg
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-punchout.svg
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-social-logo.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-social-logo.png
index fdd35e5d4..fdd35e5d4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-social-logo.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-social-logo.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-social.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-social.png
index 468ab5b59..468ab5b59 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-social.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-social.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-solid.svg b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-solid.svg
index 2f536b687..2f536b687 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/brand/bootstrap-solid.svg
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/brand/bootstrap-solid.svg
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/css/docs.min.css b/vendor/twbs/bootstrap/site/docs/4.5/assets/css/docs.min.css
new file mode 100644
index 000000000..38b23c810
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/css/docs.min.css
@@ -0,0 +1,8 @@
+/*!
+ * Bootstrap Docs (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under the Creative Commons Attribution 3.0 Unported License.
+ * For details, see https://creativecommons.org/licenses/by/3.0/.
+ */.bd-navbar{min-height:4rem;background-color:#7952b3;box-shadow:0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.1)}@media (max-width:991.98px){.bd-navbar{padding-right:.5rem;padding-left:.5rem}.bd-navbar .navbar-nav-scroll{max-width:100%;height:2.5rem;margin-top:.25rem;overflow:hidden}.bd-navbar .navbar-nav-scroll .navbar-nav{padding-bottom:2rem;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:1071}}}.bd-navbar .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem;color:rgba(255,255,255,.85)}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:hover{color:#fff;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:600}.bd-navbar .navbar-nav-svg{display:inline-block;width:1rem;height:1rem;vertical-align:text-top}.bd-navbar .dropdown-menu{font-size:.875rem}.bd-navbar .dropdown-item.active{font-weight:600;color:#212529;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' 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") no-repeat .4rem .6rem/.75rem .75rem}.bd-masthead{position:relative;padding:3rem 15px;background:linear-gradient(to right bottom,#f7f5fb 50%,#fff 50%)}.bd-masthead h1{font-size:4rem;line-height:1}@media (max-width:1200px){.bd-masthead h1{font-size:calc(1.525rem + 3.3vw)}}.bd-masthead .lead{font-size:1.5rem;font-weight:400;color:#495057}@media (max-width:1200px){.bd-masthead .lead{font-size:calc(1.275rem + .3vw)}}.bd-masthead .btn{padding:.8rem 2rem;font-weight:600;font-size:1.25rem}.bd-masthead .carbonad{margin-top:0!important;margin-bottom:-3rem!important}@media (min-width:576px){.bd-masthead{padding-top:5rem;padding-bottom:5rem}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead .carbonad{margin-top:3rem!important}}.masthead-followup .bd-clipboard{display:none}.masthead-followup h2{font-size:2.5rem}@media (max-width:1200px){.masthead-followup h2{font-size:calc(1.375rem + 1.5vw)}}.masthead-followup .highlight{border-radius:.5rem}.masthead-followup .highlight pre::-webkit-scrollbar{display:none}.masthead-followup .highlight pre code{display:inline-block;white-space:pre}.masthead-followup .highlight pre code::before{display:none}.masthead-followup-icon{padding:.75rem;background-image:linear-gradient(to bottom right,rgba(255,255,255,.2),rgba(255,255,255,.01));border-radius:.75rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.1)}.masthead-followup-svg{-webkit-filter:drop-shadow(0 1px 0 rgba(0, 0, 0, .125));filter:drop-shadow(0 1px 0 rgba(0, 0, 0, .125))}#carbonads{position:static;display:block;max-width:400px;padding:15px 15px 15px 160px;margin:2rem 0;overflow:hidden;font-size:.8125rem;line-height:1.4;text-align:left;background-color:rgba(0,0,0,.05)}#carbonads a{color:#333;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;border-radius:4px}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;margin-top:.75rem;color:#777!important}.bd-content{-ms-flex-order:1;order:1}.bd-content>h2[id],.bd-content>h3[id],.bd-content>h4[id]{pointer-events:none}.bd-content>h2[id]::before,.bd-content>h3[id]::before,.bd-content>h4[id]::before{display:block;height:6rem;margin-top:-6rem;content:""}.bd-content>table{width:100%;max-width:100%;margin-bottom:1rem}@media (max-width:991.98px){.bd-content>table{display:block;overflow-x:auto}.bd-content>table.table-bordered{border:0}}.bd-content>table>tbody>tr>td,.bd-content>table>tbody>tr>th,.bd-content>table>tfoot>tr>td,.bd-content>table>tfoot>tr>th,.bd-content>table>thead>tr>td,.bd-content>table>thead>tr>th{padding:.75rem;vertical-align:top;border:1px solid #dee2e6}.bd-content>table>tbody>tr>td>p:last-child,.bd-content>table>tbody>tr>th>p:last-child,.bd-content>table>tfoot>tr>td>p:last-child,.bd-content>table>tfoot>tr>th>p:last-child,.bd-content>table>thead>tr>td>p:last-child,.bd-content>table>thead>tr>th>p:last-child{margin-bottom:0}.bd-content>table td:first-child>code{white-space:nowrap}.bd-content-title{display:block;pointer-events:auto}.bd-content>h2{font-size:2rem}@media (max-width:1200px){.bd-content>h2{font-size:calc(1.325rem + .9vw)}}.bd-content>h3{font-size:1.75rem}@media (max-width:1200px){.bd-content>h3{font-size:calc(1.3rem + .6vw)}}.bd-content>h4{font-size:1.5rem}@media (max-width:1200px){.bd-content>h4{font-size:calc(1.275rem + .3vw)}}.bd-content>h2:not(:first-child){margin-top:3rem}.bd-content>h3{margin-top:1.5rem}.bd-content>ol li,.bd-content>ul li{margin-bottom:.25rem}@media (min-width:992px){.bd-content>ol,.bd-content>p,.bd-content>ul{max-width:80%}}.bd-title{margin-top:1rem;margin-bottom:.5rem;font-size:3rem}@media (max-width:1200px){.bd-title{font-size:calc(1.425rem + 2.1vw)}}.bd-lead{font-size:1.5rem;font-weight:300}@media (max-width:1200px){.bd-lead{font-size:calc(1.275rem + .3vw)}}@media (min-width:992px){.bd-lead{max-width:80%}}.bd-text-purple{color:#563d7c}.bd-text-purple-bright{color:#7952b3}.bd-bg-purple-bright{background-color:#7952b3}.skippy{display:block;padding:1em;color:#fff;text-align:center;background-color:#563d7c;outline:0}.skippy:hover{color:#fff}.skippy-text{padding:.5em;outline:1px dotted}.bd-toc{-ms-flex-order:2;order:2;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.875rem}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-toc{position:-webkit-sticky;position:sticky;top:4rem;height:calc(100vh - 4rem);overflow-y:auto}}.section-nav{padding-left:0;border-left:1px solid #eee}.section-nav ul{padding-left:1rem}.toc-entry{display:block}.toc-entry a{display:block;padding:.125rem 1.5rem;color:#77757a}.toc-entry a:hover{color:#007bff;text-decoration:none}.bd-sidebar{-ms-flex-order:0;order:0;border-bottom:1px solid rgba(0,0,0,.1)}@media (min-width:768px){.bd-sidebar{border-right:1px solid rgba(0,0,0,.1)}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-sidebar{position:-webkit-sticky;position:sticky;top:4rem;z-index:1000;height:calc(100vh - 4rem)}}}@media (min-width:1200px){.bd-sidebar{-ms-flex:0 1 320px;flex:0 1 320px}}.bd-links{padding-top:1rem;padding-bottom:1rem;margin-right:-15px;margin-left:-15px}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-links{max-height:calc(100vh - 9rem);overflow-y:auto}}}@media (min-width:768px){.bd-links{display:block!important}}.bd-search{position:relative;padding:1rem 15px;margin-right:-15px;margin-left:-15px;border-bottom:1px solid rgba(0,0,0,.05)}.bd-search .form-control:focus{border-color:#7952b3;box-shadow:0 0 0 3px rgba(121,82,179,.25)}.bd-search-docs-toggle{color:#212529}.bd-sidenav{display:none}.bd-toc-link{display:block;padding:.25rem 1.5rem;font-weight:600;color:rgba(0,0,0,.65)}.bd-toc-link:hover{color:rgba(0,0,0,.85);text-decoration:none}.bd-toc-item.active{margin-bottom:1rem}.bd-toc-item.active:not(:first-child){margin-top:1rem}.bd-toc-item.active>.bd-toc-link{color:rgba(0,0,0,.85)}.bd-toc-item.active>.bd-toc-link:hover{background-color:transparent}.bd-toc-item.active>.bd-sidenav{display:block}.bd-sidebar .nav>li>a{display:block;padding:.25rem 1.5rem;font-size:90%;color:rgba(0,0,0,.65)}.bd-sidebar .nav>li>a:hover{color:rgba(0,0,0,.85);text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:600;color:rgba(0,0,0,.85);background-color:transparent}.bd-footer{font-size:.875rem;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:600;color:#495057}.bd-footer a:focus,.bd-footer a:hover{color:#007bff}.bd-footer p{margin-bottom:0}@media (min-width:576px){.bd-footer{text-align:left}}.bd-footer-links{padding-left:0;margin-bottom:1rem}.bd-footer-links li{display:inline-block}.bd-footer-links li+li{margin-left:1rem}.bd-example-row .row>.col,.bd-example-row .row>[class^=col-]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.bd-example-row .row+.row{margin-top:1rem}.bd-example-row .flex-items-bottom,.bd-example-row .flex-items-middle,.bd-example-row .flex-items-top{min-height:6rem;background-color:rgba(255,0,0,.1)}.bd-example-row-flex-cols .row{min-height:10rem;background-color:rgba(255,0,0,.1)}.bd-highlight{background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.15)}.bd-example-responsive-containers [class^=container]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.example-container{width:800px;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.example-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.example-content-main{position:relative;width:100%;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-main{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-main{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}}.example-content-secondary{position:relative;width:100%;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-secondary{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-secondary{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}}.bd-example{position:relative;padding:1rem;margin:1rem -15px 0;border:solid #f8f9fa;border-width:.2rem 0 0}.bd-example::after{display:block;clear:both;content:""}@media (min-width:576px){.bd-example{padding:1.5rem;margin-right:0;margin-left:0;border-width:.2rem}}.bd-example+.clipboard+.highlight,.bd-example+.highlight{margin-top:0}.bd-example+p{margin-top:2rem}.bd-example .custom-file-input:lang(es)~.custom-file-label::after{content:"Elegir"}.bd-example>.form-control+.form-control{margin-top:.5rem}.bd-example>.alert+.alert,.bd-example>.nav+.nav,.bd-example>.navbar+.navbar,.bd-example>.progress+.btn,.bd-example>.progress+.progress{margin-top:1rem}.bd-example>.dropdown-menu:first-child{position:static;display:block}.bd-example>.form-group:last-child{margin-bottom:0}.bd-example>.close{float:none}.bd-example-type .table td{padding:1rem 0;border-color:#eee}.bd-example-type .table tr:first-child td{border-top:0}.bd-example-type h1,.bd-example-type h2,.bd-example-type h3,.bd-example-type h4,.bd-example-type h5,.bd-example-type h6{margin-top:0;margin-bottom:0}.bd-example-bg-classes p{padding:1rem}.bd-example>img+img,.bd-example>svg+svg{margin-left:.5rem}.bd-example>.btn,.bd-example>.btn-group{margin-top:.25rem;margin-bottom:.25rem}.bd-example>.btn-toolbar+.btn-toolbar{margin-top:.5rem}.bd-example-control-sizing input[type=text]+input[type=text],.bd-example-control-sizing select{margin-top:.5rem}.bd-example-form .input-group{margin-bottom:.5rem}.bd-example>textarea.form-control{resize:vertical}.bd-example>.list-group{max-width:400px}.bd-example>[class*=list-group-horizontal]{max-width:100%}.bd-example .fixed-top,.bd-example .sticky-top{position:static;margin:-1rem -1rem 1rem}.bd-example .fixed-bottom{position:static;margin:1rem -1rem -1rem}@media (min-width:576px){.bd-example .fixed-top,.bd-example .sticky-top{margin:-1.5rem -1.5rem 1rem}.bd-example .fixed-bottom{margin:1rem -1.5rem -1.5rem}}.bd-example .pagination{margin-top:.5rem;margin-bottom:.5rem}.modal{z-index:1072}.modal .popover,.modal .tooltip{z-index:1073}.modal-backdrop{z-index:1071}.bd-example-modal{background-color:#fafafa}.bd-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bd-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.bd-example-tabs .nav-tabs{margin-bottom:1rem}.bd-example-popover-static{padding-bottom:1.5rem;background-color:#f9f9f9}.bd-example-popover-static .popover{position:relative;display:block;float:left;width:260px;margin:1.25rem}.tooltip-demo a{white-space:nowrap}.bd-example-tooltip-static .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.scrollspy-example{position:relative;height:200px;margin-top:.5rem;overflow:auto}.scrollspy-example-2{position:relative;height:350px;overflow:auto}.bd-example-border-utils [class^=border]{display:inline-block;width:5rem;height:5rem;margin:.25rem;background-color:#f5f5f5}.bd-example-border-utils-0 [class^=border]{border:1px solid #dee2e6}.bd-example-forms-input-group-workaround .fix-rounded-right{border-top-right-radius:.2rem!important;border-bottom-right-radius:.2rem!important}.highlight{padding:1rem;margin-top:1rem;margin-bottom:1rem;background-color:#f8f9fa;-ms-overflow-style:-ms-autohiding-scrollbar}@media (min-width:576px){.highlight{padding:1.5rem}}.bd-content .highlight{margin-right:-15px;margin-left:-15px}@media (min-width:576px){.bd-content .highlight{margin-right:0;margin-left:0}}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#212529}.btn-bd-primary{font-weight:600;color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-bd-primary:active,.btn-bd-primary:hover{color:#fff;background-color:#614092;border-color:#614092}.btn-bd-primary:focus{box-shadow:0 0 0 3px rgba(121,82,179,.25)}.btn-bd-download{font-weight:600;color:#ffe484;border-color:#ffe484}.btn-bd-download:active,.btn-bd-download:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.btn-bd-download:focus{box-shadow:0 0 0 3px rgba(255,228,132,.25)}.bd-callout{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:.25rem}.bd-callout h4{margin-top:0;margin-bottom:.25rem}.bd-callout p:last-child{margin-bottom:0}.bd-callout code{border-radius:.25rem}.bd-callout+.bd-callout{margin-top:-.25rem}.bd-callout-info{border-left-color:#5bc0de}.bd-callout-info h4{color:#5bc0de}.bd-callout-warning{border-left-color:#f0ad4e}.bd-callout-warning h4{color:#f0ad4e}.bd-callout-danger{border-left-color:#d9534f}.bd-callout-danger h4{color:#d9534f}.bd-browser-bugs td p{margin-bottom:0}.bd-browser-bugs th:first-child{width:18%}.bd-brand-logos{display:table;width:100%;margin-bottom:1rem;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:.25rem}.bd-brand-logos .inverse{color:#fff;background-color:#563d7c}.bd-brand-item{padding:4rem 0;text-align:center}.bd-brand-item+.bd-brand-item{border-top:1px solid #fff}.bd-brand-item h1,.bd-brand-item h3{margin-top:0;margin-bottom:0}@media (min-width:768px){.bd-brand-item{display:table-cell;width:1%}.bd-brand-item+.bd-brand-item{border-top:0;border-left:1px solid #fff}.bd-brand-item h1{font-size:4rem}}@media (min-width:768px) and (max-width:1200px){.bd-brand-item h1{font-size:calc(1.525rem + 3.3vw)}}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatches .bd-purple{background-color:#563d7c}.color-swatches .bd-purple-light{background-color:#cbbde2}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.color-swatch{float:left;width:4rem;height:4rem;margin-right:.25rem;margin-left:.25rem;border-radius:.25rem}@media (min-width:768px){.color-swatch{width:6rem;height:6rem}}.swatch-blue{color:#fff;background-color:#007bff}.swatch-indigo{color:#fff;background-color:#6610f2}.swatch-purple{color:#fff;background-color:#6f42c1}.swatch-pink{color:#fff;background-color:#e83e8c}.swatch-red{color:#fff;background-color:#dc3545}.swatch-orange{color:#212529;background-color:#fd7e14}.swatch-yellow{color:#212529;background-color:#ffc107}.swatch-green{color:#fff;background-color:#28a745}.swatch-teal{color:#fff;background-color:#20c997}.swatch-cyan{color:#fff;background-color:#17a2b8}.swatch-white{color:#212529;background-color:#fff}.swatch-gray{color:#fff;background-color:#6c757d}.swatch-gray-dark{color:#fff;background-color:#343a40}.swatch-100{color:#212529;background-color:#f8f9fa}.swatch-200{color:#212529;background-color:#e9ecef}.swatch-300{color:#212529;background-color:#dee2e6}.swatch-400{color:#212529;background-color:#ced4da}.swatch-500{color:#212529;background-color:#adb5bd}.swatch-600{color:#fff;background-color:#6c757d}.swatch-700{color:#fff;background-color:#495057}.swatch-800{color:#fff;background-color:#343a40}.swatch-900{color:#fff;background-color:#212529}.bd-clipboard{position:relative;display:none;float:right}.bd-clipboard+.highlight{margin-top:0}@media (min-width:768px){.bd-clipboard{display:block}}.btn-clipboard{position:absolute;top:.5rem;right:.5rem;z-index:10;display:block;padding:.25rem .5rem;font-size:75%;color:#818a91;background-color:transparent;border:0;border-radius:.25rem}.btn-clipboard:hover{color:#fff;background-color:#027de7}.bd-placeholder-img{font-size:1.125rem;text-anchor:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bd-placeholder-img-lg{font-size:3.5rem}@media (max-width:1200px){.bd-placeholder-img-lg{font-size:calc(1.475rem + 2.7vw)}}.hll{background-color:#ffc}.c{color:#727272}.k{color:#069}.o{color:#555}.cm{color:#727272}.cp{color:#008085}.c1{color:#727272}.cs{color:#727272}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gu{color:#030}.gt{color:#9c6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#c24f19}.s{color:#d73038}.na{color:#006ee0}.nb{color:#366}.nc{color:#168174}.no{color:#360}.nd{color:#6b62de}.ni{color:#727272}.ne{color:#c00}.nf{color:#b715f4}.nl{color:#6b62de}.nn{color:#007ca5}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#c24f19}.mh{color:#c24f19}.mi{color:#c24f19}.mo{color:#c24f19}.sb{color:#c30}.sc{color:#c30}.sd{font-style:italic;color:#c30}.s2{color:#c30}.se{color:#c30}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#337e7e}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#c24f19}.css .nt+.nt,.css .o,.css .o+.nt{color:#727272}.language-bash::before,.language-sh::before{color:#009;content:"$ ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.language-powershell::before{color:#009;content:"PM> ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.anchorjs-link{font-weight:400;color:rgba(0,123,255,.5);transition:color .15s ease-in-out,opacity .15s ease-in-out}@media (prefers-reduced-motion:reduce){.anchorjs-link{transition:none}}.anchorjs-link:hover{color:#007bff;text-decoration:none}.algolia-autocomplete{display:block!important;-ms-flex:1;flex:1}.algolia-autocomplete .ds-dropdown-menu{width:100%;min-width:0!important;max-width:none!important;padding:.75rem 0!important;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}@media (min-width:768px){.algolia-autocomplete .ds-dropdown-menu{width:175%}}.algolia-autocomplete .ds-dropdown-menu::before{display:none!important}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{padding:0!important;overflow:visible!important;background-color:transparent!important;border:0!important}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion{padding:0!important;overflow:visible!important}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{padding:.125rem 1rem!important;margin-top:0!important;font-size:.875rem!important;font-weight:600!important;color:#7952b3!important;border-bottom:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{float:none!important;padding-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:none!important;width:auto!important;padding:0!important;text-align:left!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:block!important;font-size:.875rem;color:#495057}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline::after{padding:0 .25rem;content:"/"}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;float:none!important;width:100%!important;padding:.25rem 1rem!important}.algolia-autocomplete .algolia-docsearch-suggestion--content::before{display:none!important}.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header{padding-top:.75rem!important;margin-top:.75rem!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column{display:none!important}.algolia-autocomplete .algolia-docsearch-suggestion--title{display:block;margin-bottom:0!important;font-size:.875rem!important;font-weight:400!important}.algolia-autocomplete .algolia-docsearch-suggestion--text{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding:.2rem 0;font-size:.8125rem!important;font-weight:400;line-height:1.25!important;color:#6c757d}.algolia-autocomplete .algolia-docsearch-footer{float:none!important;width:auto!important;height:auto!important;padding:.75rem 1rem 0;font-size:.75rem!important;line-height:1!important;color:#767676!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .algolia-docsearch-footer--logo{display:inline!important;overflow:visible!important;color:inherit!important;text-indent:0!important;background:0 0!important}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#5f2dab;background-color:rgba(154,132,187,.12)}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:inset 0 -2px 0 0 rgba(95,45,171,.5)!important}.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content{background-color:rgba(208,189,236,.15)!important}
+/*# sourceMappingURL=docs.min.css.map */ \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/css/docs.min.css.map b/vendor/twbs/bootstrap/site/docs/4.5/assets/css/docs.min.css.map
new file mode 100644
index 000000000..d3b35084d
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/css/docs.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../scss/docs.scss","../scss/_nav.scss","../../../../../scss/mixins/_breakpoints.scss","../../../../../scss/vendor/_rfs.scss","../scss/_masthead.scss","../../../../../scss/mixins/_border-radius.scss","../scss/_ads.scss","../scss/_content.scss","site/docs/4.5/assets/css/docs.min.css","../scss/_skippy.scss","../../../../../scss/mixins/_hover.scss","../scss/_sidebar.scss","../scss/_footer.scss","../scss/_component-examples.scss","../../../../../scss/mixins/_grid.scss","../../../../../scss/mixins/_clearfix.scss","../scss/_buttons.scss","../scss/_callouts.scss","../scss/_browser-bugs.scss","../scss/_brand.scss","../scss/_colors.scss","../scss/_clipboard-js.scss","../scss/_placeholder-img.scss","../scss/_syntax.scss","../scss/_anchor.scss","../../../../../scss/mixins/_transition.scss","../scss/_algolia.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Docs (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License.\n * For details, see https://creativecommons.org/licenses/by/3.0/.\n */\n\n// Dev notes\n//\n// Background information on nomenclature and architecture decisions here.\n//\n// - Bootstrap functions, variables, and mixins are included for easy reuse.\n// Doing so gives us access to the same core utilities provided by Bootstrap.\n// For example, consistent media queries through those mixins.\n//\n// - Bootstrap's **docs variables** are prefixed with `$bd-`.\n// These custom colors avoid collision with the components Bootstrap provides.\n//\n// - Classes are prefixed with `.bd-`.\n// These classes indicate custom-built or modified components for the design\n// and layout of the Bootstrap docs. They are not included in our builds.\n//\n// Happy Bootstrapping!\n\n// Load Bootstrap variables and mixins\n@import \"../../../../../scss/functions\";\n@import \"../../../../../scss/variables\";\n@import \"../../../../../scss/mixins\";\n\n// Load docs components\n@import \"variables\";\n@import \"nav\";\n@import \"masthead\";\n@import \"ads\";\n@import \"content\";\n@import \"skippy\";\n@import \"sidebar\";\n@import \"footer\";\n@import \"component-examples\";\n@import \"buttons\";\n@import \"callouts\";\n@import \"browser-bugs\";\n@import \"brand\";\n@import \"colors\";\n@import \"clipboard-js\";\n@import \"placeholder-img\";\n\n// Load docs dependencies\n@import \"syntax\";\n@import \"anchor\";\n@import \"algolia\";\n","//\n// Main navbar\n//\n\n.bd-navbar {\n min-height: 4rem;\n background-color: $bd-purple-bright;\n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05), inset 0 -1px 0 rgba(0, 0, 0, .1);\n\n @include media-breakpoint-down(md) {\n padding-right: .5rem;\n padding-left: .5rem;\n\n .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n\n .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: 1071; // over everything in bootstrap\n }\n }\n\n .navbar-nav {\n .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: rgba($white, .85);\n\n &.active,\n &:hover {\n color: $white;\n background-color: transparent;\n }\n\n &.active {\n font-weight: 600;\n }\n }\n }\n\n .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n }\n\n .dropdown-menu {\n @include font-size(.875rem);\n }\n\n .dropdown-item.active {\n font-weight: 600;\n color: $gray-900;\n background: escape-svg($dropdown-active-icon) no-repeat .4rem .6rem/.75rem .75rem;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable declaration-no-important\n\n.bd-masthead {\n position: relative;\n padding: 3rem ($grid-gutter-width / 2);\n background: linear-gradient(to right bottom, lighten($bd-purple-light, 16%) 50%, #fff 50%);\n\n h1 {\n @include font-size(4rem);\n line-height: 1;\n }\n\n .lead {\n @include font-size(1.5rem);\n font-weight: 400;\n color: $gray-700;\n }\n\n .btn {\n padding: .8rem 2rem;\n font-weight: 600;\n @include font-size(1.25rem);\n }\n\n .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n }\n\n @include media-breakpoint-up(sm) {\n padding-top: 5rem;\n padding-bottom: 5rem;\n\n .carbonad {\n margin-bottom: 0 !important;\n }\n }\n\n @include media-breakpoint-up(md) {\n .carbonad {\n margin-top: 3rem !important;\n }\n }\n}\n\n.masthead-followup {\n .bd-clipboard { display: none; }\n\n h2 {\n @include font-size(2.5rem);\n }\n\n .highlight {\n @include border-radius(.5rem);\n\n pre::-webkit-scrollbar {\n display: none;\n }\n\n pre code {\n display: inline-block;\n white-space: pre;\n\n &::before {\n display: none;\n }\n }\n }\n}\n\n.masthead-followup-icon {\n padding: .75rem;\n background-image: linear-gradient(to bottom right, rgba(255, 255, 255, .2), rgba(255, 255, 255, .01));\n @include border-radius(.75rem);\n box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .1);\n}\n\n.masthead-followup-svg {\n filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .125));\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// stylelint-disable declaration-no-important, selector-max-id\n\n//\n// Carbon ads\n//\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n @include font-size(.8125rem);\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, .05);\n\n a {\n color: #333;\n text-decoration: none;\n }\n\n @include media-breakpoint-up(sm) {\n max-width: 330px;\n @include border-radius(4px);\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n margin-top: .75rem;\n color: #777 !important;\n}\n","// stylelint-disable no-duplicate-selectors, selector-max-combinators, selector-max-compound-selectors, selector-max-type, selector-no-qualifying-type\n\n//\n// Automatically style Markdown-based tables like a Bootstrap `.table`.\n//\n\n.bd-content {\n order: 1;\n\n // Hack the sticky header\n > h2[id],\n > h3[id],\n > h4[id] {\n pointer-events: none;\n\n &::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n content: \"\";\n }\n }\n\n > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n\n @include media-breakpoint-down(md) {\n display: block;\n overflow-x: auto;\n\n &.table-bordered {\n border: 0;\n }\n }\n\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-cell-padding;\n vertical-align: top;\n border: 1px solid $table-border-color;\n\n > p:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n\n // Prevent breaking of code (e.g., Grunt tasks list)\n td:first-child > code {\n white-space: nowrap;\n }\n }\n}\n\n.bd-content-title {\n display: block;\n pointer-events: auto;\n}\n\n//\n// Docs sections\n//\n\n.bd-content {\n > h2 {\n @include font-size($h2-font-size);\n }\n\n > h3 {\n @include font-size($h3-font-size);\n }\n\n > h4 {\n @include font-size($h4-font-size);\n }\n\n > h2:not(:first-child) {\n margin-top: 3rem;\n }\n\n > h3 {\n margin-top: 1.5rem;\n }\n\n > ul li,\n > ol li {\n margin-bottom: .25rem;\n }\n\n @include media-breakpoint-up(lg) {\n > ul,\n > ol,\n > p {\n max-width: 80%;\n }\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n @include font-size(3rem);\n}\n\n.bd-lead {\n @include font-size(1.5rem);\n font-weight: 300;\n\n @include media-breakpoint-up(lg) {\n max-width: 80%;\n }\n}\n\n.bd-text-purple { color: $bd-purple; }\n.bd-text-purple-bright { color: $bd-purple-bright; }\n\n.bd-bg-purple-bright {\n background-color: $bd-purple-bright;\n}\n","/*!\n * Bootstrap Docs (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License.\n * For details, see https://creativecommons.org/licenses/by/3.0/.\n */\n.bd-navbar {\n min-height: 4rem;\n background-color: #7952b3;\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n}\n\n@media (max-width: 991.98px) {\n .bd-navbar {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .bd-navbar .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n }\n .bd-navbar .navbar-nav-scroll .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-navbar {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1071;\n }\n }\n}\n\n.bd-navbar .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: rgba(255, 255, 255, 0.85);\n}\n\n.bd-navbar .navbar-nav .nav-link.active, .bd-navbar .navbar-nav .nav-link:hover {\n color: #fff;\n background-color: transparent;\n}\n\n.bd-navbar .navbar-nav .nav-link.active {\n font-weight: 600;\n}\n\n.bd-navbar .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n}\n\n.bd-navbar .dropdown-menu {\n font-size: 0.875rem;\n}\n\n.bd-navbar .dropdown-item.active {\n font-weight: 600;\n color: #212529;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' 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\") no-repeat 0.4rem 0.6rem/0.75rem 0.75rem;\n}\n\n.bd-masthead {\n position: relative;\n padding: 3rem 15px;\n background: linear-gradient(to right bottom, #f7f5fb 50%, #fff 50%);\n}\n\n.bd-masthead h1 {\n font-size: 4rem;\n line-height: 1;\n}\n\n@media (max-width: 1200px) {\n .bd-masthead h1 {\n font-size: calc(1.525rem + 3.3vw) ;\n }\n}\n\n.bd-masthead .lead {\n font-size: 1.5rem;\n font-weight: 400;\n color: #495057;\n}\n\n@media (max-width: 1200px) {\n .bd-masthead .lead {\n font-size: calc(1.275rem + 0.3vw) ;\n }\n}\n\n.bd-masthead .btn {\n padding: .8rem 2rem;\n font-weight: 600;\n font-size: 1.25rem;\n}\n\n.bd-masthead .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n}\n\n@media (min-width: 576px) {\n .bd-masthead {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n .bd-masthead .carbonad {\n margin-bottom: 0 !important;\n }\n}\n\n@media (min-width: 768px) {\n .bd-masthead .carbonad {\n margin-top: 3rem !important;\n }\n}\n\n.masthead-followup .bd-clipboard {\n display: none;\n}\n\n.masthead-followup h2 {\n font-size: 2.5rem;\n}\n\n@media (max-width: 1200px) {\n .masthead-followup h2 {\n font-size: calc(1.375rem + 1.5vw) ;\n }\n}\n\n.masthead-followup .highlight {\n border-radius: 0.5rem;\n}\n\n.masthead-followup .highlight pre::-webkit-scrollbar {\n display: none;\n}\n\n.masthead-followup .highlight pre code {\n display: inline-block;\n white-space: pre;\n}\n\n.masthead-followup .highlight pre code::before {\n display: none;\n}\n\n.masthead-followup-icon {\n padding: .75rem;\n background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.01));\n border-radius: 0.75rem;\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);\n}\n\n.masthead-followup-svg {\n -webkit-filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.125));\n filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.125));\n}\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 0.8125rem;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n#carbonads a {\n color: #333;\n text-decoration: none;\n}\n\n@media (min-width: 576px) {\n #carbonads {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n margin-top: .75rem;\n color: #777 !important;\n}\n\n.bd-content {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.bd-content > h2[id],\n.bd-content > h3[id],\n.bd-content > h4[id] {\n pointer-events: none;\n}\n\n.bd-content > h2[id]::before,\n.bd-content > h3[id]::before,\n.bd-content > h4[id]::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n content: \"\";\n}\n\n.bd-content > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 991.98px) {\n .bd-content > table {\n display: block;\n overflow-x: auto;\n }\n .bd-content > table.table-bordered {\n border: 0;\n }\n}\n\n.bd-content > table > thead > tr > th,\n.bd-content > table > thead > tr > td,\n.bd-content > table > tbody > tr > th,\n.bd-content > table > tbody > tr > td,\n.bd-content > table > tfoot > tr > th,\n.bd-content > table > tfoot > tr > td {\n padding: 0.75rem;\n vertical-align: top;\n border: 1px solid #dee2e6;\n}\n\n.bd-content > table > thead > tr > th > p:last-child,\n.bd-content > table > thead > tr > td > p:last-child,\n.bd-content > table > tbody > tr > th > p:last-child,\n.bd-content > table > tbody > tr > td > p:last-child,\n.bd-content > table > tfoot > tr > th > p:last-child,\n.bd-content > table > tfoot > tr > td > p:last-child {\n margin-bottom: 0;\n}\n\n.bd-content > table td:first-child > code {\n white-space: nowrap;\n}\n\n.bd-content-title {\n display: block;\n pointer-events: auto;\n}\n\n.bd-content > h2 {\n font-size: 2rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h2 {\n font-size: calc(1.325rem + 0.9vw) ;\n }\n}\n\n.bd-content > h3 {\n font-size: 1.75rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h3 {\n font-size: calc(1.3rem + 0.6vw) ;\n }\n}\n\n.bd-content > h4 {\n font-size: 1.5rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h4 {\n font-size: calc(1.275rem + 0.3vw) ;\n }\n}\n\n.bd-content > h2:not(:first-child) {\n margin-top: 3rem;\n}\n\n.bd-content > h3 {\n margin-top: 1.5rem;\n}\n\n.bd-content > ul li,\n.bd-content > ol li {\n margin-bottom: .25rem;\n}\n\n@media (min-width: 992px) {\n .bd-content > ul,\n .bd-content > ol,\n .bd-content > p {\n max-width: 80%;\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-size: 3rem;\n}\n\n@media (max-width: 1200px) {\n .bd-title {\n font-size: calc(1.425rem + 2.1vw) ;\n }\n}\n\n.bd-lead {\n font-size: 1.5rem;\n font-weight: 300;\n}\n\n@media (max-width: 1200px) {\n .bd-lead {\n font-size: calc(1.275rem + 0.3vw) ;\n }\n}\n\n@media (min-width: 992px) {\n .bd-lead {\n max-width: 80%;\n }\n}\n\n.bd-text-purple {\n color: #563d7c;\n}\n\n.bd-text-purple-bright {\n color: #7952b3;\n}\n\n.bd-bg-purple-bright {\n background-color: #7952b3;\n}\n\n.skippy {\n display: block;\n padding: 1em;\n color: #fff;\n text-align: center;\n background-color: #563d7c;\n outline: 0;\n}\n\n.skippy:hover {\n color: #fff;\n}\n\n.skippy-text {\n padding: .5em;\n outline: 1px dotted;\n}\n\n.bd-toc {\n -ms-flex-order: 2;\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: 0.875rem;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-toc {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n}\n\n.section-nav ul {\n padding-left: 1rem;\n}\n\n.toc-entry {\n display: block;\n}\n\n.toc-entry a {\n display: block;\n padding: .125rem 1.5rem;\n color: #77757a;\n}\n\n.toc-entry a:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.bd-sidebar {\n -ms-flex-order: 0;\n order: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n@media (min-width: 768px) {\n .bd-sidebar {\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n }\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-sidebar {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n z-index: 1000;\n height: calc(100vh - 4rem);\n }\n }\n}\n\n@media (min-width: 1200px) {\n .bd-sidebar {\n -ms-flex: 0 1 320px;\n flex: 0 1 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-links {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n}\n\n@media (min-width: 768px) {\n .bd-links {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative;\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.bd-search .form-control:focus {\n border-color: #7952b3;\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.bd-search-docs-toggle {\n color: #212529;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-toc-link:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n}\n\n.bd-toc-item.active {\n margin-bottom: 1rem;\n}\n\n.bd-toc-item.active:not(:first-child) {\n margin-top: 1rem;\n}\n\n.bd-toc-item.active > .bd-toc-link {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.bd-toc-item.active > .bd-toc-link:hover {\n background-color: transparent;\n}\n\n.bd-toc-item.active > .bd-sidenav {\n display: block;\n}\n\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 600;\n color: rgba(0, 0, 0, 0.85);\n background-color: transparent;\n}\n\n.bd-footer {\n font-size: 0.875rem;\n text-align: center;\n background-color: #f7f7f7;\n}\n\n.bd-footer a {\n font-weight: 600;\n color: #495057;\n}\n\n.bd-footer a:hover, .bd-footer a:focus {\n color: #007bff;\n}\n\n.bd-footer p {\n margin-bottom: 0;\n}\n\n@media (min-width: 576px) {\n .bd-footer {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n}\n\n.bd-footer-links li {\n display: inline-block;\n}\n\n.bd-footer-links li + li {\n margin-left: 1rem;\n}\n\n.bd-example-row .row > .col,\n.bd-example-row .row > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.2);\n}\n\n.bd-example-row .row + .row {\n margin-top: 1rem;\n}\n\n.bd-example-row .flex-items-top,\n.bd-example-row .flex-items-middle,\n.bd-example-row .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-highlight {\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.15);\n}\n\n.bd-example-responsive-containers [class^=\"container\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.2);\n}\n\n.example-container {\n width: 800px;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.example-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.example-content-main {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-main {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-main {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n}\n\n.example-content-secondary {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-secondary {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-secondary {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n}\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem -15px 0;\n border: solid #f8f9fa;\n border-width: .2rem 0 0;\n}\n\n.bd-example::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n@media (min-width: 576px) {\n .bd-example {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n}\n\n.bd-example + .highlight,\n.bd-example + .clipboard + .highlight {\n margin-top: 0;\n}\n\n.bd-example + p {\n margin-top: 2rem;\n}\n\n.bd-example .custom-file-input:lang(es) ~ .custom-file-label::after {\n content: \"Elegir\";\n}\n\n.bd-example > .form-control + .form-control {\n margin-top: .5rem;\n}\n\n.bd-example > .nav + .nav,\n.bd-example > .alert + .alert,\n.bd-example > .navbar + .navbar,\n.bd-example > .progress + .progress,\n.bd-example > .progress + .btn {\n margin-top: 1rem;\n}\n\n.bd-example > .dropdown-menu:first-child {\n position: static;\n display: block;\n}\n\n.bd-example > .form-group:last-child {\n margin-bottom: 0;\n}\n\n.bd-example > .close {\n float: none;\n}\n\n.bd-example-type .table td {\n padding: 1rem 0;\n border-color: #eee;\n}\n\n.bd-example-type .table tr:first-child td {\n border-top: 0;\n}\n\n.bd-example-type h1,\n.bd-example-type h2,\n.bd-example-type h3,\n.bd-example-type h4,\n.bd-example-type h5,\n.bd-example-type h6 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n.bd-example > svg + svg,\n.bd-example > img + img {\n margin-left: .5rem;\n}\n\n.bd-example > .btn,\n.bd-example > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.bd-example > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n}\n\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n.bd-example > [class*=\"list-group-horizontal\"] {\n max-width: 100%;\n}\n\n.bd-example .fixed-top,\n.bd-example .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n\n.bd-example .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .fixed-top,\n .bd-example .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .bd-example .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.modal {\n z-index: 1072;\n}\n\n.modal .tooltip,\n.modal .popover {\n z-index: 1073;\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n}\n\n.bd-example-modal .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n}\n\n.bd-example-modal .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n}\n\n.bd-example-popover-static .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n}\n\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n}\n\n.bd-example-border-utils-0 [class^=\"border\"] {\n border: 1px solid #dee2e6;\n}\n\n.bd-example-forms-input-group-workaround .fix-rounded-right {\n border-top-right-radius: 0.2rem !important;\n border-bottom-right-radius: 0.2rem !important;\n}\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: #f8f9fa;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n@media (min-width: 576px) {\n .highlight {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .bd-content .highlight {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n}\n\n.highlight pre code {\n font-size: inherit;\n color: #212529;\n}\n\n.btn-bd-primary {\n font-weight: 600;\n color: #fff;\n background-color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-primary:hover, .btn-bd-primary:active {\n color: #fff;\n background-color: #614092;\n border-color: #614092;\n}\n\n.btn-bd-primary:focus {\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.btn-bd-download {\n font-weight: 600;\n color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-download:hover, .btn-bd-download:active {\n color: #2a2730;\n background-color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-download:focus {\n box-shadow: 0 0 0 3px rgba(255, 228, 132, 0.25);\n}\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: 0.25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: 0.25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n.bd-callout-info {\n border-left-color: #5bc0de;\n}\n\n.bd-callout-info h4 {\n color: #5bc0de;\n}\n\n.bd-callout-warning {\n border-left-color: #f0ad4e;\n}\n\n.bd-callout-warning h4 {\n color: #f0ad4e;\n}\n\n.bd-callout-danger {\n border-left-color: #d9534f;\n}\n\n.bd-callout-danger h4 {\n color: #d9534f;\n}\n\n.bd-browser-bugs td p {\n margin-bottom: 0;\n}\n\n.bd-browser-bugs th:first-child {\n width: 18%;\n}\n\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: 0.25rem;\n}\n\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n@media (min-width: 768px) and (max-width: 1200px) {\n .bd-brand-item h1 {\n font-size: calc(1.525rem + 3.3vw) ;\n }\n}\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden;\n}\n\n.color-swatches .bd-purple {\n background-color: #563d7c;\n}\n\n.color-swatches .bd-purple-light {\n background-color: #cbbde2;\n}\n\n.color-swatches .bd-purple-lighter {\n background-color: #e5e1ea;\n}\n\n.color-swatches .bd-gray {\n background-color: #f9f9f9;\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: 0.25rem;\n}\n\n@media (min-width: 768px) {\n .color-swatch {\n width: 6rem;\n height: 6rem;\n }\n}\n\n.swatch-blue {\n color: #fff;\n background-color: #007bff;\n}\n\n.swatch-indigo {\n color: #fff;\n background-color: #6610f2;\n}\n\n.swatch-purple {\n color: #fff;\n background-color: #6f42c1;\n}\n\n.swatch-pink {\n color: #fff;\n background-color: #e83e8c;\n}\n\n.swatch-red {\n color: #fff;\n background-color: #dc3545;\n}\n\n.swatch-orange {\n color: #212529;\n background-color: #fd7e14;\n}\n\n.swatch-yellow {\n color: #212529;\n background-color: #ffc107;\n}\n\n.swatch-green {\n color: #fff;\n background-color: #28a745;\n}\n\n.swatch-teal {\n color: #fff;\n background-color: #20c997;\n}\n\n.swatch-cyan {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.swatch-white {\n color: #212529;\n background-color: #fff;\n}\n\n.swatch-gray {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-gray-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-100 {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.swatch-200 {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.swatch-300 {\n color: #212529;\n background-color: #dee2e6;\n}\n\n.swatch-400 {\n color: #212529;\n background-color: #ced4da;\n}\n\n.swatch-500 {\n color: #212529;\n background-color: #adb5bd;\n}\n\n.swatch-600 {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-700 {\n color: #fff;\n background-color: #495057;\n}\n\n.swatch-800 {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-900 {\n color: #fff;\n background-color: #212529;\n}\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n}\n\n.bd-clipboard + .highlight {\n margin-top: 0;\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n background-color: transparent;\n border: 0;\n border-radius: 0.25rem;\n}\n\n.btn-clipboard:hover {\n color: #fff;\n background-color: #027de7;\n}\n\n.bd-placeholder-img {\n font-size: 1.125rem;\n text-anchor: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.bd-placeholder-img-lg {\n font-size: 3.5rem;\n}\n\n@media (max-width: 1200px) {\n .bd-placeholder-img-lg {\n font-size: calc(1.475rem + 2.7vw) ;\n }\n}\n\n.hll {\n background-color: #ffc;\n}\n\n.c {\n color: #727272;\n}\n\n.k {\n color: #069;\n}\n\n.o {\n color: #555;\n}\n\n.cm {\n color: #727272;\n}\n\n.cp {\n color: #008085;\n}\n\n.c1 {\n color: #727272;\n}\n\n.cs {\n color: #727272;\n}\n\n.gd {\n background-color: #fcc;\n border: 1px solid #c00;\n}\n\n.ge {\n font-style: italic;\n}\n\n.gr {\n color: #f00;\n}\n\n.gh {\n color: #030;\n}\n\n.gi {\n background-color: #cfc;\n border: 1px solid #0c0;\n}\n\n.go {\n color: #aaa;\n}\n\n.gp {\n color: #009;\n}\n\n.gu {\n color: #030;\n}\n\n.gt {\n color: #9c6;\n}\n\n.kc {\n color: #069;\n}\n\n.kd {\n color: #069;\n}\n\n.kn {\n color: #069;\n}\n\n.kp {\n color: #069;\n}\n\n.kr {\n color: #069;\n}\n\n.kt {\n color: #078;\n}\n\n.m {\n color: #c24f19;\n}\n\n.s {\n color: #d73038;\n}\n\n.na {\n color: #006ee0;\n}\n\n.nb {\n color: #366;\n}\n\n.nc {\n color: #168174;\n}\n\n.no {\n color: #360;\n}\n\n.nd {\n color: #6b62de;\n}\n\n.ni {\n color: #727272;\n}\n\n.ne {\n color: #c00;\n}\n\n.nf {\n color: #b715f4;\n}\n\n.nl {\n color: #6b62de;\n}\n\n.nn {\n color: #007ca5;\n}\n\n.nt {\n color: #2f6f9f;\n}\n\n.nv {\n color: #033;\n}\n\n.ow {\n color: #000;\n}\n\n.w {\n color: #bbb;\n}\n\n.mf {\n color: #c24f19;\n}\n\n.mh {\n color: #c24f19;\n}\n\n.mi {\n color: #c24f19;\n}\n\n.mo {\n color: #c24f19;\n}\n\n.sb {\n color: #c30;\n}\n\n.sc {\n color: #c30;\n}\n\n.sd {\n font-style: italic;\n color: #c30;\n}\n\n.s2 {\n color: #c30;\n}\n\n.se {\n color: #c30;\n}\n\n.sh {\n color: #c30;\n}\n\n.si {\n color: #a00;\n}\n\n.sx {\n color: #c30;\n}\n\n.sr {\n color: #337e7e;\n}\n\n.s1 {\n color: #c30;\n}\n\n.ss {\n color: #fc3;\n}\n\n.bp {\n color: #366;\n}\n\n.vc {\n color: #033;\n}\n\n.vg {\n color: #033;\n}\n\n.vi {\n color: #033;\n}\n\n.il {\n color: #c24f19;\n}\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt {\n color: #727272;\n}\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.anchorjs-link {\n font-weight: 400;\n color: rgba(0, 123, 255, 0.5);\n transition: color 0.15s ease-in-out, opacity 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .anchorjs-link {\n transition: none;\n }\n}\n\n.anchorjs-link:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.algolia-autocomplete {\n display: block !important;\n -ms-flex: 1;\n flex: 1;\n}\n\n.algolia-autocomplete .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);\n}\n\n@media (min-width: 768px) {\n .algolia-autocomplete .ds-dropdown-menu {\n width: 175%;\n }\n}\n\n.algolia-autocomplete .ds-dropdown-menu::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu .ds-suggestions {\n margin-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: 0.875rem !important;\n font-weight: 600 !important;\n color: #7952b3 !important;\n border-bottom: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline {\n display: block !important;\n font-size: 0.875rem;\n color: #495057;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline::after {\n padding: 0 .25rem;\n content: \"/\";\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n float: none !important;\n width: 100% !important;\n padding: .25rem 1rem !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--title {\n display: block;\n margin-bottom: 0 !important;\n font-size: 0.875rem !important;\n font-weight: 400 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n padding: .2rem 0;\n font-size: 0.8125rem !important;\n font-weight: 400;\n line-height: 1.25 !important;\n color: #6c757d;\n}\n\n.algolia-autocomplete .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: 0.75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, 0.12);\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, 0.5) !important;\n}\n\n.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, 0.15) !important;\n}\n/*# sourceMappingURL=docs.min.css.map */",".skippy {\n display: block;\n padding: 1em;\n color: $white;\n text-align: center;\n background-color: $bd-purple;\n outline: 0;\n\n @include hover() {\n color: $white;\n }\n}\n\n.skippy-text {\n padding: .5em;\n outline: 1px dotted;\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Right side table of contents\n//\n\n.bd-toc {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n height: subtract(100vh, 4rem);\n overflow-y: auto;\n }\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n @include font-size(.875rem);\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n\n ul {\n padding-left: 1rem;\n }\n}\n\n.toc-entry {\n display: block;\n\n a {\n display: block;\n padding: .125rem 1.5rem;\n color: #77757a;\n\n &:hover {\n color: $blue;\n text-decoration: none;\n }\n }\n}\n\n//\n// Left side navigation\n//\n\n.bd-sidebar {\n order: 0;\n // background-color: #f5f2f9;\n border-bottom: 1px solid rgba(0, 0, 0, .1);\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n z-index: 1000;\n height: subtract(100vh, 4rem);\n }\n border-right: 1px solid rgba(0, 0, 0, .1);\n }\n\n @include media-breakpoint-up(xl) {\n flex: 0 1 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n max-height: subtract(100vh, 9rem);\n overflow-y: auto;\n }\n }\n\n // Override collapse behaviors\n @include media-breakpoint-up(md) {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative; // To contain the Algolia search\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, .05);\n\n .form-control:focus {\n border-color: $bd-purple-bright;\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.bd-search-docs-toggle {\n color: $gray-900;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 600;\n color: rgba(0, 0, 0, .65);\n\n &:hover {\n color: rgba(0, 0, 0, .85);\n text-decoration: none;\n }\n}\n\n.bd-toc-item {\n &.active {\n margin-bottom: 1rem;\n\n &:not(:first-child) {\n margin-top: 1rem;\n }\n\n > .bd-toc-link {\n color: rgba(0, 0, 0, .85);\n\n &:hover {\n background-color: transparent;\n }\n }\n\n > .bd-sidenav {\n display: block;\n }\n }\n}\n\n// All levels of nav\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n @include font-size(90%);\n color: rgba(0, 0, 0, .65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, .85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 600;\n color: rgba(0, 0, 0, .85);\n background-color: transparent;\n}\n","//\n// Footer\n//\n\n.bd-footer {\n @include font-size(.875rem);\n text-align: center;\n background-color: #f7f7f7;\n\n a {\n font-weight: 600;\n color: $gray-700;\n\n &:hover,\n &:focus {\n color: $link-color;\n }\n }\n\n p {\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(sm) {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n\n li {\n display: inline-block;\n\n + li {\n margin-left: 1rem;\n }\n }\n}\n","// stylelint-disable no-duplicate-selectors, selector-no-qualifying-type\n\n//\n// Grid examples\n//\n\n.bd-example-row {\n .row {\n > .col,\n > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, .15);\n border: 1px solid rgba(86, 61, 124, .2);\n }\n }\n\n .row + .row {\n margin-top: 1rem;\n }\n\n .flex-items-top,\n .flex-items-middle,\n .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, .1);\n }\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, .1);\n}\n\n.bd-highlight {\n background-color: rgba($bd-purple, .15);\n border: 1px solid rgba($bd-purple, .15);\n}\n\n.bd-example-responsive-containers {\n [class^=\"container\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, .15);\n border: 1px solid rgba(86, 61, 124, .2);\n }\n}\n\n// Grid mixins\n.example-container {\n width: 800px;\n @include make-container();\n}\n\n.example-row {\n @include make-row();\n}\n\n.example-content-main {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(8);\n }\n}\n\n.example-content-secondary {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(4);\n }\n}\n\n\n//\n// Docs examples\n//\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem (-$grid-gutter-width / 2) 0;\n border: solid $gray-100;\n border-width: .2rem 0 0;\n @include clearfix();\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n\n + .highlight,\n + .clipboard + .highlight {\n margin-top: 0;\n }\n\n + p {\n margin-top: 2rem;\n }\n\n .custom-file-input:lang(es) ~ .custom-file-label::after {\n content: \"Elegir\";\n }\n\n > .form-control {\n + .form-control {\n margin-top: .5rem;\n }\n }\n\n > .nav + .nav,\n > .alert + .alert,\n > .navbar + .navbar,\n > .progress + .progress,\n > .progress + .btn {\n margin-top: 1rem;\n }\n\n > .dropdown-menu:first-child {\n position: static;\n display: block;\n }\n\n > .form-group:last-child {\n margin-bottom: 0;\n }\n\n > .close {\n float: none;\n }\n}\n\n// Typography\n.bd-example-type {\n .table {\n td {\n padding: 1rem 0;\n border-color: #eee;\n }\n tr:first-child td {\n border-top: 0;\n }\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n// Contextual background colors\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n// Images\n.bd-example {\n > svg + svg,\n > img + img {\n margin-left: .5rem;\n }\n}\n\n// Buttons\n.bd-example {\n > .btn,\n > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n }\n > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n }\n}\n\n// Forms\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n// List groups\n.bd-example > .list-group {\n max-width: 400px;\n}\n.bd-example > [class*=\"list-group-horizontal\"] {\n max-width: 100%;\n}\n\n// Navbars\n.bd-example {\n .fixed-top,\n .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n }\n .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n }\n\n @include media-breakpoint-up(sm) {\n .fixed-top,\n .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n }\n}\n\n// Pagination\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n// Example modals\n.modal {\n z-index: 1072;\n\n .tooltip,\n .popover {\n z-index: 1073;\n }\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n\n .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n }\n\n .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n }\n}\n\n// Example tabbable tabs\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n// Popovers\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n\n .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n }\n}\n\n// Tooltips\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n// Scrollspy demo on fixed height div\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils {\n [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n }\n}\n\n.bd-example-border-utils-0 {\n [class^=\"border\"] {\n border: 1px solid $border-color;\n }\n}\n\n.bd-example-forms-input-group-workaround .fix-rounded-right {\n @include border-right-radius(.2rem !important);\n}\n\n//\n// Code snippets\n//\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: $gray-100;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: (-$grid-gutter-width / 2);\n margin-left: (-$grid-gutter-width / 2);\n\n @include media-breakpoint-up(sm) {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight {\n pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n }\n pre code {\n @include font-size(inherit);\n color: $gray-900; // Effectively the base text color\n }\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// Buttons\n//\n// Custom buttons for the docs.\n\n.btn-bd-primary {\n font-weight: 600;\n color: $white;\n background-color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n\n &:hover,\n &:active {\n color: $white;\n background-color: darken($bd-purple-bright, 10%);\n border-color: darken($bd-purple-bright, 10%);\n }\n\n &:focus {\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.btn-bd-download {\n font-weight: 600;\n color: $bd-download;\n border-color: $bd-download;\n\n &:hover,\n &:active {\n color: $bd-dark;\n background-color: $bd-download;\n border-color: $bd-download;\n }\n\n &:focus {\n box-shadow: 0 0 0 3px rgba($bd-download, .25);\n }\n}\n","//\n// Callouts\n//\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n @include border-radius();\n\n h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n\n code {\n @include border-radius();\n }\n\n + .bd-callout {\n margin-top: -.25rem;\n }\n}\n\n// Variations\n@mixin bs-callout-variant($color) {\n border-left-color: $color;\n\n h4 { color: $color; }\n}\n\n.bd-callout-info { @include bs-callout-variant($bd-info); }\n.bd-callout-warning { @include bs-callout-variant($bd-warning); }\n.bd-callout-danger { @include bs-callout-variant($bd-danger); }\n","// Wall of Browser Bugs\n//\n// Better display for the responsive table on the Wall of Browser Bugs.\n\n.bd-browser-bugs {\n td p {\n margin-bottom: 0;\n }\n th:first-child {\n width: 18%;\n }\n}\n","//\n// Brand guidelines\n//\n\n// Logo series wrapper\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: $bd-purple;\n background-color: #f9f9f9;\n @include border-radius();\n\n .inverse {\n color: $white;\n background-color: $bd-purple;\n }\n}\n\n// Individual items\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n\n + .bd-brand-item {\n border-top: 1px solid $white;\n }\n\n // Heading content within\n h1,\n h3 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(md) {\n display: table-cell;\n width: 1%;\n\n + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid $white;\n }\n\n h1 {\n @include font-size(4rem);\n }\n }\n}\n\n\n//\n// Color swatches\n//\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden; // clearfix\n\n // Docs colors\n .bd-purple {\n background-color: $bd-purple;\n }\n .bd-purple-light {\n background-color: $bd-purple-light;\n }\n .bd-purple-lighter {\n background-color: #e5e1ea;\n }\n .bd-gray {\n background-color: #f9f9f9;\n }\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n @include border-radius();\n\n @include media-breakpoint-up(md) {\n width: 6rem;\n height: 6rem;\n }\n}\n","//\n// Docs color palette classes\n//\n\n@each $color, $value in $colors {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n\n@each $color, $value in $grays {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n","// clipboard.js\n//\n// JS-based `Copy` buttons for code snippets.\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n\n + .highlight {\n margin-top: 0;\n }\n\n @include media-breakpoint-up(md) {\n display: block;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n @include font-size(75%);\n color: #818a91;\n background-color: transparent;\n border: 0;\n @include border-radius();\n\n &:hover {\n color: $white;\n background-color: #027de7;\n }\n}\n","//\n// Placeholder svg used in the docs.\n//\n\n// Remember to update `site/_layouts/examples.html` too if this changes!\n\n.bd-placeholder-img {\n @include font-size(1.125rem);\n text-anchor: middle;\n user-select: none;\n}\n\n.bd-placeholder-img-lg {\n @include font-size(3.5rem);\n}\n","// stylelint-disable declaration-block-single-line-max-declarations, selector-class-pattern\n\n.hll { background-color: #ffc; }\n.c { color: #727272; }\n.k { color: #069; }\n.o { color: #555; }\n.cm { color: #727272; }\n.cp { color: #008085; }\n.c1 { color: #727272; }\n.cs { color: #727272; }\n.gd { background-color: #fcc; border: 1px solid #c00; }\n.ge { font-style: italic; }\n.gr { color: #f00; }\n.gh { color: #030; }\n.gi { background-color: #cfc; border: 1px solid #0c0; }\n.go { color: #aaa; }\n.gp { color: #009; }\n.gu { color: #030; }\n.gt { color: #9c6; }\n.kc { color: #069; }\n.kd { color: #069; }\n.kn { color: #069; }\n.kp { color: #069; }\n.kr { color: #069; }\n.kt { color: #078; }\n.m { color: #c24f19; }\n.s { color: #d73038; }\n.na { color: #006ee0; }\n.nb { color: #366; }\n.nc { color: #168174; }\n.no { color: #360; }\n.nd { color: #6b62de; }\n.ni { color: #727272; }\n.ne { color: #c00; }\n.nf { color: #b715f4; }\n.nl { color: #6b62de; }\n.nn { color: #007ca5; }\n.nt { color: #2f6f9f; }\n.nv { color: #033; }\n.ow { color: #000; }\n.w { color: #bbb; }\n.mf { color: #c24f19; }\n.mh { color: #c24f19; }\n.mi { color: #c24f19; }\n.mo { color: #c24f19; }\n.sb { color: #c30; }\n.sc { color: #c30; }\n.sd { font-style: italic; color: #c30; }\n.s2 { color: #c30; }\n.se { color: #c30; }\n.sh { color: #c30; }\n.si { color: #a00; }\n.sx { color: #c30; }\n.sr { color: #337e7e; }\n.s1 { color: #c30; }\n.ss { color: #fc3; }\n.bp { color: #366; }\n.vc { color: #033; }\n.vg { color: #033; }\n.vi { color: #033; }\n.il { color: #c24f19; }\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt { color: #727272; }\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n user-select: none;\n}\n",".anchorjs-link {\n font-weight: 400;\n color: rgba($link-color, .5);\n @include transition(color .15s ease-in-out, opacity .15s ease-in-out);\n\n &:hover {\n color: $link-color;\n text-decoration: none;\n }\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Docsearch overrides\n//\n// `!important` indicates overridden properties.\n.algolia-autocomplete {\n display: block !important;\n flex: 1;\n\n // Menu container\n .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: $white;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, .1);\n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);\n\n @include media-breakpoint-up(md) {\n width: 175%;\n }\n\n // Caret\n &::before {\n display: none !important;\n }\n\n [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n }\n\n .ds-suggestions {\n margin-top: 0 !important;\n }\n }\n\n .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n }\n\n .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n @include font-size(.875rem, true);\n font-weight: 600 !important;\n color: $bd-purple-bright !important;\n border-bottom: 0 !important;\n }\n\n .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n }\n\n // Section header\n .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n }\n\n .algolia-docsearch-suggestion--subcategory-inline {\n display: block !important;\n @include font-size(.875rem);\n color: $gray-700;\n\n &::after {\n padding: 0 .25rem;\n content: \"/\";\n }\n }\n\n .algolia-docsearch-suggestion--content {\n display: flex;\n flex-wrap: wrap;\n float: none !important;\n width: 100% !important;\n padding: .25rem 1rem !important;\n\n // Vertical divider between column header and content\n &::before {\n display: none !important;\n }\n }\n\n .ds-suggestion {\n &:not(:first-child) {\n .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, .1);\n }\n }\n\n .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n }\n }\n\n .algolia-docsearch-suggestion--title {\n display: block;\n margin-bottom: 0 !important;\n @include font-size(.875rem, true);\n font-weight: 400 !important;\n }\n\n .algolia-docsearch-suggestion--text {\n flex: 0 0 100%;\n max-width: 100%;\n padding: .2rem 0;\n @include font-size(.8125rem, true);\n font-weight: 400;\n line-height: 1.25 !important;\n color: $gray-600;\n }\n\n .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n @include font-size(.75rem, true);\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, .1);\n }\n\n .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n }\n\n .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, .12);\n }\n\n .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, .5) !important;\n }\n\n .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, .15) !important;\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-icons.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-icons.png
new file mode 100644
index 000000000..73f45ee2d
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-icons.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-icons@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-icons@2x.png
new file mode 100644
index 000000000..48f047205
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-icons@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes-collage.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes-collage.png
new file mode 100644
index 000000000..54eba9993
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes-collage.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes-collage@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes-collage@2x.png
new file mode 100644
index 000000000..ad165eb19
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes-collage@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes.png
new file mode 100644
index 000000000..d43dba2a7
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes@2x.png
new file mode 100644
index 000000000..13c32337d
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/bootstrap-themes@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/album.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/album.png
index 694b3b2d2..694b3b2d2 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/album.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/album.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/album@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/album@2x.png
index 162269c46..162269c46 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/album@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/album@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/blog.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/blog.png
index 6d6c8356b..6d6c8356b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/blog.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/blog.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/blog@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/blog@2x.png
index f5480314b..f5480314b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/blog@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/blog@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/carousel.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/carousel.png
index abca5b3db..abca5b3db 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/carousel.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/carousel.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/carousel@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/carousel@2x.png
index 39df35930..39df35930 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/carousel@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/carousel@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/checkout.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/checkout.png
index 7af2e2efa..7af2e2efa 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/checkout.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/checkout.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/checkout@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/checkout@2x.png
index 3e3c5af4b..3e3c5af4b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/checkout@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/checkout@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/cover.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/cover.png
index 5458ff11d..5458ff11d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/cover.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/cover.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/cover@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/cover@2x.png
index 9d20fb2ed..9d20fb2ed 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/cover@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/cover@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/dashboard.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/dashboard.png
index 1ef0c3925..1ef0c3925 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/dashboard.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/dashboard.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/dashboard@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/dashboard@2x.png
index 52b23dff6..52b23dff6 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/dashboard@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/dashboard@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/floating-labels.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/floating-labels.png
index c836eadbb..c836eadbb 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/floating-labels.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/floating-labels.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/floating-labels@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/floating-labels@2x.png
index 5d284bfe0..5d284bfe0 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/floating-labels@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/floating-labels@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/grid.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/grid.png
index b3b5b3565..b3b5b3565 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/grid.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/grid.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/grid@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/grid@2x.png
index e95c36365..e95c36365 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/grid@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/grid@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/jumbotron.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/jumbotron.png
index afca61a7c..afca61a7c 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/jumbotron.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/jumbotron.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/jumbotron@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/jumbotron@2x.png
index 4d83dffa6..4d83dffa6 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/jumbotron@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/jumbotron@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-bottom.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-bottom.png
index e9f0abc95..e9f0abc95 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-bottom.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-bottom.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-bottom@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-bottom@2x.png
index a62faa182..a62faa182 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-bottom@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-bottom@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-fixed.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-fixed.png
index c839602a7..c839602a7 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-fixed.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-fixed.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-fixed@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-fixed@2x.png
index 1ce8ca576..1ce8ca576 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-fixed@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-fixed@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-static.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-static.png
index faebe3451..faebe3451 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-static.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-static.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-static@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-static@2x.png
index 758aa61e8..758aa61e8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbar-static@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbar-static@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbars.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbars.png
index 874f6d752..874f6d752 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbars.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbars.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbars@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbars@2x.png
index ce11b8d2c..ce11b8d2c 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/navbars@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/navbars@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/offcanvas.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/offcanvas.png
index b5073eba4..b5073eba4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/offcanvas.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/offcanvas.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/offcanvas@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/offcanvas@2x.png
index e5287dde8..e5287dde8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/offcanvas@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/offcanvas@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/pricing.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/pricing.png
index 3638c9ef3..3638c9ef3 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/pricing.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/pricing.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/pricing@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/pricing@2x.png
index 9ddac54ea..9ddac54ea 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/pricing@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/pricing@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/product.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/product.png
index a8d3dcb8d..a8d3dcb8d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/product.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/product.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/product@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/product@2x.png
index 1dfe45482..1dfe45482 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/product@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/product@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sign-in.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sign-in.png
index 53aed9724..53aed9724 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sign-in.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sign-in.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sign-in@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sign-in@2x.png
index 8b3431de9..8b3431de9 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sign-in@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sign-in@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/starter-template.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/starter-template.png
index 0cbcaa1eb..0cbcaa1eb 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/starter-template.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/starter-template.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/starter-template@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/starter-template@2x.png
index 436c452de..436c452de 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/starter-template@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/starter-template@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer-navbar.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer-navbar.png
index f64d66638..f64d66638 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer-navbar.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer-navbar.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer-navbar@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer-navbar@2x.png
index 9478901f6..9478901f6 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer-navbar@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer-navbar@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer.png
index 203ed62f5..203ed62f5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer@2x.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer@2x.png
index 5a008a0ac..5a008a0ac 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/examples/sticky-footer@2x.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/examples/sticky-footer@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/android-chrome-192x192.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/android-chrome-192x192.png
index 547386f37..547386f37 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/android-chrome-192x192.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/android-chrome-192x192.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/android-chrome-512x512.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/android-chrome-512x512.png
index eae76488d..eae76488d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/android-chrome-512x512.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/android-chrome-512x512.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/apple-touch-icon.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/apple-touch-icon.png
index 447cec2c4..447cec2c4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/apple-touch-icon.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/apple-touch-icon.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/browserconfig.xml b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/browserconfig.xml
index 0d17d11d4..0d17d11d4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/browserconfig.xml
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/browserconfig.xml
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/favicon-16x16.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/favicon-16x16.png
index 5f7d11880..5f7d11880 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/favicon-16x16.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/favicon-16x16.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/favicon-32x32.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/favicon-32x32.png
index d752fd5d7..d752fd5d7 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/favicon-32x32.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/favicon-32x32.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/manifest.json b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/manifest.json
index a92accba6..a92accba6 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/manifest.json
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/manifest.json
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-144x144.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-144x144.png
index 262a3c2e1..262a3c2e1 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-144x144.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-144x144.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-150x150.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-150x150.png
index bb87faf74..bb87faf74 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-150x150.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-150x150.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-310x150.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-310x150.png
index 2fc36a726..2fc36a726 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-310x150.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-310x150.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-310x310.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-310x310.png
index 7f00d0c66..7f00d0c66 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-310x310.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-310x310.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-70x70.png b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-70x70.png
index 4da2de9e3..4da2de9e3 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/mstile-70x70.png
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/mstile-70x70.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/safari-pinned-tab.svg b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/safari-pinned-tab.svg
index ddeeb53c9..ddeeb53c9 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/img/favicons/safari-pinned-tab.svg
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/img/favicons/safari-pinned-tab.svg
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/js/docs.min.js b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/docs.min.js
new file mode 100644
index 000000000..2d5d79d3f
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/docs.min.js
@@ -0,0 +1,22 @@
+!function(t,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(t.AnchorJS=e(),t.anchors=new t.AnchorJS)}(this,(function(){"use strict";return function(t){function e(t){t.icon=t.hasOwnProperty("icon")?t.icon:"",t.visible=t.hasOwnProperty("visible")?t.visible:"hover",t.placement=t.hasOwnProperty("placement")?t.placement:"right",t.ariaLabel=t.hasOwnProperty("ariaLabel")?t.ariaLabel:"Anchor",t.class=t.hasOwnProperty("class")?t.class:"",t.base=t.hasOwnProperty("base")?t.base:"",t.truncate=t.hasOwnProperty("truncate")?Math.floor(t.truncate):64,t.titleText=t.hasOwnProperty("titleText")?t.titleText:""}function n(t){var e;if("string"==typeof t||t instanceof String)e=[].slice.call(document.querySelectorAll(t));else{if(!(Array.isArray(t)||t instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(t)}return e}this.options=t||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(t){var o,i,r,A,a,l,s,c,u,f,h,d,p=[];if(e(this.options),"touch"===(h=this.options.visible)&&(h=this.isTouchDevice()?"always":"hover"),0===(o=n(t=t||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var t,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(t=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,t);e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}(),i=document.querySelectorAll("[id]"),r=[].map.call(i,(function(t){return t.id})),a=0;a<o.length;a++)if(this.hasAnchorJSLink(o[a]))p.push(a);else{if(o[a].hasAttribute("id"))A=o[a].getAttribute("id");else if(o[a].hasAttribute("data-anchor-id"))A=o[a].getAttribute("data-anchor-id");else{for(u=c=this.urlify(o[a].textContent),s=0;void 0!==l&&(u=c+"-"+s),s+=1,-1!==(l=r.indexOf(u)););l=void 0,r.push(u),o[a].setAttribute("id",u),A=u}(f=document.createElement("a")).className="anchorjs-link "+this.options.class,f.setAttribute("aria-label",this.options.ariaLabel),f.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(f.title=this.options.titleText),d=document.querySelector("base")?window.location.pathname+window.location.search:"",d=this.options.base||d,f.href=d+"#"+A,"always"===h&&(f.style.opacity="1"),""===this.options.icon&&(f.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(f.style.lineHeight="inherit")),"left"===this.options.placement?(f.style.position="absolute",f.style.marginLeft="-1em",f.style.paddingRight="0.5em",o[a].insertBefore(f,o[a].firstChild)):(f.style.paddingLeft="0.375em",o[a].appendChild(f))}for(a=0;a<p.length;a++)o.splice(p[a]-a,1);return this.elements=this.elements.concat(o),this},this.remove=function(t){for(var e,o,i=n(t),r=0;r<i.length;r++)(o=i[r].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[r]))&&this.elements.splice(e,1),i[r].removeChild(o));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(t){return this.options.truncate||e(this.options),t.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(t){var e=t.firstChild&&-1<(" "+t.firstChild.className+" ").indexOf(" anchorjs-link "),n=t.lastChild&&-1<(" "+t.lastChild.className+" ").indexOf(" anchorjs-link ");return e||n||!1}}}));
+/*!
+ * clipboard.js v2.0.6
+ * https://clipboardjs.com/
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,(function(){return n={},t.m=e=[function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),i=document.createRange();i.selectNodeContents(t),o.removeAllRanges(),o.addRange(i),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function i(){o.off(t,i),e.apply(n,arguments)}return i._=e,this.on(t,i,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;o<i;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,A=o.length;r<A;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},t.exports=n,t.exports.TinyEmitter=n},function(t,e,n){var o=n(3),i=n(4);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!o.string(e))throw new TypeError("Second argument must be a String");if(!o.fn(n))throw new TypeError("Third argument must be a Function");if(o.node(t))return f=e,h=n,(u=t).addEventListener(f,h),{destroy:function(){u.removeEventListener(f,h)}};if(o.nodeList(t))return l=t,s=e,c=n,Array.prototype.forEach.call(l,(function(t){t.addEventListener(s,c)})),{destroy:function(){Array.prototype.forEach.call(l,(function(t){t.removeEventListener(s,c)}))}};if(o.string(t))return r=t,A=e,a=n,i(document.body,r,A,a);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var r,A,a,l,s,c,u,f,h}},function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var n=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var o=n(5);function i(t,e,n,i,r){var A=function(t,e,n,i){return function(n){n.delegateTarget=o(n.target,e),n.delegateTarget&&i.call(t,n)}}.apply(this,arguments);return t.addEventListener(n,A,r),{destroy:function(){t.removeEventListener(n,A,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,(function(t){return i(t,e,n,o,r)})))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},function(t,e,n){"use strict";n.r(e);var o=n(0),i=n.n(o),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function A(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function a(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),this.resolveOptions(t),this.initSelection()}var l=(function(t,e,n){return e&&A(t.prototype,e),n&&A(t,n),t}(a,[{key:"resolveOptions",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=i()(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=i()(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(t){var e=0<arguments.length&&void 0!==t?t:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),a),s=n(1),c=n.n(s),u=n(2),f=n.n(u),h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d=function(t,e,n){return e&&p(t.prototype,e),n&&p(t,n),t};function p(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var y=(function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(m,c.a),d(m,[{key:"resolveOptions",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===h(e.container)?e.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=f()(t,"click",(function(t){return e.onClick(t)}))}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return v("action",t)}},{key:"defaultTarget",value:function(t){var e=v("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return v("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(t){var e=0<arguments.length&&void 0!==t?t:["copy","cut"],n="string"==typeof e?[e]:e,o=!!document.queryCommandSupported;return n.forEach((function(t){o=o&&!!document.queryCommandSupported(t)})),o}}]),m);function m(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,m);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(m.__proto__||Object.getPrototypeOf(m)).call(this));return n.resolveOptions(e),n.listenClick(t),n}function v(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}e.default=y}],t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(o,i,function(t){return e[t]}.bind(null,i));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},t.p="",t(t.s=6).default;function t(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var e,n}));
+/*!
+ * bsCustomFileInput v1.3.4 (https://github.com/Johann-S/bs-custom-file-input)
+ * Copyright 2018 - 2020 Johann-S <johann.servoire@gmail.com>
+ * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).bsCustomFileInput=e()}(this,(function(){"use strict";var t={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},e=function(t){if(0<t.childNodes.length)for(var e=[].slice.call(t.childNodes),n=0;n<e.length;n++){var o=e[n];if(3!==o.nodeType)return o}return t},n=function(n){var o=n.bsCustomFileInput.defaultText,i=n.parentNode.querySelector(t.CUSTOMFILELABEL);i&&(e(i).textContent=o)},o=!!window.File,i=function(t){if(t.hasAttribute("multiple")&&o)return[].slice.call(t.files).map((function(t){return t.name})).join(", ");if(-1===t.value.indexOf("fakepath"))return t.value;var e=t.value.split("\\");return e[e.length-1]};function r(){var o=this.parentNode.querySelector(t.CUSTOMFILELABEL);if(o){var r=e(o),A=i(this);A.length?r.textContent=A:n(this)}}function A(){for(var e=[].slice.call(this.querySelectorAll(t.INPUT)).filter((function(t){return!!t.bsCustomFileInput})),o=0,i=e.length;o<i;o++)n(e[o])}var a="bsCustomFileInput",l="reset",s="change";return{init:function(e,n){void 0===e&&(e=t.CUSTOMFILE),void 0===n&&(n=t.FORM);for(var o,i,c=[].slice.call(document.querySelectorAll(e)),u=[].slice.call(document.querySelectorAll(n)),f=0,h=c.length;f<h;f++){var d=c[f];Object.defineProperty(d,a,{value:{defaultText:(o=void 0,o="",(i=d.parentNode.querySelector(t.CUSTOMFILELABEL))&&(o=i.textContent),o)},writable:!0}),r.call(d),d.addEventListener(s,r)}for(var p=0,y=u.length;p<y;p++)u[p].addEventListener(l,A),Object.defineProperty(u[p],a,{value:!0,writable:!0})},destroy:function(){for(var e=[].slice.call(document.querySelectorAll(t.FORM)).filter((function(t){return!!t.bsCustomFileInput})),o=[].slice.call(document.querySelectorAll(t.INPUT)).filter((function(t){return!!t.bsCustomFileInput})),i=0,c=o.length;i<c;i++){var u=o[i];n(u),u[a]=void 0,u.removeEventListener(s,r)}for(var f=0,h=e.length;f<h;f++)e[f].removeEventListener(l,A),e[f][a]=void 0}}}));
+/*!
+ * JavaScript for Bootstrap's docs (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under the Creative Commons Attribution 3.0 Unported License.
+ * For details, see https://creativecommons.org/licenses/by/3.0/.
+ */
+(function(t){"use strict";t((function(){t(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"});t('[data-toggle="popover"]').popover();t(".toast").toast({autohide:false}).toast("show");t(".tooltip-test").tooltip();t(".popover-test").popover();t('.bd-example-indeterminate [type="checkbox"]').prop("indeterminate",true);t('.bd-content [href="#"]').click((function(t){t.preventDefault()}));t("#exampleModal").on("show.bs.modal",(function(e){var n=t(e.relatedTarget);var o=n.data("whatever");var i=t(this);i.find(".modal-title").text("New message to "+o);i.find(".modal-body input").val(o)}));t(".bd-toggle-animated-progress").on("click",(function(){t(this).siblings(".progress").find(".progress-bar-striped").toggleClass("progress-bar-animated")}));t("figure.highlight, div.highlight").each((function(){var e='<div class="bd-clipboard"><button type="button" class="btn-clipboard" title="Copy to clipboard">Copy</button></div>';t(this).before(e);t(".btn-clipboard").tooltip().on("mouseleave",(function(){t(this).tooltip("hide")}))}));var e=new ClipboardJS(".btn-clipboard",{target:function(t){return t.parentNode.nextElementSibling}});e.on("success",(function(e){t(e.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle");e.clearSelection()}));e.on("error",(function(e){var n=/mac/i.test(navigator.userAgent)?"⌘":"Ctrl-";var o="Press "+n+"C to copy";t(e.trigger).attr("title",o).tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle")}));anchors.options={icon:"#"};anchors.add(".bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5");t(".bd-content").children("h2, h3, h4, h5").wrapInner('<span class="bd-content-title"></span>');bsCustomFileInput.init()}))})(jQuery);(function(){"use strict";function t(){var t=/MSIE ([\d.]+)/.exec(window.navigator.userAgent);if(t===null){return null}var e=parseInt(t[1],10);var n=Math.floor(e);return n}function e(){var t=new Function("/*@cc_on return @_jscript_version; @*/")();if(typeof t==="undefined"){return 11}if(t<9){return 8}return t}var n=window.navigator.userAgent;if(n.indexOf("Opera")>-1||n.indexOf("Presto")>-1){return}var o=t();if(o===null){return}var i=e();if(o!==i){window.alert("WARNING: You appear to be using IE"+i+" in IE"+o+" emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!")}})();(function(){"use strict";if(!window.docsearch){return}var t=document.getElementById("search-input");var e=t.getAttribute("data-docs-version");function n(){var t=window.location;var e=t.origin;if(!e){var n=t.port?":"+t.port:"";e=t.protocol+"//"+t.hostname+n}return e}window.docsearch({apiKey:"5990ad008512000bba2cf951ccf0332f",indexName:"bootstrap",inputSelector:"#search-input",algoliaOptions:{facetFilters:["version:"+e]},transformData:function(t){return t.map((function(t){var e=n();var o="https://getbootstrap.com/";t.url=e.lastIndexOf(o,0)===0?t.url:t.url.replace(o,"/");if(t.anchor==="content"){t.url=t.url.replace(/#content$/,"");t.anchor=null}return t}))},debug:false})})(); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/application.js b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/application.js
index 863af6828..0a870261a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/application.js
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/application.js
@@ -4,8 +4,8 @@
/*!
* JavaScript for Bootstrap's docs (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License.
* For details, see https://creativecommons.org/licenses/by/3.0/.
*/
@@ -90,7 +90,7 @@
})
clipboard.on('error', function (e) {
- var modifierKey = /Mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-'
+ var modifierKey = /mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-'
var fallbackMsg = 'Press ' + modifierKey + 'C to copy'
$(e.trigger)
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/ie-emulation-modes-warning.js b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/ie-emulation-modes-warning.js
index 610128e27..6e6ed9c27 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/ie-emulation-modes-warning.js
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/ie-emulation-modes-warning.js
@@ -7,7 +7,7 @@
'use strict'
function emulatedIEMajorVersion() {
- var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent)
+ var groups = /MSIE ([\d.]+)/.exec(window.navigator.userAgent)
if (groups === null) {
return null
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/search.js b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/search.js
index dd2a90e58..e372d1553 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/src/search.js
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/src/search.js
@@ -35,14 +35,14 @@
transformData: function (hits) {
return hits.map(function (hit) {
var currentUrl = getOrigin()
- var liveUrl = 'https://getbootstrap.com'
+ var liveUrl = 'https://getbootstrap.com/'
- // When in production, return the result as is,
- // otherwise remove our url from it.
- // eslint-disable-next-line no-negated-condition
- hit.url = currentUrl.indexOf(liveUrl) !== -1
+ hit.url = currentUrl.lastIndexOf(liveUrl, 0) === 0
+ // On production, return the result as is
? hit.url
- : hit.url.replace(liveUrl, '')
+ // On development or Netlify, replace `hit.url` with a trailing slash,
+ // so that the result link is relative to the server root
+ : hit.url.replace(liveUrl, '/')
// Prevent jumping to first header
if (hit.anchor === 'content') {
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/anchor.min.js b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/anchor.min.js
index efa6c9856..efa6c9856 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/js/vendor/anchor.min.js
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/anchor.min.js
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/bs-custom-file-input.min.js b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/bs-custom-file-input.min.js
new file mode 100644
index 000000000..0815f3768
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/bs-custom-file-input.min.js
@@ -0,0 +1,7 @@
+/*!
+ * bsCustomFileInput v1.3.4 (https://github.com/Johann-S/bs-custom-file-input)
+ * Copyright 2018 - 2020 Johann-S <johann.servoire@gmail.com>
+ * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).bsCustomFileInput=t()}(this,function(){"use strict";var s={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},l=function(e){if(0<e.childNodes.length)for(var t=[].slice.call(e.childNodes),n=0;n<t.length;n++){var l=t[n];if(3!==l.nodeType)return l}return e},u=function(e){var t=e.bsCustomFileInput.defaultText,n=e.parentNode.querySelector(s.CUSTOMFILELABEL);n&&(l(n).textContent=t)},n=!!window.File,r=function(e){if(e.hasAttribute("multiple")&&n)return[].slice.call(e.files).map(function(e){return e.name}).join(", ");if(-1===e.value.indexOf("fakepath"))return e.value;var t=e.value.split("\\");return t[t.length-1]};function d(){var e=this.parentNode.querySelector(s.CUSTOMFILELABEL);if(e){var t=l(e),n=r(this);n.length?t.textContent=n:u(this)}}function v(){for(var e=[].slice.call(this.querySelectorAll(s.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),t=0,n=e.length;t<n;t++)u(e[t])}var p="bsCustomFileInput",m="reset",h="change";return{init:function(e,t){void 0===e&&(e=s.CUSTOMFILE),void 0===t&&(t=s.FORM);for(var n,l,r=[].slice.call(document.querySelectorAll(e)),i=[].slice.call(document.querySelectorAll(t)),o=0,u=r.length;o<u;o++){var c=r[o];Object.defineProperty(c,p,{value:{defaultText:(n=void 0,n="",(l=c.parentNode.querySelector(s.CUSTOMFILELABEL))&&(n=l.textContent),n)},writable:!0}),d.call(c),c.addEventListener(h,d)}for(var f=0,a=i.length;f<a;f++)i[f].addEventListener(m,v),Object.defineProperty(i[f],p,{value:!0,writable:!0})},destroy:function(){for(var e=[].slice.call(document.querySelectorAll(s.FORM)).filter(function(e){return!!e.bsCustomFileInput}),t=[].slice.call(document.querySelectorAll(s.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),n=0,l=t.length;n<l;n++){var r=t[n];u(r),r[p]=void 0,r.removeEventListener(h,d)}for(var i=0,o=e.length;i<o;i++)e[i].removeEventListener(m,v),e[i][p]=void 0}}});
+//# sourceMappingURL=bs-custom-file-input.min.js.map
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/clipboard.min.js b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/clipboard.min.js
new file mode 100644
index 000000000..28650f3cc
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/clipboard.min.js
@@ -0,0 +1,7 @@
+/*!
+ * clipboard.js v2.0.6
+ * https://clipboardjs.com/
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return o={},r.m=n=[function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n,t.exports.TinyEmitter=n},function(t,e,n){var d=n(3),h=n(4);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!d.string(e))throw new TypeError("Second argument must be a String");if(!d.fn(n))throw new TypeError("Third argument must be a Function");if(d.node(t))return s=e,f=n,(u=t).addEventListener(s,f),{destroy:function(){u.removeEventListener(s,f)}};if(d.nodeList(t))return a=t,c=e,l=n,Array.prototype.forEach.call(a,function(t){t.addEventListener(c,l)}),{destroy:function(){Array.prototype.forEach.call(a,function(t){t.removeEventListener(c,l)})}};if(d.string(t))return o=t,r=e,i=n,h(document.body,o,r,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,a,c,l,u,s,f}},function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var a=n(5);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},function(t,e,n){"use strict";n.r(e);var o=n(0),r=n.n(o),i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function a(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function c(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,c),this.resolveOptions(t),this.initSelection()}var l=(function(t,e,n){return e&&a(t.prototype,e),n&&a(t,n),t}(c,[{key:"resolveOptions",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=r()(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=r()(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(t){var e=0<arguments.length&&void 0!==t?t:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":i(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),c),u=n(1),s=n.n(u),f=n(2),d=n.n(f),h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p=function(t,e,n){return e&&y(t.prototype,e),n&&y(t,n),t};function y(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var m=(function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(v,s.a),p(v,[{key:"resolveOptions",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===h(e.container)?e.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=d()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return b("action",t)}},{key:"defaultTarget",value:function(t){var e=b("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return b("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(t){var e=0<arguments.length&&void 0!==t?t:["copy","cut"],n="string"==typeof e?[e]:e,o=!!document.queryCommandSupported;return n.forEach(function(t){o=o&&!!document.queryCommandSupported(t)}),o}}]),v);function v(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,v);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(v.__proto__||Object.getPrototypeOf(v)).call(this));return n.resolveOptions(e),n.listenClick(t),n}function b(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}e.default=m}],r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=6).default;function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}var n,o}); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/jquery.slim.min.js b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/jquery.slim.min.js
new file mode 100644
index 000000000..36b4e1a13
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/js/vendor/jquery.slim.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,v=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),m={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},w=g.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||w).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)};function d(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!b(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||b(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){C(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return v(a)},guid:1,support:m}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var p=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,A="sizzle"+1*new Date,d=n.document,N=0,r=0,m=ue(),b=ue(),S=ue(),k=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",F=new RegExp(R+"+","g"),$=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(d.childNodes),d.childNodes),t[d.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!k[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&(U.test(t)||_.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&p.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=A)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+be(l[o]);c=l.join(",")}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){k(t,!0)}finally{s===A&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[A]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:d;return r!=T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),d!=T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.scope=ce(function(e){return a.appendChild(e).appendChild(T.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=A,!T.getElementsByName||!T.getElementsByName(A).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+A+"'></a><select id='"+A+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+A+"-]").length||v.push("~="),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+R+"*name"+R+"*="+R+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+A+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e==T||e.ownerDocument==d&&y(d,e)?-1:t==T||t.ownerDocument==d&&y(d,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==T?-1:t==T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]==d?-1:s[r]==d?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(C(e),p.matchesSelector&&E&&!k[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){k(t,!0)}return 0<se(t,T,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=T&&C(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=T&&C(e);var n=x.attrHandle[t.toLowerCase()],r=n&&L.call(x.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:p.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!p.detectDuplicates,u=!p.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(x=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),b="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=b&&e.nodeName.toLowerCase(),d=!n&&!b,p=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(b?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&d){p=(s=(r=(i=(o=(a=c)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if(1===a.nodeType&&++p&&a===e){i[h]=[N,s,p];break}}else if(d&&(p=s=(r=(i=(o=(a=e)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1]),!1===p)while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if((b?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++p&&(d&&((i=(o=a[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[N,p]),a===e))break;return(p-=v)===g||p%g==0&&0<=p/g}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[A]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=H(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[A]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return X.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=pe(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=he(e);function me(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,d=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[N,d];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[A]||(e[A]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===N&&r[1]===d)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Ce(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(p,h,g,v,y,e){return v&&!v[A]&&(v=Te(v)),y&&!y[A]&&(y=Te(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!p||!e&&h?c:Ce(c,s,p,n,r),d=g?y||(e?p:l||v)?[]:t:f;if(g&&g(f,d,n,r),v){i=Ce(d,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(d[u[o]]=!(f[u[o]]=a))}if(e){if(y||p){if(y){i=[],o=d.length;while(o--)(a=d[o])&&i.push(f[o]=a);y(null,d=[],i,r)}o=d.length;while(o--)(a=d[o])&&-1<(i=y?H(e,a):s[o])&&(e[i]=!(t[i]=a))}}else d=Ce(d===t?d.splice(l,d.length):d),y?y(null,t,d,r):O.apply(t,d)})}function Ee(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=xe(function(e){return e===i},a,!0),l=xe(function(e){return-1<H(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[xe(we(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[A]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return Te(1<s&&we(c),1<s&&be(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&be(e))}c.push(t)}return we(c)}return me.prototype=x.filters=x.pseudos,x.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=b[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=z.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=_.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),x.filter)!(r=Q[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):b(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,b,r,i=[],o=[],a=S[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[A]?i.push(a):o.push(a);(a=S(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=N+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument==T||(C(o),n=!E);while(s=v[a++])if(s(o,t||T,n)){r.push(o);break}i&&(N=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=j.call(r));f=Ce(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(N=h,w=d),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=Q.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&be(o)))return O.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},p.sortStable=A.split("").sort(D).join("")===A,p.detectDuplicates=!!l,C(),p.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),p.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(g);E.find=p,E.expr=p.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=p.uniqueSort,E.text=p.getText,E.isXMLDoc=p.isXML,E.contains=p.contains,E.escapeSelector=p.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},A=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=E.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var k=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return b(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&N.test(e)?E(e):e||[],!1).length}});var L,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||L,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:w,!0)),k.test(r[1])&&E.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=w.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,L=E(w);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return A((e.parentNode||{}).firstChild,e)},children:function(e){return A(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(S(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(O[r]||E.uniqueSort(n),q.test(r)&&n.reverse()),this.pushStack(n)}});var H=/[^\x20\t\r\n\f]+/g;function I(e){return e}function R(e){throw e}function B(e,t,n,r){var i;try{e&&b(i=e.promise)?i.call(e).done(t).fail(n):e&&b(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(H)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){b(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==T(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=b(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&b(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,b(t)?s?t.call(e,l(u,o,I,s),l(u,o,R,s)):(u++,t.call(e,l(u,o,I,s),l(u,o,R,s),l(u,o,I,o.notifyWith))):(a!==I&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==R&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),g.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,b(r)?r:I,e.notifyWith)),o[1][3].add(l(0,e,b(t)?t:I)),o[2][3].add(l(0,e,b(n)?n:R))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(B(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||b(i[t]&&i[t].then)))return o.then();while(t--)B(i[t],a(t),o.reject);return o.promise()}});var M=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){g.console&&g.console.warn&&e&&M.test(e.name)&&g.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){g.setTimeout(function(){throw e})};var W=E.Deferred();function F(){w.removeEventListener("DOMContentLoaded",F),g.removeEventListener("load",F),E.ready()}E.fn.ready=function(e){return W.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||W.resolveWith(w,[E])}}),E.ready.then=W.then,"complete"===w.readyState||"loading"!==w.readyState&&!w.documentElement.doScroll?g.setTimeout(E.ready):(w.addEventListener("DOMContentLoaded",F),g.addEventListener("load",F));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,b(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,_=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(_,U)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=E.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(H)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new Q,G=new Q,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}G.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return G.hasData(e)||Y.hasData(e)},data:function(e,t,n){return G.access(e,t,n)},removeData:function(e,t){G.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=G.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){G.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=G.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){G.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){G.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=w.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};var se={};function ue(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=se[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),se[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return ue(this,!0)},hide:function(){return ue(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var le,ce,fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i;le=w.createDocumentFragment().appendChild(w.createElement("div")),(ce=w.createElement("input")).setAttribute("type","radio"),ce.setAttribute("checked","checked"),ce.setAttribute("name","t"),le.appendChild(ce),m.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="<textarea>x</textarea>",m.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="<option></option>",m.option=!!le.lastChild;var he={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}he.tbody=he.tfoot=he.colgroup=he.caption=he.thead,he.th=he.td,m.option||(he.optgroup=he.option=[1,"<select multiple='multiple'>","</select>"]);var ye=/<|&#?\w+;/;function me(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===T(o))E.merge(d,o.nodeType?[o]:o);else if(ye.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=he[s]||he._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ge(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])pe.test(o.type||"")&&n.push(o)}return f}var be=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Te(){return!1}function Ee(e,t){return e===function(){try{return w.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ne(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,Ce)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.get(t);if(X(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(H)||[""]).length;while(l--)p=g=(s=we.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=E.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=E.event.special[p]||{},c=E.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),E.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(H)||[""]).length;while(l--)if(p=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=E.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||E.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)E.event.remove(e,p+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:b(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click",Ce),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&S(t,"input")&&Y.get(t,"click")||S(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&xe.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(e,t){E.event.special[e]={setup:function(){return Ne(this,e,Ee),!1},trigger:function(){return Ne(this,e),!0},delegateType:t}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var Se=/<script|<style|<link/i,ke=/checked\s*(?:[^=]|=\s*.checked.)/i,De=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function je(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);G.hasData(e)&&(o=G.access(e),a=E.extend({},o),G.set(t,a))}}function Pe(n,r,i,o){r=v(r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=b(p);if(h||1<f&&"string"==typeof p&&!m.checkClone&&ke.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=me(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ge(e,"script"),je)).length;c<f;c++)u=e,c!==d&&(u=E.clone(u,!0,!0),s&&E.merge(a,ge(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],pe.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):C(u.textContent.replace(De,""),u,l))}return n}function He(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ge(r)),r.parentNode&&(n&&ie(r)&&ve(ge(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(c),r=0,i=(o=ge(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&fe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ge(e),a=a||ge(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ge(c,"script")).length&&ve(a,!f&&ge(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[G.expando]&&(n[G.expando]=void 0)}}}),E.fn.extend({detach:function(e){return He(this,e,!0)},remove:function(e){return He(this,e)},text:function(e){return $(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!he[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ge(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Ie=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=g),t.getComputedStyle(e)},Be=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Me=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=E.style(e,t)),!m.pixelBoxStyles()&&Ie.test(a)&&Me.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=g.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=w.createElement("div"),l=w.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",m.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(m,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=w.createElement("table"),t=w.createElement("tr"),n=w.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=g.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var $e=["Webkit","Moz","ms"],ze=w.createElement("div").style,_e={};function Ue(e){var t=E.cssProps[e]||_e[e];return t||(e in ze?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=$e.length;while(n--)if((e=$e[n]+t)in ze)return e}(e)||e)}var Ve,Xe,Qe=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Ge={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=Re(e),i=(!m.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a="auto"}return(!m.boxSizingReliable()&&i||!m.reliableTrDimensions()&&S(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?"border":"content"),o,r,a)+"px"}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Ye.test(t),l=e.style;if(u||(t=Ue(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),m.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Ye.test(t)||(t=Ue(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Qe.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,u,n):Be(e,Ge,function(){return et(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!m.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ze(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ze(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=Fe(m.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Be(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=g.setTimeout(e,r);t.stop=function(){g.clearTimeout(n)}})},Ve=w.createElement("input"),Xe=w.createElement("select").appendChild(w.createElement("option")),Ve.type="checkbox",m.checkOn=""!==Ve.value,m.optSelected=Xe.selected,(Ve=w.createElement("input")).value="t",Ve.type="radio",m.radioValue="t"===Ve.value;var tt,nt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return $(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(H);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=nt[t]||E.find.attr;nt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=nt[o],nt[o]=r,r=null!=a(e,t,n)?o:null,nt[o]=i),r}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;function ot(e){return(e.match(H)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function st(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)||[]}E.fn.extend({prop:function(e,t){return $(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),m.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).addClass(t.call(this,e,at(this)))});if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).removeClass(t.call(this,e,at(this)))});if(!arguments.length)return this.attr("class","");if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):b(i)?this.each(function(e){E(this).toggleClass(i.call(this,e,at(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=E(this),r=st(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=at(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ot(at(n))+" ").indexOf(t))return!0;return!1}});var ut=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=b(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ut,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:ot(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},m.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),m.focusin="onfocusin"in g;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||w],p=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||w,3!==n.nodeType&&8!==n.nodeType&&!lt.test(p+E.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||p,lt.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||w)&&d.push(a.defaultView||a.parentWindow||g)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&X(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!X(n)||u&&b(n[p])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,ct),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,ct),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),m.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}}),E.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new g.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||E.error("Invalid XML: "+e),t};var ft,dt=/\[\]$/,pt=/\r?\n/g,ht=/^(?:submit|button|image|reset|file)$/i,gt=/^(?:input|select|textarea|keygen)/i;function vt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||dt.test(n)?i(n,t):vt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==T(e))i(n,e);else for(t in e)vt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)vt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&gt.test(this.nodeName)&&!ht.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(pt,"\r\n")}}):{name:t.name,value:n.replace(pt,"\r\n")}}).get()}}),E.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return b(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=b(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},m.createHTMLDocument=((ft=w.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===ft.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((r=(t=w.implementation.createHTMLDocument("")).createElement("base")).href=w.location.href,t.head.appendChild(r)):t=w),o=!n&&[],(i=k.exec(e))?[t.createElement(i[1])]:(i=me([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),b(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=Fe(m.pixelPosition,function(e,t){if(t)return t=We(e,n),Ie.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var yt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),b(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=S,E.isFunction=b,E.isWindow=x,E.camelCase=V,E.type=T,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(yt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var mt=g.jQuery,bt=g.$;return E.noConflict=function(e){return g.$===E&&(g.$=bt),e&&g.jQuery===E&&(g.jQuery=mt),E},"undefined"==typeof e&&(g.jQuery=g.$=E),E});
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_ads.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_ads.scss
index da682b952..da682b952 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_ads.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_ads.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_algolia.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_algolia.scss
index 23781da12..23781da12 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_algolia.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_algolia.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_anchor.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_anchor.scss
index a712a78cd..a712a78cd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_anchor.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_anchor.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_brand.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_brand.scss
index c3ba73c3e..c3ba73c3e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_brand.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_brand.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_browser-bugs.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_browser-bugs.scss
index f42158b37..f42158b37 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_browser-bugs.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_browser-bugs.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_buttons.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_buttons.scss
index 25bcbbd4b..8d35fef46 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_buttons.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_buttons.scss
@@ -4,14 +4,15 @@
.btn-bd-primary {
font-weight: 600;
- color: $bd-purple-bright;
+ color: $white;
+ background-color: $bd-purple-bright;
border-color: $bd-purple-bright;
&:hover,
&:active {
color: $white;
- background-color: $bd-purple-bright;
- border-color: $bd-purple-bright;
+ background-color: darken($bd-purple-bright, 10%);
+ border-color: darken($bd-purple-bright, 10%);
}
&:focus {
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_callouts.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_callouts.scss
index 6b9735949..6b9735949 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_callouts.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_callouts.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_clipboard-js.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_clipboard-js.scss
index 760a806bb..760a806bb 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_clipboard-js.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_clipboard-js.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_colors.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_colors.scss
index 10ad8efdb..10ad8efdb 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_colors.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_colors.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_component-examples.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_component-examples.scss
index 084ad92ba..41360d6c4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_component-examples.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_component-examples.scss
@@ -109,15 +109,6 @@
margin-top: 2rem;
}
- .pos-f-t {
- position: relative;
- margin: -1rem;
-
- @include media-breakpoint-up(sm) {
- margin: -1.5rem;
- }
- }
-
.custom-file-input:lang(es) ~ .custom-file-label::after {
content: "Elegir";
}
@@ -342,6 +333,10 @@
}
}
+.bd-example-forms-input-group-workaround .fix-rounded-right {
+ @include border-right-radius(.2rem !important);
+}
+
//
// Code snippets
//
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_content.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_content.scss
index 439601d1e..030a1a256 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_content.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_content.scss
@@ -107,7 +107,6 @@
.bd-title {
margin-top: 1rem;
margin-bottom: .5rem;
- font-weight: 300;
@include font-size(3rem);
}
@@ -122,3 +121,7 @@
.bd-text-purple { color: $bd-purple; }
.bd-text-purple-bright { color: $bd-purple-bright; }
+
+.bd-bg-purple-bright {
+ background-color: $bd-purple-bright;
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_footer.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_footer.scss
index 29d31df3a..29d31df3a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_footer.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_footer.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_masthead.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_masthead.scss
new file mode 100644
index 000000000..62047fbbb
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_masthead.scss
@@ -0,0 +1,80 @@
+// stylelint-disable declaration-no-important
+
+.bd-masthead {
+ position: relative;
+ padding: 3rem ($grid-gutter-width / 2);
+ background: linear-gradient(to right bottom, lighten($bd-purple-light, 16%) 50%, #fff 50%);
+
+ h1 {
+ @include font-size(4rem);
+ line-height: 1;
+ }
+
+ .lead {
+ @include font-size(1.5rem);
+ font-weight: 400;
+ color: $gray-700;
+ }
+
+ .btn {
+ padding: .8rem 2rem;
+ font-weight: 600;
+ @include font-size(1.25rem);
+ }
+
+ .carbonad {
+ margin-top: 0 !important;
+ margin-bottom: -3rem !important;
+ }
+
+ @include media-breakpoint-up(sm) {
+ padding-top: 5rem;
+ padding-bottom: 5rem;
+
+ .carbonad {
+ margin-bottom: 0 !important;
+ }
+ }
+
+ @include media-breakpoint-up(md) {
+ .carbonad {
+ margin-top: 3rem !important;
+ }
+ }
+}
+
+.masthead-followup {
+ .bd-clipboard { display: none; }
+
+ h2 {
+ @include font-size(2.5rem);
+ }
+
+ .highlight {
+ @include border-radius(.5rem);
+
+ pre::-webkit-scrollbar {
+ display: none;
+ }
+
+ pre code {
+ display: inline-block;
+ white-space: pre;
+
+ &::before {
+ display: none;
+ }
+ }
+ }
+}
+
+.masthead-followup-icon {
+ padding: .75rem;
+ background-image: linear-gradient(to bottom right, rgba(255, 255, 255, .2), rgba(255, 255, 255, .01));
+ @include border-radius(.75rem);
+ box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .1);
+}
+
+.masthead-followup-svg {
+ filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .125));
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_nav.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_nav.scss
index 8958ccde1..d8d24b723 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_nav.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_nav.scss
@@ -4,7 +4,7 @@
.bd-navbar {
min-height: 4rem;
- background-color: $bd-purple;
+ background-color: $bd-purple-bright;
box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05), inset 0 -1px 0 rgba(0, 0, 0, .1);
@include media-breakpoint-down(md) {
@@ -38,7 +38,7 @@
.nav-link {
padding-right: .5rem;
padding-left: .5rem;
- color: $bd-purple-light;
+ color: rgba($white, .85);
&.active,
&:hover {
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_placeholder-img.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_placeholder-img.scss
index 90a29544e..90a29544e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_placeholder-img.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_placeholder-img.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_sidebar.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_sidebar.scss
index e5e04be74..8f6f1284e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_sidebar.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_sidebar.scss
@@ -98,7 +98,6 @@
}
.bd-search-docs-toggle {
- line-height: 1;
color: $gray-900;
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_skippy.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_skippy.scss
index bd2aadb82..bd2aadb82 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_skippy.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_skippy.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_syntax.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_syntax.scss
index c03e800f8..363ff07e7 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_syntax.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_syntax.scss
@@ -1,13 +1,13 @@
// stylelint-disable declaration-block-single-line-max-declarations, selector-class-pattern
.hll { background-color: #ffc; }
-.c { color: #999; }
+.c { color: #727272; }
.k { color: #069; }
.o { color: #555; }
-.cm { color: #999; }
-.cp { color: #099; }
-.c1 { color: #999; }
-.cs { color: #999; }
+.cm { color: #727272; }
+.cp { color: #008085; }
+.c1 { color: #727272; }
+.cs { color: #727272; }
.gd { background-color: #fcc; border: 1px solid #c00; }
.ge { font-style: italic; }
.gr { color: #f00; }
@@ -23,26 +23,26 @@
.kp { color: #069; }
.kr { color: #069; }
.kt { color: #078; }
-.m { color: #f60; }
-.s { color: #d44950; }
-.na { color: #4f9fcf; }
+.m { color: #c24f19; }
+.s { color: #d73038; }
+.na { color: #006ee0; }
.nb { color: #366; }
-.nc { color: #0a8; }
+.nc { color: #168174; }
.no { color: #360; }
-.nd { color: #99f; }
-.ni { color: #999; }
+.nd { color: #6b62de; }
+.ni { color: #727272; }
.ne { color: #c00; }
-.nf { color: #c0f; }
-.nl { color: #99f; }
-.nn { color: #0cf; }
+.nf { color: #b715f4; }
+.nl { color: #6b62de; }
+.nn { color: #007ca5; }
.nt { color: #2f6f9f; }
.nv { color: #033; }
.ow { color: #000; }
.w { color: #bbb; }
-.mf { color: #f60; }
-.mh { color: #f60; }
-.mi { color: #f60; }
-.mo { color: #f60; }
+.mf { color: #c24f19; }
+.mh { color: #c24f19; }
+.mi { color: #c24f19; }
+.mo { color: #c24f19; }
.sb { color: #c30; }
.sc { color: #c30; }
.sd { font-style: italic; color: #c30; }
@@ -51,18 +51,18 @@
.sh { color: #c30; }
.si { color: #a00; }
.sx { color: #c30; }
-.sr { color: #3aa; }
+.sr { color: #337e7e; }
.s1 { color: #c30; }
.ss { color: #fc3; }
.bp { color: #366; }
.vc { color: #033; }
.vg { color: #033; }
.vi { color: #033; }
-.il { color: #f60; }
+.il { color: #c24f19; }
.css .o,
.css .o + .nt,
-.css .nt + .nt { color: #999; }
+.css .nt + .nt { color: #727272; }
.language-bash::before,
.language-sh::before {
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_variables.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_variables.scss
index a71fd77c9..a71fd77c9 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/_variables.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/_variables.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/docs.scss b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/docs.scss
index 6b1814dc8..8dd3f5b56 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/assets/scss/docs.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.5/assets/scss/docs.scss
@@ -1,7 +1,7 @@
/*!
* Bootstrap Docs (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License.
* For details, see https://creativecommons.org/licenses/by/3.0/.
*/
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/browser-bugs.md b/vendor/twbs/bootstrap/site/docs/4.5/browser-bugs.md
index 57818a910..15c99a67d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/browser-bugs.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/browser-bugs.md
@@ -5,6 +5,13 @@ group: browser-bugs
redirect_from: "/browser-bugs/"
---
+{% capture callout %}
+##### Outdated content
+
+This page is outdated and is no longer applicable to the latest versions of Bootstrap. It's here purely for historical purposes now and will be removed in our next major release.
+{% endcapture %}
+{% include callout.html content=callout type="danger" %}
+
Bootstrap currently works around several outstanding browser bugs in major browsers to deliver the best cross-browser experience possible. Some bugs, like those listed below, cannot be solved by us.
We publicly list browser bugs that are impacting us here, in the hopes of expediting the process of fixing them. For information on Bootstrap's browser compatibility, [see our browser compatibility docs]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/browsers-devices/#supported-browsers).
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/alerts.md b/vendor/twbs/bootstrap/site/docs/4.5/components/alerts.md
index f11d1cfd9..5df7faa29 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/alerts.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/alerts.md
@@ -5,7 +5,7 @@ description: Provide contextual feedback messages for typical user actions with
group: components
redirect_from:
- "/components/"
- - "/docs/4.4/components/"
+ - "/docs/4.5/components/"
toc: true
---
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/badge.md b/vendor/twbs/bootstrap/site/docs/4.5/components/badge.md
index 8c1760045..8c1760045 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/badge.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/badge.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/breadcrumb.md b/vendor/twbs/bootstrap/site/docs/4.5/components/breadcrumb.md
index cff6c5006..f6ce8f1be 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/breadcrumb.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/breadcrumb.md
@@ -33,7 +33,7 @@ group: components
## Changing the separator
-Separators are automatically added in CSS through [`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`content`](https://developer.mozilla.org/en-US/docs/Web/CSS/content). They can be changed by changing `$breadcrumb-divider`. The [quote](https://sass-lang.com/documentation/functions/string#quote) function is needed to generate the quotes around a string, so if you want `>` as separator, you can use this:
+Separators are automatically added in CSS through [`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`content`](https://developer.mozilla.org/en-US/docs/Web/CSS/content). They can be changed by changing `$breadcrumb-divider`. The [quote](https://sass-lang.com/documentation/modules/string#quote) function is needed to generate the quotes around a string, so if you want `>` as separator, you can use this:
```scss
$breadcrumb-divider: quote(">");
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/button-group.md b/vendor/twbs/bootstrap/site/docs/4.5/components/button-group.md
index 2261a5e72..2261a5e72 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/button-group.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/button-group.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/buttons.md b/vendor/twbs/bootstrap/site/docs/4.5/components/buttons.md
index b0856f5fc..b0856f5fc 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/buttons.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/buttons.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/card.md b/vendor/twbs/bootstrap/site/docs/4.5/components/card.md
index cb1301b82..818396127 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/card.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/card.md
@@ -479,7 +479,7 @@ In addition to styling the content within cards, Bootstrap includes a few option
### Card groups
-Use card groups to render cards as a single, attached element with equal width and height columns. Card groups use `display: flex;` to achieve their uniform sizing.
+Use card groups to render cards as a single, attached element with equal width and height columns. Card groups start off stacked and use `display: flex;` to become attached with uniform dimensions starting at the `sm` breakpoint.
{% capture example %}
<div class="card-group">
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/carousel.md b/vendor/twbs/bootstrap/site/docs/4.5/components/carousel.md
index cdb0c6488..cdb0c6488 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/carousel.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/carousel.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/collapse.md b/vendor/twbs/bootstrap/site/docs/4.5/components/collapse.md
index 7cccd7c79..bcc321ef8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/collapse.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/collapse.md
@@ -78,7 +78,7 @@ Using the [card]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/card
<div class="card">
<div class="card-header" id="headingOne">
<h2 class="mb-0">
- <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
+ <button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</button>
</h2>
@@ -93,7 +93,7 @@ Using the [card]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/card
<div class="card">
<div class="card-header" id="headingTwo">
<h2 class="mb-0">
- <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
+ <button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</button>
</h2>
@@ -107,7 +107,7 @@ Using the [card]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/card
<div class="card">
<div class="card-header" id="headingThree">
<h2 class="mb-0">
- <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
+ <button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</button>
</h2>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/dropdowns.md b/vendor/twbs/bootstrap/site/docs/4.5/components/dropdowns.md
index 736e58165..6b8ca2eac 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/dropdowns.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/dropdowns.md
@@ -8,7 +8,7 @@ toc: true
## Overview
-Dropdowns are toggleable, contextual overlays for displaying lists of links and more. They're made interactive with the included Bootstrap dropdown JavaScript plugin. They're toggled by clicking, not by hovering; this is [an intentional design decision](http://markdotto.com/2012/02/27/bootstrap-explained-dropdowns/).
+Dropdowns are toggleable, contextual overlays for displaying lists of links and more. They're made interactive with the included Bootstrap dropdown JavaScript plugin. They're toggled by clicking, not by hovering; this is [an intentional design decision](https://markdotto.com/2012/02/27/bootstrap-explained-dropdowns/).
Dropdowns are built on a third party library, [Popper.js](https://popper.js.org/), which provides dynamic positioning and viewport detection. Be sure to include [popper.min.js]({{ site.cdn.popper }}) before Bootstrap's JavaScript or use `bootstrap.bundle.min.js` / `bootstrap.bundle.js` which contains Popper.js. Popper.js isn't used to position dropdowns in navbars though as dynamic positioning isn't required.
@@ -848,26 +848,26 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>
<p>Offset of the dropdown relative to its target.</p>
<p>When a function is used to determine the offset, it is called with an object containing the offset data as its first argument. The function must return an object with the same structure. The triggering element DOM node is passed as the second argument.</p>
- <p>For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</p>
+ <p>For more information refer to Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..offset.offset">offset docs</a>.</p>
</td>
</tr>
<tr>
<td>flip</td>
<td>boolean</td>
<td>true</td>
- <td>Allow Dropdown to flip in case of an overlapping on the reference element. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..flip.enabled">flip docs</a>.</td>
+ <td>Allow Dropdown to flip in case of an overlapping on the reference element. For more information refer to Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..flip.enabled">flip docs</a>.</td>
</tr>
<tr>
<td>boundary</td>
<td>string | element</td>
<td>'scrollParent'</td>
- <td>Overflow constraint boundary of the dropdown menu. Accepts the values of <code>'viewport'</code>, <code>'window'</code>, <code>'scrollParent'</code>, or an HTMLElement reference (JavaScript only). For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..preventOverflow.boundariesElement">preventOverflow docs</a>.</td>
+ <td>Overflow constraint boundary of the dropdown menu. Accepts the values of <code>'viewport'</code>, <code>'window'</code>, <code>'scrollParent'</code>, or an HTMLElement reference (JavaScript only). For more information refer to Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..preventOverflow.boundariesElement">preventOverflow docs</a>.</td>
</tr>
<tr>
<td>reference</td>
<td>string | element</td>
<td>'toggle'</td>
- <td>Reference element of the dropdown menu. Accepts the values of <code>'toggle'</code>, <code>'parent'</code>, or an HTMLElement reference. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#referenceObject">referenceObject docs</a>.</td>
+ <td>Reference element of the dropdown menu. Accepts the values of <code>'toggle'</code>, <code>'parent'</code>, or an HTMLElement reference. For more information refer to Popper.js's <a href="https://popper.js.org/docs/v1/#referenceObject">referenceObject docs</a>.</td>
</tr>
<tr>
<td>display</td>
@@ -879,7 +879,7 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>popperConfig</td>
<td>null | object</td>
<td>null</td>
- <td>To change Bootstrap's default Popper.js config, see <a href="https://popper.js.org/popper-documentation.html#Popper.Defaults">Popper.js's configuration</a></td>
+ <td>To change Bootstrap's default Popper.js config, see <a href="https://popper.js.org/docs/v1/#Popper.Defaults">Popper.js's configuration</a></td>
</tr>
</tbody>
</table>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/forms.md b/vendor/twbs/bootstrap/site/docs/4.5/components/forms.md
index a93d320b8..651046c27 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/forms.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/forms.md
@@ -752,6 +752,12 @@ We currently recommend using custom validation styles, as native browser default
{% endcapture %}
{% include callout.html content=callout type="warning" %}
+{% capture callout %}
+##### Input group validation
+Input groups have difficulty with validation styles, unfortunately. Our recommendation is to place feedback messages as sibling elements of the `.input-group` that has `.is-{valid|invalid}`. Placing feedback messages within input groups breaks the `border-radius`. [See this workaround](#input-group-validation-workaround).
+{% endcapture %}
+{% include callout.html content=callout type="warning" %}
+
### How it works
Here's how form validation works with Bootstrap:
@@ -776,32 +782,20 @@ Custom feedback styles apply custom colors, borders, focus styles, and backgroun
{% capture example %}
<form class="needs-validation" novalidate>
<div class="form-row">
- <div class="col-md-4 mb-3">
+ <div class="col-md-6 mb-3">
<label for="validationCustom01">First name</label>
<input type="text" class="form-control" id="validationCustom01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4 mb-3">
+ <div class="col-md-6 mb-3">
<label for="validationCustom02">Last name</label>
<input type="text" class="form-control" id="validationCustom02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4 mb-3">
- <label for="validationCustomUsername">Username</label>
- <div class="input-group">
- <div class="input-group-prepend">
- <span class="input-group-text" id="inputGroupPrepend">@</span>
- </div>
- <input type="text" class="form-control" id="validationCustomUsername" aria-describedby="inputGroupPrepend" required>
- <div class="invalid-feedback">
- Please choose a username.
- </div>
- </div>
- </div>
</div>
<div class="form-row">
<div class="col-md-6 mb-3">
@@ -875,23 +869,14 @@ While these feedback styles cannot be styled with CSS, you can still customize t
{% capture example %}
<form>
<div class="form-row">
- <div class="col-md-4 mb-3">
+ <div class="col-md-6 mb-3">
<label for="validationDefault01">First name</label>
<input type="text" class="form-control" id="validationDefault01" value="Mark" required>
</div>
- <div class="col-md-4 mb-3">
+ <div class="col-md-6 mb-3">
<label for="validationDefault02">Last name</label>
<input type="text" class="form-control" id="validationDefault02" value="Otto" required>
</div>
- <div class="col-md-4 mb-3">
- <label for="validationDefaultUsername">Username</label>
- <div class="input-group">
- <div class="input-group-prepend">
- <span class="input-group-text" id="inputGroupPrepend2">@</span>
- </div>
- <input type="text" class="form-control" id="validationDefaultUsername" aria-describedby="inputGroupPrepend2" required>
- </div>
- </div>
</div>
<div class="form-row">
<div class="col-md-6 mb-3">
@@ -930,32 +915,20 @@ We recommend using client-side validation, but in case you require server-side v
{% capture example %}
<form>
<div class="form-row">
- <div class="col-md-4 mb-3">
+ <div class="col-md-6 mb-3">
<label for="validationServer01">First name</label>
<input type="text" class="form-control is-valid" id="validationServer01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4 mb-3">
+ <div class="col-md-6 mb-3">
<label for="validationServer02">Last name</label>
<input type="text" class="form-control is-valid" id="validationServer02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
- <div class="col-md-4 mb-3">
- <label for="validationServerUsername">Username</label>
- <div class="input-group">
- <div class="input-group-prepend">
- <span class="input-group-text" id="inputGroupPrepend3">@</span>
- </div>
- <input type="text" class="form-control is-invalid" id="validationServerUsername" aria-describedby="inputGroupPrepend3" required>
- <div class="invalid-feedback">
- Please choose a username.
- </div>
- </div>
- </div>
</div>
<div class="form-row">
<div class="col-md-6 mb-3">
@@ -1003,7 +976,7 @@ We recommend using client-side validation, but in case you require server-side v
Validation styles are available for the following form controls and components:
-- `<input>`s and `<textarea>`s with `.form-control` (including up to one `.form-control` in input groups)
+- `<input>`s and `<textarea>`s with `.form-control`
- `<select>`s with `.form-control` or `.custom-select`
- `.form-check`s
- `.custom-checkbox`s and `.custom-radio`s
@@ -1035,9 +1008,9 @@ Validation styles are available for the following form controls and components:
<div class="invalid-feedback">More example invalid feedback text</div>
</div>
- <div class="form-group">
+ <div class="mb-3">
<select class="custom-select" required>
- <option value="">Open this select menu</option>
+ <option value="">Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
@@ -1045,11 +1018,53 @@ Validation styles are available for the following form controls and components:
<div class="invalid-feedback">Example invalid custom select feedback</div>
</div>
- <div class="custom-file">
+ <div class="custom-file mb-3">
<input type="file" class="custom-file-input" id="validatedCustomFile" required>
<label class="custom-file-label" for="validatedCustomFile">Choose file...</label>
<div class="invalid-feedback">Example invalid custom file feedback</div>
</div>
+
+ <div class="mb-3">
+ <div class="input-group is-invalid">
+ <div class="input-group-prepend">
+ <span class="input-group-text" id="validatedInputGroupPrepend">@</span>
+ </div>
+ <input type="text" class="form-control is-invalid" aria-describedby="validatedInputGroupPrepend" required>
+ </div>
+ <div class="invalid-feedback">
+ Example invalid input group feedback
+ </div>
+ </div>
+
+ <div class="mb-3">
+ <div class="input-group is-invalid">
+ <div class="input-group-prepend">
+ <label class="input-group-text" for="validatedInputGroupSelect">Options</label>
+ </div>
+ <select class="custom-select" id="validatedInputGroupSelect" required>
+ <option value="">Choose...</option>
+ <option value="1">One</option>
+ <option value="2">Two</option>
+ <option value="3">Three</option>
+ </select>
+ </div>
+ <div class="invalid-feedback">
+ Example invalid input group feedback
+ </div>
+ </div>
+
+ <div class="input-group is-invalid">
+ <div class="custom-file">
+ <input type="file" class="custom-file-input" id="validatedInputGroupCustomFile" required>
+ <label class="custom-file-label" for="validatedInputGroupCustomFile">Choose file...</label>
+ </div>
+ <div class="input-group-append">
+ <button class="btn btn-outline-secondary" type="button">Button</button>
+ </div>
+ </div>
+ <div class="invalid-feedback">
+ Example invalid input group feedback
+ </div>
</form>
{% endcapture %}
{% include example.html content=example %}
@@ -1061,32 +1076,20 @@ If your form layout allows it, you can swap the `.{valid|invalid}-feedback` clas
{% capture example %}
<form class="needs-validation" novalidate>
<div class="form-row">
- <div class="col-md-4 mb-3">
+ <div class="col-md-6 mb-3">
<label for="validationTooltip01">First name</label>
<input type="text" class="form-control" id="validationTooltip01" value="Mark" required>
<div class="valid-tooltip">
Looks good!
</div>
</div>
- <div class="col-md-4 mb-3">
+ <div class="col-md-6 mb-3">
<label for="validationTooltip02">Last name</label>
<input type="text" class="form-control" id="validationTooltip02" value="Otto" required>
<div class="valid-tooltip">
Looks good!
</div>
</div>
- <div class="col-md-4 mb-3">
- <label for="validationTooltipUsername">Username</label>
- <div class="input-group">
- <div class="input-group-prepend">
- <span class="input-group-text" id="validationTooltipUsernamePrepend">@</span>
- </div>
- <input type="text" class="form-control" id="validationTooltipUsername" aria-describedby="validationTooltipUsernamePrepend" required>
- <div class="invalid-tooltip">
- Please choose a unique and valid username.
- </div>
- </div>
- </div>
</div>
<div class="form-row">
<div class="col-md-6 mb-3">
@@ -1150,6 +1153,68 @@ $form-validation-states: map-merge(
}
{% endhighlight %}
+### Input group validation workaround
+
+We're unable to resolve the broken `border-radius` of input groups with validation due to selector limitations, so manual overrides are required. When you're using a standard input group and don't customize the default border radius values, add `.rounded-right` to the elements with the broken `border-radius`.
+
+{% highlight html %}
+<div class="input-group">
+ <div class="input-group-prepend">
+ <span class="input-group-text">@</span>
+ </div>
+ <input type="text" class="form-control rounded-right" required>
+ <div class="invalid-feedback">
+ Please choose a username.
+ </div>
+</div>
+{% endhighlight %}
+
+<div class="bd-example bd-example-forms-input-group-workaround">
+ <div class="input-group">
+ <div class="input-group-prepend">
+ <span class="input-group-text">@</span>
+ </div>
+ <input type="text" class="form-control is-invalid rounded-right" required>
+ <div class="invalid-feedback">
+ Please choose a username.
+ </div>
+ </div>
+</div>
+
+When you are using a small or large input group or customizing the default `border-radius` values, add custom CSS to the element with the busted `border-radius`.
+
+{% highlight css %}
+/* Change values to match the radius of your form control */
+.fix-rounded-right {
+ border-top-right-radius: .2rem !important;
+ border-bottom-right-radius: .2rem !important;
+}
+{% endhighlight %}
+
+{% highlight html %}
+<div class="input-group input-group-sm">
+ <div class="input-group-prepend">
+ <span class="input-group-text">@</span>
+ </div>
+ <input type="text" class="form-control fix-rounded-right" required>
+ <div class="invalid-feedback">
+ Please choose a username.
+ </div>
+</div>
+{% endhighlight %}
+
+<div class="bd-example bd-example-forms-input-group-workaround">
+ <div class="input-group input-group-sm">
+ <div class="input-group-prepend">
+ <span class="input-group-text">@</span>
+ </div>
+ <input type="text" class="form-control is-invalid fix-rounded-right" required>
+ <div class="invalid-feedback">
+ Please choose a username.
+ </div>
+ </div>
+</div>
+
## Custom forms
For even more customization and cross browser consistency, use our completely custom form elements to replace the browser defaults. They're built on top of semantic and accessible markup, so they're solid replacements for any default form control.
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/input-group.md b/vendor/twbs/bootstrap/site/docs/4.5/components/input-group.md
index cdbfa794a..cdbfa794a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/input-group.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/input-group.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/jumbotron.md b/vendor/twbs/bootstrap/site/docs/4.5/components/jumbotron.md
index c14621565..c14621565 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/jumbotron.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/jumbotron.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/list-group.md b/vendor/twbs/bootstrap/site/docs/4.5/components/list-group.md
index 251dae672..251dae672 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/list-group.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/list-group.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/media-object.md b/vendor/twbs/bootstrap/site/docs/4.5/components/media-object.md
index 32628e723..32628e723 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/media-object.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/media-object.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/modal.md b/vendor/twbs/bootstrap/site/docs/4.5/components/modal.md
index 6bd573d7a..9766766c7 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/modal.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/modal.md
@@ -35,7 +35,7 @@ Below is a _static_ modal example (meaning its `position` and `display` have bee
<div class="bd-example bd-example-modal">
<div class="modal" tabindex="-1" role="dialog">
- <div class="modal-dialog" role="document">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
@@ -57,7 +57,7 @@ Below is a _static_ modal example (meaning its `position` and `display` have bee
{% highlight html %}
<div class="modal" tabindex="-1" role="dialog">
- <div class="modal-dialog" role="document">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
@@ -81,8 +81,8 @@ Below is a _static_ modal example (meaning its `position` and `display` have bee
Toggle a working modal demo by clicking the button below. It will slide down and fade in from the top of the page.
-<div id="exampleModalLive" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLiveLabel" aria-hidden="true">
- <div class="modal-dialog" role="document">
+<div class="modal fade" id="exampleModalLive" tabindex="-1" role="dialog" aria-labelledby="exampleModalLiveLabel" aria-hidden="true">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLiveLabel">Modal title</h5>
@@ -115,7 +115,7 @@ Toggle a working modal demo by clicking the button below. It will slide down and
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
- <div class="modal-dialog" role="document">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
@@ -139,8 +139,8 @@ Toggle a working modal demo by clicking the button below. It will slide down and
When backdrop is set to static, the modal will not close when clicking outside it. Click the button below to try it.
-<div id="staticBackdropLive" class="modal fade" data-backdrop="static" tabindex="-1" role="dialog" aria-labelledby="staticBackdropLiveLabel" aria-hidden="true">
- <div class="modal-dialog" role="document">
+<div class="modal fade" id="staticBackdropLive" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-labelledby="staticBackdropLiveLabel" aria-hidden="true">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLiveLabel">Modal title</h5>
@@ -172,8 +172,8 @@ When backdrop is set to static, the modal will not close when clicking outside i
</button>
<!-- Modal -->
-<div class="modal fade" id="staticBackdrop" data-backdrop="static" tabindex="-1" role="dialog" aria-labelledby="staticBackdropLabel" aria-hidden="true">
- <div class="modal-dialog" role="document">
+<div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-labelledby="staticBackdropLabel" aria-hidden="true">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">Modal title</h5>
@@ -198,8 +198,8 @@ When backdrop is set to static, the modal will not close when clicking outside i
When modals become too long for the user's viewport or device, they scroll independent of the page itself. Try the demo below to see what we mean.
-<div id="exampleModalLong" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
- <div class="modal-dialog" role="document">
+<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
@@ -241,38 +241,10 @@ When modals become too long for the user's viewport or device, they scroll indep
</button>
</div>
-{% highlight html %}
-<!-- Button trigger modal -->
-<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalLong">
- Launch demo modal
-</button>
-
-<!-- Modal -->
-<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">&times;</span>
- </button>
- </div>
- <div class="modal-body">
- ...
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- <button type="button" class="btn btn-primary">Save changes</button>
- </div>
- </div>
- </div>
-</div>
-{% endhighlight %}
-
You can also create a scrollable modal that allows scroll the modal body by adding `.modal-dialog-scrollable` to `.modal-dialog`.
-<div id="exampleModalScrollable" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
- <div class="modal-dialog modal-dialog-scrollable" role="document">
+<div class="modal fade" id="exampleModalScrollable" tabindex="-1" role="dialog" aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
+ <div class="modal-dialog modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalScrollableTitle">Modal title</h5>
@@ -315,30 +287,9 @@ You can also create a scrollable modal that allows scroll the modal body by addi
</div>
{% highlight html %}
-<!-- Button trigger modal -->
-<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalScrollable">
- Launch demo modal
-</button>
-
-<!-- Modal -->
-<div class="modal fade" id="exampleModalScrollable" tabindex="-1" role="dialog" aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
- <div class="modal-dialog modal-dialog-scrollable" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title" id="exampleModalScrollableTitle">Modal title</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">&times;</span>
- </button>
- </div>
- <div class="modal-body">
- ...
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- <button type="button" class="btn btn-primary">Save changes</button>
- </div>
- </div>
- </div>
+<!-- Scrollable modal -->
+<div class="modal-dialog modal-dialog-scrollable">
+ ...
</div>
{% endhighlight %}
@@ -346,8 +297,8 @@ You can also create a scrollable modal that allows scroll the modal body by addi
Add `.modal-dialog-centered` to `.modal-dialog` to vertically center the modal.
-<div id="exampleModalCenter" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered" role="document">
+<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
+ <div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalCenterTitle">Modal title</h5>
@@ -366,8 +317,8 @@ Add `.modal-dialog-centered` to `.modal-dialog` to vertically center the modal.
</div>
</div>
-<div id="exampleModalCenteredScrollable" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenteredScrollableTitle" aria-hidden="true">
- <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered" role="document">
+<div class="modal fade" id="exampleModalCenteredScrollable" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenteredScrollableTitle" aria-hidden="true">
+ <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalCenteredScrollableTitle">Modal title</h5>
@@ -400,30 +351,14 @@ Add `.modal-dialog-centered` to `.modal-dialog` to vertically center the modal.
</div>
{% highlight html %}
-<!-- Button trigger modal -->
-<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
- Launch demo modal
-</button>
+<!-- Vertically centered modal -->
+<div class="modal-dialog modal-dialog-centered">
+ ...
+</div>
-<!-- Modal -->
-<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title" id="exampleModalCenterTitle">Modal title</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">&times;</span>
- </button>
- </div>
- <div class="modal-body">
- ...
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- <button type="button" class="btn btn-primary">Save changes</button>
- </div>
- </div>
- </div>
+<!-- Vertically centered scrollable modal -->
+<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
+ ...
</div>
{% endhighlight %}
@@ -431,8 +366,8 @@ Add `.modal-dialog-centered` to `.modal-dialog` to vertically center the modal.
[Tooltips]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/tooltips/) and [popovers]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/popovers/) can be placed within modals as needed. When modals are closed, any tooltips and popovers within are also automatically dismissed.
-<div id="exampleModalPopovers" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalPopoversLabel" aria-hidden="true">
- <div class="modal-dialog" role="document">
+<div class="modal fade" id="exampleModalPopovers" tabindex="-1" role="dialog" aria-labelledby="exampleModalPopoversLabel" aria-hidden="true">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalPopoversLabel">Modal title</h5>
@@ -475,8 +410,8 @@ Add `.modal-dialog-centered` to `.modal-dialog` to vertically center the modal.
Utilize the Bootstrap grid system within a modal by nesting `.container-fluid` within the `.modal-body`. Then, use the normal grid system classes as you would anywhere else.
-<div id="gridSystemModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="gridModalLabel" aria-hidden="true">
- <div class="modal-dialog" role="document">
+<div class="modal fade" id="gridSystemModal" tabindex="-1" role="dialog" aria-labelledby="gridModalLabel" aria-hidden="true">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="gridModalLabel">Grids in modals</h5>
@@ -567,7 +502,7 @@ Below is a live demo followed by example HTML and JavaScript. For more informati
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@getbootstrap">Open modal for @getbootstrap</button>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
- <div class="modal-dialog" role="document">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">New message</h5>
@@ -631,7 +566,7 @@ If the height of a modal changes while it is open, you should call `$('#myModal'
### Accessibility
-Be sure to add `role="dialog"` and `aria-labelledby="..."`, referencing the modal title, to `.modal`, and `role="document"` to the `.modal-dialog` itself. Additionally, you may give a description of your modal dialog with `aria-describedby` on `.modal`.
+Be sure to add `role="dialog"` and `aria-labelledby="..."`, referencing the modal title, to `.modal`. Additionally, you may give a description of your modal dialog with `aria-describedby` on `.modal`.
### Embedding YouTube videos
@@ -676,52 +611,23 @@ Modals have three optional sizes, available via modifier classes to be placed on
Our default modal without modifier class constitutes the "medium" size modal.
<div class="bd-example">
- <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-xl">Extra large modal</button>
- <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg">Large modal</button>
- <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-sm">Small modal</button>
+ <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalXl">Extra large modal</button>
+ <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalLg">Large modal</button>
+ <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalSm">Small modal</button>
</div>
{% highlight html %}
-<!-- Extra large modal -->
-<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-xl">Extra large modal</button>
-
-<div class="modal fade bd-example-modal-xl" tabindex="-1" role="dialog" aria-labelledby="myExtraLargeModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-xl" role="document">
- <div class="modal-content">
- ...
- </div>
- </div>
-</div>
-
-<!-- Large modal -->
-<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg">Large modal</button>
-
-<div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- ...
- </div>
- </div>
-</div>
-
-<!-- Small modal -->
-<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-sm">Small modal</button>
-
-<div class="modal fade bd-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-sm" role="document">
- <div class="modal-content">
- ...
- </div>
- </div>
-</div>
+<div class="modal-dialog modal-xl">...</div>
+<div class="modal-dialog modal-lg">...</div>
+<div class="modal-dialog modal-sm">...</div>
{% endhighlight %}
-<div class="modal fade bd-example-modal-xl" tabindex="-1" role="dialog" aria-labelledby="myExtraLargeModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-xl" role="document">
+<div class="modal fade" id="exampleModalXl" tabindex="-1" role="dialog" aria-labelledby="exampleModalXlLabel" aria-hidden="true">
+ <div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
- <h5 class="modal-title h4" id="myExtraLargeModalLabel">Extra large modal</h5>
+ <h5 class="modal-title h4" id="exampleModalXlLabel">Extra large modal</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@@ -733,12 +639,12 @@ Our default modal without modifier class constitutes the "medium" size modal.
</div>
</div>
-<div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-lg" role="document">
+<div class="modal fade" id="exampleModalLg" tabindex="-1" role="dialog" aria-labelledby="exampleModalLgLabel" aria-hidden="true">
+ <div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
- <h5 class="modal-title h4" id="myLargeModalLabel">Large modal</h5>
+ <h5 class="modal-title h4" id="exampleModalLgLabel">Large modal</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@@ -750,11 +656,11 @@ Our default modal without modifier class constitutes the "medium" size modal.
</div>
</div>
-<div class="modal fade bd-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-sm" role="document">
+<div class="modal fade" id="exampleModalSm" tabindex="-1" role="dialog" aria-labelledby="exampleModalSmLabel" aria-hidden="true">
+ <div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
- <h5 class="modal-title h4" id="mySmallModalLabel">Small modal</h5>
+ <h5 class="modal-title h4" id="exampleModalSmLabel">Small modal</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@@ -802,7 +708,7 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>backdrop</td>
<td>boolean or the string <code>'static'</code></td>
<td>true</td>
- <td>Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click or on escape key press.</td>
+ <td>Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click.</td>
</tr>
<tr>
<td>keyboard</td>
@@ -897,7 +803,7 @@ Bootstrap's modal class exposes a few events for hooking into modal functionalit
</tr>
<tr>
<td>hidePrevented.bs.modal</td>
- <td>This event is fired when the modal is shown, its backdrop is <code>static</code> and a click outside the modal or an escape key press is performed.</td>
+ <td>This event is fired when the modal is shown, its backdrop is <code>static</code> and a click outside the modal or an escape key press is performed with the keyboard option or <code>data-keyboard</code> set to <code>false</code>.</td>
</tr>
</tbody>
</table>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/navbar.md b/vendor/twbs/bootstrap/site/docs/4.5/components/navbar.md
index fffaa693c..69df11b34 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/navbar.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/navbar.md
@@ -98,7 +98,7 @@ Adding images to the `.navbar-brand` will likely always require custom styles or
<!-- Just an image -->
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="#">
- <img src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" width="30" height="30" alt="">
+ <img src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" width="30" height="30" alt="" loading="lazy">
</a>
</nav>
{% endcapture %}
@@ -108,7 +108,7 @@ Adding images to the `.navbar-brand` will likely always require custom styles or
<!-- Image and text -->
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="#">
- <img src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" width="30" height="30" class="d-inline-block align-top" alt="">
+ <img src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" width="30" height="30" class="d-inline-block align-top" alt="" loading="lazy">
Bootstrap
</a>
</nav>
@@ -564,7 +564,7 @@ With a toggler on the left and brand name on the right:
Sometimes you want to use the collapse plugin to trigger hidden content elsewhere on the page. Because our plugin works on the `id` and `data-target` matching, that's easily done!
{% capture example %}
-<div class="pos-f-t">
+<div class="fixed-top">
<div class="collapse" id="navbarToggleExternalContent">
<div class="bg-dark p-4">
<h5 class="text-white h4">Collapsed content</h5>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/navs.md b/vendor/twbs/bootstrap/site/docs/4.5/components/navs.md
index 6404f03a2..0787632be 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/navs.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/navs.md
@@ -329,13 +329,13 @@ Note that dynamic tabbed interfaces should <em>not</em> contain dropdown menus,
<div class="bd-example bd-example-tabs">
<ul class="nav nav-tabs" id="myTab" role="tablist">
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
</li>
</ul>
@@ -354,13 +354,13 @@ Note that dynamic tabbed interfaces should <em>not</em> contain dropdown menus,
{% highlight html %}
<ul class="nav nav-tabs" id="myTab" role="tablist">
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
</li>
</ul>
@@ -413,13 +413,13 @@ The tabs plugin also works with pills.
<div class="bd-example bd-example-tabs">
<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-selected="true">Home</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="pills-contact-tab" data-toggle="pill" href="#pills-contact" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</a>
</li>
</ul>
@@ -438,13 +438,13 @@ The tabs plugin also works with pills.
{% highlight html %}
<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-selected="true">Home</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="pills-contact-tab" data-toggle="pill" href="#pills-contact" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</a>
</li>
</ul>
@@ -514,16 +514,16 @@ You can activate a tab or pill navigation without writing any JavaScript by simp
{% highlight html %}
<!-- Nav tabs -->
<ul class="nav nav-tabs" id="myTab" role="tablist">
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="messages-tab" data-toggle="tab" href="#messages" role="tab" aria-controls="messages" aria-selected="false">Messages</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="settings-tab" data-toggle="tab" href="#settings" role="tab" aria-controls="settings" aria-selected="false">Settings</a>
</li>
</ul>
@@ -580,16 +580,16 @@ Activates a tab element and content container. Tab should have either a `data-ta
{% highlight html %}
<ul class="nav nav-tabs" id="myTab" role="tablist">
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="messages-tab" data-toggle="tab" href="#messages" role="tab" aria-controls="messages" aria-selected="false">Messages</a>
</li>
- <li class="nav-item">
+ <li class="nav-item" role="presentation">
<a class="nav-link" id="settings-tab" data-toggle="tab" href="#settings" role="tab" aria-controls="settings" aria-selected="false">Settings</a>
</li>
</ul>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/pagination.md b/vendor/twbs/bootstrap/site/docs/4.5/components/pagination.md
index b1f8e58a2..b1f8e58a2 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/pagination.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/pagination.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/popovers.md b/vendor/twbs/bootstrap/site/docs/4.5/components/popovers.md
index 44d2a321b..bdd201b15 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/popovers.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/popovers.md
@@ -251,20 +251,20 @@ Note that for security reasons the `sanitize`, `sanitizeFn` and `whiteList` opti
<td>offset</td>
<td>number | string</td>
<td>0</td>
- <td>Offset of the popover relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</td>
+ <td>Offset of the popover relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..offset.offset">offset docs</a>.</td>
</tr>
<tr>
<td>fallbackPlacement</td>
<td>string | array</td>
<td>'flip'</td>
<td>Allow to specify which position Popper will use on fallback. For more information refer to
- Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..flip.behavior">behavior docs</a></td>
+ Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..flip.behavior">behavior docs</a></td>
</tr>
<tr>
<td>boundary</td>
<td>string | element</td>
<td>'scrollParent'</td>
- <td>Overflow constraint boundary of the popover. Accepts the values of <code>'viewport'</code>, <code>'window'</code>, <code>'scrollParent'</code>, or an HTMLElement reference (JavaScript only). For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..preventOverflow.boundariesElement">preventOverflow docs</a>.</td>
+ <td>Overflow constraint boundary of the popover. Accepts the values of <code>'viewport'</code>, <code>'window'</code>, <code>'scrollParent'</code>, or an HTMLElement reference (JavaScript only). For more information refer to Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..preventOverflow.boundariesElement">preventOverflow docs</a>.</td>
</tr>
<tr>
<td>sanitize</td>
@@ -288,7 +288,7 @@ Note that for security reasons the `sanitize`, `sanitizeFn` and `whiteList` opti
<td>popperConfig</td>
<td>null | object</td>
<td>null</td>
- <td>To change Bootstrap's default Popper.js config, see <a href="https://popper.js.org/popper-documentation.html#Popper.Defaults">Popper.js's configuration</a></td>
+ <td>To change Bootstrap's default Popper.js config, see <a href="https://popper.js.org/docs/v1/#Popper.Defaults">Popper.js's configuration</a></td>
</tr>
</tbody>
</table>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/progress.md b/vendor/twbs/bootstrap/site/docs/4.5/components/progress.md
index 7c42aec3e..7c42aec3e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/progress.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/progress.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/scrollspy.md b/vendor/twbs/bootstrap/site/docs/4.5/components/scrollspy.md
index 43443e7fb..eb5b4ba6f 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/scrollspy.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/scrollspy.md
@@ -314,7 +314,7 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
</tr>
<tr>
<td>target</td>
- <td>string</td>
+ <td>string | jQuery object | DOM element</td>
<td></td>
<td>Specifies element to apply Scrollspy plugin.</td>
</tr>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/spinners.md b/vendor/twbs/bootstrap/site/docs/4.5/components/spinners.md
index c16594572..c16594572 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/spinners.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/spinners.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/toasts.md b/vendor/twbs/bootstrap/site/docs/4.5/components/toasts.md
index 58b5cb5ca..58b5cb5ca 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/toasts.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/toasts.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/components/tooltips.md b/vendor/twbs/bootstrap/site/docs/4.5/components/tooltips.md
index 692819fa3..2d23c4987 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/components/tooltips.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/components/tooltips.md
@@ -242,7 +242,7 @@ Note that for security reasons the `sanitize`, `sanitizeFn` and `whiteList` opti
<td>
<p>Offset of the tooltip relative to its target.</p>
<p>When a function is used to determine the offset, it is called with an object containing the offset data as its first argument. The function must return an object with the same structure. The triggering element DOM node is passed as the second argument.</p>
- <p>For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</p>
+ <p>For more information refer to Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..offset.offset">offset docs</a>.</p>
</td>
</tr>
<tr>
@@ -250,13 +250,13 @@ Note that for security reasons the `sanitize`, `sanitizeFn` and `whiteList` opti
<td>string | array</td>
<td>'flip'</td>
<td>Allow to specify which position Popper will use on fallback. For more information refer to
- Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..flip.behavior">behavior docs</a></td>
+ Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..flip.behavior">behavior docs</a></td>
</tr>
<tr>
<td>boundary</td>
<td>string | element</td>
<td>'scrollParent'</td>
- <td>Overflow constraint boundary of the tooltip. Accepts the values of <code>'viewport'</code>, <code>'window'</code>, <code>'scrollParent'</code>, or an HTMLElement reference (JavaScript only). For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..preventOverflow.boundariesElement">preventOverflow docs</a>.</td>
+ <td>Overflow constraint boundary of the tooltip. Accepts the values of <code>'viewport'</code>, <code>'window'</code>, <code>'scrollParent'</code>, or an HTMLElement reference (JavaScript only). For more information refer to Popper.js's <a href="https://popper.js.org/docs/v1/#modifiers..preventOverflow.boundariesElement">preventOverflow docs</a>.</td>
</tr>
<tr>
<td>sanitize</td>
@@ -280,7 +280,7 @@ Note that for security reasons the `sanitize`, `sanitizeFn` and `whiteList` opti
<td>popperConfig</td>
<td>null | object</td>
<td>null</td>
- <td>To change Bootstrap's default Popper.js config, see <a href="https://popper.js.org/popper-documentation.html#Popper.Defaults">Popper.js's configuration</a></td>
+ <td>To change Bootstrap's default Popper.js config, see <a href="https://popper.js.org/docs/v1/#Popper.Defaults">Popper.js's configuration</a></td>
</tr>
</tbody>
</table>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/content/code.md b/vendor/twbs/bootstrap/site/docs/4.5/content/code.md
index d1ce12ccd..d1ce12ccd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/content/code.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/content/code.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/content/figures.md b/vendor/twbs/bootstrap/site/docs/4.5/content/figures.md
index a647fc1d0..a647fc1d0 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/content/figures.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/content/figures.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/content/images.md b/vendor/twbs/bootstrap/site/docs/4.5/content/images.md
index 3ff822bed..3ff822bed 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/content/images.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/content/images.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/content/reboot.md b/vendor/twbs/bootstrap/site/docs/4.5/content/reboot.md
index c78f4c442..2f0904f3f 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/content/reboot.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/content/reboot.md
@@ -3,7 +3,7 @@ layout: docs
title: Reboot
description: Reboot, a collection of element-specific CSS changes in a single file, kickstart Bootstrap to provide an elegant, consistent, and simple baseline to build upon.
group: content
-redirect_from: "/docs/4.4/content/"
+redirect_from: "/docs/4.5/content/"
toc: true
---
@@ -40,11 +40,15 @@ $font-family-sans-serif:
// Windows
"Segoe UI",
// Android
- "Roboto",
+ Roboto,
// Basic web fallback
- "Helvetica Neue", Arial, sans-serif,
+ "Helvetica Neue", Arial,
+ // Linux
+ "Noto Sans",
+ // Sans serif fallback
+ sans-serif,
// Emoji fonts
- "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
{% endhighlight %}
This `font-family` is applied to the `<body>` and automatically inherited globally throughout Bootstrap. To switch the global `font-family`, update `$font-family-base` and recompile Bootstrap.
@@ -294,6 +298,15 @@ These changes, and more, are demonstrated below.
</fieldset>
</form>
+### Pointers on buttons
+
+Reboot includes an enhancement for `role="button"` to change the default cursor to `pointer`. Add this attribute to elements to help indicate elements are interactive. This role isn't necessary for `<button>` elements, which get their own `cursor` change.
+
+{% capture example %}
+<span role="button">Non-button element button</span>
+{% endcapture %}
+{% include example.html content=example %}
+
## Misc elements
### Address
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/content/tables.md b/vendor/twbs/bootstrap/site/docs/4.5/content/tables.md
index 8799d47f2..8799d47f2 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/content/tables.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/content/tables.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/content/typography.md b/vendor/twbs/bootstrap/site/docs/4.5/content/typography.md
index 2d53fe640..2d53fe640 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/content/typography.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/content/typography.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/.stylelintrc b/vendor/twbs/bootstrap/site/docs/4.5/examples/.stylelintrc
index dc76dedbd..dc76dedbd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/.stylelintrc
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/.stylelintrc
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/album/album.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/album/album.css
index bc81349c5..bc81349c5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/album/album.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/album/album.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/album/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/album/index.html
index 145abeb5f..145abeb5f 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/album/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/album/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/blog/blog.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/blog/blog.css
index dbe4183d0..dbe4183d0 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/blog/blog.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/blog/blog.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/blog/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/blog/index.html
index 6b197dd48..6b197dd48 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/blog/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/blog/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/carousel/carousel.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/carousel/carousel.css
index 20300e90c..20300e90c 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/carousel/carousel.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/carousel/carousel.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/carousel/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/carousel/index.html
index 5f63fa35f..5f63fa35f 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/carousel/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/carousel/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/form-validation.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/form-validation.css
index 7a6246fae..7a6246fae 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/form-validation.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/form-validation.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/form-validation.js b/vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/form-validation.js
index 280849408..280849408 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/form-validation.js
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/form-validation.js
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/index.html
index 396270e74..396270e74 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/checkout/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/checkout/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/cover/cover.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/cover/cover.css
index 7c6d33cdd..7c6d33cdd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/cover/cover.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/cover/cover.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/cover/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/cover/index.html
index 0b74e4fae..0b74e4fae 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/cover/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/cover/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/dashboard.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/dashboard.css
index 6b5d7b5a5..b71942ad1 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/dashboard.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/dashboard.css
@@ -22,6 +22,12 @@ body {
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}
+@media (max-width: 767.98px) {
+ .sidebar {
+ top: 5rem;
+ }
+}
+
.sidebar-sticky {
position: relative;
top: 0;
@@ -63,20 +69,6 @@ body {
}
/*
- * Content
- */
-
-[role="main"] {
- padding-top: 133px; /* Space for fixed navbar */
-}
-
-@media (min-width: 768px) {
- [role="main"] {
- padding-top: 48px; /* Space for fixed navbar */
- }
-}
-
-/*
* Navbar
*/
@@ -88,6 +80,11 @@ body {
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
}
+.navbar .navbar-toggler {
+ top: .25rem;
+ right: 1rem;
+}
+
.navbar .form-control {
padding: .75rem 1rem;
border-width: 0;
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/dashboard.js b/vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/dashboard.js
index de4a6347a..de4a6347a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/dashboard.js
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/dashboard.js
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/index.html
index 836e29b36..65071bed9 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/dashboard/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/dashboard/index.html
@@ -8,8 +8,11 @@ extra_js:
- "dashboard.js"
---
-<nav class="navbar navbar-dark fixed-top bg-dark flex-md-nowrap p-0 shadow">
- <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">Company name</a>
+<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 shadow">
+ <a class="navbar-brand col-md-3 col-lg-2 mr-0 px-3" href="#">Company name</a>
+ <button class="navbar-toggler position-absolute d-md-none collapsed" type="button" data-toggle="collapse" data-target="#sidebarMenu" aria-controls="sidebarMenu" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
<ul class="navbar-nav px-3">
<li class="nav-item text-nowrap">
@@ -20,8 +23,8 @@ extra_js:
<div class="container-fluid">
<div class="row">
- <nav class="col-md-2 d-none d-md-block bg-light sidebar">
- <div class="sidebar-sticky">
+ <nav id="sidebarMenu" class="col-md-3 col-lg-2 d-md-block bg-light sidebar collapse">
+ <div class="sidebar-sticky pt-3">
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link active" href="#">
@@ -96,7 +99,7 @@ extra_js:
</div>
</nav>
- <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
+ <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-md-4">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
<h1 class="h2">Dashboard</h1>
<div class="btn-toolbar mb-2 mb-md-0">
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/floating-labels/floating-labels.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/floating-labels/floating-labels.css
index d8ad2f3c1..d8ad2f3c1 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/floating-labels/floating-labels.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/floating-labels/floating-labels.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/floating-labels/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/floating-labels/index.html
index d837ccaf1..d837ccaf1 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/floating-labels/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/floating-labels/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/grid/grid.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/grid/grid.css
index 8032c31c3..8032c31c3 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/grid/grid.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/grid/grid.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/grid/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/grid/index.html
index 9cc673d7e..9cc673d7e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/grid/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/grid/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/examples/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/index.html
new file mode 100644
index 000000000..6ac9a6718
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/index.html
@@ -0,0 +1,44 @@
+---
+layout: simple
+title: Examples
+description: Quickly get a project started with any of our examples ranging from using parts of the framework to custom components and layouts.
+redirect_from: "/examples/"
+---
+
+{% for entry in site.data.examples %}
+ <h2>{{ entry.category | capitalize }}</h2>
+ <p>{{ entry.description }}</p>
+ {% for example in entry.examples %}
+ {% if forloop.first %}<div class="row">{% endif %}
+ <div class="col-sm-6 col-md-4 col-xl-3 mb-3">
+ <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/{{ example.name | slugify }}/">
+ <img class="img-thumbnail mb-3" srcset="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}.png,
+ {{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}@2x.png 2x"
+ src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}.png"
+ alt="{{ example.name }} screenshot" width="480" height="300" loading="lazy">
+ <h5 class="mb-1">{{ example.name }}</h5>
+ </a>
+ <p class="text-muted">{{ example.description }}</p>
+ </div>
+ {% if forloop.last %}</div>{% endif %}
+ {% endfor %}
+{% endfor %}
+
+<hr class="my-5">
+
+<div class="container">
+ <div class="text-center">
+ <div class="masthead-followup-icon d-inline-block mb-2 text-white bg-danger">
+ {% include icons/droplet-fill.svg width="32" height="32" %}
+ </div>
+ <h2>Go further with Bootstrap Themes</h2>
+ <p class="col-md-10 mx-auto lead font-weight-normal">
+ Need something more than these examples? Take Bootstrap to the next level with premium themes from the <a href="{{ site.themes }}">official Bootstrap Themes marketplace</a>. They’re built as their own extended frameworks, rich with new components and plugins, documentation, and powerful build tools.
+ </p>
+ <a href="{{ site.themes }}" class="btn btn-lg btn-outline-primary mb-3">Browse themes</a>
+ </div>
+ <img class="d-block img-fluid mt-3 mx-auto" srcset="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes-collage.png,
+ {{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes-collage@2x.png 2x"
+ src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes-collage.png"
+ alt="Bootstrap Themes" width="1151" height="320" loading="lazy">
+</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/jumbotron/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/jumbotron/index.html
index a2e514032..a2e514032 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/jumbotron/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/jumbotron/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/jumbotron/jumbotron.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/jumbotron/jumbotron.css
index d751264ef..d751264ef 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/jumbotron/jumbotron.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/jumbotron/jumbotron.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-bottom/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-bottom/index.html
index 06e7465fb..06e7465fb 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-bottom/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-bottom/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-fixed/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-fixed/index.html
index b456d768b..b456d768b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-fixed/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-fixed/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-fixed/navbar-top-fixed.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-fixed/navbar-top-fixed.css
index c77c0c147..c77c0c147 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-fixed/navbar-top-fixed.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-fixed/navbar-top-fixed.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-static/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-static/index.html
index 2f887c345..2f887c345 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-static/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-static/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-static/navbar-top.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-static/navbar-top.css
index 25bbdde09..25bbdde09 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbar-static/navbar-top.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbar-static/navbar-top.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbars/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbars/index.html
index cc30c2448..cc30c2448 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbars/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbars/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbars/navbar.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbars/navbar.css
index 70d209409..70d209409 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/navbars/navbar.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/navbars/navbar.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/index.html
index 015d1df32..015d1df32 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/offcanvas.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/offcanvas.css
index 9c78f02e5..9c78f02e5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/offcanvas.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/offcanvas.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/offcanvas.js b/vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/offcanvas.js
index bc3e46711..bc3e46711 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/offcanvas/offcanvas.js
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/offcanvas/offcanvas.js
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/pricing/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/pricing/index.html
index 395242d6b..395242d6b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/pricing/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/pricing/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/pricing/pricing.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/pricing/pricing.css
index cbf0ec013..cbf0ec013 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/pricing/pricing.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/pricing/pricing.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/product/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/product/index.html
index c5dd4a7ef..c5dd4a7ef 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/product/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/product/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/product/product.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/product/product.css
index 4db2864fc..4db2864fc 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/product/product.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/product/product.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/sign-in/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/sign-in/index.html
index ac480c817..ac480c817 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/sign-in/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/sign-in/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/sign-in/signin.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/sign-in/signin.css
index 90cc93e5b..90cc93e5b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/sign-in/signin.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/sign-in/signin.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/starter-template/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/starter-template/index.html
index d90f50b85..d90f50b85 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/starter-template/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/starter-template/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/starter-template/starter-template.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/starter-template/starter-template.css
index 5f64cd294..5f64cd294 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/starter-template/starter-template.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/starter-template/starter-template.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer-navbar/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer-navbar/index.html
index cd01e0bbd..cd01e0bbd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer-navbar/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer-navbar/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer-navbar/sticky-footer-navbar.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer-navbar/sticky-footer-navbar.css
index b4696dab6..b4696dab6 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer-navbar/sticky-footer-navbar.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer-navbar/sticky-footer-navbar.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer/index.html b/vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer/index.html
index 0d684ce92..0d684ce92 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer/index.html
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer/sticky-footer.css b/vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer/sticky-footer.css
index 7e85cdd2a..7e85cdd2a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/examples/sticky-footer/sticky-footer.css
+++ b/vendor/twbs/bootstrap/site/docs/4.5/examples/sticky-footer/sticky-footer.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/accessibility.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/accessibility.md
index edfe914df..edfe914df 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/accessibility.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/accessibility.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/best-practices.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/best-practices.md
index 1e7af39ee..1e7af39ee 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/best-practices.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/best-practices.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/browsers-devices.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/browsers-devices.md
index ac00288b3..11c062e2e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/browsers-devices.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/browsers-devices.md
@@ -97,7 +97,7 @@ Similarly, the latest versions of most desktop browsers are supported.
<td class="text-success">Supported</td>
<td class="text-success">Supported</td>
<td class="text-muted">N/A</td>
- <td class="text-muted">N/A</td>
+ <td class="text-success">Supported</td>
<td class="text-success">Supported</td>
<td class="text-success">Supported</td>
</tr>
@@ -113,7 +113,7 @@ Similarly, the latest versions of most desktop browsers are supported.
</tbody>
</table>
-For Firefox, in addition to the latest normal stable release, we also support the latest [Extended Support Release (ESR)](https://www.mozilla.org/en-US/firefox/organizations/#faq) version of Firefox.
+For Firefox, in addition to the latest normal stable release, we also support the latest [Extended Support Release (ESR)](https://www.mozilla.org/en-US/firefox/enterprise/) version of Firefox.
Unofficially, Bootstrap should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 9, though they are not officially supported.
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/build-tools.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/build-tools.md
index 186686de0..3a8f42105 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/build-tools.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/build-tools.md
@@ -28,7 +28,7 @@ Our [package.json]({{ site.repo }}/blob/v{{ site.current_version }}/package.json
| Task | Description |
| --- | --- |
-| `npm run dist` | `npm run dist` creates the `/dist/` directory with compiled files. **Uses [Sass](https://sass-lang.com/), [Autoprefixer][autoprefixer], and [UglifyJS](https://github.com/mishoo/UglifyJS2).** |
+| `npm run dist` | `npm run dist` creates the `/dist/` directory with compiled files. **Uses [Sass](https://sass-lang.com/), [Autoprefixer][autoprefixer], and [terser](https://github.com/terser/terser).** |
| `npm test` | Same as `npm run dist` plus it runs tests locally |
| `npm run docs` | Builds and lints CSS and JavaScript for docs. You can then run the documentation locally via `npm run docs-serve`. |
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/contents.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/contents.md
index 357b27dc8..a161e409e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/contents.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/contents.md
@@ -131,7 +131,7 @@ bootstrap/
│ └── js/
├── site/
│ └──docs/
-│ └── 4.4/
+│ └── 4.5/
│ └── examples/
├── js/
└── scss/
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/download.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/download.md
index aed9be5be..79d8d1752 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/download.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/download.md
@@ -28,6 +28,12 @@ Should you require [build tools]({{ site.baseurl }}/docs/{{ site.docs_version }}
<a href="{{ site.download.source }}" class="btn btn-bd-primary" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download source');">Download source</a>
+## Examples
+
+If you want to download and examine our [examples]({{ site.baseurl }}/docs/{{ site.docs_version }}/examples/), you can grab the already built examples:
+
+<a href="{{ site.download.dist_examples }}" class="btn btn-bd-primary" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download Examples');">Download Examples</a>
+
## BootstrapCDN
Skip the download with [BootstrapCDN](https://www.bootstrapcdn.com/) to deliver cached version of Bootstrap's compiled CSS and JS to your project.
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/introduction.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/introduction.md
index 46b704242..994ba02a5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/introduction.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/introduction.md
@@ -5,8 +5,8 @@ description: Get started with Bootstrap, the world's most popular framework for
group: getting-started
redirect_from:
- "/docs/"
- - "/docs/4.4/"
- - "/docs/4.4/getting-started/"
+ - "/docs/4.5/"
+ - "/docs/4.5/getting-started/"
- "/docs/getting-started/"
- "/getting-started/"
toc: true
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/javascript.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/javascript.md
index a509bd482..058737f91 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/javascript.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/javascript.md
@@ -167,7 +167,7 @@ var DefaultWhitelist = {
h5: [],
h6: [],
i: [],
- img: ['src', 'alt', 'title', 'width', 'height'],
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/theming.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/theming.md
index 99c5066c5..32f83f308 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/theming.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/theming.md
@@ -193,7 +193,7 @@ In practice, you'd call the function and pass in two parameters: the name of the
Additional functions could be added in the future or your own custom Sass to create level functions for additional Sass maps, or even a generic one if you wanted to be more verbose.
-### Color contrast
+#### Color contrast
An additional function we include in Bootstrap is the color contrast function, `color-yiq`. It utilizes the [YIQ color space](https://en.wikipedia.org/wiki/YIQ) to automatically return a light (`#fff`) or dark (`#111`) contrast color based on the specified base color. This function is especially useful for mixins or loops where you're generating multiple classes.
@@ -223,11 +223,11 @@ You can also specify a base color with our color map functions:
}
{% endhighlight %}
-## Escape SVG
+#### Escape SVG
We use the `escape-svg` function to escape the `<`, `>` and `#` characters for SVG background images. These characters need to be escaped to properly render the background images in IE.
-## Add and Subtract functions
+#### Add and Subtract functions
We use the `add` and `subtract` functions to wrap the CSS `calc` function. The primary purpose of these functions is to avoid errors when a "unitless" `0` value is passed into a `calc` expression. Expressions like `calc(10px - 0)` will return an error in all browsers, despite being mathematically correct.
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/webpack.md b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/webpack.md
index 0cde33d7a..0cde33d7a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/getting-started/webpack.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/getting-started/webpack.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/layout/grid.md b/vendor/twbs/bootstrap/site/docs/4.5/layout/grid.md
index 5258cd505..d6c4679fe 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/layout/grid.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/layout/grid.md
@@ -826,8 +826,10 @@ You can modify the variables to your own custom values, or just use the mixins w
{% highlight scss %}
.example-container {
- width: 800px;
@include make-container();
+ // Make sure to define this width after the mixin to override
+ // `width: 100%` generated by `make-container()`
+ width: 800px;
}
.example-row {
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/layout/overview.md b/vendor/twbs/bootstrap/site/docs/4.5/layout/overview.md
index f1256db8a..2f6efc65a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/layout/overview.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/layout/overview.md
@@ -3,7 +3,7 @@ layout: docs
title: Overview
description: Components and options for laying out your Bootstrap project, including wrapping containers, a powerful grid system, a flexible media object, and responsive utility classes.
group: layout
-redirect_from: "/docs/4.4/layout/"
+redirect_from: "/docs/4.5/layout/"
toc: true
---
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/layout/utilities-for-layout.md b/vendor/twbs/bootstrap/site/docs/4.5/layout/utilities-for-layout.md
index a62a5abe0..a62a5abe0 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/layout/utilities-for-layout.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/layout/utilities-for-layout.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/migration.md b/vendor/twbs/bootstrap/site/docs/4.5/migration.md
index af76b022c..af76b022c 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/migration.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/migration.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/borders.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/borders.md
index 405e75a2e..90c9144ca 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/borders.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/borders.md
@@ -3,7 +3,7 @@ layout: docs
title: Borders
description: Use border utilities to quickly style the border and border-radius of an element. Great for images, buttons, or any other element.
group: utilities
-redirect_from: "/docs/4.4/utilities/"
+redirect_from: "/docs/4.5/utilities/"
toc: true
---
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/clearfix.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/clearfix.md
index dcf93e9bb..dcf93e9bb 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/clearfix.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/clearfix.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/close-icon.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/close-icon.md
index 3a8cb3c44..3a8cb3c44 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/close-icon.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/close-icon.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/colors.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/colors.md
index 55699adb8..55699adb8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/colors.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/colors.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/display.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/display.md
index 3b53460ee..3b53460ee 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/display.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/display.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/embed.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/embed.md
index 1f6868074..1f6868074 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/embed.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/embed.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/flex.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/flex.md
index acaa2a51b..647499d11 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/flex.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/flex.md
@@ -248,7 +248,7 @@ Use `.flex-grow-*` utilities to toggle a flex item's ability to grow to fill ava
{% endcapture %}
{% include example.html content=example %}
-Use `.flex-shrink-*` utilities to toggle a flex item's ability to shrink if necessary. In the example below, the second flex item with `.flex-shrink-1` is forced to wrap it's contents to a new line, "shrinking" to allow more space for the previous flex item with `.w-100`.
+Use `.flex-shrink-*` utilities to toggle a flex item's ability to shrink if necessary. In the example below, the second flex item with `.flex-shrink-1` is forced to wrap its contents to a new line, "shrinking" to allow more space for the previous flex item with `.w-100`.
{% capture example %}
<div class="d-flex bd-highlight">
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/float.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/float.md
index 977beaeaf..977beaeaf 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/float.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/float.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/image-replacement.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/image-replacement.md
index 4c7decac5..4c7decac5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/image-replacement.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/image-replacement.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.5/utilities/interactions.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/interactions.md
new file mode 100644
index 000000000..4bb20c4e6
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/interactions.md
@@ -0,0 +1,19 @@
+---
+layout: docs
+title: Interactions
+description: Utility classes that change how users interact with the contents of a website.
+group: utilities
+---
+
+## Text selection
+
+Change how the content is selected when the user interacts with it.
+
+{% capture example %}
+<p class="user-select-all">This paragraph will be entirely selected when clicked by the user.</p>
+<p class="user-select-auto">This paragraph has the default select behavior.</p>
+<p class="user-select-none">This paragraph will not be selectable when clicked by the user.</p>
+{% endcapture %}
+{% include example.html content=example %}
+
+Customize the available classes by changing the `$user-selects` Sass list in `_variables.scss`.
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/overflow.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/overflow.md
index 2877c85b7..2877c85b7 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/overflow.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/overflow.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/position.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/position.md
index c819df080..c819df080 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/position.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/position.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/screen-readers.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/screen-readers.md
index c38ba3e65..c38ba3e65 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/screen-readers.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/screen-readers.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/shadows.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/shadows.md
index 9c3e58044..9c3e58044 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/shadows.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/shadows.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/sizing.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/sizing.md
index 1b0acf07a..1b0acf07a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/sizing.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/sizing.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/spacing.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/spacing.md
index 09e17e044..09e17e044 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/spacing.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/spacing.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/stretched-link.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/stretched-link.md
index 1d4d2ad31..1d4d2ad31 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/stretched-link.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/stretched-link.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/text.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/text.md
index d25564a18..a9be539a2 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/text.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/text.md
@@ -68,7 +68,7 @@ For longer content, you can add a `.text-truncate` class to truncate the text wi
## Word break
-Prevent long strings of text from breaking your components' layout by using `.text-break` to set `overflow-wrap: break-word` (and `word-break: break-word` for IE & Edge compatibility).
+Prevent long strings of text from breaking your components' layout by using `.text-break` to set `word-wrap: break-word`.
{% capture example %}
<p class="text-break">mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm</p>
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/vertical-align.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/vertical-align.md
index bc4f0b950..bc4f0b950 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/vertical-align.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/vertical-align.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.4/utilities/visibility.md b/vendor/twbs/bootstrap/site/docs/4.5/utilities/visibility.md
index bbfc0cbbc..bbfc0cbbc 100644
--- a/vendor/twbs/bootstrap/site/docs/4.4/utilities/visibility.md
+++ b/vendor/twbs/bootstrap/site/docs/4.5/utilities/visibility.md
diff --git a/vendor/twbs/bootstrap/site/index.html b/vendor/twbs/bootstrap/site/index.html
index f16ea4878..a62686429 100644
--- a/vendor/twbs/bootstrap/site/index.html
+++ b/vendor/twbs/bootstrap/site/index.html
@@ -5,24 +5,17 @@ layout: home
<main class="bd-masthead" id="content" role="main">
<div class="container">
<div class="row">
- <div class="col-6 mx-auto col-md-6 order-md-2">
+ <div class="col-6 mx-auto col-md-4 order-md-2">
{% include icons/bootstrap-stack.svg width="512" height="430" class="img-fluid mb-3 mb-md-0" %}
</div>
- <div class="col-md-6 order-md-1 text-center text-md-left pr-md-5">
- <h1 class="mb-3 bd-text-purple-bright">Bootstrap</h1>
- <p class="lead">
- Build responsive, mobile-first projects on the web with the world’s most popular front-end component library.
- </p>
+ <div class="col-md-8 order-md-1 text-center text-md-left pr-md-5">
+ <h1 class="mb-3">Build fast, responsive sites with Bootstrap</h1>
<p class="lead mb-4">
- Bootstrap is an open source toolkit for developing with HTML, CSS, and JS. Quickly prototype your ideas or build your entire app with our Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful plugins built on jQuery.
+ Quickly design and customize responsive mobile-first sites with Bootstrap, the world’s most popular front-end open source toolkit, featuring Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful JavaScript plugins.
</p>
- <div class="row mx-n2">
- <div class="col-md px-2">
- <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/introduction/" class="btn btn-lg btn-bd-primary w-100 mb-3" onclick="ga('send', 'event', 'Jumbotron actions', 'Get started', 'Get started');">Get started</a>
- </div>
- <div class="col-md px-2">
- <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/" class="btn btn-lg btn-outline-secondary w-100 mb-3" onclick="ga('send', 'event', 'Jumbotron actions', 'Download', 'Download {{ site.current_version }}');">Download</a>
- </div>
+ <div class="d-flex flex-column flex-md-row">
+ <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/introduction/" class="btn btn-lg btn-bd-primary mb-3 mr-md-3" onclick="ga('send', 'event', 'Jumbotron actions', 'Get started', 'Get started');">Get started</a>
+ <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/" class="btn btn-lg btn-outline-secondary mb-3" onclick="ga('send', 'event', 'Jumbotron actions', 'Download', 'Download {{ site.current_version }}');">Download</a>
</div>
<p class="text-muted mb-0">
Currently v{{ site.current_version }}
@@ -33,57 +26,100 @@ layout: home
</div>
</main>
-<div class="masthead-followup row m-0 border border-white">
- <div class="col-md-4 p-3 p-md-5 bg-light border border-white">
- <!-- Icon by Bytesize https://github.com/danklammer/bytesize-icons -->
- {% include icons/import.svg width="32" height="32" class="text-primary mb-2" %}
- <h3>Installation</h3>
- <p>Include Bootstrap’s source Sass and JavaScript files via npm, Composer or Meteor. Package managed installs don’t include documentation, but do include our build system and readme.</p>
-
+<div class="masthead-followup">
+ <div class="container">
+ <div class="row mb-5 pb-md-4 align-items-center">
+ <div class="col-md-5">
+ <div class="masthead-followup-icon d-inline-block mb-2 text-white bg-success">
+ {% include icons/code.svg width="32" height="32" class="masthead-followup-svg" %}
+ </div>
+ <h2>Installation</h2>
+ <p class="lead font-weight-normal">
+ Install Bootstrap’s source Sass and JavaScript files via npm, Composer, or Meteor.
+ </p>
+ <p>Package managed installs don’t include documentation or our full build scripts. You can also <a href="https://github.com/twbs/bootstrap-npm-starter">use our npm template repo</a> to quickly generate a Bootstrap project via npm.</p>
+ <a class="btn btn-lg btn-outline-primary mb-3" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/">Read installation docs</a>
+ </div>
+ <div class="col-md-7 pl-md-5">
{% highlight sh %}
+# Via npm
npm install bootstrap
-{% endhighlight %}
-{% highlight sh %}
+# Via gem
gem install bootstrap -v {{ site.current_ruby_version }}
{% endhighlight %}
+ </div>
+ </div>
- <hr class="half-rule">
- <a class="btn btn-outline-primary" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/">Read installation docs</a>
- </div>
-
- <div class="col-md-4 p-3 p-md-5 bg-light border border-white">
- <!-- Icon by Bytesize https://github.com/danklammer/bytesize-icons -->
- {% include icons/download.svg width="32" height="32" class="text-primary mb-2" %}
- <h3>BootstrapCDN</h3>
- <p>When you only need to include Bootstrap’s compiled CSS or JS, you can use <a href="https://www.bootstrapcdn.com/">BootstrapCDN</a>.</p>
-
-<h5>CSS only</h5>
+ <div class="row mb-5 pb-md-4 align-items-center">
+ <div class="col-md-5">
+ <div class="masthead-followup-icon d-inline-block mb-2 text-white bg-primary">
+ {% include icons/cloud-fill.svg width="32" height="32" class="masthead-followup-svg" %}
+ </div>
+ <h2>BootstrapCDN</h2>
+ <p class="lead font-weight-normal">
+ When you only need to include Bootstrap’s compiled CSS or JS, you can use <a href="https://www.bootstrapcdn.com/">BootstrapCDN</a>.
+ </p>
+ <p>
+ See it in action with our simple <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/introduction/#starter-template">starter template</a>, or <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/">browse the examples</a> to jumpstart your next project.
+ </p>
+ <a class="btn btn-lg btn-outline-primary mb-3" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/layout/overview/">Explore the docs</a>
+ </div>
+ <div class="col-md-7 pl-md-5">
{% highlight html %}
+<!-- CSS only -->
<link rel="stylesheet" href="{{ site.cdn.css }}" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
-{% endhighlight %}
-<h5>JS, Popper.js, and jQuery</h5>
-{% highlight html %}
+<!-- JS, Popper.js, and jQuery -->
<script src="{{ site.cdn.jquery }}" integrity="{{ site.cdn.jquery_hash }}" crossorigin="anonymous"></script>
<script src="{{ site.cdn.popper }}" integrity="{{ site.cdn.popper_hash }}" crossorigin="anonymous"></script>
<script src="{{ site.cdn.js }}" integrity="{{ site.cdn.js_hash }}" crossorigin="anonymous"></script>
{% endhighlight %}
- <hr class="half-rule">
- <a class="btn btn-outline-primary" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/layout/overview/">Explore the docs</a>
- </div>
+ </div>
+ </div>
- <div class="col-md-4 p-3 p-md-5 bg-light border border-white">
- <!-- Icon by Bytesize https://github.com/danklammer/bytesize-icons -->
- {% include icons/lightning.svg width="32" height="32" class="text-primary mb-2" %}
- <h3>Official Themes</h3>
- <p>
- Take Bootstrap 4 to the next level with official premium themes—toolkits built on Bootstrap with new components and plugins, docs, and build tools.
- </p>
- <img class="img-fluid mt-3 mx-auto" srcset="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes.png,
- {{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes@2x.png 2x"
- src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes.png" alt="Bootstrap Themes" width="500" height="200">
- <hr class="half-rule">
- <a href="{{ site.themes }}/" class="btn btn-outline-primary">Browse themes</a>
+ <div class="row mb-5 pb-md-4 align-items-center">
+ <div class="col-md-5">
+ <div class="masthead-followup-icon d-inline-block mb-2 text-white bd-bg-purple-bright">
+ {% include icons/circle-square.svg width="32" height="32" class="masthead-followup-svg" %}
+ </div>
+ <h2>Bootstrap Icons</h2>
+ <p class="lead font-weight-normal">
+ For the first time ever, Bootstrap has its own open source SVG icon library, designed to work best with our components and documentation.
+ </p>
+ <p>
+ Bootstrap Icons are designed to work best with Bootstrap components, but they’ll work in any project. They’re SVGs, so they scale quickly and easily, can be implemented in several ways, and can be styled with CSS.
+ </p>
+ <a href="{{ site.icons }}" class="btn btn-lg btn-outline-primary mb-3">Get Bootstrap Icons</a>
+ </div>
+ <div class="col-md-7 pl-md-5">
+ <img class="img-fluid mt-3 mx-auto" srcset="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-icons.png,
+ {{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-icons@2x.png 2x"
+ src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-icons.png"
+ alt="Bootstrap Icons" width="966" height="600" loading="lazy">
+ </div>
+ </div>
+
+ <div class="row mb-5 pb-md-4 align-items-center">
+ <div class="col-md-5">
+ <div class="masthead-followup-icon d-inline-block mb-2 text-white bg-danger">
+ {% include icons/droplet-fill.svg width="32" height="32" class="masthead-followup-svg" %}
+ </div>
+ <h2>Official Themes</h2>
+ <p class="lead font-weight-normal">
+ Take Bootstrap to the next level with premium themes from the <a href="{{ site.themes }}">official Bootstrap Themes marketplace</a>.
+ </p>
+ <p>
+ Themes are built on Bootstrap as their own extended frameworks, rich with new components and plugins, documentation, and powerful build tools.
+ </p>
+ <a href="{{ site.themes }}" class="btn btn-lg btn-outline-primary mb-3">Browse themes</a>
+ </div>
+ <div class="col-md-7 pl-md-5">
+ <img class="img-fluid mt-3 mx-auto" srcset="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes.png,
+ {{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes@2x.png 2x"
+ src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes.png"
+ alt="Bootstrap Themes" width="700" height="500" loading="lazy">
+ </div>
+ </div>
</div>
</div>
diff --git a/view/css/bootstrap-red.css b/view/css/bootstrap-red.css
index d2daf0b8a..984a5b4f9 100644
--- a/view/css/bootstrap-red.css
+++ b/view/css/bootstrap-red.css
@@ -81,15 +81,6 @@ nav .dropdown-menu {
text-decoration: none;
}
-.wall-item-tools .dropdown-menu {
- min-width: auto;
-}
-
label {
font-weight: bold;
}
-
-small,
-.small {
- font-size: 0.75rem;
-}
diff --git a/view/js/jquery.js b/view/js/jquery.js
index a1c07fd80..f88b25edd 100644
--- a/view/js/jquery.js
+++ b/view/js/jquery.js
@@ -1,2 +1,3 @@
-/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
+/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
+
diff --git a/view/js/main.js b/view/js/main.js
index 56ecc4d97..82de0d06f 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -31,6 +31,8 @@ var sse_offset = 0;
var sse_type;
var sse_partial_result = false;
+var page_cache = {};
+
// take care of tab/window reloads on channel change
if(localStorage.getItem('uid') !== localUser.toString()) {
localStorage.clear();
@@ -217,15 +219,17 @@ $(document).ready(function() {
if(e)
pageHasMoreContent = false;
+ $(document).on('hz:updateConvItems', function(event) {
+ if(!bParam_mid)
+ cache_next_page();
+ });
+
});
function getConversationSettings() {
$.get('settings/conversation/?f=&aj=1',function(data) {
$('#conversation_settings_body').html(data);
});
-
-
-
}
function postConversationSettings() {
@@ -581,6 +585,8 @@ function contextualHelpFocus(target, openSidePanel) {
function updatePageItems(mode, data) {
+ $(document).trigger('hz:updatePageItems');
+
if(mode === 'append') {
newitemcount = 0;
$(data).each(function() {
@@ -608,6 +614,8 @@ function updatePageItems(mode, data) {
function updateConvItems(mode,data) {
+ $(document).trigger('hz:updateConvItems');
+
if(mode === 'update' || mode === 'replace') {
prev = 'threads-begin';
}
@@ -954,6 +962,8 @@ function liveUpdate(notify_id) {
update_url = buildCmd();
+ console.log('displaying: ' + update_url);
+
if(page_load) {
$("#page-spinner").show();
if(bParam_page == 1)
@@ -966,13 +976,21 @@ function liveUpdate(notify_id) {
var orgHeight = $("#region_2").height();
}
+ if(page_cache.data && bParam_page == page_cache.page && page_cache.time > (Date.now() - 60000)) {
+ page_load = false;
+ scroll_next = false;
+ updateConvItems(update_mode,page_cache.data);
+ in_progress = false;
+ return;
+ }
+
var dstart = new Date();
console.log('LOADING data...');
$.get(update_url, function(data) {
// on shared hosts occasionally the live update process will be killed
// leaving an incomplete HTML structure, which leads to conversations getting
- // truncated and the page messed up if all the divs aren't closed. We will try
+ // truncated and the page messed up if all the divs aren't closed. We will try
// again and give up if we can't get a valid HTML response after 10 tries.
if((data.indexOf("<html>") != (-1)) && (data.indexOf("</html>") == (-1))) {
@@ -985,7 +1003,7 @@ function liveUpdate(notify_id) {
else {
console.log('Incomplete data. Too many attempts. Giving up.');
}
- }
+ }
// else data was valid - reset the recursion counter
liveRecurse = 0;
@@ -1042,10 +1060,65 @@ function liveUpdate(notify_id) {
scroll_next = false;
updateConvItems(update_mode,data);
in_progress = false;
+ }
+
+ });
+}
+
+function cache_next_page() {
+ page_load = true;
+ bParam_page = bParam_page + 1;
+ update_url = buildCmd();
+
+ $.get(update_url, function(data) {
+
+ // on shared hosts occasionally the live update process will be killed
+ // leaving an incomplete HTML structure, which leads to conversations getting
+ // truncated and the page messed up if all the divs aren't closed. We will try
+ // again and give up if we can't get a valid HTML response after 10 tries.
+ if((data.indexOf("<html>") != (-1)) && (data.indexOf("</html>") == (-1))) {
+ console.log('Incomplete data. Reloading');
+ in_progress = false;
+ liveRecurse ++;
+ if(liveRecurse < 10) {
+ liveUpdate();
+ }
+ else {
+ console.log('Incomplete data. Too many attempts. Giving up.');
+ }
}
+ // else data was valid - reset the recursion counter
+ liveRecurse = 0;
+
+ console.log('cached: ' + update_url);
+
+ $('.wall-item-body, .wall-photo-item', data).imagesLoaded()
+ .always( function( instance ) {
+ console.log('page_cache images loaded:');
+
+ page_cache.data = data;
+ page_cache.page = bParam_page;
+ page_cache.time = Date.now();
+
+ bParam_page = bParam_page - 1;
+ page_load = false;
+ })
+ .done( function( instance ) {
+ console.log('success');
+ })
+ .fail( function() {
+ console.log('at least one is broken');
+ })
+ .progress( function( instance, image ) {
+ //console.log(instance.progressedCount + '/' + instance.images.length);
+ //var result = image.isLoaded ? 'loaded' : 'broken';
+ //console.log( 'image is ' + result + ' for ' + image.img.src );
+ });
+
});
+
}
function pageUpdate() {
@@ -1082,7 +1155,8 @@ function justifyPhotos(id) {
justifiedGalleryActive = true;
$('#' + id).show();
$('#' + id).justifiedGallery({
- selector: 'a, div:not(#page-end)',
+ rowHeight: 150,
+ selector: 'a',
margins: 3,
border: 0
}).on('jg.complete', function(e){ justifiedGalleryActive = false; });
@@ -1508,7 +1582,7 @@ function zFormError(elm,x) {
$(window).scroll(function () {
if(typeof buildCmd == 'function') {
// This is a content page with items and/or conversations
- if($(window).scrollTop() + $(window).height() > $(document).height() - 300) {
+ if($(window).scrollTop() + $(window).height() > $(document).height() - 500) {
if((pageHasMoreContent) && (! loadingPage)) {
next_page++;
scroll_next = true;
@@ -1519,7 +1593,7 @@ $(window).scroll(function () {
}
else {
// This is some other kind of page - perhaps a directory
- if($(window).scrollTop() + $(window).height() > $(document).height() - 300) {
+ if($(window).scrollTop() + $(window).height() > $(document).height() - 500) {
if((pageHasMoreContent) && (! loadingPage) && (! justifiedGalleryActive)) {
next_page++;
scroll_next = true;
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index b736436f5..08a6e9d19 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -1631,13 +1631,14 @@ dl.bb-dl > dd > li {
}
.form-group.checkbox > div label {
- display: block; overflow: hidden; cursor: pointer;
- border: 1px solid #ccc;
- border-radius: 12px;
- margin:0px;
+ display: block; overflow: hidden; cursor: pointer;
+ border: 1px solid #ccc;
+ border-radius: 12px;
+ margin:0px;
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ font-weight: normal;
}
.form-group.checkbox:hover label {
diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl
index cacbf7e64..774b75b31 100644
--- a/view/tpl/app.tpl
+++ b/view/tpl/app.tpl
@@ -31,8 +31,8 @@
<a class="dropdown-item{{if $app.active}} active{{/if}}" href="{{$app.url}}">{{if $icon}}<i class="generic-icons-nav fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}</a>
{{/if}}
{{if $order}}
-<a href="{{$hosturl}}appman/{{$app.guid}}/moveup{{if $pinned}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-up"></i></a>
-<a href="{{$hosturl}}appman/{{$app.guid}}/movedown{{if $pinned}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-down"></i></a>
+<a href="{{$hosturl}}appman/{{$app.guid}}/moveup{{if $mode == 'nav-order-pinned'}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-up"></i></a>
+<a href="{{$hosturl}}appman/{{$app.guid}}/movedown{{if $mode == 'nav-order-pinned'}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-down"></i></a>
{{if $icon}}<i class="generic-icons-nav fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}<br>
{{/if}}
diff --git a/view/tpl/cdav_calendar.tpl b/view/tpl/cdav_calendar.tpl
index 01739dd5b..28cd11b2e 100644
--- a/view/tpl/cdav_calendar.tpl
+++ b/view/tpl/cdav_calendar.tpl
@@ -100,7 +100,7 @@ $(document).ready(function() {
$('#event_submit').val('create_event').html('{{$create}}');
$('#event_delete').hide();
- new_event = { id: new_event_id, title: 'New event', start: info.date.toUTCString(), end: dtend ? dtend.toUTCString() : '', allDay: info.allDay, editable: true, color: '#bbb' };
+ new_event = { id: new_event_id, title: 'New event', start: info.date, end: dtend ? dtend : '', allDay: info.allDay, editable: true, color: '#bbb' };
calendar.addEvent(new_event);
},
diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl
index 001a202af..bf2c4c945 100644
--- a/view/tpl/notifications_widget.tpl
+++ b/view/tpl/notifications_widget.tpl
@@ -157,17 +157,14 @@
<i class="fa fa-{11} text-muted"></i>
</a>
</div>
- <div id="notifications" class="border rounded border-bottom-0 list-group list-group-flush navbar-nav collapse">
+ <div id="notifications" class="border border-bottom-0 rounded navbar-nav collapse">
{{foreach $notifications as $notification}}
- <div class="list-group collapse {{$notification.type}}-button">
+ <div class="rounded list-group list-group-flush collapse {{$notification.type}}-button">
<a id="notification-link-{{$notification.type}}" class="collapsed list-group-item notification-link" href="#" title="{{$notification.title}}" data-target="#nav-{{$notification.type}}-sub" data-toggle="collapse" data-sse_type="{{$notification.type}}">
<i class="fa fa-fw fa-{{$notification.icon}}"></i> {{$notification.label}}
<span class="float-right badge badge-{{$notification.severity}} {{$notification.type}}-update"></span>
- <div id="notifications-spinner-{{$notification.type}}" class="float-right spinner-wrapper">
- <div class="spinner s"></div>
- </div>
</a>
- <div id="nav-{{$notification.type}}-sub" class="list-group border-bottom collapse notification-content" data-parent="#notifications" data-sse_type="{{$notification.type}}">
+ <div id="nav-{{$notification.type}}-sub" class="list-group list-group-flush border border-left-0 border-top-0 border-right-0 collapse notification-content" data-parent="#notifications" data-sse_type="{{$notification.type}}">
{{if $notification.viewall}}
<a class="list-group-item text-dark" id="nav-{{$notification.type}}-see-all" href="{{$notification.viewall.url}}">
<i class="fa fa-fw fa-external-link"></i> {{$notification.viewall.label}}
@@ -192,8 +189,8 @@
</div>
{{/if}}
{{/if}}
- <div id="nav-{{$notification.type}}-menu" class="list-group"></div>
- <div id="nav-{{$notification.type}}-loading" class="list-group-item border-0" style="display: none;">
+ <div id="nav-{{$notification.type}}-menu" class="list-group list-group-flush"></div>
+ <div id="nav-{{$notification.type}}-loading" class="list-group-item" style="display: none;">
{{$loading}}<span class="jumping-dots"><span class="dot-1">.</span><span class="dot-2">.</span><span class="dot-3">.</span></span>
</div>
diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl
index de59809f4..eb16bcc98 100755
--- a/view/tpl/photo_album.tpl
+++ b/view/tpl/photo_album.tpl
@@ -23,7 +23,7 @@
{{foreach $photos as $photo}}
{{include file="photo_top.tpl"}}
{{/foreach}}
- <div id="page-end"></div>
+ <span id="page-end"></span>
</div>
</div>
</div>
diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl
index d24b362f8..1e2f22e33 100755
--- a/view/tpl/photos_recent.tpl
+++ b/view/tpl/photos_recent.tpl
@@ -14,7 +14,7 @@
{{foreach $photos as $photo}}
{{include file="photo_top.tpl"}}
{{/foreach}}
- <div id="page-end"></div>
+ <span id="page-end"></span>
</div>
</div>
</div>